diff --git a/cluster-api/providers/azure/go.mod b/cluster-api/providers/azure/go.mod index b0a02fdcda0..e26302f430c 100644 --- a/cluster-api/providers/azure/go.mod +++ b/cluster-api/providers/azure/go.mod @@ -4,10 +4,10 @@ go 1.24.0 toolchain go1.24.9 -require sigs.k8s.io/cluster-api-provider-azure v1.21.1 +require sigs.k8s.io/cluster-api-provider-azure v1.21.1-0.20250929163617-2c4eaa611a39 require ( - cel.dev/expr v0.23.0 // indirect + cel.dev/expr v0.24.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect @@ -46,7 +46,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver v3.5.1+incompatible // indirect github.com/blang/semver/v4 v4.0.0 // indirect - github.com/cenkalti/backoff/v5 v5.0.2 // indirect + github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dimchansky/utfbom v1.1.1 // indirect @@ -71,7 +71,8 @@ require ( github.com/google/go-cmp v0.7.0 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect + github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jellydator/ttlcache/v3 v3.3.0 // indirect @@ -83,46 +84,48 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/onsi/gomega v1.38.0 // indirect + github.com/onsi/gomega v1.38.2 // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/prometheus/client_golang v1.22.0 // indirect + github.com/prometheus/client_golang v1.23.0 // indirect github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/common v0.65.0 // indirect - github.com/prometheus/procfs v0.16.1 // indirect + github.com/prometheus/otlptranslator v0.0.2 // indirect + github.com/prometheus/procfs v0.17.0 // indirect github.com/rotisserie/eris v0.5.4 // indirect github.com/samber/lo v1.49.1 // indirect github.com/spf13/cobra v1.9.1 // indirect - github.com/spf13/pflag v1.0.7 // indirect + github.com/spf13/pflag v1.0.10 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect github.com/x448/float16 v0.8.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect - go.opentelemetry.io/otel v1.37.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.59.0 // indirect - go.opentelemetry.io/otel/metric v1.37.0 // indirect - go.opentelemetry.io/otel/sdk v1.37.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.37.0 // indirect - go.opentelemetry.io/otel/trace v1.37.0 // indirect - go.opentelemetry.io/proto/otlp v1.7.0 // indirect + go.opentelemetry.io/otel v1.38.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.60.0 // indirect + go.opentelemetry.io/otel/metric v1.38.0 // indirect + go.opentelemetry.io/otel/sdk v1.38.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect + go.opentelemetry.io/otel/trace v1.38.0 // indirect + go.opentelemetry.io/proto/otlp v1.7.1 // indirect go.uber.org/mock v0.5.2 // indirect - golang.org/x/crypto v0.41.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/crypto v0.42.0 // indirect golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect - golang.org/x/mod v0.27.0 // indirect + golang.org/x/mod v0.28.0 // indirect golang.org/x/net v0.43.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.35.0 // indirect - golang.org/x/term v0.34.0 // indirect - golang.org/x/text v0.28.0 // indirect + golang.org/x/sync v0.17.0 // indirect + golang.org/x/sys v0.36.0 // indirect + golang.org/x/term v0.35.0 // indirect + golang.org/x/text v0.29.0 // indirect golang.org/x/time v0.11.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect - google.golang.org/grpc v1.73.0 // indirect - google.golang.org/protobuf v1.36.6 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect + google.golang.org/grpc v1.75.0 // indirect + google.golang.org/protobuf v1.36.8 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/cluster-api/providers/azure/go.sum b/cluster-api/providers/azure/go.sum index da570f63084..ee71a9ab123 100644 --- a/cluster-api/providers/azure/go.sum +++ b/cluster-api/providers/azure/go.sum @@ -1,5 +1,5 @@ -cel.dev/expr v0.23.0 h1:wUb94w6OYQS4uXraxo9U+wUAs9jT47Xvl4iPgAwM2ss= -cel.dev/expr v0.23.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= +cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= +cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= @@ -122,8 +122,8 @@ github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0= -github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= @@ -142,8 +142,8 @@ github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdn github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= -github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/coredns/caddy v1.1.1 h1:2eYKZT7i6yxIfGP3qLJoJ7HAsDJqYB+X68g4NYjSrE0= @@ -232,14 +232,16 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= @@ -293,10 +295,10 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus= -github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8= -github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY= -github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o= +github.com/onsi/ginkgo/v2 v2.25.3 h1:Ty8+Yi/ayDAGtk4XxmmfUy4GabvM+MegeB4cDLRi6nw= +github.com/onsi/ginkgo/v2 v2.25.3/go.mod h1:43uiyQC4Ed2tkOzLsEYm7hnrb7UJTWHYNsuy3bG/snE= +github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= +github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= @@ -306,14 +308,16 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= -github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_golang v1.23.0 h1:ust4zpdl9r4trLY/gSjlm07PuiBq2ynaXXlptpfy8Uc= +github.com/prometheus/client_golang v1.23.0/go.mod h1:i/o0R9ByOnHX0McrTMTyhYvKE4haaf2mW08I+jGAjEE= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= -github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= -github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= +github.com/prometheus/otlptranslator v0.0.2 h1:+1CdeLVrRQ6Psmhnobldo0kTp96Rj80DRXRd5OSnMEQ= +github.com/prometheus/otlptranslator v0.0.2/go.mod h1:P8AwMgdD7XEr6QRUJ2QWLpiAZTgTE2UYgjlu3svompI= +github.com/prometheus/procfs v0.17.0 h1:FuLQ+05u4ZI+SS/w9+BWEM2TXiHKsUQ9TADiRH7DuK0= +github.com/prometheus/procfs v0.17.0/go.mod h1:oPQLaDAMRbA+u8H5Pbfq+dl3VDAvHxMUOVhe0wYB2zw= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rotisserie/eris v0.5.4 h1:Il6IvLdAapsMhvuOahHWiBnl1G++Q0/L5UIkI5mARSk= @@ -332,8 +336,8 @@ github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cA github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M= -github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -377,26 +381,26 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.5 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= -go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= -go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= go.opentelemetry.io/otel/exporters/jaeger v1.16.0 h1:YhxxmXZ011C0aDZKoNw+juVWAmEfv/0W2XBOv9aHTaA= go.opentelemetry.io/otel/exporters/jaeger v1.16.0/go.mod h1:grYbBo/5afWlPpdPZYhyn78Bk04hnvxn2+hvxQhKIQM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 h1:Ahq7pZmv87yiyn3jeFz/LekZmPLLdKejuO3NcK9MssM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0/go.mod h1:MJTqhM0im3mRLw1i8uGHnCvUEeS7VwRyxlLC78PA18M= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 h1:EtFWSnwW9hGObjkIdmlnWSydO+Qs8OwzfzXLUPg4xOc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0/go.mod h1:QjUEoiGCPkvFZ/MjK6ZZfNOS6mfVEVKYE99dFhuN2LI= -go.opentelemetry.io/otel/exporters/prometheus v0.59.0 h1:HHf+wKS6o5++XZhS98wvILrLVgHxjA/AMjqHKes+uzo= -go.opentelemetry.io/otel/exporters/prometheus v0.59.0/go.mod h1:R8GpRXTZrqvXHDEGVH5bF6+JqAZcK8PjJcZ5nGhEWiE= -go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= -go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= -go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI= -go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg= -go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc= -go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps= -go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= -go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= -go.opentelemetry.io/proto/otlp v1.7.0 h1:jX1VolD6nHuFzOYso2E73H85i92Mv8JQYk0K9vz09os= -go.opentelemetry.io/proto/otlp v1.7.0/go.mod h1:fSKjH6YJ7HDlwzltzyMj036AJ3ejJLCgCSHGj4efDDo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= +go.opentelemetry.io/otel/exporters/prometheus v0.60.0 h1:cGtQxGvZbnrWdC2GyjZi0PDKVSLWP/Jocix3QWfXtbo= +go.opentelemetry.io/otel/exporters/prometheus v0.60.0/go.mod h1:hkd1EekxNo69PTV4OWFGZcKQiIqg0RfuWExcPKFvepk= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= +go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4= +go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -407,22 +411,24 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= -golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/crypto v0.42.0 h1:chiH31gIWm57EkTXpwnqf8qeuMUi0yekh6mT2AvFlqI= +golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw= golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= -golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.28.0 h1:gQBtGhjxykdjY9YhZpSlZIsbnaE2+PgjfLWUQTnoZ1U= +golang.org/x/mod v0.28.0/go.mod h1:yfB/L0NOf/kmEbXjzCPOx1iK1fRutOydrCMsqRhEBxI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -441,8 +447,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= -golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -455,15 +461,15 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= -golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= -golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= +golang.org/x/term v0.35.0 h1:bZBVKBudEyhRcajGcNc3jIfWPqV4y/Kt2XcoigOWtDQ= +golang.org/x/term v0.35.0/go.mod h1:TPGtkTLesOwf2DE8CgVYiZinHAOuy5AYUYT1lENIZnA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -471,8 +477,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -481,24 +487,26 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0= -golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= -google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY= -google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= -google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= -google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY= +google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= +google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4= +google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc= +google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -549,8 +557,8 @@ sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader v0.4.1 h1:F5qZPS35TGb sigs.k8s.io/cloud-provider-azure/pkg/azclient/configloader v0.4.1/go.mod h1:rEQnoF3pmD1kmAFQCwA/SqHiiftLFeMwdQt0gsuKWbM= sigs.k8s.io/cluster-api v1.10.7 h1:MuzeuAhLJLTgmqTitVz1XeXZLgAd4tJfnH9xitKG63A= sigs.k8s.io/cluster-api v1.10.7/go.mod h1:PTuQc7CgNahPlJrLNJ0q4gKdpQ4wITgeVXDiDQQv2to= -sigs.k8s.io/cluster-api-provider-azure v1.21.1 h1:iYVmEYzd8KdFmnZRH1U0nTZIyuSofv3c9caihgWyKQE= -sigs.k8s.io/cluster-api-provider-azure v1.21.1/go.mod h1:pPWkLfDPGVOXrx+G1vMkK6RMJF9fCz4sPRnP2LYWCGc= +sigs.k8s.io/cluster-api-provider-azure v1.21.1-0.20250929163617-2c4eaa611a39 h1:IIZtQvjOP5VxtN+hfpOVmgE5q/PG+JayWo81C2Yt66k= +sigs.k8s.io/cluster-api-provider-azure v1.21.1-0.20250929163617-2c4eaa611a39/go.mod h1:SL1Rq5nyJPKxCwB267WM3ak80cDuoLUspRT+h5V22Hc= sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= diff --git a/cluster-api/providers/azure/vendor/cel.dev/expr/eval.pb.go b/cluster-api/providers/azure/vendor/cel.dev/expr/eval.pb.go index 8f651f9cc6a..a7aae0900c4 100644 --- a/cluster-api/providers/azure/vendor/cel.dev/expr/eval.pb.go +++ b/cluster-api/providers/azure/vendor/cel.dev/expr/eval.pb.go @@ -1,15 +1,15 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.5 +// protoc-gen-go v1.36.3 +// protoc v5.27.1 // source: cel/expr/eval.proto package expr import ( - status "google.golang.org/genproto/googleapis/rpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" reflect "reflect" sync "sync" ) @@ -22,21 +22,18 @@ const ( ) type EvalState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` + Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"` unknownFields protoimpl.UnknownFields - - Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` - Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EvalState) Reset() { *x = EvalState{} - if protoimpl.UnsafeEnabled { - mi := &file_cel_expr_eval_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_cel_expr_eval_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EvalState) String() string { @@ -47,7 +44,7 @@ func (*EvalState) ProtoMessage() {} func (x *EvalState) ProtoReflect() protoreflect.Message { mi := &file_cel_expr_eval_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -77,25 +74,22 @@ func (x *EvalState) GetResults() []*EvalState_Result { } type ExprValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Kind: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Kind: // // *ExprValue_Value // *ExprValue_Error // *ExprValue_Unknown - Kind isExprValue_Kind `protobuf_oneof:"kind"` + Kind isExprValue_Kind `protobuf_oneof:"kind"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExprValue) Reset() { *x = ExprValue{} - if protoimpl.UnsafeEnabled { - mi := &file_cel_expr_eval_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_cel_expr_eval_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExprValue) String() string { @@ -106,7 +100,7 @@ func (*ExprValue) ProtoMessage() {} func (x *ExprValue) ProtoReflect() protoreflect.Message { mi := &file_cel_expr_eval_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -121,30 +115,36 @@ func (*ExprValue) Descriptor() ([]byte, []int) { return file_cel_expr_eval_proto_rawDescGZIP(), []int{1} } -func (m *ExprValue) GetKind() isExprValue_Kind { - if m != nil { - return m.Kind +func (x *ExprValue) GetKind() isExprValue_Kind { + if x != nil { + return x.Kind } return nil } func (x *ExprValue) GetValue() *Value { - if x, ok := x.GetKind().(*ExprValue_Value); ok { - return x.Value + if x != nil { + if x, ok := x.Kind.(*ExprValue_Value); ok { + return x.Value + } } return nil } func (x *ExprValue) GetError() *ErrorSet { - if x, ok := x.GetKind().(*ExprValue_Error); ok { - return x.Error + if x != nil { + if x, ok := x.Kind.(*ExprValue_Error); ok { + return x.Error + } } return nil } func (x *ExprValue) GetUnknown() *UnknownSet { - if x, ok := x.GetKind().(*ExprValue_Unknown); ok { - return x.Unknown + if x != nil { + if x, ok := x.Kind.(*ExprValue_Unknown); ok { + return x.Unknown + } } return nil } @@ -172,20 +172,17 @@ func (*ExprValue_Error) isExprValue_Kind() {} func (*ExprValue_Unknown) isExprValue_Kind() {} type ErrorSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Errors []*Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` unknownFields protoimpl.UnknownFields - - Errors []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ErrorSet) Reset() { *x = ErrorSet{} - if protoimpl.UnsafeEnabled { - mi := &file_cel_expr_eval_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_cel_expr_eval_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ErrorSet) String() string { @@ -196,7 +193,7 @@ func (*ErrorSet) ProtoMessage() {} func (x *ErrorSet) ProtoReflect() protoreflect.Message { mi := &file_cel_expr_eval_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -211,28 +208,85 @@ func (*ErrorSet) Descriptor() ([]byte, []int) { return file_cel_expr_eval_proto_rawDescGZIP(), []int{2} } -func (x *ErrorSet) GetErrors() []*status.Status { +func (x *ErrorSet) GetErrors() []*Status { if x != nil { return x.Errors } return nil } -type UnknownSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type Status struct { + state protoimpl.MessageState `protogen:"open.v1"` + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + Details []*anypb.Any `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} - Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"` +func (x *Status) Reset() { + *x = Status{} + mi := &file_cel_expr_eval_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *UnknownSet) Reset() { - *x = UnknownSet{} - if protoimpl.UnsafeEnabled { - mi := &file_cel_expr_eval_proto_msgTypes[3] +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_cel_expr_eval_proto_msgTypes[3] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_cel_expr_eval_proto_rawDescGZIP(), []int{3} +} + +func (x *Status) GetCode() int32 { + if x != nil { + return x.Code } + return 0 +} + +func (x *Status) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Status) GetDetails() []*anypb.Any { + if x != nil { + return x.Details + } + return nil +} + +type UnknownSet struct { + state protoimpl.MessageState `protogen:"open.v1"` + Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnknownSet) Reset() { + *x = UnknownSet{} + mi := &file_cel_expr_eval_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *UnknownSet) String() string { @@ -242,8 +296,8 @@ func (x *UnknownSet) String() string { func (*UnknownSet) ProtoMessage() {} func (x *UnknownSet) ProtoReflect() protoreflect.Message { - mi := &file_cel_expr_eval_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_cel_expr_eval_proto_msgTypes[4] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -255,7 +309,7 @@ func (x *UnknownSet) ProtoReflect() protoreflect.Message { // Deprecated: Use UnknownSet.ProtoReflect.Descriptor instead. func (*UnknownSet) Descriptor() ([]byte, []int) { - return file_cel_expr_eval_proto_rawDescGZIP(), []int{3} + return file_cel_expr_eval_proto_rawDescGZIP(), []int{4} } func (x *UnknownSet) GetExprs() []int64 { @@ -266,21 +320,18 @@ func (x *UnknownSet) GetExprs() []int64 { } type EvalState_Result struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"` + Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"` - Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *EvalState_Result) Reset() { *x = EvalState_Result{} - if protoimpl.UnsafeEnabled { - mi := &file_cel_expr_eval_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_cel_expr_eval_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EvalState_Result) String() string { @@ -290,8 +341,8 @@ func (x *EvalState_Result) String() string { func (*EvalState_Result) ProtoMessage() {} func (x *EvalState_Result) ProtoReflect() protoreflect.Message { - mi := &file_cel_expr_eval_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_cel_expr_eval_proto_msgTypes[5] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -325,39 +376,45 @@ var File_cel_expr_eval_proto protoreflect.FileDescriptor var file_cel_expr_eval_proto_rawDesc = []byte{ 0x0a, 0x13, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x1a, - 0x14, 0x63, 0x65, 0x6c, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, - 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x06, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, - 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x65, 0x6c, - 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, - 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x78, 0x70, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, 0x6c, 0x2e, - 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, - 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, - 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x22, 0x36, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x06, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x42, 0x2c, 0x0a, 0x0c, - 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x45, 0x76, - 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, - 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x63, 0x65, 0x6c, 0x2f, + 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa2, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, + 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, + 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x1a, 0x32, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, + 0x78, 0x70, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x72, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2a, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x65, + 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x48, + 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x07, 0x75, 0x6e, 0x6b, 0x6e, + 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x2e, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x48, + 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x22, 0x34, 0x0a, 0x08, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x28, + 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x63, 0x65, 0x6c, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x66, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x22, 0x22, 0x0a, 0x0a, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x65, 0x78, 0x70, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x65, + 0x78, 0x70, 0x72, 0x73, 0x42, 0x2c, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x65, 0x6c, 0x2e, + 0x65, 0x78, 0x70, 0x72, 0x42, 0x09, 0x45, 0x76, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x0c, 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x65, 0x78, 0x70, 0x72, 0xf8, + 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -372,28 +429,30 @@ func file_cel_expr_eval_proto_rawDescGZIP() []byte { return file_cel_expr_eval_proto_rawDescData } -var file_cel_expr_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_cel_expr_eval_proto_goTypes = []interface{}{ +var file_cel_expr_eval_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_cel_expr_eval_proto_goTypes = []any{ (*EvalState)(nil), // 0: cel.expr.EvalState (*ExprValue)(nil), // 1: cel.expr.ExprValue (*ErrorSet)(nil), // 2: cel.expr.ErrorSet - (*UnknownSet)(nil), // 3: cel.expr.UnknownSet - (*EvalState_Result)(nil), // 4: cel.expr.EvalState.Result - (*Value)(nil), // 5: cel.expr.Value - (*status.Status)(nil), // 6: google.rpc.Status + (*Status)(nil), // 3: cel.expr.Status + (*UnknownSet)(nil), // 4: cel.expr.UnknownSet + (*EvalState_Result)(nil), // 5: cel.expr.EvalState.Result + (*Value)(nil), // 6: cel.expr.Value + (*anypb.Any)(nil), // 7: google.protobuf.Any } var file_cel_expr_eval_proto_depIdxs = []int32{ 1, // 0: cel.expr.EvalState.values:type_name -> cel.expr.ExprValue - 4, // 1: cel.expr.EvalState.results:type_name -> cel.expr.EvalState.Result - 5, // 2: cel.expr.ExprValue.value:type_name -> cel.expr.Value + 5, // 1: cel.expr.EvalState.results:type_name -> cel.expr.EvalState.Result + 6, // 2: cel.expr.ExprValue.value:type_name -> cel.expr.Value 2, // 3: cel.expr.ExprValue.error:type_name -> cel.expr.ErrorSet - 3, // 4: cel.expr.ExprValue.unknown:type_name -> cel.expr.UnknownSet - 6, // 5: cel.expr.ErrorSet.errors:type_name -> google.rpc.Status - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 4, // 4: cel.expr.ExprValue.unknown:type_name -> cel.expr.UnknownSet + 3, // 5: cel.expr.ErrorSet.errors:type_name -> cel.expr.Status + 7, // 6: cel.expr.Status.details:type_name -> google.protobuf.Any + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_cel_expr_eval_proto_init() } @@ -402,69 +461,7 @@ func file_cel_expr_eval_proto_init() { return } file_cel_expr_value_proto_init() - if !protoimpl.UnsafeEnabled { - file_cel_expr_eval_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EvalState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cel_expr_eval_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExprValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cel_expr_eval_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ErrorSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cel_expr_eval_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnknownSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cel_expr_eval_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EvalState_Result); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_cel_expr_eval_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cel_expr_eval_proto_msgTypes[1].OneofWrappers = []any{ (*ExprValue_Value)(nil), (*ExprValue_Error)(nil), (*ExprValue_Unknown)(nil), @@ -475,7 +472,7 @@ func file_cel_expr_eval_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cel_expr_eval_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/exponential.go b/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/exponential.go index c1f3e442d36..79d425e8746 100644 --- a/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/exponential.go +++ b/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/exponential.go @@ -1,7 +1,7 @@ package backoff import ( - "math/rand" + "math/rand/v2" "time" ) @@ -28,13 +28,7 @@ multiplied by the exponential, that is, between 2 and 6 seconds. Note: MaxInterval caps the RetryInterval and not the randomized interval. -If the time elapsed since an ExponentialBackOff instance is created goes past the -MaxElapsedTime, then the method NextBackOff() starts returning backoff.Stop. - -The elapsed time can be reset by calling Reset(). - -Example: Given the following default arguments, for 10 tries the sequence will be, -and assuming we go over the MaxElapsedTime on the 10th try: +Example: Given the following default arguments, for 9 tries the sequence will be: Request # RetryInterval (seconds) Randomized Interval (seconds) @@ -47,7 +41,6 @@ and assuming we go over the MaxElapsedTime on the 10th try: 7 5.692 [2.846, 8.538] 8 8.538 [4.269, 12.807] 9 12.807 [6.403, 19.210] - 10 19.210 backoff.Stop Note: Implementation is not thread-safe. */ diff --git a/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/retry.go b/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/retry.go index e43f47fb8a5..32a7f988347 100644 --- a/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/retry.go +++ b/cluster-api/providers/azure/vendor/github.com/cenkalti/backoff/v5/retry.go @@ -47,7 +47,7 @@ func WithNotify(n Notify) RetryOption { } } -// WithMaxTries limits the number of retry attempts. +// WithMaxTries limits the number of all attempts. func WithMaxTries(n uint) RetryOption { return func(args *retryOptions) { args.MaxTries = n @@ -97,7 +97,7 @@ func Retry[T any](ctx context.Context, operation Operation[T], opts ...RetryOpti // Handle permanent errors without retrying. var permanent *PermanentError if errors.As(err, &permanent) { - return res, err + return res, permanent.Unwrap() } // Stop retrying if context is cancelled. diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/.gitignore b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/.gitignore new file mode 100644 index 00000000000..66fd13c903c --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/.gitignore @@ -0,0 +1,15 @@ +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/LICENSE b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/LICENSE new file mode 100644 index 00000000000..6a66aea5eaf --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/README.md b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/README.md new file mode 100644 index 00000000000..756e60dcfdb --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/README.md @@ -0,0 +1,12 @@ +# Grafana Go regexp package +This repo is a fork of the upstream Go `regexp` package, with some code optimisations to make it run faster. + +All the optimisations have been submitted upstream, but not yet merged. + +All semantics are the same, and the optimised code passes all tests from upstream. + +The `main` branch is non-optimised: switch over to [`speedup`](https://github.com/grafana/regexp/tree/speedup) branch for the improved code. + +## Benchmarks: + +![image](https://user-images.githubusercontent.com/8125524/152182951-856549ed-6044-4285-b799-69b31f598e32.png) diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/backtrack.go b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/backtrack.go new file mode 100644 index 00000000000..7c37c66a80c --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/backtrack.go @@ -0,0 +1,365 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// backtrack is a regular expression search with submatch +// tracking for small regular expressions and texts. It allocates +// a bit vector with (length of input) * (length of prog) bits, +// to make sure it never explores the same (character position, instruction) +// state multiple times. This limits the search to run in time linear in +// the length of the test. +// +// backtrack is a fast replacement for the NFA code on small +// regexps when onepass cannot be used. + +package regexp + +import ( + "regexp/syntax" + "sync" +) + +// A job is an entry on the backtracker's job stack. It holds +// the instruction pc and the position in the input. +type job struct { + pc uint32 + arg bool + pos int +} + +const ( + visitedBits = 32 + maxBacktrackProg = 500 // len(prog.Inst) <= max + maxBacktrackVector = 256 * 1024 // bit vector size <= max (bits) +) + +// bitState holds state for the backtracker. +type bitState struct { + end int + cap []int + matchcap []int + jobs []job + visited []uint32 + + inputs inputs +} + +var bitStatePool sync.Pool + +func newBitState() *bitState { + b, ok := bitStatePool.Get().(*bitState) + if !ok { + b = new(bitState) + } + return b +} + +func freeBitState(b *bitState) { + b.inputs.clear() + bitStatePool.Put(b) +} + +// maxBitStateLen returns the maximum length of a string to search with +// the backtracker using prog. +func maxBitStateLen(prog *syntax.Prog) int { + if !shouldBacktrack(prog) { + return 0 + } + return maxBacktrackVector / len(prog.Inst) +} + +// shouldBacktrack reports whether the program is too +// long for the backtracker to run. +func shouldBacktrack(prog *syntax.Prog) bool { + return len(prog.Inst) <= maxBacktrackProg +} + +// reset resets the state of the backtracker. +// end is the end position in the input. +// ncap is the number of captures. +func (b *bitState) reset(prog *syntax.Prog, end int, ncap int) { + b.end = end + + if cap(b.jobs) == 0 { + b.jobs = make([]job, 0, 256) + } else { + b.jobs = b.jobs[:0] + } + + visitedSize := (len(prog.Inst)*(end+1) + visitedBits - 1) / visitedBits + if cap(b.visited) < visitedSize { + b.visited = make([]uint32, visitedSize, maxBacktrackVector/visitedBits) + } else { + b.visited = b.visited[:visitedSize] + clear(b.visited) // set to 0 + } + + if cap(b.cap) < ncap { + b.cap = make([]int, ncap) + } else { + b.cap = b.cap[:ncap] + } + for i := range b.cap { + b.cap[i] = -1 + } + + if cap(b.matchcap) < ncap { + b.matchcap = make([]int, ncap) + } else { + b.matchcap = b.matchcap[:ncap] + } + for i := range b.matchcap { + b.matchcap[i] = -1 + } +} + +// shouldVisit reports whether the combination of (pc, pos) has not +// been visited yet. +func (b *bitState) shouldVisit(pc uint32, pos int) bool { + n := uint(int(pc)*(b.end+1) + pos) + if b.visited[n/visitedBits]&(1<<(n&(visitedBits-1))) != 0 { + return false + } + b.visited[n/visitedBits] |= 1 << (n & (visitedBits - 1)) + return true +} + +// push pushes (pc, pos, arg) onto the job stack if it should be +// visited. +func (b *bitState) push(re *Regexp, pc uint32, pos int, arg bool) { + // Only check shouldVisit when arg is false. + // When arg is true, we are continuing a previous visit. + if re.prog.Inst[pc].Op != syntax.InstFail && (arg || b.shouldVisit(pc, pos)) { + b.jobs = append(b.jobs, job{pc: pc, arg: arg, pos: pos}) + } +} + +// tryBacktrack runs a backtracking search starting at pos. +func (re *Regexp) tryBacktrack(b *bitState, i input, pc uint32, pos int) bool { + longest := re.longest + + b.push(re, pc, pos, false) + for len(b.jobs) > 0 { + l := len(b.jobs) - 1 + // Pop job off the stack. + pc := b.jobs[l].pc + pos := b.jobs[l].pos + arg := b.jobs[l].arg + b.jobs = b.jobs[:l] + + // Optimization: rather than push and pop, + // code that is going to Push and continue + // the loop simply updates ip, p, and arg + // and jumps to CheckAndLoop. We have to + // do the ShouldVisit check that Push + // would have, but we avoid the stack + // manipulation. + goto Skip + CheckAndLoop: + if !b.shouldVisit(pc, pos) { + continue + } + Skip: + + inst := &re.prog.Inst[pc] + + switch inst.Op { + default: + panic("bad inst") + case syntax.InstFail: + panic("unexpected InstFail") + case syntax.InstAlt: + // Cannot just + // b.push(inst.Out, pos, false) + // b.push(inst.Arg, pos, false) + // If during the processing of inst.Out, we encounter + // inst.Arg via another path, we want to process it then. + // Pushing it here will inhibit that. Instead, re-push + // inst with arg==true as a reminder to push inst.Arg out + // later. + if arg { + // Finished inst.Out; try inst.Arg. + arg = false + pc = inst.Arg + goto CheckAndLoop + } else { + b.push(re, pc, pos, true) + pc = inst.Out + goto CheckAndLoop + } + + case syntax.InstAltMatch: + // One opcode consumes runes; the other leads to match. + switch re.prog.Inst[inst.Out].Op { + case syntax.InstRune, syntax.InstRune1, syntax.InstRuneAny, syntax.InstRuneAnyNotNL: + // inst.Arg is the match. + b.push(re, inst.Arg, pos, false) + pc = inst.Arg + pos = b.end + goto CheckAndLoop + } + // inst.Out is the match - non-greedy + b.push(re, inst.Out, b.end, false) + pc = inst.Out + goto CheckAndLoop + + case syntax.InstRune: + r, width := i.step(pos) + if !inst.MatchRune(r) { + continue + } + pos += width + pc = inst.Out + goto CheckAndLoop + + case syntax.InstRune1: + r, width := i.step(pos) + if r != inst.Rune[0] { + continue + } + pos += width + pc = inst.Out + goto CheckAndLoop + + case syntax.InstRuneAnyNotNL: + r, width := i.step(pos) + if r == '\n' || r == endOfText { + continue + } + pos += width + pc = inst.Out + goto CheckAndLoop + + case syntax.InstRuneAny: + r, width := i.step(pos) + if r == endOfText { + continue + } + pos += width + pc = inst.Out + goto CheckAndLoop + + case syntax.InstCapture: + if arg { + // Finished inst.Out; restore the old value. + b.cap[inst.Arg] = pos + continue + } else { + if inst.Arg < uint32(len(b.cap)) { + // Capture pos to register, but save old value. + b.push(re, pc, b.cap[inst.Arg], true) // come back when we're done. + b.cap[inst.Arg] = pos + } + pc = inst.Out + goto CheckAndLoop + } + + case syntax.InstEmptyWidth: + flag := i.context(pos) + if !flag.match(syntax.EmptyOp(inst.Arg)) { + continue + } + pc = inst.Out + goto CheckAndLoop + + case syntax.InstNop: + pc = inst.Out + goto CheckAndLoop + + case syntax.InstMatch: + // We found a match. If the caller doesn't care + // where the match is, no point going further. + if len(b.cap) == 0 { + return true + } + + // Record best match so far. + // Only need to check end point, because this entire + // call is only considering one start position. + if len(b.cap) > 1 { + b.cap[1] = pos + } + if old := b.matchcap[1]; old == -1 || (longest && pos > 0 && pos > old) { + copy(b.matchcap, b.cap) + } + + // If going for first match, we're done. + if !longest { + return true + } + + // If we used the entire text, no longer match is possible. + if pos == b.end { + return true + } + + // Otherwise, continue on in hope of a longer match. + continue + } + } + + return longest && len(b.matchcap) > 1 && b.matchcap[1] >= 0 +} + +// backtrack runs a backtracking search of prog on the input starting at pos. +func (re *Regexp) backtrack(ib []byte, is string, pos int, ncap int, dstCap []int) []int { + startCond := re.cond + if startCond == ^syntax.EmptyOp(0) { // impossible + return nil + } + if startCond&syntax.EmptyBeginText != 0 && pos != 0 { + // Anchored match, past beginning of text. + return nil + } + + b := newBitState() + i, end := b.inputs.init(nil, ib, is) + b.reset(re.prog, end, ncap) + + // Anchored search must start at the beginning of the input + if startCond&syntax.EmptyBeginText != 0 { + if len(b.cap) > 0 { + b.cap[0] = pos + } + if !re.tryBacktrack(b, i, uint32(re.prog.Start), pos) { + freeBitState(b) + return nil + } + } else { + + // Unanchored search, starting from each possible text position. + // Notice that we have to try the empty string at the end of + // the text, so the loop condition is pos <= end, not pos < end. + // This looks like it's quadratic in the size of the text, + // but we are not clearing visited between calls to TrySearch, + // so no work is duplicated and it ends up still being linear. + width := -1 + for ; pos <= end && width != 0; pos += width { + if len(re.prefix) > 0 { + // Match requires literal prefix; fast search for it. + advance := i.index(re, pos) + if advance < 0 { + freeBitState(b) + return nil + } + pos += advance + } + + if len(b.cap) > 0 { + b.cap[0] = pos + } + if re.tryBacktrack(b, i, uint32(re.prog.Start), pos) { + // Match must be leftmost; done. + goto Match + } + _, width = i.step(pos) + } + freeBitState(b) + return nil + } + +Match: + dstCap = append(dstCap, b.matchcap...) + freeBitState(b) + return dstCap +} diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/exec.go b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/exec.go new file mode 100644 index 00000000000..3fc4b684feb --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/exec.go @@ -0,0 +1,554 @@ +// Copyright 2011 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package regexp + +import ( + "io" + "regexp/syntax" + "sync" +) + +// A queue is a 'sparse array' holding pending threads of execution. +// See https://research.swtch.com/2008/03/using-uninitialized-memory-for-fun-and.html +type queue struct { + sparse []uint32 + dense []entry +} + +// An entry is an entry on a queue. +// It holds both the instruction pc and the actual thread. +// Some queue entries are just place holders so that the machine +// knows it has considered that pc. Such entries have t == nil. +type entry struct { + pc uint32 + t *thread +} + +// A thread is the state of a single path through the machine: +// an instruction and a corresponding capture array. +// See https://swtch.com/~rsc/regexp/regexp2.html +type thread struct { + inst *syntax.Inst + cap []int +} + +// A machine holds all the state during an NFA simulation for p. +type machine struct { + re *Regexp // corresponding Regexp + p *syntax.Prog // compiled program + q0, q1 queue // two queues for runq, nextq + pool []*thread // pool of available threads + matched bool // whether a match was found + matchcap []int // capture information for the match + + inputs inputs +} + +type inputs struct { + // cached inputs, to avoid allocation + bytes inputBytes + string inputString + reader inputReader +} + +func (i *inputs) newBytes(b []byte) input { + i.bytes.str = b + return &i.bytes +} + +func (i *inputs) newString(s string) input { + i.string.str = s + return &i.string +} + +func (i *inputs) newReader(r io.RuneReader) input { + i.reader.r = r + i.reader.atEOT = false + i.reader.pos = 0 + return &i.reader +} + +func (i *inputs) clear() { + // We need to clear 1 of these. + // Avoid the expense of clearing the others (pointer write barrier). + if i.bytes.str != nil { + i.bytes.str = nil + } else if i.reader.r != nil { + i.reader.r = nil + } else { + i.string.str = "" + } +} + +func (i *inputs) init(r io.RuneReader, b []byte, s string) (input, int) { + if r != nil { + return i.newReader(r), 0 + } + if b != nil { + return i.newBytes(b), len(b) + } + return i.newString(s), len(s) +} + +func (m *machine) init(ncap int) { + for _, t := range m.pool { + t.cap = t.cap[:ncap] + } + m.matchcap = m.matchcap[:ncap] +} + +// alloc allocates a new thread with the given instruction. +// It uses the free pool if possible. +func (m *machine) alloc(i *syntax.Inst) *thread { + var t *thread + if n := len(m.pool); n > 0 { + t = m.pool[n-1] + m.pool = m.pool[:n-1] + } else { + t = new(thread) + t.cap = make([]int, len(m.matchcap), cap(m.matchcap)) + } + t.inst = i + return t +} + +// A lazyFlag is a lazily-evaluated syntax.EmptyOp, +// for checking zero-width flags like ^ $ \A \z \B \b. +// It records the pair of relevant runes and does not +// determine the implied flags until absolutely necessary +// (most of the time, that means never). +type lazyFlag uint64 + +func newLazyFlag(r1, r2 rune) lazyFlag { + return lazyFlag(uint64(r1)<<32 | uint64(uint32(r2))) +} + +func (f lazyFlag) match(op syntax.EmptyOp) bool { + if op == 0 { + return true + } + r1 := rune(f >> 32) + if op&syntax.EmptyBeginLine != 0 { + if r1 != '\n' && r1 >= 0 { + return false + } + op &^= syntax.EmptyBeginLine + } + if op&syntax.EmptyBeginText != 0 { + if r1 >= 0 { + return false + } + op &^= syntax.EmptyBeginText + } + if op == 0 { + return true + } + r2 := rune(f) + if op&syntax.EmptyEndLine != 0 { + if r2 != '\n' && r2 >= 0 { + return false + } + op &^= syntax.EmptyEndLine + } + if op&syntax.EmptyEndText != 0 { + if r2 >= 0 { + return false + } + op &^= syntax.EmptyEndText + } + if op == 0 { + return true + } + if syntax.IsWordChar(r1) != syntax.IsWordChar(r2) { + op &^= syntax.EmptyWordBoundary + } else { + op &^= syntax.EmptyNoWordBoundary + } + return op == 0 +} + +// match runs the machine over the input starting at pos. +// It reports whether a match was found. +// If so, m.matchcap holds the submatch information. +func (m *machine) match(i input, pos int) bool { + startCond := m.re.cond + if startCond == ^syntax.EmptyOp(0) { // impossible + return false + } + m.matched = false + for i := range m.matchcap { + m.matchcap[i] = -1 + } + runq, nextq := &m.q0, &m.q1 + r, r1 := endOfText, endOfText + width, width1 := 0, 0 + r, width = i.step(pos) + if r != endOfText { + r1, width1 = i.step(pos + width) + } + var flag lazyFlag + if pos == 0 { + flag = newLazyFlag(-1, r) + } else { + flag = i.context(pos) + } + for { + if len(runq.dense) == 0 { + if startCond&syntax.EmptyBeginText != 0 && pos != 0 { + // Anchored match, past beginning of text. + break + } + if m.matched { + // Have match; finished exploring alternatives. + break + } + if len(m.re.prefix) > 0 && r1 != m.re.prefixRune && i.canCheckPrefix() { + // Match requires literal prefix; fast search for it. + advance := i.index(m.re, pos) + if advance < 0 { + break + } + pos += advance + r, width = i.step(pos) + r1, width1 = i.step(pos + width) + } + } + if !m.matched { + if len(m.matchcap) > 0 { + m.matchcap[0] = pos + } + m.add(runq, uint32(m.p.Start), pos, m.matchcap, &flag, nil) + } + flag = newLazyFlag(r, r1) + m.step(runq, nextq, pos, pos+width, r, &flag) + if width == 0 { + break + } + if len(m.matchcap) == 0 && m.matched { + // Found a match and not paying attention + // to where it is, so any match will do. + break + } + pos += width + r, width = r1, width1 + if r != endOfText { + r1, width1 = i.step(pos + width) + } + runq, nextq = nextq, runq + } + m.clear(nextq) + return m.matched +} + +// clear frees all threads on the thread queue. +func (m *machine) clear(q *queue) { + for _, d := range q.dense { + if d.t != nil { + m.pool = append(m.pool, d.t) + } + } + q.dense = q.dense[:0] +} + +// step executes one step of the machine, running each of the threads +// on runq and appending new threads to nextq. +// The step processes the rune c (which may be endOfText), +// which starts at position pos and ends at nextPos. +// nextCond gives the setting for the empty-width flags after c. +func (m *machine) step(runq, nextq *queue, pos, nextPos int, c rune, nextCond *lazyFlag) { + longest := m.re.longest + for j := 0; j < len(runq.dense); j++ { + d := &runq.dense[j] + t := d.t + if t == nil { + continue + } + if longest && m.matched && len(t.cap) > 0 && m.matchcap[0] < t.cap[0] { + m.pool = append(m.pool, t) + continue + } + i := t.inst + add := false + switch i.Op { + default: + panic("bad inst") + + case syntax.InstMatch: + if len(t.cap) > 0 && (!longest || !m.matched || m.matchcap[1] < pos) { + t.cap[1] = pos + copy(m.matchcap, t.cap) + } + if !longest { + // First-match mode: cut off all lower-priority threads. + for _, d := range runq.dense[j+1:] { + if d.t != nil { + m.pool = append(m.pool, d.t) + } + } + runq.dense = runq.dense[:0] + } + m.matched = true + + case syntax.InstRune: + add = i.MatchRune(c) + case syntax.InstRune1: + add = c == i.Rune[0] + case syntax.InstRuneAny: + add = true + case syntax.InstRuneAnyNotNL: + add = c != '\n' + } + if add { + t = m.add(nextq, i.Out, nextPos, t.cap, nextCond, t) + } + if t != nil { + m.pool = append(m.pool, t) + } + } + runq.dense = runq.dense[:0] +} + +// add adds an entry to q for pc, unless the q already has such an entry. +// It also recursively adds an entry for all instructions reachable from pc by following +// empty-width conditions satisfied by cond. pos gives the current position +// in the input. +func (m *machine) add(q *queue, pc uint32, pos int, cap []int, cond *lazyFlag, t *thread) *thread { +Again: + if pc == 0 { + return t + } + if j := q.sparse[pc]; j < uint32(len(q.dense)) && q.dense[j].pc == pc { + return t + } + + j := len(q.dense) + q.dense = q.dense[:j+1] + d := &q.dense[j] + d.t = nil + d.pc = pc + q.sparse[pc] = uint32(j) + + i := &m.p.Inst[pc] + switch i.Op { + default: + panic("unhandled") + case syntax.InstFail: + // nothing + case syntax.InstAlt, syntax.InstAltMatch: + t = m.add(q, i.Out, pos, cap, cond, t) + pc = i.Arg + goto Again + case syntax.InstEmptyWidth: + if cond.match(syntax.EmptyOp(i.Arg)) { + pc = i.Out + goto Again + } + case syntax.InstNop: + pc = i.Out + goto Again + case syntax.InstCapture: + if int(i.Arg) < len(cap) { + opos := cap[i.Arg] + cap[i.Arg] = pos + m.add(q, i.Out, pos, cap, cond, nil) + cap[i.Arg] = opos + } else { + pc = i.Out + goto Again + } + case syntax.InstMatch, syntax.InstRune, syntax.InstRune1, syntax.InstRuneAny, syntax.InstRuneAnyNotNL: + if t == nil { + t = m.alloc(i) + } else { + t.inst = i + } + if len(cap) > 0 && &t.cap[0] != &cap[0] { + copy(t.cap, cap) + } + d.t = t + t = nil + } + return t +} + +type onePassMachine struct { + inputs inputs + matchcap []int +} + +var onePassPool sync.Pool + +func newOnePassMachine() *onePassMachine { + m, ok := onePassPool.Get().(*onePassMachine) + if !ok { + m = new(onePassMachine) + } + return m +} + +func freeOnePassMachine(m *onePassMachine) { + m.inputs.clear() + onePassPool.Put(m) +} + +// doOnePass implements r.doExecute using the one-pass execution engine. +func (re *Regexp) doOnePass(ir io.RuneReader, ib []byte, is string, pos, ncap int, dstCap []int) []int { + startCond := re.cond + if startCond == ^syntax.EmptyOp(0) { // impossible + return nil + } + + m := newOnePassMachine() + if cap(m.matchcap) < ncap { + m.matchcap = make([]int, ncap) + } else { + m.matchcap = m.matchcap[:ncap] + } + + matched := false + for i := range m.matchcap { + m.matchcap[i] = -1 + } + + i, _ := m.inputs.init(ir, ib, is) + + r, r1 := endOfText, endOfText + width, width1 := 0, 0 + r, width = i.step(pos) + if r != endOfText { + r1, width1 = i.step(pos + width) + } + var flag lazyFlag + if pos == 0 { + flag = newLazyFlag(-1, r) + } else { + flag = i.context(pos) + } + pc := re.onepass.Start + inst := &re.onepass.Inst[pc] + // If there is a simple literal prefix, skip over it. + if pos == 0 && flag.match(syntax.EmptyOp(inst.Arg)) && + len(re.prefix) > 0 && i.canCheckPrefix() { + // Match requires literal prefix; fast search for it. + if !i.hasPrefix(re) { + goto Return + } + pos += len(re.prefix) + r, width = i.step(pos) + r1, width1 = i.step(pos + width) + flag = i.context(pos) + pc = int(re.prefixEnd) + } + for { + inst = &re.onepass.Inst[pc] + pc = int(inst.Out) + switch inst.Op { + default: + panic("bad inst") + case syntax.InstMatch: + matched = true + if len(m.matchcap) > 0 { + m.matchcap[0] = 0 + m.matchcap[1] = pos + } + goto Return + case syntax.InstRune: + if !inst.MatchRune(r) { + goto Return + } + case syntax.InstRune1: + if r != inst.Rune[0] { + goto Return + } + case syntax.InstRuneAny: + // Nothing + case syntax.InstRuneAnyNotNL: + if r == '\n' { + goto Return + } + // peek at the input rune to see which branch of the Alt to take + case syntax.InstAlt, syntax.InstAltMatch: + pc = int(onePassNext(inst, r)) + continue + case syntax.InstFail: + goto Return + case syntax.InstNop: + continue + case syntax.InstEmptyWidth: + if !flag.match(syntax.EmptyOp(inst.Arg)) { + goto Return + } + continue + case syntax.InstCapture: + if int(inst.Arg) < len(m.matchcap) { + m.matchcap[inst.Arg] = pos + } + continue + } + if width == 0 { + break + } + flag = newLazyFlag(r, r1) + pos += width + r, width = r1, width1 + if r != endOfText { + r1, width1 = i.step(pos + width) + } + } + +Return: + if !matched { + freeOnePassMachine(m) + return nil + } + + dstCap = append(dstCap, m.matchcap...) + freeOnePassMachine(m) + return dstCap +} + +// doMatch reports whether either r, b or s match the regexp. +func (re *Regexp) doMatch(r io.RuneReader, b []byte, s string) bool { + return re.doExecute(r, b, s, 0, 0, nil) != nil +} + +// doExecute finds the leftmost match in the input, appends the position +// of its subexpressions to dstCap and returns dstCap. +// +// nil is returned if no matches are found and non-nil if matches are found. +func (re *Regexp) doExecute(r io.RuneReader, b []byte, s string, pos int, ncap int, dstCap []int) []int { + if dstCap == nil { + // Make sure 'return dstCap' is non-nil. + dstCap = arrayNoInts[:0:0] + } + + if r == nil && len(b)+len(s) < re.minInputLen { + return nil + } + + if re.onepass != nil { + return re.doOnePass(r, b, s, pos, ncap, dstCap) + } + if r == nil && len(b)+len(s) < re.maxBitStateLen { + return re.backtrack(b, s, pos, ncap, dstCap) + } + + m := re.get() + i, _ := m.inputs.init(r, b, s) + + m.init(ncap) + if !m.match(i, pos) { + re.put(m) + return nil + } + + dstCap = append(dstCap, m.matchcap...) + re.put(m) + return dstCap +} + +// arrayNoInts is returned by doExecute match if nil dstCap is passed +// to it with ncap=0. +var arrayNoInts [0]int diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/onepass.go b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/onepass.go new file mode 100644 index 00000000000..53cbd958394 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/onepass.go @@ -0,0 +1,500 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package regexp + +import ( + "regexp/syntax" + "slices" + "strings" + "unicode" + "unicode/utf8" +) + +// "One-pass" regexp execution. +// Some regexps can be analyzed to determine that they never need +// backtracking: they are guaranteed to run in one pass over the string +// without bothering to save all the usual NFA state. +// Detect those and execute them more quickly. + +// A onePassProg is a compiled one-pass regular expression program. +// It is the same as syntax.Prog except for the use of onePassInst. +type onePassProg struct { + Inst []onePassInst + Start int // index of start instruction + NumCap int // number of InstCapture insts in re +} + +// A onePassInst is a single instruction in a one-pass regular expression program. +// It is the same as syntax.Inst except for the new 'Next' field. +type onePassInst struct { + syntax.Inst + Next []uint32 +} + +// onePassPrefix returns a literal string that all matches for the +// regexp must start with. Complete is true if the prefix +// is the entire match. Pc is the index of the last rune instruction +// in the string. The onePassPrefix skips over the mandatory +// EmptyBeginText. +func onePassPrefix(p *syntax.Prog) (prefix string, complete bool, pc uint32) { + i := &p.Inst[p.Start] + if i.Op != syntax.InstEmptyWidth || (syntax.EmptyOp(i.Arg))&syntax.EmptyBeginText == 0 { + return "", i.Op == syntax.InstMatch, uint32(p.Start) + } + pc = i.Out + i = &p.Inst[pc] + for i.Op == syntax.InstNop { + pc = i.Out + i = &p.Inst[pc] + } + // Avoid allocation of buffer if prefix is empty. + if iop(i) != syntax.InstRune || len(i.Rune) != 1 { + return "", i.Op == syntax.InstMatch, uint32(p.Start) + } + + // Have prefix; gather characters. + var buf strings.Builder + for iop(i) == syntax.InstRune && len(i.Rune) == 1 && syntax.Flags(i.Arg)&syntax.FoldCase == 0 && i.Rune[0] != utf8.RuneError { + buf.WriteRune(i.Rune[0]) + pc, i = i.Out, &p.Inst[i.Out] + } + if i.Op == syntax.InstEmptyWidth && + syntax.EmptyOp(i.Arg)&syntax.EmptyEndText != 0 && + p.Inst[i.Out].Op == syntax.InstMatch { + complete = true + } + return buf.String(), complete, pc +} + +// onePassNext selects the next actionable state of the prog, based on the input character. +// It should only be called when i.Op == InstAlt or InstAltMatch, and from the one-pass machine. +// One of the alternates may ultimately lead without input to end of line. If the instruction +// is InstAltMatch the path to the InstMatch is in i.Out, the normal node in i.Next. +func onePassNext(i *onePassInst, r rune) uint32 { + next := i.MatchRunePos(r) + if next >= 0 { + return i.Next[next] + } + if i.Op == syntax.InstAltMatch { + return i.Out + } + return 0 +} + +func iop(i *syntax.Inst) syntax.InstOp { + op := i.Op + switch op { + case syntax.InstRune1, syntax.InstRuneAny, syntax.InstRuneAnyNotNL: + op = syntax.InstRune + } + return op +} + +// Sparse Array implementation is used as a queueOnePass. +type queueOnePass struct { + sparse []uint32 + dense []uint32 + size, nextIndex uint32 +} + +func (q *queueOnePass) empty() bool { + return q.nextIndex >= q.size +} + +func (q *queueOnePass) next() (n uint32) { + n = q.dense[q.nextIndex] + q.nextIndex++ + return +} + +func (q *queueOnePass) clear() { + q.size = 0 + q.nextIndex = 0 +} + +func (q *queueOnePass) contains(u uint32) bool { + if u >= uint32(len(q.sparse)) { + return false + } + return q.sparse[u] < q.size && q.dense[q.sparse[u]] == u +} + +func (q *queueOnePass) insert(u uint32) { + if !q.contains(u) { + q.insertNew(u) + } +} + +func (q *queueOnePass) insertNew(u uint32) { + if u >= uint32(len(q.sparse)) { + return + } + q.sparse[u] = q.size + q.dense[q.size] = u + q.size++ +} + +func newQueue(size int) (q *queueOnePass) { + return &queueOnePass{ + sparse: make([]uint32, size), + dense: make([]uint32, size), + } +} + +// mergeRuneSets merges two non-intersecting runesets, and returns the merged result, +// and a NextIp array. The idea is that if a rune matches the OnePassRunes at index +// i, NextIp[i/2] is the target. If the input sets intersect, an empty runeset and a +// NextIp array with the single element mergeFailed is returned. +// The code assumes that both inputs contain ordered and non-intersecting rune pairs. +const mergeFailed = uint32(0xffffffff) + +var ( + noRune = []rune{} + noNext = []uint32{mergeFailed} +) + +func mergeRuneSets(leftRunes, rightRunes *[]rune, leftPC, rightPC uint32) ([]rune, []uint32) { + leftLen := len(*leftRunes) + rightLen := len(*rightRunes) + if leftLen&0x1 != 0 || rightLen&0x1 != 0 { + panic("mergeRuneSets odd length []rune") + } + var ( + lx, rx int + ) + merged := make([]rune, 0) + next := make([]uint32, 0) + ok := true + defer func() { + if !ok { + merged = nil + next = nil + } + }() + + ix := -1 + extend := func(newLow *int, newArray *[]rune, pc uint32) bool { + if ix > 0 && (*newArray)[*newLow] <= merged[ix] { + return false + } + merged = append(merged, (*newArray)[*newLow], (*newArray)[*newLow+1]) + *newLow += 2 + ix += 2 + next = append(next, pc) + return true + } + + for lx < leftLen || rx < rightLen { + switch { + case rx >= rightLen: + ok = extend(&lx, leftRunes, leftPC) + case lx >= leftLen: + ok = extend(&rx, rightRunes, rightPC) + case (*rightRunes)[rx] < (*leftRunes)[lx]: + ok = extend(&rx, rightRunes, rightPC) + default: + ok = extend(&lx, leftRunes, leftPC) + } + if !ok { + return noRune, noNext + } + } + return merged, next +} + +// cleanupOnePass drops working memory, and restores certain shortcut instructions. +func cleanupOnePass(prog *onePassProg, original *syntax.Prog) { + for ix, instOriginal := range original.Inst { + switch instOriginal.Op { + case syntax.InstAlt, syntax.InstAltMatch, syntax.InstRune: + case syntax.InstCapture, syntax.InstEmptyWidth, syntax.InstNop, syntax.InstMatch, syntax.InstFail: + prog.Inst[ix].Next = nil + case syntax.InstRune1, syntax.InstRuneAny, syntax.InstRuneAnyNotNL: + prog.Inst[ix].Next = nil + prog.Inst[ix] = onePassInst{Inst: instOriginal} + } + } +} + +// onePassCopy creates a copy of the original Prog, as we'll be modifying it. +func onePassCopy(prog *syntax.Prog) *onePassProg { + p := &onePassProg{ + Start: prog.Start, + NumCap: prog.NumCap, + Inst: make([]onePassInst, len(prog.Inst)), + } + for i, inst := range prog.Inst { + p.Inst[i] = onePassInst{Inst: inst} + } + + // rewrites one or more common Prog constructs that enable some otherwise + // non-onepass Progs to be onepass. A:BD (for example) means an InstAlt at + // ip A, that points to ips B & C. + // A:BC + B:DA => A:BC + B:CD + // A:BC + B:DC => A:DC + B:DC + for pc := range p.Inst { + switch p.Inst[pc].Op { + default: + continue + case syntax.InstAlt, syntax.InstAltMatch: + // A:Bx + B:Ay + p_A_Other := &p.Inst[pc].Out + p_A_Alt := &p.Inst[pc].Arg + // make sure a target is another Alt + instAlt := p.Inst[*p_A_Alt] + if !(instAlt.Op == syntax.InstAlt || instAlt.Op == syntax.InstAltMatch) { + p_A_Alt, p_A_Other = p_A_Other, p_A_Alt + instAlt = p.Inst[*p_A_Alt] + if !(instAlt.Op == syntax.InstAlt || instAlt.Op == syntax.InstAltMatch) { + continue + } + } + instOther := p.Inst[*p_A_Other] + // Analyzing both legs pointing to Alts is for another day + if instOther.Op == syntax.InstAlt || instOther.Op == syntax.InstAltMatch { + // too complicated + continue + } + // simple empty transition loop + // A:BC + B:DA => A:BC + B:DC + p_B_Alt := &p.Inst[*p_A_Alt].Out + p_B_Other := &p.Inst[*p_A_Alt].Arg + patch := false + if instAlt.Out == uint32(pc) { + patch = true + } else if instAlt.Arg == uint32(pc) { + patch = true + p_B_Alt, p_B_Other = p_B_Other, p_B_Alt + } + if patch { + *p_B_Alt = *p_A_Other + } + + // empty transition to common target + // A:BC + B:DC => A:DC + B:DC + if *p_A_Other == *p_B_Alt { + *p_A_Alt = *p_B_Other + } + } + } + return p +} + +var anyRuneNotNL = []rune{0, '\n' - 1, '\n' + 1, unicode.MaxRune} +var anyRune = []rune{0, unicode.MaxRune} + +// makeOnePass creates a onepass Prog, if possible. It is possible if at any alt, +// the match engine can always tell which branch to take. The routine may modify +// p if it is turned into a onepass Prog. If it isn't possible for this to be a +// onepass Prog, the Prog nil is returned. makeOnePass is recursive +// to the size of the Prog. +func makeOnePass(p *onePassProg) *onePassProg { + // If the machine is very long, it's not worth the time to check if we can use one pass. + if len(p.Inst) >= 1000 { + return nil + } + + var ( + instQueue = newQueue(len(p.Inst)) + visitQueue = newQueue(len(p.Inst)) + check func(uint32, []bool) bool + onePassRunes = make([][]rune, len(p.Inst)) + ) + + // check that paths from Alt instructions are unambiguous, and rebuild the new + // program as a onepass program + check = func(pc uint32, m []bool) (ok bool) { + ok = true + inst := &p.Inst[pc] + if visitQueue.contains(pc) { + return + } + visitQueue.insert(pc) + switch inst.Op { + case syntax.InstAlt, syntax.InstAltMatch: + ok = check(inst.Out, m) && check(inst.Arg, m) + // check no-input paths to InstMatch + matchOut := m[inst.Out] + matchArg := m[inst.Arg] + if matchOut && matchArg { + ok = false + break + } + // Match on empty goes in inst.Out + if matchArg { + inst.Out, inst.Arg = inst.Arg, inst.Out + matchOut, matchArg = matchArg, matchOut + } + if matchOut { + m[pc] = true + inst.Op = syntax.InstAltMatch + } + + // build a dispatch operator from the two legs of the alt. + onePassRunes[pc], inst.Next = mergeRuneSets( + &onePassRunes[inst.Out], &onePassRunes[inst.Arg], inst.Out, inst.Arg) + if len(inst.Next) > 0 && inst.Next[0] == mergeFailed { + ok = false + break + } + case syntax.InstCapture, syntax.InstNop: + ok = check(inst.Out, m) + m[pc] = m[inst.Out] + // pass matching runes back through these no-ops. + onePassRunes[pc] = append([]rune{}, onePassRunes[inst.Out]...) + inst.Next = make([]uint32, len(onePassRunes[pc])/2+1) + for i := range inst.Next { + inst.Next[i] = inst.Out + } + case syntax.InstEmptyWidth: + ok = check(inst.Out, m) + m[pc] = m[inst.Out] + onePassRunes[pc] = append([]rune{}, onePassRunes[inst.Out]...) + inst.Next = make([]uint32, len(onePassRunes[pc])/2+1) + for i := range inst.Next { + inst.Next[i] = inst.Out + } + case syntax.InstMatch, syntax.InstFail: + m[pc] = inst.Op == syntax.InstMatch + case syntax.InstRune: + m[pc] = false + if len(inst.Next) > 0 { + break + } + instQueue.insert(inst.Out) + if len(inst.Rune) == 0 { + onePassRunes[pc] = []rune{} + inst.Next = []uint32{inst.Out} + break + } + runes := make([]rune, 0) + if len(inst.Rune) == 1 && syntax.Flags(inst.Arg)&syntax.FoldCase != 0 { + r0 := inst.Rune[0] + runes = append(runes, r0, r0) + for r1 := unicode.SimpleFold(r0); r1 != r0; r1 = unicode.SimpleFold(r1) { + runes = append(runes, r1, r1) + } + slices.Sort(runes) + } else { + runes = append(runes, inst.Rune...) + } + onePassRunes[pc] = runes + inst.Next = make([]uint32, len(onePassRunes[pc])/2+1) + for i := range inst.Next { + inst.Next[i] = inst.Out + } + inst.Op = syntax.InstRune + case syntax.InstRune1: + m[pc] = false + if len(inst.Next) > 0 { + break + } + instQueue.insert(inst.Out) + runes := []rune{} + // expand case-folded runes + if syntax.Flags(inst.Arg)&syntax.FoldCase != 0 { + r0 := inst.Rune[0] + runes = append(runes, r0, r0) + for r1 := unicode.SimpleFold(r0); r1 != r0; r1 = unicode.SimpleFold(r1) { + runes = append(runes, r1, r1) + } + slices.Sort(runes) + } else { + runes = append(runes, inst.Rune[0], inst.Rune[0]) + } + onePassRunes[pc] = runes + inst.Next = make([]uint32, len(onePassRunes[pc])/2+1) + for i := range inst.Next { + inst.Next[i] = inst.Out + } + inst.Op = syntax.InstRune + case syntax.InstRuneAny: + m[pc] = false + if len(inst.Next) > 0 { + break + } + instQueue.insert(inst.Out) + onePassRunes[pc] = append([]rune{}, anyRune...) + inst.Next = []uint32{inst.Out} + case syntax.InstRuneAnyNotNL: + m[pc] = false + if len(inst.Next) > 0 { + break + } + instQueue.insert(inst.Out) + onePassRunes[pc] = append([]rune{}, anyRuneNotNL...) + inst.Next = make([]uint32, len(onePassRunes[pc])/2+1) + for i := range inst.Next { + inst.Next[i] = inst.Out + } + } + return + } + + instQueue.clear() + instQueue.insert(uint32(p.Start)) + m := make([]bool, len(p.Inst)) + for !instQueue.empty() { + visitQueue.clear() + pc := instQueue.next() + if !check(pc, m) { + p = nil + break + } + } + if p != nil { + for i := range p.Inst { + p.Inst[i].Rune = onePassRunes[i] + } + } + return p +} + +// compileOnePass returns a new *syntax.Prog suitable for onePass execution if the original Prog +// can be recharacterized as a one-pass regexp program, or syntax.nil if the +// Prog cannot be converted. For a one pass prog, the fundamental condition that must +// be true is: at any InstAlt, there must be no ambiguity about what branch to take. +func compileOnePass(prog *syntax.Prog) (p *onePassProg) { + if prog.Start == 0 { + return nil + } + // onepass regexp is anchored + if prog.Inst[prog.Start].Op != syntax.InstEmptyWidth || + syntax.EmptyOp(prog.Inst[prog.Start].Arg)&syntax.EmptyBeginText != syntax.EmptyBeginText { + return nil + } + // every instruction leading to InstMatch must be EmptyEndText + for _, inst := range prog.Inst { + opOut := prog.Inst[inst.Out].Op + switch inst.Op { + default: + if opOut == syntax.InstMatch { + return nil + } + case syntax.InstAlt, syntax.InstAltMatch: + if opOut == syntax.InstMatch || prog.Inst[inst.Arg].Op == syntax.InstMatch { + return nil + } + case syntax.InstEmptyWidth: + if opOut == syntax.InstMatch { + if syntax.EmptyOp(inst.Arg)&syntax.EmptyEndText == syntax.EmptyEndText { + continue + } + return nil + } + } + } + // Creates a slightly optimized copy of the original Prog + // that cleans up some Prog idioms that block valid onepass programs + p = onePassCopy(prog) + + // checkAmbiguity on InstAlts, build onepass Prog if possible + p = makeOnePass(p) + + if p != nil { + cleanupOnePass(p, prog) + } + return p +} diff --git a/cluster-api/providers/azure/vendor/github.com/grafana/regexp/regexp.go b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/regexp.go new file mode 100644 index 00000000000..d1218ad0e87 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/grafana/regexp/regexp.go @@ -0,0 +1,1304 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package regexp implements regular expression search. +// +// The syntax of the regular expressions accepted is the same +// general syntax used by Perl, Python, and other languages. +// More precisely, it is the syntax accepted by RE2 and described at +// https://golang.org/s/re2syntax, except for \C. +// For an overview of the syntax, see the [regexp/syntax] package. +// +// The regexp implementation provided by this package is +// guaranteed to run in time linear in the size of the input. +// (This is a property not guaranteed by most open source +// implementations of regular expressions.) For more information +// about this property, see +// +// https://swtch.com/~rsc/regexp/regexp1.html +// +// or any book about automata theory. +// +// All characters are UTF-8-encoded code points. +// Following [utf8.DecodeRune], each byte of an invalid UTF-8 sequence +// is treated as if it encoded utf8.RuneError (U+FFFD). +// +// There are 16 methods of [Regexp] that match a regular expression and identify +// the matched text. Their names are matched by this regular expression: +// +// Find(All)?(String)?(Submatch)?(Index)? +// +// If 'All' is present, the routine matches successive non-overlapping +// matches of the entire expression. Empty matches abutting a preceding +// match are ignored. The return value is a slice containing the successive +// return values of the corresponding non-'All' routine. These routines take +// an extra integer argument, n. If n >= 0, the function returns at most n +// matches/submatches; otherwise, it returns all of them. +// +// If 'String' is present, the argument is a string; otherwise it is a slice +// of bytes; return values are adjusted as appropriate. +// +// If 'Submatch' is present, the return value is a slice identifying the +// successive submatches of the expression. Submatches are matches of +// parenthesized subexpressions (also known as capturing groups) within the +// regular expression, numbered from left to right in order of opening +// parenthesis. Submatch 0 is the match of the entire expression, submatch 1 is +// the match of the first parenthesized subexpression, and so on. +// +// If 'Index' is present, matches and submatches are identified by byte index +// pairs within the input string: result[2*n:2*n+2] identifies the indexes of +// the nth submatch. The pair for n==0 identifies the match of the entire +// expression. If 'Index' is not present, the match is identified by the text +// of the match/submatch. If an index is negative or text is nil, it means that +// subexpression did not match any string in the input. For 'String' versions +// an empty string means either no match or an empty match. +// +// There is also a subset of the methods that can be applied to text read +// from a RuneReader: +// +// MatchReader, FindReaderIndex, FindReaderSubmatchIndex +// +// This set may grow. Note that regular expression matches may need to +// examine text beyond the text returned by a match, so the methods that +// match text from a RuneReader may read arbitrarily far into the input +// before returning. +// +// (There are a few other methods that do not match this pattern.) +package regexp + +import ( + "bytes" + "io" + "regexp/syntax" + "strconv" + "strings" + "sync" + "unicode" + "unicode/utf8" +) + +// Regexp is the representation of a compiled regular expression. +// A Regexp is safe for concurrent use by multiple goroutines, +// except for configuration methods, such as [Regexp.Longest]. +type Regexp struct { + expr string // as passed to Compile + prog *syntax.Prog // compiled program + onepass *onePassProg // onepass program or nil + numSubexp int + maxBitStateLen int + subexpNames []string + prefix string // required prefix in unanchored matches + prefixBytes []byte // prefix, as a []byte + prefixRune rune // first rune in prefix + prefixEnd uint32 // pc for last rune in prefix + mpool int // pool for machines + matchcap int // size of recorded match lengths + prefixComplete bool // prefix is the entire regexp + cond syntax.EmptyOp // empty-width conditions required at start of match + minInputLen int // minimum length of the input in bytes + + // This field can be modified by the Longest method, + // but it is otherwise read-only. + longest bool // whether regexp prefers leftmost-longest match +} + +// String returns the source text used to compile the regular expression. +func (re *Regexp) String() string { + return re.expr +} + +// Copy returns a new [Regexp] object copied from re. +// Calling [Regexp.Longest] on one copy does not affect another. +// +// Deprecated: In earlier releases, when using a [Regexp] in multiple goroutines, +// giving each goroutine its own copy helped to avoid lock contention. +// As of Go 1.12, using Copy is no longer necessary to avoid lock contention. +// Copy may still be appropriate if the reason for its use is to make +// two copies with different [Regexp.Longest] settings. +func (re *Regexp) Copy() *Regexp { + re2 := *re + return &re2 +} + +// Compile parses a regular expression and returns, if successful, +// a [Regexp] object that can be used to match against text. +// +// When matching against text, the regexp returns a match that +// begins as early as possible in the input (leftmost), and among those +// it chooses the one that a backtracking search would have found first. +// This so-called leftmost-first matching is the same semantics +// that Perl, Python, and other implementations use, although this +// package implements it without the expense of backtracking. +// For POSIX leftmost-longest matching, see [CompilePOSIX]. +func Compile(expr string) (*Regexp, error) { + return compile(expr, syntax.Perl, false) +} + +// CompilePOSIX is like [Compile] but restricts the regular expression +// to POSIX ERE (egrep) syntax and changes the match semantics to +// leftmost-longest. +// +// That is, when matching against text, the regexp returns a match that +// begins as early as possible in the input (leftmost), and among those +// it chooses a match that is as long as possible. +// This so-called leftmost-longest matching is the same semantics +// that early regular expression implementations used and that POSIX +// specifies. +// +// However, there can be multiple leftmost-longest matches, with different +// submatch choices, and here this package diverges from POSIX. +// Among the possible leftmost-longest matches, this package chooses +// the one that a backtracking search would have found first, while POSIX +// specifies that the match be chosen to maximize the length of the first +// subexpression, then the second, and so on from left to right. +// The POSIX rule is computationally prohibitive and not even well-defined. +// See https://swtch.com/~rsc/regexp/regexp2.html#posix for details. +func CompilePOSIX(expr string) (*Regexp, error) { + return compile(expr, syntax.POSIX, true) +} + +// Longest makes future searches prefer the leftmost-longest match. +// That is, when matching against text, the regexp returns a match that +// begins as early as possible in the input (leftmost), and among those +// it chooses a match that is as long as possible. +// This method modifies the [Regexp] and may not be called concurrently +// with any other methods. +func (re *Regexp) Longest() { + re.longest = true +} + +func compile(expr string, mode syntax.Flags, longest bool) (*Regexp, error) { + re, err := syntax.Parse(expr, mode) + if err != nil { + return nil, err + } + maxCap := re.MaxCap() + capNames := re.CapNames() + + re = re.Simplify() + prog, err := syntax.Compile(re) + if err != nil { + return nil, err + } + matchcap := prog.NumCap + if matchcap < 2 { + matchcap = 2 + } + regexp := &Regexp{ + expr: expr, + prog: prog, + onepass: compileOnePass(prog), + numSubexp: maxCap, + subexpNames: capNames, + cond: prog.StartCond(), + longest: longest, + matchcap: matchcap, + minInputLen: minInputLen(re), + } + if regexp.onepass == nil { + regexp.prefix, regexp.prefixComplete = prog.Prefix() + regexp.maxBitStateLen = maxBitStateLen(prog) + } else { + regexp.prefix, regexp.prefixComplete, regexp.prefixEnd = onePassPrefix(prog) + } + if regexp.prefix != "" { + // TODO(rsc): Remove this allocation by adding + // IndexString to package bytes. + regexp.prefixBytes = []byte(regexp.prefix) + regexp.prefixRune, _ = utf8.DecodeRuneInString(regexp.prefix) + } + + n := len(prog.Inst) + i := 0 + for matchSize[i] != 0 && matchSize[i] < n { + i++ + } + regexp.mpool = i + + return regexp, nil +} + +// Pools of *machine for use during (*Regexp).doExecute, +// split up by the size of the execution queues. +// matchPool[i] machines have queue size matchSize[i]. +// On a 64-bit system each queue entry is 16 bytes, +// so matchPool[0] has 16*2*128 = 4kB queues, etc. +// The final matchPool is a catch-all for very large queues. +var ( + matchSize = [...]int{128, 512, 2048, 16384, 0} + matchPool [len(matchSize)]sync.Pool +) + +// get returns a machine to use for matching re. +// It uses the re's machine cache if possible, to avoid +// unnecessary allocation. +func (re *Regexp) get() *machine { + m, ok := matchPool[re.mpool].Get().(*machine) + if !ok { + m = new(machine) + } + m.re = re + m.p = re.prog + if cap(m.matchcap) < re.matchcap { + m.matchcap = make([]int, re.matchcap) + for _, t := range m.pool { + t.cap = make([]int, re.matchcap) + } + } + + // Allocate queues if needed. + // Or reallocate, for "large" match pool. + n := matchSize[re.mpool] + if n == 0 { // large pool + n = len(re.prog.Inst) + } + if len(m.q0.sparse) < n { + m.q0 = queue{make([]uint32, n), make([]entry, 0, n)} + m.q1 = queue{make([]uint32, n), make([]entry, 0, n)} + } + return m +} + +// put returns a machine to the correct machine pool. +func (re *Regexp) put(m *machine) { + m.re = nil + m.p = nil + m.inputs.clear() + matchPool[re.mpool].Put(m) +} + +// minInputLen walks the regexp to find the minimum length of any matchable input. +func minInputLen(re *syntax.Regexp) int { + switch re.Op { + default: + return 0 + case syntax.OpAnyChar, syntax.OpAnyCharNotNL, syntax.OpCharClass: + return 1 + case syntax.OpLiteral: + l := 0 + for _, r := range re.Rune { + if r == utf8.RuneError { + l++ + } else { + l += utf8.RuneLen(r) + } + } + return l + case syntax.OpCapture, syntax.OpPlus: + return minInputLen(re.Sub[0]) + case syntax.OpRepeat: + return re.Min * minInputLen(re.Sub[0]) + case syntax.OpConcat: + l := 0 + for _, sub := range re.Sub { + l += minInputLen(sub) + } + return l + case syntax.OpAlternate: + l := minInputLen(re.Sub[0]) + var lnext int + for _, sub := range re.Sub[1:] { + lnext = minInputLen(sub) + if lnext < l { + l = lnext + } + } + return l + } +} + +// MustCompile is like [Compile] but panics if the expression cannot be parsed. +// It simplifies safe initialization of global variables holding compiled regular +// expressions. +func MustCompile(str string) *Regexp { + regexp, err := Compile(str) + if err != nil { + panic(`regexp: Compile(` + quote(str) + `): ` + err.Error()) + } + return regexp +} + +// MustCompilePOSIX is like [CompilePOSIX] but panics if the expression cannot be parsed. +// It simplifies safe initialization of global variables holding compiled regular +// expressions. +func MustCompilePOSIX(str string) *Regexp { + regexp, err := CompilePOSIX(str) + if err != nil { + panic(`regexp: CompilePOSIX(` + quote(str) + `): ` + err.Error()) + } + return regexp +} + +func quote(s string) string { + if strconv.CanBackquote(s) { + return "`" + s + "`" + } + return strconv.Quote(s) +} + +// NumSubexp returns the number of parenthesized subexpressions in this [Regexp]. +func (re *Regexp) NumSubexp() int { + return re.numSubexp +} + +// SubexpNames returns the names of the parenthesized subexpressions +// in this [Regexp]. The name for the first sub-expression is names[1], +// so that if m is a match slice, the name for m[i] is SubexpNames()[i]. +// Since the Regexp as a whole cannot be named, names[0] is always +// the empty string. The slice should not be modified. +func (re *Regexp) SubexpNames() []string { + return re.subexpNames +} + +// SubexpIndex returns the index of the first subexpression with the given name, +// or -1 if there is no subexpression with that name. +// +// Note that multiple subexpressions can be written using the same name, as in +// (?Pa+)(?Pb+), which declares two subexpressions named "bob". +// In this case, SubexpIndex returns the index of the leftmost such subexpression +// in the regular expression. +func (re *Regexp) SubexpIndex(name string) int { + if name != "" { + for i, s := range re.subexpNames { + if name == s { + return i + } + } + } + return -1 +} + +const endOfText rune = -1 + +// input abstracts different representations of the input text. It provides +// one-character lookahead. +type input interface { + step(pos int) (r rune, width int) // advance one rune + canCheckPrefix() bool // can we look ahead without losing info? + hasPrefix(re *Regexp) bool + index(re *Regexp, pos int) int + context(pos int) lazyFlag +} + +// inputString scans a string. +type inputString struct { + str string +} + +func (i *inputString) step(pos int) (rune, int) { + if pos < len(i.str) { + c := i.str[pos] + if c < utf8.RuneSelf { + return rune(c), 1 + } + return utf8.DecodeRuneInString(i.str[pos:]) + } + return endOfText, 0 +} + +func (i *inputString) canCheckPrefix() bool { + return true +} + +func (i *inputString) hasPrefix(re *Regexp) bool { + return strings.HasPrefix(i.str, re.prefix) +} + +func (i *inputString) index(re *Regexp, pos int) int { + return strings.Index(i.str[pos:], re.prefix) +} + +func (i *inputString) context(pos int) lazyFlag { + r1, r2 := endOfText, endOfText + // 0 < pos && pos <= len(i.str) + if uint(pos-1) < uint(len(i.str)) { + r1 = rune(i.str[pos-1]) + if r1 >= utf8.RuneSelf { + r1, _ = utf8.DecodeLastRuneInString(i.str[:pos]) + } + } + // 0 <= pos && pos < len(i.str) + if uint(pos) < uint(len(i.str)) { + r2 = rune(i.str[pos]) + if r2 >= utf8.RuneSelf { + r2, _ = utf8.DecodeRuneInString(i.str[pos:]) + } + } + return newLazyFlag(r1, r2) +} + +// inputBytes scans a byte slice. +type inputBytes struct { + str []byte +} + +func (i *inputBytes) step(pos int) (rune, int) { + if pos < len(i.str) { + c := i.str[pos] + if c < utf8.RuneSelf { + return rune(c), 1 + } + return utf8.DecodeRune(i.str[pos:]) + } + return endOfText, 0 +} + +func (i *inputBytes) canCheckPrefix() bool { + return true +} + +func (i *inputBytes) hasPrefix(re *Regexp) bool { + return bytes.HasPrefix(i.str, re.prefixBytes) +} + +func (i *inputBytes) index(re *Regexp, pos int) int { + return bytes.Index(i.str[pos:], re.prefixBytes) +} + +func (i *inputBytes) context(pos int) lazyFlag { + r1, r2 := endOfText, endOfText + // 0 < pos && pos <= len(i.str) + if uint(pos-1) < uint(len(i.str)) { + r1 = rune(i.str[pos-1]) + if r1 >= utf8.RuneSelf { + r1, _ = utf8.DecodeLastRune(i.str[:pos]) + } + } + // 0 <= pos && pos < len(i.str) + if uint(pos) < uint(len(i.str)) { + r2 = rune(i.str[pos]) + if r2 >= utf8.RuneSelf { + r2, _ = utf8.DecodeRune(i.str[pos:]) + } + } + return newLazyFlag(r1, r2) +} + +// inputReader scans a RuneReader. +type inputReader struct { + r io.RuneReader + atEOT bool + pos int +} + +func (i *inputReader) step(pos int) (rune, int) { + if !i.atEOT && pos != i.pos { + return endOfText, 0 + + } + r, w, err := i.r.ReadRune() + if err != nil { + i.atEOT = true + return endOfText, 0 + } + i.pos += w + return r, w +} + +func (i *inputReader) canCheckPrefix() bool { + return false +} + +func (i *inputReader) hasPrefix(re *Regexp) bool { + return false +} + +func (i *inputReader) index(re *Regexp, pos int) int { + return -1 +} + +func (i *inputReader) context(pos int) lazyFlag { + return 0 // not used +} + +// LiteralPrefix returns a literal string that must begin any match +// of the regular expression re. It returns the boolean true if the +// literal string comprises the entire regular expression. +func (re *Regexp) LiteralPrefix() (prefix string, complete bool) { + return re.prefix, re.prefixComplete +} + +// MatchReader reports whether the text returned by the [io.RuneReader] +// contains any match of the regular expression re. +func (re *Regexp) MatchReader(r io.RuneReader) bool { + return re.doMatch(r, nil, "") +} + +// MatchString reports whether the string s +// contains any match of the regular expression re. +func (re *Regexp) MatchString(s string) bool { + return re.doMatch(nil, nil, s) +} + +// Match reports whether the byte slice b +// contains any match of the regular expression re. +func (re *Regexp) Match(b []byte) bool { + return re.doMatch(nil, b, "") +} + +// MatchReader reports whether the text returned by the RuneReader +// contains any match of the regular expression pattern. +// More complicated queries need to use [Compile] and the full [Regexp] interface. +func MatchReader(pattern string, r io.RuneReader) (matched bool, err error) { + re, err := Compile(pattern) + if err != nil { + return false, err + } + return re.MatchReader(r), nil +} + +// MatchString reports whether the string s +// contains any match of the regular expression pattern. +// More complicated queries need to use [Compile] and the full [Regexp] interface. +func MatchString(pattern string, s string) (matched bool, err error) { + re, err := Compile(pattern) + if err != nil { + return false, err + } + return re.MatchString(s), nil +} + +// Match reports whether the byte slice b +// contains any match of the regular expression pattern. +// More complicated queries need to use [Compile] and the full [Regexp] interface. +func Match(pattern string, b []byte) (matched bool, err error) { + re, err := Compile(pattern) + if err != nil { + return false, err + } + return re.Match(b), nil +} + +// ReplaceAllString returns a copy of src, replacing matches of the [Regexp] +// with the replacement string repl. +// Inside repl, $ signs are interpreted as in [Regexp.Expand]. +func (re *Regexp) ReplaceAllString(src, repl string) string { + n := 2 + if strings.Contains(repl, "$") { + n = 2 * (re.numSubexp + 1) + } + b := re.replaceAll(nil, src, n, func(dst []byte, match []int) []byte { + return re.expand(dst, repl, nil, src, match) + }) + return string(b) +} + +// ReplaceAllLiteralString returns a copy of src, replacing matches of the [Regexp] +// with the replacement string repl. The replacement repl is substituted directly, +// without using [Regexp.Expand]. +func (re *Regexp) ReplaceAllLiteralString(src, repl string) string { + return string(re.replaceAll(nil, src, 2, func(dst []byte, match []int) []byte { + return append(dst, repl...) + })) +} + +// ReplaceAllStringFunc returns a copy of src in which all matches of the +// [Regexp] have been replaced by the return value of function repl applied +// to the matched substring. The replacement returned by repl is substituted +// directly, without using [Regexp.Expand]. +func (re *Regexp) ReplaceAllStringFunc(src string, repl func(string) string) string { + b := re.replaceAll(nil, src, 2, func(dst []byte, match []int) []byte { + return append(dst, repl(src[match[0]:match[1]])...) + }) + return string(b) +} + +func (re *Regexp) replaceAll(bsrc []byte, src string, nmatch int, repl func(dst []byte, m []int) []byte) []byte { + lastMatchEnd := 0 // end position of the most recent match + searchPos := 0 // position where we next look for a match + var buf []byte + var endPos int + if bsrc != nil { + endPos = len(bsrc) + } else { + endPos = len(src) + } + if nmatch > re.prog.NumCap { + nmatch = re.prog.NumCap + } + + var dstCap [2]int + for searchPos <= endPos { + a := re.doExecute(nil, bsrc, src, searchPos, nmatch, dstCap[:0]) + if len(a) == 0 { + break // no more matches + } + + // Copy the unmatched characters before this match. + if bsrc != nil { + buf = append(buf, bsrc[lastMatchEnd:a[0]]...) + } else { + buf = append(buf, src[lastMatchEnd:a[0]]...) + } + + // Now insert a copy of the replacement string, but not for a + // match of the empty string immediately after another match. + // (Otherwise, we get double replacement for patterns that + // match both empty and nonempty strings.) + if a[1] > lastMatchEnd || a[0] == 0 { + buf = repl(buf, a) + } + lastMatchEnd = a[1] + + // Advance past this match; always advance at least one character. + var width int + if bsrc != nil { + _, width = utf8.DecodeRune(bsrc[searchPos:]) + } else { + _, width = utf8.DecodeRuneInString(src[searchPos:]) + } + if searchPos+width > a[1] { + searchPos += width + } else if searchPos+1 > a[1] { + // This clause is only needed at the end of the input + // string. In that case, DecodeRuneInString returns width=0. + searchPos++ + } else { + searchPos = a[1] + } + } + + // Copy the unmatched characters after the last match. + if bsrc != nil { + buf = append(buf, bsrc[lastMatchEnd:]...) + } else { + buf = append(buf, src[lastMatchEnd:]...) + } + + return buf +} + +// ReplaceAll returns a copy of src, replacing matches of the [Regexp] +// with the replacement text repl. +// Inside repl, $ signs are interpreted as in [Regexp.Expand]. +func (re *Regexp) ReplaceAll(src, repl []byte) []byte { + n := 2 + if bytes.IndexByte(repl, '$') >= 0 { + n = 2 * (re.numSubexp + 1) + } + srepl := "" + b := re.replaceAll(src, "", n, func(dst []byte, match []int) []byte { + if len(srepl) != len(repl) { + srepl = string(repl) + } + return re.expand(dst, srepl, src, "", match) + }) + return b +} + +// ReplaceAllLiteral returns a copy of src, replacing matches of the [Regexp] +// with the replacement bytes repl. The replacement repl is substituted directly, +// without using [Regexp.Expand]. +func (re *Regexp) ReplaceAllLiteral(src, repl []byte) []byte { + return re.replaceAll(src, "", 2, func(dst []byte, match []int) []byte { + return append(dst, repl...) + }) +} + +// ReplaceAllFunc returns a copy of src in which all matches of the +// [Regexp] have been replaced by the return value of function repl applied +// to the matched byte slice. The replacement returned by repl is substituted +// directly, without using [Regexp.Expand]. +func (re *Regexp) ReplaceAllFunc(src []byte, repl func([]byte) []byte) []byte { + return re.replaceAll(src, "", 2, func(dst []byte, match []int) []byte { + return append(dst, repl(src[match[0]:match[1]])...) + }) +} + +// Bitmap used by func special to check whether a character needs to be escaped. +var specialBytes [16]byte + +// special reports whether byte b needs to be escaped by QuoteMeta. +func special(b byte) bool { + return b < utf8.RuneSelf && specialBytes[b%16]&(1<<(b/16)) != 0 +} + +func init() { + for _, b := range []byte(`\.+*?()|[]{}^$`) { + specialBytes[b%16] |= 1 << (b / 16) + } +} + +// QuoteMeta returns a string that escapes all regular expression metacharacters +// inside the argument text; the returned string is a regular expression matching +// the literal text. +func QuoteMeta(s string) string { + // A byte loop is correct because all metacharacters are ASCII. + var i int + for i = 0; i < len(s); i++ { + if special(s[i]) { + break + } + } + // No meta characters found, so return original string. + if i >= len(s) { + return s + } + + b := make([]byte, 2*len(s)-i) + copy(b, s[:i]) + j := i + for ; i < len(s); i++ { + if special(s[i]) { + b[j] = '\\' + j++ + } + b[j] = s[i] + j++ + } + return string(b[:j]) +} + +// The number of capture values in the program may correspond +// to fewer capturing expressions than are in the regexp. +// For example, "(a){0}" turns into an empty program, so the +// maximum capture in the program is 0 but we need to return +// an expression for \1. Pad appends -1s to the slice a as needed. +func (re *Regexp) pad(a []int) []int { + if a == nil { + // No match. + return nil + } + n := (1 + re.numSubexp) * 2 + for len(a) < n { + a = append(a, -1) + } + return a +} + +// allMatches calls deliver at most n times +// with the location of successive matches in the input text. +// The input text is b if non-nil, otherwise s. +func (re *Regexp) allMatches(s string, b []byte, n int, deliver func([]int)) { + var end int + if b == nil { + end = len(s) + } else { + end = len(b) + } + + for pos, i, prevMatchEnd := 0, 0, -1; i < n && pos <= end; { + matches := re.doExecute(nil, b, s, pos, re.prog.NumCap, nil) + if len(matches) == 0 { + break + } + + accept := true + if matches[1] == pos { + // We've found an empty match. + if matches[0] == prevMatchEnd { + // We don't allow an empty match right + // after a previous match, so ignore it. + accept = false + } + var width int + if b == nil { + is := inputString{str: s} + _, width = is.step(pos) + } else { + ib := inputBytes{str: b} + _, width = ib.step(pos) + } + if width > 0 { + pos += width + } else { + pos = end + 1 + } + } else { + pos = matches[1] + } + prevMatchEnd = matches[1] + + if accept { + deliver(re.pad(matches)) + i++ + } + } +} + +// Find returns a slice holding the text of the leftmost match in b of the regular expression. +// A return value of nil indicates no match. +func (re *Regexp) Find(b []byte) []byte { + var dstCap [2]int + a := re.doExecute(nil, b, "", 0, 2, dstCap[:0]) + if a == nil { + return nil + } + return b[a[0]:a[1]:a[1]] +} + +// FindIndex returns a two-element slice of integers defining the location of +// the leftmost match in b of the regular expression. The match itself is at +// b[loc[0]:loc[1]]. +// A return value of nil indicates no match. +func (re *Regexp) FindIndex(b []byte) (loc []int) { + a := re.doExecute(nil, b, "", 0, 2, nil) + if a == nil { + return nil + } + return a[0:2] +} + +// FindString returns a string holding the text of the leftmost match in s of the regular +// expression. If there is no match, the return value is an empty string, +// but it will also be empty if the regular expression successfully matches +// an empty string. Use [Regexp.FindStringIndex] or [Regexp.FindStringSubmatch] if it is +// necessary to distinguish these cases. +func (re *Regexp) FindString(s string) string { + var dstCap [2]int + a := re.doExecute(nil, nil, s, 0, 2, dstCap[:0]) + if a == nil { + return "" + } + return s[a[0]:a[1]] +} + +// FindStringIndex returns a two-element slice of integers defining the +// location of the leftmost match in s of the regular expression. The match +// itself is at s[loc[0]:loc[1]]. +// A return value of nil indicates no match. +func (re *Regexp) FindStringIndex(s string) (loc []int) { + a := re.doExecute(nil, nil, s, 0, 2, nil) + if a == nil { + return nil + } + return a[0:2] +} + +// FindReaderIndex returns a two-element slice of integers defining the +// location of the leftmost match of the regular expression in text read from +// the [io.RuneReader]. The match text was found in the input stream at +// byte offset loc[0] through loc[1]-1. +// A return value of nil indicates no match. +func (re *Regexp) FindReaderIndex(r io.RuneReader) (loc []int) { + a := re.doExecute(r, nil, "", 0, 2, nil) + if a == nil { + return nil + } + return a[0:2] +} + +// FindSubmatch returns a slice of slices holding the text of the leftmost +// match of the regular expression in b and the matches, if any, of its +// subexpressions, as defined by the 'Submatch' descriptions in the package +// comment. +// A return value of nil indicates no match. +func (re *Regexp) FindSubmatch(b []byte) [][]byte { + var dstCap [4]int + a := re.doExecute(nil, b, "", 0, re.prog.NumCap, dstCap[:0]) + if a == nil { + return nil + } + ret := make([][]byte, 1+re.numSubexp) + for i := range ret { + if 2*i < len(a) && a[2*i] >= 0 { + ret[i] = b[a[2*i]:a[2*i+1]:a[2*i+1]] + } + } + return ret +} + +// Expand appends template to dst and returns the result; during the +// append, Expand replaces variables in the template with corresponding +// matches drawn from src. The match slice should have been returned by +// [Regexp.FindSubmatchIndex]. +// +// In the template, a variable is denoted by a substring of the form +// $name or ${name}, where name is a non-empty sequence of letters, +// digits, and underscores. A purely numeric name like $1 refers to +// the submatch with the corresponding index; other names refer to +// capturing parentheses named with the (?P...) syntax. A +// reference to an out of range or unmatched index or a name that is not +// present in the regular expression is replaced with an empty slice. +// +// In the $name form, name is taken to be as long as possible: $1x is +// equivalent to ${1x}, not ${1}x, and, $10 is equivalent to ${10}, not ${1}0. +// +// To insert a literal $ in the output, use $$ in the template. +func (re *Regexp) Expand(dst []byte, template []byte, src []byte, match []int) []byte { + return re.expand(dst, string(template), src, "", match) +} + +// ExpandString is like [Regexp.Expand] but the template and source are strings. +// It appends to and returns a byte slice in order to give the calling +// code control over allocation. +func (re *Regexp) ExpandString(dst []byte, template string, src string, match []int) []byte { + return re.expand(dst, template, nil, src, match) +} + +func (re *Regexp) expand(dst []byte, template string, bsrc []byte, src string, match []int) []byte { + for len(template) > 0 { + before, after, ok := strings.Cut(template, "$") + if !ok { + break + } + dst = append(dst, before...) + template = after + if template != "" && template[0] == '$' { + // Treat $$ as $. + dst = append(dst, '$') + template = template[1:] + continue + } + name, num, rest, ok := extract(template) + if !ok { + // Malformed; treat $ as raw text. + dst = append(dst, '$') + continue + } + template = rest + if num >= 0 { + if 2*num+1 < len(match) && match[2*num] >= 0 { + if bsrc != nil { + dst = append(dst, bsrc[match[2*num]:match[2*num+1]]...) + } else { + dst = append(dst, src[match[2*num]:match[2*num+1]]...) + } + } + } else { + for i, namei := range re.subexpNames { + if name == namei && 2*i+1 < len(match) && match[2*i] >= 0 { + if bsrc != nil { + dst = append(dst, bsrc[match[2*i]:match[2*i+1]]...) + } else { + dst = append(dst, src[match[2*i]:match[2*i+1]]...) + } + break + } + } + } + } + dst = append(dst, template...) + return dst +} + +// extract returns the name from a leading "name" or "{name}" in str. +// (The $ has already been removed by the caller.) +// If it is a number, extract returns num set to that number; otherwise num = -1. +func extract(str string) (name string, num int, rest string, ok bool) { + if str == "" { + return + } + brace := false + if str[0] == '{' { + brace = true + str = str[1:] + } + i := 0 + for i < len(str) { + rune, size := utf8.DecodeRuneInString(str[i:]) + if !unicode.IsLetter(rune) && !unicode.IsDigit(rune) && rune != '_' { + break + } + i += size + } + if i == 0 { + // empty name is not okay + return + } + name = str[:i] + if brace { + if i >= len(str) || str[i] != '}' { + // missing closing brace + return + } + i++ + } + + // Parse number. + num = 0 + for i := 0; i < len(name); i++ { + if name[i] < '0' || '9' < name[i] || num >= 1e8 { + num = -1 + break + } + num = num*10 + int(name[i]) - '0' + } + // Disallow leading zeros. + if name[0] == '0' && len(name) > 1 { + num = -1 + } + + rest = str[i:] + ok = true + return +} + +// FindSubmatchIndex returns a slice holding the index pairs identifying the +// leftmost match of the regular expression in b and the matches, if any, of +// its subexpressions, as defined by the 'Submatch' and 'Index' descriptions +// in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindSubmatchIndex(b []byte) []int { + return re.pad(re.doExecute(nil, b, "", 0, re.prog.NumCap, nil)) +} + +// FindStringSubmatch returns a slice of strings holding the text of the +// leftmost match of the regular expression in s and the matches, if any, of +// its subexpressions, as defined by the 'Submatch' description in the +// package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindStringSubmatch(s string) []string { + var dstCap [4]int + a := re.doExecute(nil, nil, s, 0, re.prog.NumCap, dstCap[:0]) + if a == nil { + return nil + } + ret := make([]string, 1+re.numSubexp) + for i := range ret { + if 2*i < len(a) && a[2*i] >= 0 { + ret[i] = s[a[2*i]:a[2*i+1]] + } + } + return ret +} + +// FindStringSubmatchIndex returns a slice holding the index pairs +// identifying the leftmost match of the regular expression in s and the +// matches, if any, of its subexpressions, as defined by the 'Submatch' and +// 'Index' descriptions in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindStringSubmatchIndex(s string) []int { + return re.pad(re.doExecute(nil, nil, s, 0, re.prog.NumCap, nil)) +} + +// FindReaderSubmatchIndex returns a slice holding the index pairs +// identifying the leftmost match of the regular expression of text read by +// the [io.RuneReader], and the matches, if any, of its subexpressions, as defined +// by the 'Submatch' and 'Index' descriptions in the package comment. A +// return value of nil indicates no match. +func (re *Regexp) FindReaderSubmatchIndex(r io.RuneReader) []int { + return re.pad(re.doExecute(r, nil, "", 0, re.prog.NumCap, nil)) +} + +const startSize = 10 // The size at which to start a slice in the 'All' routines. + +// FindAll is the 'All' version of [Regexp.Find]; it returns a slice of all successive +// matches of the expression, as defined by the 'All' description in the +// package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAll(b []byte, n int) [][]byte { + if n < 0 { + n = len(b) + 1 + } + var result [][]byte + re.allMatches("", b, n, func(match []int) { + if result == nil { + result = make([][]byte, 0, startSize) + } + result = append(result, b[match[0]:match[1]:match[1]]) + }) + return result +} + +// FindAllIndex is the 'All' version of [Regexp.FindIndex]; it returns a slice of all +// successive matches of the expression, as defined by the 'All' description +// in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllIndex(b []byte, n int) [][]int { + if n < 0 { + n = len(b) + 1 + } + var result [][]int + re.allMatches("", b, n, func(match []int) { + if result == nil { + result = make([][]int, 0, startSize) + } + result = append(result, match[0:2]) + }) + return result +} + +// FindAllString is the 'All' version of [Regexp.FindString]; it returns a slice of all +// successive matches of the expression, as defined by the 'All' description +// in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllString(s string, n int) []string { + if n < 0 { + n = len(s) + 1 + } + var result []string + re.allMatches(s, nil, n, func(match []int) { + if result == nil { + result = make([]string, 0, startSize) + } + result = append(result, s[match[0]:match[1]]) + }) + return result +} + +// FindAllStringIndex is the 'All' version of [Regexp.FindStringIndex]; it returns a +// slice of all successive matches of the expression, as defined by the 'All' +// description in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllStringIndex(s string, n int) [][]int { + if n < 0 { + n = len(s) + 1 + } + var result [][]int + re.allMatches(s, nil, n, func(match []int) { + if result == nil { + result = make([][]int, 0, startSize) + } + result = append(result, match[0:2]) + }) + return result +} + +// FindAllSubmatch is the 'All' version of [Regexp.FindSubmatch]; it returns a slice +// of all successive matches of the expression, as defined by the 'All' +// description in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllSubmatch(b []byte, n int) [][][]byte { + if n < 0 { + n = len(b) + 1 + } + var result [][][]byte + re.allMatches("", b, n, func(match []int) { + if result == nil { + result = make([][][]byte, 0, startSize) + } + slice := make([][]byte, len(match)/2) + for j := range slice { + if match[2*j] >= 0 { + slice[j] = b[match[2*j]:match[2*j+1]:match[2*j+1]] + } + } + result = append(result, slice) + }) + return result +} + +// FindAllSubmatchIndex is the 'All' version of [Regexp.FindSubmatchIndex]; it returns +// a slice of all successive matches of the expression, as defined by the +// 'All' description in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllSubmatchIndex(b []byte, n int) [][]int { + if n < 0 { + n = len(b) + 1 + } + var result [][]int + re.allMatches("", b, n, func(match []int) { + if result == nil { + result = make([][]int, 0, startSize) + } + result = append(result, match) + }) + return result +} + +// FindAllStringSubmatch is the 'All' version of [Regexp.FindStringSubmatch]; it +// returns a slice of all successive matches of the expression, as defined by +// the 'All' description in the package comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllStringSubmatch(s string, n int) [][]string { + if n < 0 { + n = len(s) + 1 + } + var result [][]string + re.allMatches(s, nil, n, func(match []int) { + if result == nil { + result = make([][]string, 0, startSize) + } + slice := make([]string, len(match)/2) + for j := range slice { + if match[2*j] >= 0 { + slice[j] = s[match[2*j]:match[2*j+1]] + } + } + result = append(result, slice) + }) + return result +} + +// FindAllStringSubmatchIndex is the 'All' version of +// [Regexp.FindStringSubmatchIndex]; it returns a slice of all successive matches of +// the expression, as defined by the 'All' description in the package +// comment. +// A return value of nil indicates no match. +func (re *Regexp) FindAllStringSubmatchIndex(s string, n int) [][]int { + if n < 0 { + n = len(s) + 1 + } + var result [][]int + re.allMatches(s, nil, n, func(match []int) { + if result == nil { + result = make([][]int, 0, startSize) + } + result = append(result, match) + }) + return result +} + +// Split slices s into substrings separated by the expression and returns a slice of +// the substrings between those expression matches. +// +// The slice returned by this method consists of all the substrings of s +// not contained in the slice returned by [Regexp.FindAllString]. When called on an expression +// that contains no metacharacters, it is equivalent to [strings.SplitN]. +// +// Example: +// +// s := regexp.MustCompile("a*").Split("abaabaccadaaae", 5) +// // s: ["", "b", "b", "c", "cadaaae"] +// +// The count determines the number of substrings to return: +// +// n > 0: at most n substrings; the last substring will be the unsplit remainder. +// n == 0: the result is nil (zero substrings) +// n < 0: all substrings +func (re *Regexp) Split(s string, n int) []string { + + if n == 0 { + return nil + } + + if len(re.expr) > 0 && len(s) == 0 { + return []string{""} + } + + matches := re.FindAllStringIndex(s, n) + strings := make([]string, 0, len(matches)) + + beg := 0 + end := 0 + for _, match := range matches { + if n > 0 && len(strings) >= n-1 { + break + } + + end = match[0] + if match[1] != 0 { + strings = append(strings, s[beg:end]) + } + beg = match[1] + } + + if end != len(s) { + strings = append(strings, s[beg:]) + } + + return strings +} + +// MarshalText implements [encoding.TextMarshaler]. The output +// matches that of calling the [Regexp.String] method. +// +// Note that the output is lossy in some cases: This method does not indicate +// POSIX regular expressions (i.e. those compiled by calling [CompilePOSIX]), or +// those for which the [Regexp.Longest] method has been called. +func (re *Regexp) MarshalText() ([]byte, error) { + return []byte(re.String()), nil +} + +// UnmarshalText implements [encoding.TextUnmarshaler] by calling +// [Compile] on the encoded value. +func (re *Regexp) UnmarshalText(text []byte) error { + newRE, err := Compile(string(text)) + if err != nil { + return err + } + *re = *newRE + return nil +} diff --git a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/CHANGELOG.md b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/CHANGELOG.md index de9c957cc66..b7d7309f3f2 100644 --- a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/CHANGELOG.md +++ b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/CHANGELOG.md @@ -1,3 +1,13 @@ +## 1.38.2 + +- roll back to go 1.23.0 [c404969] + +## 1.38.1 + +### Fixes + +Numerous minor fixes and dependency bumps + ## 1.38.0 ### Features diff --git a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/gomega_dsl.go b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/gomega_dsl.go index 1f03e1f228d..fdba34ee9dd 100644 --- a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/gomega_dsl.go +++ b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/gomega_dsl.go @@ -22,7 +22,7 @@ import ( "github.com/onsi/gomega/types" ) -const GOMEGA_VERSION = "1.38.0" +const GOMEGA_VERSION = "1.38.2" const nilGomegaPanic = `You are trying to make an assertion, but haven't registered Gomega's fail handler. If you're using Ginkgo then you probably forgot to put your assertion in an It(). diff --git a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/internal/async_assertion.go b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/internal/async_assertion.go index a3a646e4ad0..4121505b627 100644 --- a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/internal/async_assertion.go +++ b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/internal/async_assertion.go @@ -452,7 +452,7 @@ func (assertion *AsyncAssertion) match(matcher types.GomegaMatcher, desiredMatch } } else { var fgErr formattedGomegaError - if errors.As(actualErr, &fgErr) { + if errors.As(matcherErr, &fgErr) { message += fgErr.FormattedGomegaError() + "\n" } else { message += renderError(fmt.Sprintf("The matcher passed to %s returned the following error:", assertion.asyncType), matcherErr) diff --git a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/be_comparable_to_matcher.go b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/be_comparable_to_matcher.go index 532fc374491..ce74eee4c70 100644 --- a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/be_comparable_to_matcher.go +++ b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/be_comparable_to_matcher.go @@ -2,6 +2,7 @@ package matchers import ( "bytes" + "errors" "fmt" "github.com/google/go-cmp/cmp" @@ -32,7 +33,7 @@ func (matcher *BeComparableToMatcher) Match(actual any) (success bool, matchErr if err, ok := r.(error); ok { matchErr = err } else if errMsg, ok := r.(string); ok { - matchErr = fmt.Errorf(errMsg) + matchErr = errors.New(errMsg) } } }() diff --git a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go index 95057c26cc7..c3da9bd48b2 100644 --- a/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go +++ b/cluster-api/providers/azure/vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go @@ -5,7 +5,7 @@ import ( "strings" "github.com/onsi/gomega/format" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v3" ) type MatchYAMLMatcher struct { diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go index 8b016355adb..7bac0da33df 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/internal/difflib.go @@ -453,7 +453,7 @@ func (m *SequenceMatcher) GetGroupedOpCodes(n int) [][]OpCode { } group = append(group, OpCode{c.Tag, i1, i2, j1, j2}) } - if len(group) > 0 && !(len(group) == 1 && group[0].Tag == 'e') { + if len(group) > 0 && (len(group) != 1 || group[0].Tag != 'e') { groups = append(groups, group) } return groups @@ -568,7 +568,7 @@ func WriteUnifiedDiff(writer io.Writer, diff UnifiedDiff) error { buf := bufio.NewWriter(writer) defer buf.Flush() wf := func(format string, args ...interface{}) error { - _, err := buf.WriteString(fmt.Sprintf(format, args...)) + _, err := fmt.Fprintf(buf, format, args...) return err } ws := func(s string) error { diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/metric.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/metric.go index 592eec3e24f..76e59f12880 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/metric.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/metric.go @@ -186,21 +186,31 @@ func (m *withExemplarsMetric) Write(pb *dto.Metric) error { case pb.Counter != nil: pb.Counter.Exemplar = m.exemplars[len(m.exemplars)-1] case pb.Histogram != nil: + h := pb.Histogram for _, e := range m.exemplars { - // pb.Histogram.Bucket are sorted by UpperBound. - i := sort.Search(len(pb.Histogram.Bucket), func(i int) bool { - return pb.Histogram.Bucket[i].GetUpperBound() >= e.GetValue() + if (h.GetZeroThreshold() != 0 || h.GetZeroCount() != 0 || + len(h.PositiveSpan) != 0 || len(h.NegativeSpan) != 0) && + e.GetTimestamp() != nil { + h.Exemplars = append(h.Exemplars, e) + if len(h.Bucket) == 0 { + // Don't proceed to classic buckets if there are none. + continue + } + } + // h.Bucket are sorted by UpperBound. + i := sort.Search(len(h.Bucket), func(i int) bool { + return h.Bucket[i].GetUpperBound() >= e.GetValue() }) - if i < len(pb.Histogram.Bucket) { - pb.Histogram.Bucket[i].Exemplar = e + if i < len(h.Bucket) { + h.Bucket[i].Exemplar = e } else { // The +Inf bucket should be explicitly added if there is an exemplar for it, similar to non-const histogram logic in https://github.com/prometheus/client_golang/blob/main/prometheus/histogram.go#L357-L365. b := &dto.Bucket{ - CumulativeCount: proto.Uint64(pb.Histogram.GetSampleCount()), + CumulativeCount: proto.Uint64(h.GetSampleCount()), UpperBound: proto.Float64(math.Inf(1)), Exemplar: e, } - pb.Histogram.Bucket = append(pb.Histogram.Bucket, b) + h.Bucket = append(h.Bucket, b) } } default: @@ -227,6 +237,7 @@ type Exemplar struct { // Only last applicable exemplar is injected from the list. // For example for Counter it means last exemplar is injected. // For Histogram, it means last applicable exemplar for each bucket is injected. +// For a Native Histogram, all valid exemplars are injected. // // NewMetricWithExemplars works best with MustNewConstMetric and // MustNewConstHistogram, see example. diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go index 0a61b984613..b32c95fa3fa 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_darwin.go @@ -25,9 +25,9 @@ import ( "golang.org/x/sys/unix" ) -// notImplementedErr is returned by stub functions that replace cgo functions, when cgo +// errNotImplemented is returned by stub functions that replace cgo functions, when cgo // isn't available. -var notImplementedErr = errors.New("not implemented") +var errNotImplemented = errors.New("not implemented") type memoryInfo struct { vsize uint64 // Virtual memory size in bytes @@ -101,7 +101,7 @@ func (c *processCollector) processCollect(ch chan<- Metric) { if memInfo, err := getMemory(); err == nil { ch <- MustNewConstMetric(c.rss, GaugeValue, float64(memInfo.rss)) ch <- MustNewConstMetric(c.vsize, GaugeValue, float64(memInfo.vsize)) - } else if !errors.Is(err, notImplementedErr) { + } else if !errors.Is(err, errNotImplemented) { // Don't report an error when support is not compiled in. c.reportError(ch, c.rss, err) c.reportError(ch, c.vsize, err) diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go index 8ddb0995d6a..378865129b7 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_mem_nocgo_darwin.go @@ -16,7 +16,7 @@ package prometheus func getMemory() (*memoryInfo, error) { - return nil, notImplementedErr + return nil, errNotImplemented } // describe returns all descriptions of the collector for Darwin. diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go index 9f4b130befa..8074f70f5d9 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/process_collector_procfsenabled.go @@ -66,11 +66,11 @@ func (c *processCollector) processCollect(ch chan<- Metric) { if netstat, err := p.Netstat(); err == nil { var inOctets, outOctets float64 - if netstat.IpExt.InOctets != nil { - inOctets = *netstat.IpExt.InOctets + if netstat.InOctets != nil { + inOctets = *netstat.InOctets } - if netstat.IpExt.OutOctets != nil { - outOctets = *netstat.IpExt.OutOctets + if netstat.OutOctets != nil { + outOctets = *netstat.OutOctets } ch <- MustNewConstMetric(c.inBytes, CounterValue, inOctets) ch <- MustNewConstMetric(c.outBytes, CounterValue, outOctets) diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go index 356edb7868c..9332b0249a9 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/promhttp/instrument_server.go @@ -392,7 +392,7 @@ func isLabelCurried(c prometheus.Collector, label string) bool { func labels(code, method bool, reqMethod string, status int, extraMethods ...string) prometheus.Labels { labels := prometheus.Labels{} - if !(code || method) { + if !code && !method { return labels } diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/vec.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/vec.go index 2c808eece0a..487b466563b 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/vec.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/vec.go @@ -79,7 +79,7 @@ func (m *MetricVec) DeleteLabelValues(lvs ...string) bool { return false } - return m.metricMap.deleteByHashWithLabelValues(h, lvs, m.curry) + return m.deleteByHashWithLabelValues(h, lvs, m.curry) } // Delete deletes the metric where the variable labels are the same as those @@ -101,7 +101,7 @@ func (m *MetricVec) Delete(labels Labels) bool { return false } - return m.metricMap.deleteByHashWithLabels(h, labels, m.curry) + return m.deleteByHashWithLabels(h, labels, m.curry) } // DeletePartialMatch deletes all metrics where the variable labels contain all of those @@ -114,7 +114,7 @@ func (m *MetricVec) DeletePartialMatch(labels Labels) int { labels, closer := constrainLabels(m.desc, labels) defer closer() - return m.metricMap.deleteByLabels(labels, m.curry) + return m.deleteByLabels(labels, m.curry) } // Without explicit forwarding of Describe, Collect, Reset, those methods won't @@ -216,7 +216,7 @@ func (m *MetricVec) GetMetricWithLabelValues(lvs ...string) (Metric, error) { return nil, err } - return m.metricMap.getOrCreateMetricWithLabelValues(h, lvs, m.curry), nil + return m.getOrCreateMetricWithLabelValues(h, lvs, m.curry), nil } // GetMetricWith returns the Metric for the given Labels map (the label names @@ -244,7 +244,7 @@ func (m *MetricVec) GetMetricWith(labels Labels) (Metric, error) { return nil, err } - return m.metricMap.getOrCreateMetricWithLabels(h, labels, m.curry), nil + return m.getOrCreateMetricWithLabels(h, labels, m.curry), nil } func (m *MetricVec) hashLabelValues(vals []string) (uint64, error) { diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/wrap.go b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/wrap.go index 25da157f152..2ed1285068e 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/wrap.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/client_golang/prometheus/wrap.go @@ -63,7 +63,7 @@ func WrapRegistererWith(labels Labels, reg Registerer) Registerer { // metric names that are standardized across applications, as that would break // horizontal monitoring, for example the metrics provided by the Go collector // (see NewGoCollector) and the process collector (see NewProcessCollector). (In -// fact, those metrics are already prefixed with “go_” or “process_”, +// fact, those metrics are already prefixed with "go_" or "process_", // respectively.) // // Conflicts between Collectors registered through the original Registerer with @@ -78,6 +78,40 @@ func WrapRegistererWithPrefix(prefix string, reg Registerer) Registerer { } } +// WrapCollectorWith returns a Collector wrapping the provided Collector. The +// wrapped Collector will add the provided Labels to all Metrics it collects (as +// ConstLabels). The Metrics collected by the unmodified Collector must not +// duplicate any of those labels. +// +// WrapCollectorWith can be useful to work with multiple instances of a third +// party library that does not expose enough flexibility on the lifecycle of its +// registered metrics. +// For example, let's say you have a foo.New(reg Registerer) constructor that +// registers metrics but never unregisters them, and you want to create multiple +// instances of foo.Foo with different labels. +// The way to achieve that, is to create a new Registry, pass it to foo.New, +// then use WrapCollectorWith to wrap that Registry with the desired labels and +// register that as a collector in your main Registry. +// Then you can un-register the wrapped collector effectively un-registering the +// metrics registered by foo.New. +func WrapCollectorWith(labels Labels, c Collector) Collector { + return &wrappingCollector{ + wrappedCollector: c, + labels: labels, + } +} + +// WrapCollectorWithPrefix returns a Collector wrapping the provided Collector. The +// wrapped Collector will add the provided prefix to the name of all Metrics it collects. +// +// See the documentation of WrapCollectorWith for more details on the use case. +func WrapCollectorWithPrefix(prefix string, c Collector) Collector { + return &wrappingCollector{ + wrappedCollector: c, + prefix: prefix, + } +} + type wrappingRegisterer struct { wrappedRegisterer Registerer prefix string diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/.gitignore b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/.gitignore new file mode 100644 index 00000000000..6f72f892618 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/.gitignore @@ -0,0 +1,25 @@ +# If you prefer the allow list template instead of the deny list, see community template: +# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore +# +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# Dependency directories (remove the comment below to include it) +# vendor/ + +# Go workspace file +go.work +go.work.sum + +# env file +.env diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/.golangci.yml b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/.golangci.yml new file mode 100644 index 00000000000..ed5f43f1a6c --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/.golangci.yml @@ -0,0 +1,106 @@ +formatters: + enable: + - gci + - gofumpt + settings: + gci: + sections: + - standard + - default + - prefix(github.com/prometheus/otlptranslator) + gofumpt: + extra-rules: true +issues: + max-issues-per-linter: 0 + max-same-issues: 0 +linters: + # Keep this list sorted alphabetically + enable: + - depguard + - errorlint + - exptostd + - gocritic + - godot + - loggercheck + - misspell + - nilnesserr + # TODO: Enable once https://github.com/golangci/golangci-lint/issues/3228 is fixed. + # - nolintlint + - perfsprint + - predeclared + - revive + - sloglint + - testifylint + - unconvert + - unused + - usestdlibvars + - whitespace + settings: + depguard: + rules: + main: + deny: + - pkg: sync/atomic + desc: Use go.uber.org/atomic instead of sync/atomic + - pkg: github.com/stretchr/testify/assert + desc: Use github.com/stretchr/testify/require instead of github.com/stretchr/testify/assert + - pkg: io/ioutil + desc: Use corresponding 'os' or 'io' functions instead. + - pkg: regexp + desc: Use github.com/grafana/regexp instead of regexp + - pkg: github.com/pkg/errors + desc: Use 'errors' or 'fmt' instead of github.com/pkg/errors + - pkg: golang.org/x/exp/slices + desc: Use 'slices' instead. + perfsprint: + # Optimizes `fmt.Errorf`. + errorf: true + revive: + # By default, revive will enable only the linting rules that are named in the configuration file. + # So, it's needed to explicitly enable all required rules here. + rules: + # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md + - name: blank-imports + - name: comment-spacings + - name: context-as-argument + arguments: + # Allow functions with test or bench signatures. + - allowTypesBefore: '*testing.T,testing.TB' + - name: context-keys-type + - name: dot-imports + - name: early-return + arguments: + - preserveScope + # A lot of false positives: incorrectly identifies channel draining as "empty code block". + # See https://github.com/mgechev/revive/issues/386 + - name: empty-block + disabled: true + - name: error-naming + - name: error-return + - name: error-strings + - name: errorf + - name: exported + - name: increment-decrement + - name: indent-error-flow + arguments: + - preserveScope + - name: range + - name: receiver-naming + - name: redefines-builtin-id + - name: superfluous-else + arguments: + - preserveScope + - name: time-naming + - name: unexported-return + - name: unreachable-code + - name: unused-parameter + - name: var-declaration + - name: var-naming + testifylint: + disable: + - float-compare + - go-require + enable-all: true +run: + timeout: 15m +version: "2" diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/CODE_OF_CONDUCT.md b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..d325872bdfa --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/CODE_OF_CONDUCT.md @@ -0,0 +1,3 @@ +# Prometheus Community Code of Conduct + +Prometheus follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md). diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/LICENSE b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/LICENSE new file mode 100644 index 00000000000..261eeb9e9f8 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/MAINTAINERS.md b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/MAINTAINERS.md new file mode 100644 index 00000000000..af0fc4df7b6 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/MAINTAINERS.md @@ -0,0 +1,4 @@ +* Arthur Silva Sens (arthursens2005@gmail.com / @ArthurSens) +* Arve Knudsen (arve.knudsen@gmail.com / @aknuds1) +* Jesús Vázquez (jesus.vazquez@grafana.com / @jesusvazquez) +* Owen Williams (owen.williams@grafana.com / @ywwg) \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/README.md b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/README.md new file mode 100644 index 00000000000..b09484e2749 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/README.md @@ -0,0 +1,120 @@ +# OTLP Prometheus Translator + +A Go library for converting [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp/) metric and attribute names to [Prometheus](https://prometheus.io/)-compliant formats. + +Part of the [Prometheus](https://prometheus.io/) ecosystem, following the [OpenTelemetry to Prometheus compatibility specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/compatibility/prometheus_and_openmetrics.md). + +## Features + +- **Metric Name and Label Translation**: Convert OTLP metric names and attributes to Prometheus-compliant format +- **Unit Handling**: Translate OTLP units to Prometheus unit conventions +- **Type-Aware Suffixes**: Optionally append `_total`, `_ratio` based on metric type +- **Namespace Support**: Add configurable namespace prefixes +- **UTF-8 Support**: Choose between Prometheus legacy scheme compliant metric/label names (`[a-zA-Z0-9:_]`) or untranslated metric/label names +- **Translation Strategy Configuration**: Select a translation strategy with a standard set of strings. + +## Installation + +```bash +go get github.com/prometheus/otlptranslator +``` + +## Quick Start + +```go +package main + +import ( + "fmt" + "github.com/prometheus/otlptranslator" +) + +func main() { + // Create a metric namer using traditional Prometheus name translation, with suffixes added and UTF-8 disallowed. + strategy := otlptranslator.UnderscoreEscapingWithSuffixes + namer := otlptranslator.NewMetricNamer("myapp", strategy) + + // Translate OTLP metric to Prometheus format + metric := otlptranslator.Metric{ + Name: "http.server.request.duration", + Unit: "s", + Type: otlptranslator.MetricTypeHistogram, + } + fmt.Println(namer.Build(metric)) // Output: myapp_http_server_request_duration_seconds + + // Translate label names + labelNamer := otlptranslator.LabelNamer{UTF8Allowed: false} + fmt.Println(labelNamer.Build("http.method")) // Output: http_method +} +``` + +## Usage Examples + +### Metric Name Translation + +```go +namer := otlptranslator.MetricNamer{WithMetricSuffixes: true, UTF8Allowed: false} + +// Counter gets _total suffix +counter := otlptranslator.Metric{ + Name: "requests.count", Unit: "1", Type: otlptranslator.MetricTypeMonotonicCounter, +} +fmt.Println(namer.Build(counter)) // requests_count_total + +// Gauge with unit conversion +gauge := otlptranslator.Metric{ + Name: "memory.usage", Unit: "By", Type: otlptranslator.MetricTypeGauge, +} +fmt.Println(namer.Build(gauge)) // memory_usage_bytes + +// Dimensionless gauge gets _ratio suffix +ratio := otlptranslator.Metric{ + Name: "cpu.utilization", Unit: "1", Type: otlptranslator.MetricTypeGauge, +} +fmt.Println(namer.Build(ratio)) // cpu_utilization_ratio +``` + +### Label Translation + +```go +labelNamer := otlptranslator.LabelNamer{UTF8Allowed: false} + +labelNamer.Build("http.method") // http_method +labelNamer.Build("123invalid") // key_123invalid +labelNamer.Build("_private") // key_private +labelNamer.Build("__reserved__") // __reserved__ (preserved) +labelNamer.Build("label@with$symbols") // label_with_symbols +``` + +### Unit Translation + +```go +unitNamer := otlptranslator.UnitNamer{UTF8Allowed: false} + +unitNamer.Build("s") // seconds +unitNamer.Build("By") // bytes +unitNamer.Build("requests/s") // requests_per_second +unitNamer.Build("1") // "" (dimensionless) +``` + +### Configuration Options + +```go +// Prometheus-compliant mode - supports [a-zA-Z0-9:_] +compliantNamer := otlptranslator.MetricNamer{UTF8Allowed: false, WithMetricSuffixes: true} + +// Transparent pass-through mode, aka "NoTranslation" +utf8Namer := otlptranslator.MetricNamer{UTF8Allowed: true, WithMetricSuffixes: false} +utf8Namer = otlptranslator.NewMetricNamer("", otlpTranslator.NoTranslation) + +// With namespace and suffixes +productionNamer := otlptranslator.MetricNamer{ + Namespace: "myservice", + WithMetricSuffixes: true, + UTF8Allowed: false, +} +``` + +## License + +Licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details. diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/SECURITY.md b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/SECURITY.md new file mode 100644 index 00000000000..fed02d85c79 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/SECURITY.md @@ -0,0 +1,6 @@ +# Reporting a security issue + +The Prometheus security policy, including how to report vulnerabilities, can be +found here: + + diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/constants.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/constants.go new file mode 100644 index 00000000000..0ea3b1c4cdb --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/constants.go @@ -0,0 +1,38 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package otlptranslator + +const ( + // ExemplarTraceIDKey is the key used to store the trace ID in Prometheus + // exemplars: + // https://github.com/open-telemetry/opentelemetry-specification/blob/e6eccba97ebaffbbfad6d4358408a2cead0ec2df/specification/compatibility/prometheus_and_openmetrics.md#exemplars + ExemplarTraceIDKey = "trace_id" + // ExemplarSpanIDKey is the key used to store the Span ID in Prometheus + // exemplars: + // https://github.com/open-telemetry/opentelemetry-specification/blob/e6eccba97ebaffbbfad6d4358408a2cead0ec2df/specification/compatibility/prometheus_and_openmetrics.md#exemplars + ExemplarSpanIDKey = "span_id" + // ScopeNameLabelKey is the name of the label key used to identify the name + // of the OpenTelemetry scope which produced the metric: + // https://github.com/open-telemetry/opentelemetry-specification/blob/e6eccba97ebaffbbfad6d4358408a2cead0ec2df/specification/compatibility/prometheus_and_openmetrics.md#instrumentation-scope + ScopeNameLabelKey = "otel_scope_name" + // ScopeVersionLabelKey is the name of the label key used to identify the + // version of the OpenTelemetry scope which produced the metric: + // https://github.com/open-telemetry/opentelemetry-specification/blob/e6eccba97ebaffbbfad6d4358408a2cead0ec2df/specification/compatibility/prometheus_and_openmetrics.md#instrumentation-scope + ScopeVersionLabelKey = "otel_scope_version" + // TargetInfoMetricName is the name of the metric used to preserve resource + // attributes in Prometheus format: + // https://github.com/open-telemetry/opentelemetry-specification/blob/e6eccba97ebaffbbfad6d4358408a2cead0ec2df/specification/compatibility/prometheus_and_openmetrics.md#resource-attributes-1 + // It originates from OpenMetrics: + // https://github.com/OpenObservability/OpenMetrics/blob/1386544931307dff279688f332890c31b6c5de36/specification/OpenMetrics.md#supporting-target-metadata-in-both-push-based-and-pull-based-systems + TargetInfoMetricName = "target_info" +) diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/doc.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/doc.go new file mode 100644 index 00000000000..a704d819045 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/doc.go @@ -0,0 +1,24 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package otlptranslator provides utilities for converting OpenTelemetry Protocol (OTLP) +// metric and attribute names to Prometheus-compliant formats. +// +// This package is designed to help users translate OpenTelemetry metrics to Prometheus +// metrics while following the official OpenTelemetry to Prometheus compatibility specification. +// +// Main components: +// - MetricNamer: Translates OTLP metric names to Prometheus metric names +// - LabelNamer: Translates OTLP attribute names to Prometheus label names +// - UnitNamer: Translates OTLP units to Prometheus unit conventions +package otlptranslator diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/label_namer.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/label_namer.go new file mode 100644 index 00000000000..00072a39e8d --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/label_namer.go @@ -0,0 +1,90 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// Provenance-includes-location: https://github.com/prometheus/prometheus/blob/93e991ef7ed19cc997a9360c8016cac3767b8057/storage/remote/otlptranslator/prometheus/normalize_label.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The Prometheus Authors +// Provenance-includes-location: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/95e8f8fdc2a9dc87230406c9a3cf02be4fd68bea/pkg/translator/prometheus/normalize_label.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The OpenTelemetry Authors. + +package otlptranslator + +import ( + "fmt" + "strings" + "unicode" +) + +// LabelNamer is a helper struct to build label names. +// It translates OpenTelemetry Protocol (OTLP) attribute names to Prometheus-compliant label names. +// +// Example usage: +// +// namer := LabelNamer{UTF8Allowed: false} +// result := namer.Build("http.method") // "http_method" +type LabelNamer struct { + UTF8Allowed bool +} + +// Build normalizes the specified label to follow Prometheus label names standard. +// +// Translation rules: +// - Replaces invalid characters with underscores +// - Prefixes labels with invalid start characters (numbers or `_`) with "key" +// - Preserves double underscore labels (reserved names) +// - If UTF8Allowed is true, returns label as-is +// +// Examples: +// +// namer := LabelNamer{UTF8Allowed: false} +// namer.Build("http.method") // "http_method" +// namer.Build("123invalid") // "key_123invalid" +// namer.Build("__reserved__") // "__reserved__" (preserved) +func (ln *LabelNamer) Build(label string) (normalizedName string, err error) { + defer func() { + if len(normalizedName) == 0 { + err = fmt.Errorf("normalization for label name %q resulted in empty name", label) + return + } + + if ln.UTF8Allowed || normalizedName == label { + return + } + + // Check that the resulting normalized name contains at least one non-underscore character + for _, c := range normalizedName { + if c != '_' { + return + } + } + err = fmt.Errorf("normalization for label name %q resulted in invalid name %q", label, normalizedName) + normalizedName = "" + }() + + // Trivial case. + if len(label) == 0 || ln.UTF8Allowed { + normalizedName = label + return + } + + normalizedName = sanitizeLabelName(label) + + // If label starts with a number, prepend with "key_". + if unicode.IsDigit(rune(normalizedName[0])) { + normalizedName = "key_" + normalizedName + } else if strings.HasPrefix(normalizedName, "_") && !strings.HasPrefix(normalizedName, "__") { + normalizedName = "key" + normalizedName + } + + return +} diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/metric_namer.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/metric_namer.go new file mode 100644 index 00000000000..79e005f6890 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/metric_namer.go @@ -0,0 +1,365 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// Provenance-includes-location: https://github.com/prometheus/prometheus/blob/93e991ef7ed19cc997a9360c8016cac3767b8057/storage/remote/otlptranslator/prometheus/metric_name_builder.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The Prometheus Authors +// Provenance-includes-location: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/95e8f8fdc2a9dc87230406c9a3cf02be4fd68bea/pkg/translator/prometheus/normalize_name.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The OpenTelemetry Authors. + +package otlptranslator + +import ( + "fmt" + "slices" + "strings" + "unicode" + + "github.com/grafana/regexp" +) + +// The map to translate OTLP units to Prometheus units +// OTLP metrics use the c/s notation as specified at https://ucum.org/ucum.html +// (See also https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/semantic_conventions/README.md#instrument-units) +// Prometheus best practices for units: https://prometheus.io/docs/practices/naming/#base-units +// OpenMetrics specification for units: https://github.com/prometheus/OpenMetrics/blob/v1.0.0/specification/OpenMetrics.md#units-and-base-units +var unitMap = map[string]string{ + // Time + "d": "days", + "h": "hours", + "min": "minutes", + "s": "seconds", + "ms": "milliseconds", + "us": "microseconds", + "ns": "nanoseconds", + + // Bytes + "By": "bytes", + "KiBy": "kibibytes", + "MiBy": "mebibytes", + "GiBy": "gibibytes", + "TiBy": "tibibytes", + "KBy": "kilobytes", + "MBy": "megabytes", + "GBy": "gigabytes", + "TBy": "terabytes", + + // SI + "m": "meters", + "V": "volts", + "A": "amperes", + "J": "joules", + "W": "watts", + "g": "grams", + + // Misc + "Cel": "celsius", + "Hz": "hertz", + "1": "", + "%": "percent", +} + +// The map that translates the "per" unit. +// Example: s => per second (singular). +var perUnitMap = map[string]string{ + "s": "second", + "m": "minute", + "h": "hour", + "d": "day", + "w": "week", + "mo": "month", + "y": "year", +} + +// MetricNamer is a helper struct to build metric names. +// It converts OpenTelemetry Protocol (OTLP) metric names to Prometheus-compliant metric names. +// +// Example usage: +// +// namer := MetricNamer{ +// WithMetricSuffixes: true, +// UTF8Allowed: false, +// } +// +// metric := Metric{ +// Name: "http.server.duration", +// Unit: "s", +// Type: MetricTypeHistogram, +// } +// +// result := namer.Build(metric) // "http_server_duration_seconds" +type MetricNamer struct { + Namespace string + WithMetricSuffixes bool + UTF8Allowed bool +} + +// NewMetricNamer creates a MetricNamer with the specified namespace (can be +// blank) and the requested Translation Strategy. +func NewMetricNamer(namespace string, strategy TranslationStrategyOption) MetricNamer { + return MetricNamer{ + Namespace: namespace, + WithMetricSuffixes: strategy.ShouldAddSuffixes(), + UTF8Allowed: !strategy.ShouldEscape(), + } +} + +// Metric is a helper struct that holds information about a metric. +// It represents an OpenTelemetry metric with its name, unit, and type. +// +// Example: +// +// metric := Metric{ +// Name: "http.server.request.duration", +// Unit: "s", +// Type: MetricTypeHistogram, +// } +type Metric struct { + Name string + Unit string + Type MetricType +} + +// Build builds a metric name for the specified metric. +// +// The method applies different transformations based on the MetricNamer configuration: +// - If UTF8Allowed is true, doesn't translate names - all characters must be valid UTF-8, however. +// - If UTF8Allowed is false, translates metric names to comply with legacy Prometheus name scheme by escaping invalid characters to `_`. +// - If WithMetricSuffixes is true, adds appropriate suffixes based on type and unit. +// +// See rules at https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels +// +// Examples: +// +// namer := MetricNamer{WithMetricSuffixes: true, UTF8Allowed: false} +// +// // Counter gets _total suffix +// counter := Metric{Name: "requests.count", Unit: "1", Type: MetricTypeMonotonicCounter} +// result := namer.Build(counter) // "requests_count_total" +// +// // Gauge with unit suffix +// gauge := Metric{Name: "memory.usage", Unit: "By", Type: MetricTypeGauge} +// result = namer.Build(gauge) // "memory_usage_bytes" +func (mn *MetricNamer) Build(metric Metric) (string, error) { + if mn.UTF8Allowed { + return mn.buildMetricName(metric.Name, metric.Unit, metric.Type) + } + return mn.buildCompliantMetricName(metric.Name, metric.Unit, metric.Type) +} + +func (mn *MetricNamer) buildCompliantMetricName(name, unit string, metricType MetricType) (normalizedName string, err error) { + defer func() { + if len(normalizedName) == 0 { + err = fmt.Errorf("normalization for metric %q resulted in empty name", name) + return + } + + if normalizedName == name { + return + } + + // Check that the resulting normalized name contains at least one non-underscore character + for _, c := range normalizedName { + if c != '_' { + return + } + } + err = fmt.Errorf("normalization for metric %q resulted in invalid name %q", name, normalizedName) + normalizedName = "" + }() + + // Full normalization following standard Prometheus naming conventions + if mn.WithMetricSuffixes { + normalizedName = normalizeName(name, unit, metricType, mn.Namespace) + return + } + + // Simple case (no full normalization, no units, etc.). + metricName := strings.Join(strings.FieldsFunc(name, func(r rune) bool { + return !isValidCompliantMetricChar(r) && r != '_' + }), "_") + + // Namespace? + if mn.Namespace != "" { + namespace := strings.Join(strings.FieldsFunc(mn.Namespace, func(r rune) bool { + return !isValidCompliantMetricChar(r) && r != '_' + }), "_") + normalizedName = namespace + "_" + metricName + return + } + + // Metric name starts with a digit? Prefix it with an underscore. + if metricName != "" && unicode.IsDigit(rune(metricName[0])) { + metricName = "_" + metricName + } + + normalizedName = metricName + return +} + +var multipleUnderscoresRE = regexp.MustCompile(`__+`) + +// isValidCompliantMetricChar checks if a rune is a valid metric name character (a-z, A-Z, 0-9, :). +func isValidCompliantMetricChar(r rune) bool { + return (r >= 'a' && r <= 'z') || + (r >= 'A' && r <= 'Z') || + (r >= '0' && r <= '9') || + r == ':' +} + +// replaceInvalidMetricChar replaces invalid metric name characters with underscore. +func replaceInvalidMetricChar(r rune) rune { + if isValidCompliantMetricChar(r) { + return r + } + return '_' +} + +// Build a normalized name for the specified metric. +func normalizeName(name, unit string, metricType MetricType, namespace string) string { + // Split metric name into "tokens" (of supported metric name runes). + // Note that this has the side effect of replacing multiple consecutive underscores with a single underscore. + // This is part of the OTel to Prometheus specification: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.38.0/specification/compatibility/prometheus_and_openmetrics.md#otlp-metric-points-to-prometheus. + nameTokens := strings.FieldsFunc( + name, + func(r rune) bool { return !isValidCompliantMetricChar(r) }, + ) + + mainUnitSuffix, perUnitSuffix := buildUnitSuffixes(unit) + nameTokens = addUnitTokens(nameTokens, cleanUpUnit(mainUnitSuffix), cleanUpUnit(perUnitSuffix)) + + // Append _total for Counters + if metricType == MetricTypeMonotonicCounter { + nameTokens = append(removeItem(nameTokens, "total"), "total") + } + + // Append _ratio for metrics with unit "1" + // Some OTel receivers improperly use unit "1" for counters of objects + // See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aissue+some+metric+units+don%27t+follow+otel+semantic+conventions + // Until these issues have been fixed, we're appending `_ratio` for gauges ONLY + // Theoretically, counters could be ratios as well, but it's absurd (for mathematical reasons) + if unit == "1" && metricType == MetricTypeGauge { + nameTokens = append(removeItem(nameTokens, "ratio"), "ratio") + } + + // Namespace? + if namespace != "" { + nameTokens = append([]string{namespace}, nameTokens...) + } + + // Build the string from the tokens, separated with underscores + normalizedName := strings.Join(nameTokens, "_") + + // Metric name cannot start with a digit, so prefix it with "_" in this case + if normalizedName != "" && unicode.IsDigit(rune(normalizedName[0])) { + normalizedName = "_" + normalizedName + } + + return normalizedName +} + +// addUnitTokens will add the suffixes to the nameTokens if they are not already present. +// It will also remove trailing underscores from the main suffix to avoid double underscores +// when joining the tokens. +// +// If the 'per' unit ends with underscore, the underscore will be removed. If the per unit is just +// 'per_', it will be entirely removed. +func addUnitTokens(nameTokens []string, mainUnitSuffix, perUnitSuffix string) []string { + if slices.Contains(nameTokens, mainUnitSuffix) { + mainUnitSuffix = "" + } + + if perUnitSuffix == "per_" { + perUnitSuffix = "" + } else { + perUnitSuffix = strings.TrimSuffix(perUnitSuffix, "_") + if slices.Contains(nameTokens, perUnitSuffix) { + perUnitSuffix = "" + } + } + + if perUnitSuffix != "" { + mainUnitSuffix = strings.TrimSuffix(mainUnitSuffix, "_") + } + + if mainUnitSuffix != "" { + nameTokens = append(nameTokens, mainUnitSuffix) + } + if perUnitSuffix != "" { + nameTokens = append(nameTokens, perUnitSuffix) + } + return nameTokens +} + +// Remove the specified value from the slice. +func removeItem(slice []string, value string) []string { + newSlice := make([]string, 0, len(slice)) + for _, sliceEntry := range slice { + if sliceEntry != value { + newSlice = append(newSlice, sliceEntry) + } + } + return newSlice +} + +func (mn *MetricNamer) buildMetricName(inputName, unit string, metricType MetricType) (name string, err error) { + name = inputName + if mn.Namespace != "" { + name = mn.Namespace + "_" + name + } + + if mn.WithMetricSuffixes { + // Append _ratio for metrics with unit "1" + // Some OTel receivers improperly use unit "1" for counters of objects + // See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aissue+some+metric+units+don%27t+follow+otel+semantic+conventions + // Until these issues have been fixed, we're appending `_ratio` for gauges ONLY + // Theoretically, counters could be ratios as well, but it's absurd (for mathematical reasons) + if unit == "1" && metricType == MetricTypeGauge { + name = trimSuffixAndDelimiter(name, "ratio") + defer func() { + name += "_ratio" + }() + } + + // Append _total for Counters. + if metricType == MetricTypeMonotonicCounter { + name = trimSuffixAndDelimiter(name, "total") + defer func() { + name += "_total" + }() + } + + mainUnitSuffix, perUnitSuffix := buildUnitSuffixes(unit) + if perUnitSuffix != "" { + name = trimSuffixAndDelimiter(name, perUnitSuffix) + defer func() { + name = name + "_" + perUnitSuffix + }() + } + // We don't need to trim and re-append the suffix here because this is + // the inner-most suffix. + if mainUnitSuffix != "" && !strings.HasSuffix(name, mainUnitSuffix) { + name = name + "_" + mainUnitSuffix + } + } + return +} + +// trimSuffixAndDelimiter trims a suffix, plus one extra character which is +// assumed to be a delimiter. +func trimSuffixAndDelimiter(name, suffix string) string { + if strings.HasSuffix(name, suffix) && len(name) > len(suffix)+1 { + return name[:len(name)-(len(suffix)+1)] + } + return name +} diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/metric_type.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/metric_type.go new file mode 100644 index 00000000000..30464cfea8c --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/metric_type.go @@ -0,0 +1,36 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and + +package otlptranslator + +// MetricType is a representation of metric types from OpenTelemetry. +// Different types of Sums were introduced based on their metric temporalities. +// For more details, see: +// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/data-model.md#sums +type MetricType int + +const ( + // MetricTypeUnknown represents an unknown metric type. + MetricTypeUnknown = iota + // MetricTypeNonMonotonicCounter represents a counter that is not monotonically increasing, also known as delta counter. + MetricTypeNonMonotonicCounter + // MetricTypeMonotonicCounter represents a counter that is monotonically increasing, also known as cumulative counter. + MetricTypeMonotonicCounter + // MetricTypeGauge represents a gauge metric. + MetricTypeGauge + // MetricTypeHistogram represents a histogram metric. + MetricTypeHistogram + // MetricTypeExponentialHistogram represents an exponential histogram metric. + MetricTypeExponentialHistogram + // MetricTypeSummary represents a summary metric. + MetricTypeSummary +) diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/strategy.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/strategy.go new file mode 100644 index 00000000000..20fe0197504 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/strategy.go @@ -0,0 +1,86 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// Provenance-includes-location: https://github.com/prometheus/prometheus/blob/3602785a89162ccc99a940fb9d862219a2d02241/config/config.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The Prometheus Authors + +package otlptranslator + +// TranslationStrategyOption is a constant that defines how metric and label +// names should be handled during translation. The recommended approach is to +// use either UnderscoreEscapingWithSuffixes for full Prometheus-style +// compatibility, or NoTranslation for Otel-style names. +type TranslationStrategyOption string + +var ( + // NoUTF8EscapingWithSuffixes will accept metric/label names as they are. Unit + // and type suffixes may be added to metric names, according to certain rules. + NoUTF8EscapingWithSuffixes TranslationStrategyOption = "NoUTF8EscapingWithSuffixes" + // UnderscoreEscapingWithSuffixes is the default option for translating OTLP + // to Prometheus. This option will translate metric name characters that are + // not alphanumerics/underscores/colons to underscores, and label name + // characters that are not alphanumerics/underscores to underscores. Unit and + // type suffixes may be appended to metric names, according to certain rules. + UnderscoreEscapingWithSuffixes TranslationStrategyOption = "UnderscoreEscapingWithSuffixes" + // UnderscoreEscapingWithoutSuffixes translates metric name characters that + // are not alphanumerics/underscores/colons to underscores, and label name + // characters that are not alphanumerics/underscores to underscores, but + // unlike UnderscoreEscapingWithSuffixes it does not append any suffixes to + // the names. + UnderscoreEscapingWithoutSuffixes TranslationStrategyOption = "UnderscoreEscapingWithoutSuffixes" + // NoTranslation (EXPERIMENTAL): disables all translation of incoming metric + // and label names. This offers a way for the OTLP users to use native metric + // names, reducing confusion. + // + // WARNING: This setting has significant known risks and limitations (see + // https://prometheus.io/docs/practices/naming/ for details): * Impaired UX + // when using PromQL in plain YAML (e.g. alerts, rules, dashboard, autoscaling + // configuration). * Series collisions which in the best case may result in + // OOO errors, in the worst case a silently malformed time series. For + // instance, you may end up in situation of ingesting `foo.bar` series with + // unit `seconds` and a separate series `foo.bar` with unit `milliseconds`. + // + // As a result, this setting is experimental and currently, should not be used + // in production systems. + // + // TODO(ArthurSens): Mention `type-and-unit-labels` feature + // (https://github.com/prometheus/proposals/pull/39) once released, as + // potential mitigation of the above risks. + NoTranslation TranslationStrategyOption = "NoTranslation" +) + +// ShouldEscape returns true if the translation strategy requires that metric +// names be escaped. +func (o TranslationStrategyOption) ShouldEscape() bool { + switch o { + case UnderscoreEscapingWithSuffixes, UnderscoreEscapingWithoutSuffixes: + return true + case NoTranslation, NoUTF8EscapingWithSuffixes: + return false + default: + return false + } +} + +// ShouldAddSuffixes returns a bool deciding whether the given translation +// strategy should have suffixes added. +func (o TranslationStrategyOption) ShouldAddSuffixes() bool { + switch o { + case UnderscoreEscapingWithSuffixes, NoUTF8EscapingWithSuffixes: + return true + case UnderscoreEscapingWithoutSuffixes, NoTranslation: + return false + default: + return false + } +} diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/strconv.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/strconv.go new file mode 100644 index 00000000000..81d534e8d9e --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/strconv.go @@ -0,0 +1,42 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// Provenance-includes-location: https://github.com/prometheus/prometheus/blob/93e991ef7ed19cc997a9360c8016cac3767b8057/storage/remote/otlptranslator/prometheus/strconv.go.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The Prometheus Authors +// Provenance-includes-location: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/95e8f8fdc2a9dc87230406c9a3cf02be4fd68bea/pkg/translator/prometheus/normalize_name_test.go +// Provenance-includes-license: Apache-2.0 +// Provenance-includes-copyright: Copyright The OpenTelemetry Authors. + +package otlptranslator + +import ( + "strings" +) + +// sanitizeLabelName replaces any characters not valid according to the +// classical Prometheus label naming scheme with an underscore. +// Note: this does not handle all Prometheus label name restrictions (such as +// not starting with a digit 0-9), and hence should only be used if the label +// name is prefixed with a known valid string. +func sanitizeLabelName(name string) string { + var b strings.Builder + b.Grow(len(name)) + for _, r := range name { + if (r >= 'a' && r <= 'z') || (r >= 'A' && r <= 'Z') || (r >= '0' && r <= '9') { + b.WriteRune(r) + } else { + b.WriteRune('_') + } + } + return b.String() +} diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/unit_namer.go b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/unit_namer.go new file mode 100644 index 00000000000..bb41fa89e57 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/otlptranslator/unit_namer.go @@ -0,0 +1,130 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and + +package otlptranslator + +import "strings" + +// UnitNamer is a helper for building compliant unit names. +// It processes OpenTelemetry Protocol (OTLP) unit strings and converts them +// to Prometheus-compliant unit names. +// +// Example usage: +// +// namer := UnitNamer{UTF8Allowed: false} +// result := namer.Build("s") // "seconds" +// result = namer.Build("By/s") // "bytes_per_second" +type UnitNamer struct { + UTF8Allowed bool +} + +// Build builds a unit name for the specified unit string. +// It processes the unit by splitting it into main and per components, +// applying unit mappings, and cleaning up invalid characters when UTF8Allowed is false. +// +// Unit mappings include: +// - Time: s→seconds, ms→milliseconds, h→hours +// - Bytes: By→bytes, KBy→kilobytes, MBy→megabytes +// - SI: m→meters, V→volts, W→watts +// - Special: 1→"" (empty), %→percent +// +// Examples: +// +// namer := UnitNamer{UTF8Allowed: false} +// namer.Build("s") // "seconds" +// namer.Build("requests/s") // "requests_per_second" +// namer.Build("1") // "" (dimensionless) +func (un *UnitNamer) Build(unit string) string { + mainUnit, perUnit := buildUnitSuffixes(unit) + if !un.UTF8Allowed { + mainUnit, perUnit = cleanUpUnit(mainUnit), cleanUpUnit(perUnit) + } + + var u string + switch { + case mainUnit != "" && perUnit != "": + u = mainUnit + "_" + perUnit + case mainUnit != "": + u = mainUnit + default: + u = perUnit + } + + // Clean up leading and trailing underscores + if len(u) > 0 && u[0:1] == "_" { + u = u[1:] + } + if len(u) > 0 && u[len(u)-1:] == "_" { + u = u[:len(u)-1] + } + + return u +} + +// Retrieve the Prometheus "basic" unit corresponding to the specified "basic" unit. +// Returns the specified unit if not found in unitMap. +func unitMapGetOrDefault(unit string) string { + if promUnit, ok := unitMap[unit]; ok { + return promUnit + } + return unit +} + +// Retrieve the Prometheus "per" unit corresponding to the specified "per" unit. +// Returns the specified unit if not found in perUnitMap. +func perUnitMapGetOrDefault(perUnit string) string { + if promPerUnit, ok := perUnitMap[perUnit]; ok { + return promPerUnit + } + return perUnit +} + +// buildUnitSuffixes builds the main and per unit suffixes for the specified unit +// but doesn't do any special character transformation to accommodate Prometheus naming conventions. +// Removing trailing underscores or appending suffixes is done in the caller. +func buildUnitSuffixes(unit string) (mainUnitSuffix, perUnitSuffix string) { + // Split unit at the '/' if any + unitTokens := strings.SplitN(unit, "/", 2) + + if len(unitTokens) > 0 { + // Main unit + // Update if not blank and doesn't contain '{}' + mainUnitOTel := strings.TrimSpace(unitTokens[0]) + if mainUnitOTel != "" && !strings.ContainsAny(mainUnitOTel, "{}") { + mainUnitSuffix = unitMapGetOrDefault(mainUnitOTel) + } + + // Per unit + // Update if not blank and doesn't contain '{}' + if len(unitTokens) > 1 && unitTokens[1] != "" { + perUnitOTel := strings.TrimSpace(unitTokens[1]) + if perUnitOTel != "" && !strings.ContainsAny(perUnitOTel, "{}") { + perUnitSuffix = perUnitMapGetOrDefault(perUnitOTel) + } + if perUnitSuffix != "" { + perUnitSuffix = "per_" + perUnitSuffix + } + } + } + + return mainUnitSuffix, perUnitSuffix +} + +// cleanUpUnit cleans up unit so it matches model.LabelNameRE. +func cleanUpUnit(unit string) string { + // Multiple consecutive underscores are replaced with a single underscore. + // This is part of the OTel to Prometheus specification: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.38.0/specification/compatibility/prometheus_and_openmetrics.md#otlp-metric-points-to-prometheus. + return strings.TrimPrefix(multipleUnderscoresRE.ReplaceAllString( + strings.Map(replaceInvalidMetricChar, unit), + "_", + ), "_") +} diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/Makefile.common b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/Makefile.common index 0ed55c2ba21..4de21512ffb 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/Makefile.common +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/Makefile.common @@ -33,7 +33,7 @@ GOHOSTOS ?= $(shell $(GO) env GOHOSTOS) GOHOSTARCH ?= $(shell $(GO) env GOHOSTARCH) GO_VERSION ?= $(shell $(GO) version) -GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION))Error Parsing File +GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION)) PRE_GO_111 ?= $(shell echo $(GO_VERSION_NUMBER) | grep -E 'go1\.(10|[0-9])\.') PROMU := $(FIRST_GOPATH)/bin/promu @@ -61,7 +61,8 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v2.0.2 +GOLANGCI_LINT_VERSION ?= v2.1.5 +GOLANGCI_FMT_OPTS ?= # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) @@ -156,9 +157,13 @@ $(GOTEST_DIR): @mkdir -p $@ .PHONY: common-format -common-format: +common-format: $(GOLANGCI_LINT) @echo ">> formatting code" $(GO) fmt $(pkgs) +ifdef GOLANGCI_LINT + @echo ">> formatting code with golangci-lint" + $(GOLANGCI_LINT) fmt $(GOLANGCI_FMT_OPTS) +endif .PHONY: common-vet common-vet: @@ -248,8 +253,8 @@ $(PROMU): cp $(PROMU_TMP)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM)/promu $(FIRST_GOPATH)/bin/promu rm -r $(PROMU_TMP) -.PHONY: proto -proto: +.PHONY: common-proto +common-proto: @echo ">> generating code from proto files" @./scripts/genproto.sh diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/mdstat.go b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/mdstat.go index 67a9d2b4486..1fd4381b221 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/mdstat.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/mdstat.go @@ -123,13 +123,16 @@ func parseMDStat(mdStatData []byte) ([]MDStat, error) { finish := float64(0) pct := float64(0) recovering := strings.Contains(lines[syncLineIdx], "recovery") + reshaping := strings.Contains(lines[syncLineIdx], "reshape") resyncing := strings.Contains(lines[syncLineIdx], "resync") checking := strings.Contains(lines[syncLineIdx], "check") // Append recovery and resyncing state info. - if recovering || resyncing || checking { + if recovering || resyncing || checking || reshaping { if recovering { state = "recovering" + } else if reshaping { + state = "reshaping" } else if checking { state = "checking" } else { diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/meminfo.go b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/meminfo.go index 4b2c4050a3d..937e1f9606f 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/meminfo.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/meminfo.go @@ -66,6 +66,10 @@ type Meminfo struct { // Memory which has been evicted from RAM, and is temporarily // on the disk SwapFree *uint64 + // Memory consumed by the zswap backend (compressed size) + Zswap *uint64 + // Amount of anonymous memory stored in zswap (original size) + Zswapped *uint64 // Memory which is waiting to get written back to the disk Dirty *uint64 // Memory which is actively being written back to the disk @@ -85,6 +89,8 @@ type Meminfo struct { // amount of memory dedicated to the lowest level of page // tables. PageTables *uint64 + // secondary page tables. + SecPageTables *uint64 // NFS pages sent to the server, but not yet committed to // stable storage NFSUnstable *uint64 @@ -129,15 +135,18 @@ type Meminfo struct { Percpu *uint64 HardwareCorrupted *uint64 AnonHugePages *uint64 + FileHugePages *uint64 ShmemHugePages *uint64 ShmemPmdMapped *uint64 CmaTotal *uint64 CmaFree *uint64 + Unaccepted *uint64 HugePagesTotal *uint64 HugePagesFree *uint64 HugePagesRsvd *uint64 HugePagesSurp *uint64 Hugepagesize *uint64 + Hugetlb *uint64 DirectMap4k *uint64 DirectMap2M *uint64 DirectMap1G *uint64 @@ -161,6 +170,8 @@ type Meminfo struct { MlockedBytes *uint64 SwapTotalBytes *uint64 SwapFreeBytes *uint64 + ZswapBytes *uint64 + ZswappedBytes *uint64 DirtyBytes *uint64 WritebackBytes *uint64 AnonPagesBytes *uint64 @@ -171,6 +182,7 @@ type Meminfo struct { SUnreclaimBytes *uint64 KernelStackBytes *uint64 PageTablesBytes *uint64 + SecPageTablesBytes *uint64 NFSUnstableBytes *uint64 BounceBytes *uint64 WritebackTmpBytes *uint64 @@ -182,11 +194,14 @@ type Meminfo struct { PercpuBytes *uint64 HardwareCorruptedBytes *uint64 AnonHugePagesBytes *uint64 + FileHugePagesBytes *uint64 ShmemHugePagesBytes *uint64 ShmemPmdMappedBytes *uint64 CmaTotalBytes *uint64 CmaFreeBytes *uint64 + UnacceptedBytes *uint64 HugepagesizeBytes *uint64 + HugetlbBytes *uint64 DirectMap4kBytes *uint64 DirectMap2MBytes *uint64 DirectMap1GBytes *uint64 @@ -287,6 +302,12 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "SwapFree:": m.SwapFree = &val m.SwapFreeBytes = &valBytes + case "Zswap:": + m.Zswap = &val + m.ZswapBytes = &valBytes + case "Zswapped:": + m.Zswapped = &val + m.ZswapBytes = &valBytes case "Dirty:": m.Dirty = &val m.DirtyBytes = &valBytes @@ -317,6 +338,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "PageTables:": m.PageTables = &val m.PageTablesBytes = &valBytes + case "SecPageTables:": + m.SecPageTables = &val + m.SecPageTablesBytes = &valBytes case "NFS_Unstable:": m.NFSUnstable = &val m.NFSUnstableBytes = &valBytes @@ -350,6 +374,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "AnonHugePages:": m.AnonHugePages = &val m.AnonHugePagesBytes = &valBytes + case "FileHugePages:": + m.FileHugePages = &val + m.FileHugePagesBytes = &valBytes case "ShmemHugePages:": m.ShmemHugePages = &val m.ShmemHugePagesBytes = &valBytes @@ -362,6 +389,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "CmaFree:": m.CmaFree = &val m.CmaFreeBytes = &valBytes + case "Unaccepted:": + m.Unaccepted = &val + m.UnacceptedBytes = &valBytes case "HugePages_Total:": m.HugePagesTotal = &val case "HugePages_Free:": @@ -373,6 +403,9 @@ func parseMemInfo(r io.Reader) (*Meminfo, error) { case "Hugepagesize:": m.Hugepagesize = &val m.HugepagesizeBytes = &valBytes + case "Hugetlb:": + m.Hugetlb = &val + m.HugetlbBytes = &valBytes case "DirectMap4k:": m.DirectMap4k = &val m.DirectMap4kBytes = &valBytes diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_stat.go b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_stat.go index 06a8d931c98..3328556bdc4 100644 --- a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_stat.go +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_stat.go @@ -101,6 +101,12 @@ type ProcStat struct { RSS int // Soft limit in bytes on the rss of the process. RSSLimit uint64 + // The address above which program text can run. + StartCode uint64 + // The address below which program text can run. + EndCode uint64 + // The address of the start (i.e., bottom) of the stack. + StartStack uint64 // CPU number last executed on. Processor uint // Real-time scheduling priority, a number in the range 1 to 99 for processes @@ -177,9 +183,9 @@ func (p Proc) Stat() (ProcStat, error) { &s.VSize, &s.RSS, &s.RSSLimit, - &ignoreUint64, - &ignoreUint64, - &ignoreUint64, + &s.StartCode, + &s.EndCode, + &s.StartStack, &ignoreUint64, &ignoreUint64, &ignoreUint64, diff --git a/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_statm.go b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_statm.go new file mode 100644 index 00000000000..ed579842437 --- /dev/null +++ b/cluster-api/providers/azure/vendor/github.com/prometheus/procfs/proc_statm.go @@ -0,0 +1,116 @@ +// Copyright 2025 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package procfs + +import ( + "os" + "strconv" + "strings" + + "github.com/prometheus/procfs/internal/util" +) + +// - https://man7.org/linux/man-pages/man5/proc_pid_statm.5.html + +// ProcStatm Provides memory usage information for a process, measured in memory pages. +// Read from /proc/[pid]/statm. +type ProcStatm struct { + // The process ID. + PID int + // total program size (same as VmSize in status) + Size uint64 + // resident set size (same as VmRSS in status) + Resident uint64 + // number of resident shared pages (i.e., backed by a file) + Shared uint64 + // text (code) + Text uint64 + // library (unused since Linux 2.6; always 0) + Lib uint64 + // data + stack + Data uint64 + // dirty pages (unused since Linux 2.6; always 0) + Dt uint64 +} + +// NewStatm returns the current status information of the process. +// Deprecated: Use p.Statm() instead. +func (p Proc) NewStatm() (ProcStatm, error) { + return p.Statm() +} + +// Statm returns the current memory usage information of the process. +func (p Proc) Statm() (ProcStatm, error) { + data, err := util.ReadFileNoStat(p.path("statm")) + if err != nil { + return ProcStatm{}, err + } + + statmSlice, err := parseStatm(data) + if err != nil { + return ProcStatm{}, err + } + + procStatm := ProcStatm{ + PID: p.PID, + Size: statmSlice[0], + Resident: statmSlice[1], + Shared: statmSlice[2], + Text: statmSlice[3], + Lib: statmSlice[4], + Data: statmSlice[5], + Dt: statmSlice[6], + } + + return procStatm, nil +} + +// parseStatm return /proc/[pid]/statm data to uint64 slice. +func parseStatm(data []byte) ([]uint64, error) { + var statmSlice []uint64 + statmItems := strings.Fields(string(data)) + for i := 0; i < len(statmItems); i++ { + statmItem, err := strconv.ParseUint(statmItems[i], 10, 64) + if err != nil { + return nil, err + } + statmSlice = append(statmSlice, statmItem) + } + return statmSlice, nil +} + +// SizeBytes returns the process of total program size in bytes. +func (s ProcStatm) SizeBytes() uint64 { + return s.Size * uint64(os.Getpagesize()) +} + +// ResidentBytes returns the process of resident set size in bytes. +func (s ProcStatm) ResidentBytes() uint64 { + return s.Resident * uint64(os.Getpagesize()) +} + +// SHRBytes returns the process of share memory size in bytes. +func (s ProcStatm) SHRBytes() uint64 { + return s.Shared * uint64(os.Getpagesize()) +} + +// TextBytes returns the process of text (code) size in bytes. +func (s ProcStatm) TextBytes() uint64 { + return s.Text * uint64(os.Getpagesize()) +} + +// DataBytes returns the process of data + stack size in bytes. +func (s ProcStatm) DataBytes() uint64 { + return s.Data * uint64(os.Getpagesize()) +} diff --git a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/flag.go b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/flag.go index d4dfbc5ea0b..2fd3c57597a 100644 --- a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/flag.go +++ b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/flag.go @@ -137,12 +137,17 @@ const ( PanicOnError ) -// ParseErrorsWhitelist defines the parsing errors that can be ignored -type ParseErrorsWhitelist struct { +// ParseErrorsAllowlist defines the parsing errors that can be ignored +type ParseErrorsAllowlist struct { // UnknownFlags will ignore unknown flags errors and continue parsing rest of the flags UnknownFlags bool } +// ParseErrorsWhitelist defines the parsing errors that can be ignored. +// +// Deprecated: use [ParseErrorsAllowlist] instead. This type will be removed in a future release. +type ParseErrorsWhitelist = ParseErrorsAllowlist + // NormalizedName is a flag name that has been normalized according to rules // for the FlagSet (e.g. making '-' and '_' equivalent). type NormalizedName string @@ -158,8 +163,13 @@ type FlagSet struct { // help/usage messages. SortFlags bool - // ParseErrorsWhitelist is used to configure a whitelist of errors - ParseErrorsWhitelist ParseErrorsWhitelist + // ParseErrorsAllowlist is used to configure an allowlist of errors + ParseErrorsAllowlist ParseErrorsAllowlist + + // ParseErrorsAllowlist is used to configure an allowlist of errors. + // + // Deprecated: use [FlagSet.ParseErrorsAllowlist] instead. This field will be removed in a future release. + ParseErrorsWhitelist ParseErrorsAllowlist name string parsed bool @@ -928,7 +938,6 @@ func VarP(value Value, name, shorthand, usage string) { // returns the error. func (f *FlagSet) fail(err error) error { if f.errorHandling != ContinueOnError { - fmt.Fprintln(f.Output(), err) f.usage() } return err @@ -986,6 +995,8 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin f.usage() return a, ErrHelp case f.ParseErrorsWhitelist.UnknownFlags: + fallthrough + case f.ParseErrorsAllowlist.UnknownFlags: // --unknown=unknownval arg ... // we do not want to lose arg in this case if len(split) >= 2 { @@ -1044,6 +1055,8 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse err = ErrHelp return case f.ParseErrorsWhitelist.UnknownFlags: + fallthrough + case f.ParseErrorsAllowlist.UnknownFlags: // '-f=arg arg ...' // we do not want to lose arg in this case if len(shorthands) > 2 && shorthands[1] == '=' { @@ -1158,12 +1171,12 @@ func (f *FlagSet) Parse(arguments []string) error { } f.parsed = true + f.args = make([]string, 0, len(arguments)) + if len(arguments) == 0 { return nil } - f.args = make([]string, 0, len(arguments)) - set := func(flag *Flag, value string) error { return f.Set(flag.Name, value) } @@ -1174,7 +1187,10 @@ func (f *FlagSet) Parse(arguments []string) error { case ContinueOnError: return err case ExitOnError: - fmt.Println(err) + if err == ErrHelp { + os.Exit(0) + } + fmt.Fprintln(f.Output(), err) os.Exit(2) case PanicOnError: panic(err) @@ -1200,6 +1216,10 @@ func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string) case ContinueOnError: return err case ExitOnError: + if err == ErrHelp { + os.Exit(0) + } + fmt.Fprintln(f.Output(), err) os.Exit(2) case PanicOnError: panic(err) diff --git a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/golangflag.go b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/golangflag.go index f563907e28f..e62eab53810 100644 --- a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/golangflag.go +++ b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/golangflag.go @@ -8,6 +8,7 @@ import ( goflag "flag" "reflect" "strings" + "time" ) // go test flags prefixes @@ -113,6 +114,38 @@ func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) { f.addedGoFlagSets = append(f.addedGoFlagSets, newSet) } +// CopyToGoFlagSet will add all current flags to the given Go flag set. +// Deprecation remarks get copied into the usage description. +// Whenever possible, a flag gets added for which Go flags shows +// a proper type in the help message. +func (f *FlagSet) CopyToGoFlagSet(newSet *goflag.FlagSet) { + f.VisitAll(func(flag *Flag) { + usage := flag.Usage + if flag.Deprecated != "" { + usage += " (DEPRECATED: " + flag.Deprecated + ")" + } + + switch value := flag.Value.(type) { + case *stringValue: + newSet.StringVar((*string)(value), flag.Name, flag.DefValue, usage) + case *intValue: + newSet.IntVar((*int)(value), flag.Name, *(*int)(value), usage) + case *int64Value: + newSet.Int64Var((*int64)(value), flag.Name, *(*int64)(value), usage) + case *uintValue: + newSet.UintVar((*uint)(value), flag.Name, *(*uint)(value), usage) + case *uint64Value: + newSet.Uint64Var((*uint64)(value), flag.Name, *(*uint64)(value), usage) + case *durationValue: + newSet.DurationVar((*time.Duration)(value), flag.Name, *(*time.Duration)(value), usage) + case *float64Value: + newSet.Float64Var((*float64)(value), flag.Name, *(*float64)(value), usage) + default: + newSet.Var(flag.Value, flag.Name, usage) + } + }) +} + // ParseSkippedFlags explicitly Parses go test flags (i.e. the one starting with '-test.') with goflag.Parse(), // since by default those are skipped by pflag.Parse(). // Typical usage example: `ParseGoTestFlags(os.Args[1:], goflag.CommandLine)` @@ -125,3 +158,4 @@ func ParseSkippedFlags(osArgs []string, goFlagSet *goflag.FlagSet) error { } return goFlagSet.Parse(skippedFlags) } + diff --git a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/string_to_string.go b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/string_to_string.go index 890a01afc03..1d1e3bf91a3 100644 --- a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/string_to_string.go +++ b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/string_to_string.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/csv" "fmt" + "sort" "strings" ) @@ -62,8 +63,15 @@ func (s *stringToStringValue) Type() string { } func (s *stringToStringValue) String() string { + keys := make([]string, 0, len(*s.value)) + for k := range *s.value { + keys = append(keys, k) + } + sort.Strings(keys) + records := make([]string, 0, len(*s.value)>>1) - for k, v := range *s.value { + for _, k := range keys { + v := (*s.value)[k] records = append(records, k+"="+v) } diff --git a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/time.go b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/time.go index dc024807e0c..3dee424791a 100644 --- a/cluster-api/providers/azure/vendor/github.com/spf13/pflag/time.go +++ b/cluster-api/providers/azure/vendor/github.com/spf13/pflag/time.go @@ -48,7 +48,13 @@ func (d *timeValue) Type() string { return "time" } -func (d *timeValue) String() string { return d.Time.Format(time.RFC3339Nano) } +func (d *timeValue) String() string { + if d.Time.IsZero() { + return "" + } else { + return d.Time.Format(time.RFC3339Nano) + } +} // GetTime return the time value of a flag with the given name func (f *FlagSet) GetTime(name string) (time.Time, error) { diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.codespellignore b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.codespellignore index 6bf3abc41e7..2b53a25e1e1 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.codespellignore +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.codespellignore @@ -7,3 +7,4 @@ ans nam valu thirdparty +addOpt diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.golangci.yml b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.golangci.yml index 5f69cc027c2..b01762ffcc7 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.golangci.yml +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.golangci.yml @@ -10,6 +10,7 @@ linters: - depguard - errcheck - errorlint + - gocritic - godot - gosec - govet @@ -86,6 +87,18 @@ linters: deny: - pkg: go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal desc: Do not use cross-module internal packages. + gocritic: + disabled-checks: + - appendAssign + - commentedOutCode + - dupArg + - hugeParam + - importShadow + - preferDecodeRune + - rangeValCopy + - unnamedResult + - whyNoLint + enable-all: true godot: exclude: # Exclude links. @@ -167,7 +180,10 @@ linters: - fmt.Print - fmt.Printf - fmt.Println + - name: unused-parameter + - name: unused-receiver - name: unnecessary-stmt + - name: use-any - name: useless-break - name: var-declaration - name: var-naming @@ -224,10 +240,6 @@ linters: - linters: - gosec text: 'G402: TLS MinVersion too low.' - paths: - - third_party$ - - builtin$ - - examples$ issues: max-issues-per-linter: 0 max-same-issues: 0 @@ -237,14 +249,12 @@ formatters: - goimports - golines settings: + gofumpt: + extra-rules: true goimports: local-prefixes: - - go.opentelemetry.io + - go.opentelemetry.io/otel golines: max-len: 120 exclusions: generated: lax - paths: - - third_party$ - - builtin$ - - examples$ diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.lycheeignore b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.lycheeignore index 40d62fa2eb8..5328505888d 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.lycheeignore +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/.lycheeignore @@ -2,5 +2,8 @@ http://localhost http://jaeger-collector https://github.com/open-telemetry/opentelemetry-go/milestone/ https://github.com/open-telemetry/opentelemetry-go/projects +# Weaver model URL for semantic-conventions repository. +https?:\/\/github\.com\/open-telemetry\/semantic-conventions\/archive\/refs\/tags\/[^.]+\.zip\[[^]]+] file:///home/runner/work/opentelemetry-go/opentelemetry-go/libraries file:///home/runner/work/opentelemetry-go/opentelemetry-go/manual +http://4.3.2.1:78/user/123 \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CHANGELOG.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CHANGELOG.md index 4acc75701b7..f3abcfdc2e3 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CHANGELOG.md +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CHANGELOG.md @@ -11,6 +11,93 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm +## [1.38.0/0.60.0/0.14.0/0.0.13] 2025-08-29 + +This release is the last to support [Go 1.23]. +The next release will require at least [Go 1.24]. + +### Added + +- Add native histogram exemplar support in `go.opentelemetry.io/otel/exporters/prometheus`. (#6772) +- Add template attribute functions to the `go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6939) + - `ContainerLabel` + - `DBOperationParameter` + - `DBSystemParameter` + - `HTTPRequestHeader` + - `HTTPResponseHeader` + - `K8SCronJobAnnotation` + - `K8SCronJobLabel` + - `K8SDaemonSetAnnotation` + - `K8SDaemonSetLabel` + - `K8SDeploymentAnnotation` + - `K8SDeploymentLabel` + - `K8SJobAnnotation` + - `K8SJobLabel` + - `K8SNamespaceAnnotation` + - `K8SNamespaceLabel` + - `K8SNodeAnnotation` + - `K8SNodeLabel` + - `K8SPodAnnotation` + - `K8SPodLabel` + - `K8SReplicaSetAnnotation` + - `K8SReplicaSetLabel` + - `K8SStatefulSetAnnotation` + - `K8SStatefulSetLabel` + - `ProcessEnvironmentVariable` + - `RPCConnectRPCRequestMetadata` + - `RPCConnectRPCResponseMetadata` + - `RPCGRPCRequestMetadata` + - `RPCGRPCResponseMetadata` +- Add `ErrorType` attribute helper function to the `go.opentelmetry.io/otel/semconv/v1.34.0` package. (#6962) +- Add `WithAllowKeyDuplication` in `go.opentelemetry.io/otel/sdk/log` which can be used to disable deduplication for log records. (#6968) +- Add `WithCardinalityLimit` option to configure the cardinality limit in `go.opentelemetry.io/otel/sdk/metric`. (#6996, #7065, #7081, #7164, #7165, #7179) +- Add `Clone` method to `Record` in `go.opentelemetry.io/otel/log` that returns a copy of the record with no shared state. (#7001) +- Add experimental self-observability span and batch span processor metrics in `go.opentelemetry.io/otel/sdk/trace`. + Check the `go.opentelemetry.io/otel/sdk/trace/internal/x` package documentation for more information. (#7027, #6393, #7209) +- The `go.opentelemetry.io/otel/semconv/v1.36.0` package. + The package contains semantic conventions from the `v1.36.0` version of the OpenTelemetry Semantic Conventions. + See the [migration documentation](./semconv/v1.36.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.34.0.`(#7032, #7041) +- Add support for configuring Prometheus name translation using `WithTranslationStrategy` option in `go.opentelemetry.io/otel/exporters/prometheus`. The current default translation strategy when UTF-8 mode is enabled is `NoUTF8EscapingWithSuffixes`, but a future release will change the default strategy to `UnderscoreEscapingWithSuffixes` for compliance with the specification. (#7111) +- Add experimental self-observability log metrics in `go.opentelemetry.io/otel/sdk/log`. + Check the `go.opentelemetry.io/otel/sdk/log/internal/x` package documentation for more information. (#7121) +- Add experimental self-observability trace exporter metrics in `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. + Check the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace/internal/x` package documentation for more information. (#7133) +- Support testing of [Go 1.25]. (#7187) +- The `go.opentelemetry.io/otel/semconv/v1.37.0` package. + The package contains semantic conventions from the `v1.37.0` version of the OpenTelemetry Semantic Conventions. + See the [migration documentation](./semconv/v1.37.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.36.0.`(#7254) + +### Changed + +- Optimize `TraceIDFromHex` and `SpanIDFromHex` in `go.opentelemetry.io/otel/sdk/trace`. (#6791) +- Change `AssertEqual` in `go.opentelemetry.io/otel/log/logtest` to accept `TestingT` in order to support benchmarks and fuzz tests. (#6908) +- Change `DefaultExemplarReservoirProviderSelector` in `go.opentelemetry.io/otel/sdk/metric` to use `runtime.GOMAXPROCS(0)` instead of `runtime.NumCPU()` for the `FixedSizeReservoirProvider` default size. (#7094) + +### Fixed + +- `SetBody` method of `Record` in `go.opentelemetry.io/otel/sdk/log` now deduplicates key-value collections (`log.Value` of `log.KindMap` from `go.opentelemetry.io/otel/log`). (#7002) +- Fix `go.opentelemetry.io/otel/exporters/prometheus` to not append a suffix if it's already present in metric name. (#7088) +- Fix the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` self-observability component type and name. (#7195) +- Fix partial export count metric in `go.opentelemetry.io/otel/exporters/stdout/stdouttrace`. (#7199) + +### Deprecated + +- Deprecate `WithoutUnits` and `WithoutCounterSuffixes` options, preferring `WithTranslationStrategy` instead. (#7111) +- Deprecate support for `OTEL_GO_X_CARDINALITY_LIMIT` environment variable in `go.opentelemetry.io/otel/sdk/metric`. Use `WithCardinalityLimit` option instead. (#7166) + +## [0.59.1] 2025-07-21 + +### Changed + +- Retract `v0.59.0` release of `go.opentelemetry.io/otel/exporters/prometheus` module which appends incorrect unit suffixes. (#7046) +- Change `go.opentelemetry.io/otel/exporters/prometheus` to no longer deduplicate suffixes when UTF8 is enabled. + It is recommended to disable unit and counter suffixes in the exporter, and manually add suffixes if you rely on the existing behavior. (#7044) + +### Fixed + +- Fix `go.opentelemetry.io/otel/exporters/prometheus` to properly handle unit suffixes when the unit is in brackets. + E.g. `{spans}`. (#7044) + ## [1.37.0/0.59.0/0.13.0] 2025-06-25 ### Added @@ -3343,7 +3430,8 @@ It contains api and sdk for trace and meter. - CircleCI build CI manifest files. - CODEOWNERS file to track owners of this project. -[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.37.0...HEAD +[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.38.0...HEAD +[1.38.0/0.60.0/0.14.0/0.0.13]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.38.0 [1.37.0/0.59.0/0.13.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.37.0 [0.12.2]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/log/v0.12.2 [0.12.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/log/v0.12.1 @@ -3439,6 +3527,7 @@ It contains api and sdk for trace and meter. +[Go 1.25]: https://go.dev/doc/go1.25 [Go 1.24]: https://go.dev/doc/go1.24 [Go 1.23]: https://go.dev/doc/go1.23 [Go 1.22]: https://go.dev/doc/go1.22 diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CODEOWNERS b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CODEOWNERS index 945a07d2b07..26a03aed1d2 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CODEOWNERS +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CODEOWNERS @@ -12,6 +12,6 @@ # https://help.github.com/en/articles/about-code-owners # -* @MrAlias @XSAM @dashpole @pellared @dmathieu +* @MrAlias @XSAM @dashpole @pellared @dmathieu @flc1125 CODEOWNERS @MrAlias @pellared @dashpole @XSAM @dmathieu diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md index f9ddc281fc7..0b3ae855c19 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md @@ -192,6 +192,35 @@ should have `go test -bench` output in their description. should have [`benchstat`](https://pkg.go.dev/golang.org/x/perf/cmd/benchstat) output in their description. +## Dependencies + +This project uses [Go Modules] for dependency management. All modules will use +`go.mod` to explicitly list all direct and indirect dependencies, ensuring a +clear dependency graph. The `go.sum` file for each module will be committed to +the repository and used to verify the integrity of downloaded modules, +preventing malicious tampering. + +This project uses automated dependency update tools (i.e. dependabot, +renovatebot) to manage updates to dependencies. This ensures that dependencies +are kept up-to-date with the latest security patches and features and are +reviewed before being merged. If you would like to propose a change to a +dependency it should be done through a pull request that updates the `go.mod` +file and includes a description of the change. + +See the [versioning and compatibility](./VERSIONING.md) policy for more details +about dependency compatibility. + +[Go Modules]: https://pkg.go.dev/cmd/go#hdr-Modules__module_versions__and_more + +### Environment Dependencies + +This project does not partition dependencies based on the environment (i.e. +`development`, `staging`, `production`). + +Only the dependencies explicitly included in the released modules have be +tested and verified to work with the released code. No other guarantee is made +about the compatibility of other dependencies. + ## Documentation Each (non-internal, non-test) package must be documented using @@ -233,6 +262,10 @@ For a non-comprehensive but foundational overview of these best practices the [Effective Go](https://golang.org/doc/effective_go.html) documentation is an excellent starting place. +We also recommend following the +[Go Code Review Comments](https://go.dev/wiki/CodeReviewComments) +that collects common comments made during reviews of Go code. + As a convenience for developers building this project the `make precommit` will format, lint, validate, and in some cases fix the changes you plan to submit. This check will need to pass for your changes to be able to be @@ -586,6 +619,10 @@ See also: ### Testing +We allow using [`testify`](https://github.com/stretchr/testify) even though +it is seen as non-idiomatic according to +the [Go Test Comments](https://go.dev/wiki/TestComments#assert-libraries) page. + The tests should never leak goroutines. Use the term `ConcurrentSafe` in the test name when it aims to verify the @@ -640,13 +677,6 @@ should be canceled. ## Approvers and Maintainers -### Triagers - -- [Alex Kats](https://github.com/akats7), Capital One -- [Cheng-Zhen Yang](https://github.com/scorpionknifes), Independent - -### Approvers - ### Maintainers - [Damien Mathieu](https://github.com/dmathieu), Elastic ([GPG](https://keys.openpgp.org/search?q=5A126B972A81A6CE443E5E1B408B8E44F0873832)) @@ -655,6 +685,21 @@ should be canceled. - [Sam Xie](https://github.com/XSAM), Splunk ([GPG](https://keys.openpgp.org/search?q=AEA033782371ABB18EE39188B8044925D6FEEBEA)) - [Tyler Yahn](https://github.com/MrAlias), Splunk ([GPG](https://keys.openpgp.org/search?q=0x46B0F3E1A8B1BA5A)) +For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer). + +### Approvers + +- [Flc](https://github.com/flc1125), Independent + +For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver). + +### Triagers + +- [Alex Kats](https://github.com/akats7), Capital One +- [Cheng-Zhen Yang](https://github.com/scorpionknifes), Independent + +For more information about the triager role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#triager). + ### Emeritus - [Aaron Clawson](https://github.com/MadVikingGod) @@ -665,6 +710,8 @@ should be canceled. - [Josh MacDonald](https://github.com/jmacd) - [Liz Fong-Jones](https://github.com/lizthegrey) +For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager). + ### Become an Approver or a Maintainer See the [community membership document in OpenTelemetry community diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/Makefile b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/Makefile index 4fa423ca02d..bc0f1f92d1f 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/Makefile +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/Makefile @@ -34,9 +34,6 @@ $(TOOLS)/%: $(TOOLS_MOD_DIR)/go.mod | $(TOOLS) MULTIMOD = $(TOOLS)/multimod $(TOOLS)/multimod: PACKAGE=go.opentelemetry.io/build-tools/multimod -SEMCONVGEN = $(TOOLS)/semconvgen -$(TOOLS)/semconvgen: PACKAGE=go.opentelemetry.io/build-tools/semconvgen - CROSSLINK = $(TOOLS)/crosslink $(TOOLS)/crosslink: PACKAGE=go.opentelemetry.io/build-tools/crosslink @@ -71,7 +68,7 @@ GOVULNCHECK = $(TOOLS)/govulncheck $(TOOLS)/govulncheck: PACKAGE=golang.org/x/vuln/cmd/govulncheck .PHONY: tools -tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(SEMCONVGEN) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE) +tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(VERIFYREADMES) $(MULTIMOD) $(SEMCONVKIT) $(GOTMPL) $(GORELEASE) # Virtualized python tools via docker @@ -284,7 +281,7 @@ semconv-generate: $(SEMCONVKIT) docker run --rm \ -u $(DOCKER_USER) \ --env HOME=/tmp/weaver \ - --mount 'type=bind,source=$(PWD)/semconv,target=/home/weaver/templates/registry/go,readonly' \ + --mount 'type=bind,source=$(PWD)/semconv/templates,target=/home/weaver/templates,readonly' \ --mount 'type=bind,source=$(PWD)/semconv/${TAG},target=/home/weaver/target' \ --mount 'type=bind,source=$(HOME)/.weaver,target=/tmp/weaver/.weaver' \ $(WEAVER_IMAGE) registry generate \ diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/README.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/README.md index 5fa1b75c60e..6b7ab5f2193 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/README.md +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/README.md @@ -53,18 +53,25 @@ Currently, this project supports the following environments. | OS | Go Version | Architecture | |----------|------------|--------------| +| Ubuntu | 1.25 | amd64 | | Ubuntu | 1.24 | amd64 | | Ubuntu | 1.23 | amd64 | +| Ubuntu | 1.25 | 386 | | Ubuntu | 1.24 | 386 | | Ubuntu | 1.23 | 386 | +| Ubuntu | 1.25 | arm64 | | Ubuntu | 1.24 | arm64 | | Ubuntu | 1.23 | arm64 | +| macOS 13 | 1.25 | amd64 | | macOS 13 | 1.24 | amd64 | | macOS 13 | 1.23 | amd64 | +| macOS | 1.25 | arm64 | | macOS | 1.24 | arm64 | | macOS | 1.23 | arm64 | +| Windows | 1.25 | amd64 | | Windows | 1.24 | amd64 | | Windows | 1.23 | amd64 | +| Windows | 1.25 | 386 | | Windows | 1.24 | 386 | | Windows | 1.23 | 386 | diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml new file mode 100644 index 00000000000..8041fc62e4a --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/SECURITY-INSIGHTS.yml @@ -0,0 +1,203 @@ +header: + schema-version: "1.0.0" + expiration-date: "2026-08-04T00:00:00.000Z" + last-updated: "2025-08-04" + last-reviewed: "2025-08-04" + commit-hash: 69e81088ad40f45a0764597326722dea8f3f00a8 + project-url: https://github.com/open-telemetry/opentelemetry-go + project-release: "v1.37.0" + changelog: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CHANGELOG.md + license: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/LICENSE + +project-lifecycle: + status: active + bug-fixes-only: false + core-maintainers: + - https://github.com/dmathieu + - https://github.com/dashpole + - https://github.com/pellared + - https://github.com/XSAM + - https://github.com/MrAlias + release-process: | + See https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/RELEASING.md + +contribution-policy: + accepts-pull-requests: true + accepts-automated-pull-requests: true + automated-tools-list: + - automated-tool: dependabot + action: allowed + comment: Automated dependency updates are accepted. + - automated-tool: renovatebot + action: allowed + comment: Automated dependency updates are accepted. + - automated-tool: opentelemetrybot + action: allowed + comment: Automated OpenTelemetry actions are accepted. + contributing-policy: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CONTRIBUTING.md + code-of-conduct: https://github.com/open-telemetry/.github/blob/ffa15f76b65ec7bcc41f6a0b277edbb74f832206/CODE_OF_CONDUCT.md + +documentation: + - https://pkg.go.dev/go.opentelemetry.io/otel + - https://opentelemetry.io/docs/instrumentation/go/ + +distribution-points: + - pkg:golang/go.opentelemetry.io/otel + - pkg:golang/go.opentelemetry.io/otel/bridge/opencensus + - pkg:golang/go.opentelemetry.io/otel/bridge/opencensus/test + - pkg:golang/go.opentelemetry.io/otel/bridge/opentracing + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlptrace + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp + - pkg:golang/go.opentelemetry.io/otel/exporters/stdout/stdoutmetric + - pkg:golang/go.opentelemetry.io/otel/exporters/stdout/stdouttrace + - pkg:golang/go.opentelemetry.io/otel/exporters/zipkin + - pkg:golang/go.opentelemetry.io/otel/metric + - pkg:golang/go.opentelemetry.io/otel/sdk + - pkg:golang/go.opentelemetry.io/otel/sdk/metric + - pkg:golang/go.opentelemetry.io/otel/trace + - pkg:golang/go.opentelemetry.io/otel/exporters/prometheus + - pkg:golang/go.opentelemetry.io/otel/log + - pkg:golang/go.opentelemetry.io/otel/log/logtest + - pkg:golang/go.opentelemetry.io/otel/sdk/log + - pkg:golang/go.opentelemetry.io/otel/sdk/log/logtest + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc + - pkg:golang/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp + - pkg:golang/go.opentelemetry.io/otel/exporters/stdout/stdoutlog + - pkg:golang/go.opentelemetry.io/otel/schema + +security-artifacts: + threat-model: + threat-model-created: false + comment: | + No formal threat model created yet. + self-assessment: + self-assessment-created: false + comment: | + No formal self-assessment yet. + +security-testing: + - tool-type: sca + tool-name: Dependabot + tool-version: latest + tool-url: https://github.com/dependabot + tool-rulesets: + - built-in + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + Automated dependency updates. + - tool-type: sast + tool-name: golangci-lint + tool-version: latest + tool-url: https://github.com/golangci/golangci-lint + tool-rulesets: + - built-in + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + Static analysis in CI. + - tool-type: fuzzing + tool-name: OSS-Fuzz + tool-version: latest + tool-url: https://github.com/google/oss-fuzz + tool-rulesets: + - default + integration: + ad-hoc: false + ci: false + before-release: false + comment: | + OpenTelemetry Go is integrated with OSS-Fuzz for continuous fuzz testing. See https://github.com/google/oss-fuzz/tree/f0f9b221190c6063a773bea606d192ebfc3d00cf/projects/opentelemetry-go for more details. + - tool-type: sast + tool-name: CodeQL + tool-version: latest + tool-url: https://github.com/github/codeql + tool-rulesets: + - default + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + CodeQL static analysis is run in CI for all commits and pull requests to detect security vulnerabilities in the Go source code. See https://github.com/open-telemetry/opentelemetry-go/blob/d5b5b059849720144a03ca5c87561bfbdb940119/.github/workflows/codeql-analysis.yml for workflow details. + - tool-type: sca + tool-name: govulncheck + tool-version: latest + tool-url: https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck + tool-rulesets: + - default + integration: + ad-hoc: false + ci: true + before-release: true + comment: | + govulncheck is run in CI to detect known vulnerabilities in Go modules and code paths. See https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/.github/workflows/ci.yml for workflow configuration. + +security-assessments: + - auditor-name: 7ASecurity + auditor-url: https://7asecurity.com + auditor-report: https://7asecurity.com/reports/pentest-report-opentelemetry.pdf + report-year: 2023 + comment: | + This independent penetration test by 7ASecurity covered OpenTelemetry repositories including opentelemetry-go. The assessment focused on codebase review, threat modeling, and vulnerability identification. See the report for details of findings and recommendations applicable to opentelemetry-go. No critical vulnerabilities were found for this repository. + +security-contacts: + - type: email + value: cncf-opentelemetry-security@lists.cncf.io + primary: true + - type: website + value: https://github.com/open-telemetry/opentelemetry-go/security/policy + primary: false + +vulnerability-reporting: + accepts-vulnerability-reports: true + email-contact: cncf-opentelemetry-security@lists.cncf.io + security-policy: https://github.com/open-telemetry/opentelemetry-go/security/policy + comment: | + Security issues should be reported via email or GitHub security policy page. + +dependencies: + third-party-packages: true + dependencies-lists: + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/bridge/opencensus/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/bridge/opencensus/test/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/bridge/opentracing/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlplog/otlploggrpc/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlplog/otlploghttp/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlpmetric/otlpmetrichttp/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlptrace/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlptrace/otlptracegrpc/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/otlp/otlptrace/otlptracehttp/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/prometheus/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/stdout/stdoutlog/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/stdout/stdoutmetric/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/stdout/stdouttrace/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/exporters/zipkin/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/internal/tools/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/log/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/log/logtest/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/metric/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/schema/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/log/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/log/logtest/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/sdk/metric/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/trace/go.mod + - https://github.com/open-telemetry/opentelemetry-go/blob/v1.37.0/trace/internal/telemetry/test/go.mod + dependencies-lifecycle: + policy-url: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CONTRIBUTING.md + comment: | + Dependency lifecycle managed via go.mod and renovatebot. + env-dependencies-policy: + policy-url: https://github.com/open-telemetry/opentelemetry-go/blob/69e81088ad40f45a0764597326722dea8f3f00a8/CONTRIBUTING.md + comment: | + See contributing policy for environment usage. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/encoder.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/encoder.go index 318e42fcabe..6333d34b310 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/encoder.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/encoder.go @@ -78,7 +78,7 @@ func DefaultEncoder() Encoder { defaultEncoderOnce.Do(func() { defaultEncoderInstance = &defaultAttrEncoder{ pool: sync.Pool{ - New: func() interface{} { + New: func() any { return &bytes.Buffer{} }, }, @@ -96,11 +96,11 @@ func (d *defaultAttrEncoder) Encode(iter Iterator) string { for iter.Next() { i, keyValue := iter.IndexedAttribute() if i > 0 { - _, _ = buf.WriteRune(',') + _ = buf.WriteByte(',') } copyAndEscape(buf, string(keyValue.Key)) - _, _ = buf.WriteRune('=') + _ = buf.WriteByte('=') if keyValue.Value.Type() == STRING { copyAndEscape(buf, keyValue.Value.AsString()) @@ -122,14 +122,14 @@ func copyAndEscape(buf *bytes.Buffer, val string) { for _, ch := range val { switch ch { case '=', ',', escapeChar: - _, _ = buf.WriteRune(escapeChar) + _ = buf.WriteByte(escapeChar) } _, _ = buf.WriteRune(ch) } } -// Valid returns true if this encoder ID was allocated by -// `NewEncoderID`. Invalid encoder IDs will not be cached. +// Valid reports whether this encoder ID was allocated by +// [NewEncoderID]. Invalid encoder IDs will not be cached. func (id EncoderID) Valid() bool { return id.value != 0 } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/filter.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/filter.go index 3eeaa5d4426..624ebbe3811 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/filter.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/filter.go @@ -15,8 +15,8 @@ type Filter func(KeyValue) bool // // If keys is empty a deny-all filter is returned. func NewAllowKeysFilter(keys ...Key) Filter { - if len(keys) <= 0 { - return func(kv KeyValue) bool { return false } + if len(keys) == 0 { + return func(KeyValue) bool { return false } } allowed := make(map[Key]struct{}, len(keys)) @@ -34,8 +34,8 @@ func NewAllowKeysFilter(keys ...Key) Filter { // // If keys is empty an allow-all filter is returned. func NewDenyKeysFilter(keys ...Key) Filter { - if len(keys) <= 0 { - return func(kv KeyValue) bool { return true } + if len(keys) == 0 { + return func(KeyValue) bool { return true } } forbid := make(map[Key]struct{}, len(keys)) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go index b76d2bbfdbd..0875504302c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go @@ -12,7 +12,7 @@ import ( ) // BoolSliceValue converts a bool slice into an array with same elements as slice. -func BoolSliceValue(v []bool) interface{} { +func BoolSliceValue(v []bool) any { var zero bool cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -20,7 +20,7 @@ func BoolSliceValue(v []bool) interface{} { } // Int64SliceValue converts an int64 slice into an array with same elements as slice. -func Int64SliceValue(v []int64) interface{} { +func Int64SliceValue(v []int64) any { var zero int64 cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -28,7 +28,7 @@ func Int64SliceValue(v []int64) interface{} { } // Float64SliceValue converts a float64 slice into an array with same elements as slice. -func Float64SliceValue(v []float64) interface{} { +func Float64SliceValue(v []float64) any { var zero float64 cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -36,7 +36,7 @@ func Float64SliceValue(v []float64) interface{} { } // StringSliceValue converts a string slice into an array with same elements as slice. -func StringSliceValue(v []string) interface{} { +func StringSliceValue(v []string) any { var zero string cp := reflect.New(reflect.ArrayOf(len(v), reflect.TypeOf(zero))).Elem() reflect.Copy(cp, reflect.ValueOf(v)) @@ -44,7 +44,7 @@ func StringSliceValue(v []string) interface{} { } // AsBoolSlice converts a bool array into a slice into with same elements as array. -func AsBoolSlice(v interface{}) []bool { +func AsBoolSlice(v any) []bool { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil @@ -57,7 +57,7 @@ func AsBoolSlice(v interface{}) []bool { } // AsInt64Slice converts an int64 array into a slice into with same elements as array. -func AsInt64Slice(v interface{}) []int64 { +func AsInt64Slice(v any) []int64 { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil @@ -70,7 +70,7 @@ func AsInt64Slice(v interface{}) []int64 { } // AsFloat64Slice converts a float64 array into a slice into with same elements as array. -func AsFloat64Slice(v interface{}) []float64 { +func AsFloat64Slice(v any) []float64 { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil @@ -83,7 +83,7 @@ func AsFloat64Slice(v interface{}) []float64 { } // AsStringSlice converts a string array into a slice into with same elements as array. -func AsStringSlice(v interface{}) []string { +func AsStringSlice(v any) []string { rv := reflect.ValueOf(v) if rv.Type().Kind() != reflect.Array { return nil diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/iterator.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/iterator.go index f2ba89ce4bc..8df6249f023 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/iterator.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/iterator.go @@ -25,8 +25,8 @@ type oneIterator struct { attr KeyValue } -// Next moves the iterator to the next position. Returns false if there are no -// more attributes. +// Next moves the iterator to the next position. +// Next reports whether there are more attributes. func (i *Iterator) Next() bool { i.idx++ return i.idx < i.Len() @@ -106,7 +106,8 @@ func (oi *oneIterator) advance() { } } -// Next returns true if there is another attribute available. +// Next moves the iterator to the next position. +// Next reports whether there is another attribute available. func (m *MergeIterator) Next() bool { if m.one.done && m.two.done { return false diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/key.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/key.go index d9a22c65020..80a9e5643f6 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/key.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/key.go @@ -117,7 +117,7 @@ func (k Key) StringSlice(v []string) KeyValue { } } -// Defined returns true for non-empty keys. +// Defined reports whether the key is not empty. func (k Key) Defined() bool { return len(k) != 0 } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/kv.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/kv.go index 3028f9a40f8..8c6928ca79b 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/kv.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/kv.go @@ -13,7 +13,7 @@ type KeyValue struct { Value Value } -// Valid returns if kv is a valid OpenTelemetry attribute. +// Valid reports whether kv is a valid OpenTelemetry attribute. func (kv KeyValue) Valid() bool { return kv.Key.Defined() && kv.Value.Type() != INVALID } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/set.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/set.go index 6cbefceadfe..64735d382ea 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/set.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/set.go @@ -31,11 +31,11 @@ type ( // Distinct is a unique identifier of a Set. // - // Distinct is designed to be ensures equivalence stability: comparisons - // will return the save value across versions. For this reason, Distinct - // should always be used as a map key instead of a Set. + // Distinct is designed to ensure equivalence stability: comparisons will + // return the same value across versions. For this reason, Distinct should + // always be used as a map key instead of a Set. Distinct struct { - iface interface{} + iface any } // Sortable implements sort.Interface, used for sorting KeyValue. @@ -70,7 +70,7 @@ func (d Distinct) reflectValue() reflect.Value { return reflect.ValueOf(d.iface) } -// Valid returns true if this value refers to a valid Set. +// Valid reports whether this value refers to a valid Set. func (d Distinct) Valid() bool { return d.iface != nil } @@ -120,7 +120,7 @@ func (l *Set) Value(k Key) (Value, bool) { return Value{}, false } -// HasValue tests whether a key is defined in this set. +// HasValue reports whether a key is defined in this set. func (l *Set) HasValue(k Key) bool { if l == nil { return false @@ -155,7 +155,7 @@ func (l *Set) Equivalent() Distinct { return l.equivalent } -// Equals returns true if the argument set is equivalent to this set. +// Equals reports whether the argument set is equivalent to this set. func (l *Set) Equals(o *Set) bool { return l.Equivalent() == o.Equivalent() } @@ -344,7 +344,7 @@ func computeDistinct(kvs []KeyValue) Distinct { // computeDistinctFixed computes a Distinct for small slices. It returns nil // if the input is too large for this code path. -func computeDistinctFixed(kvs []KeyValue) interface{} { +func computeDistinctFixed(kvs []KeyValue) any { switch len(kvs) { case 1: return [1]KeyValue(kvs) @@ -373,7 +373,7 @@ func computeDistinctFixed(kvs []KeyValue) interface{} { // computeDistinctReflect computes a Distinct using reflection, works for any // size input. -func computeDistinctReflect(kvs []KeyValue) interface{} { +func computeDistinctReflect(kvs []KeyValue) any { at := reflect.New(reflect.ArrayOf(len(kvs), keyValueType)).Elem() for i, keyValue := range kvs { *(at.Index(i).Addr().Interface().(*KeyValue)) = keyValue @@ -387,7 +387,7 @@ func (l *Set) MarshalJSON() ([]byte, error) { } // MarshalLog is the marshaling function used by the logging system to represent this Set. -func (l Set) MarshalLog() interface{} { +func (l Set) MarshalLog() any { kvs := make(map[string]string) for _, kv := range l.ToSlice() { kvs[string(kv.Key)] = kv.Value.Emit() diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/value.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/value.go index 817eecacf11..653c33a8619 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/value.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/attribute/value.go @@ -22,7 +22,7 @@ type Value struct { vtype Type numeric uint64 stringly string - slice interface{} + slice any } const ( @@ -199,8 +199,8 @@ func (v Value) asStringSlice() []string { type unknownValueType struct{} -// AsInterface returns Value's data as interface{}. -func (v Value) AsInterface() interface{} { +// AsInterface returns Value's data as any. +func (v Value) AsInterface() any { switch v.Type() { case BOOL: return v.AsBool() @@ -262,7 +262,7 @@ func (v Value) Emit() string { func (v Value) MarshalJSON() ([]byte, error) { var jsonVal struct { Type string - Value interface{} + Value any } jsonVal.Type = v.Type().String() jsonVal.Value = v.AsInterface() diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/baggage/baggage.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/baggage/baggage.go index 0e1fe242203..f83a448ec61 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/baggage/baggage.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/baggage/baggage.go @@ -812,7 +812,7 @@ var safeKeyCharset = [utf8.RuneSelf]bool{ // validateBaggageName checks if the string is a valid OpenTelemetry Baggage name. // Baggage name is a valid, non-empty UTF-8 string. func validateBaggageName(s string) bool { - if len(s) == 0 { + if s == "" { return false } @@ -828,7 +828,7 @@ func validateBaggageValue(s string) bool { // validateKey checks if the string is a valid W3C Baggage key. func validateKey(s string) bool { - if len(s) == 0 { + if s == "" { return false } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/codes/codes.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/codes/codes.go index 49a35b12255..d48847ed86c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/codes/codes.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/codes/codes.go @@ -67,7 +67,7 @@ func (c *Code) UnmarshalJSON(b []byte) error { return errors.New("nil receiver passed to UnmarshalJSON") } - var x interface{} + var x any if err := json.Unmarshal(b, &x); err != nil { return err } @@ -102,5 +102,5 @@ func (c *Code) MarshalJSON() ([]byte, error) { if !ok { return nil, fmt.Errorf("invalid code: %d", *c) } - return []byte(fmt.Sprintf("%q", str)), nil + return fmt.Appendf(nil, "%q", str), nil } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile index 935bd487631..a311fbb4835 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile @@ -1,4 +1,4 @@ # This is a renovate-friendly source of Docker images. -FROM python:3.13.5-slim-bullseye@sha256:5b9fc0d8ef79cfb5f300e61cb516e0c668067bbf77646762c38c94107e230dbc AS python -FROM otel/weaver:v0.15.2@sha256:b13acea09f721774daba36344861f689ac4bb8d6ecd94c4600b4d590c8fb34b9 AS weaver +FROM python:3.13.6-slim-bullseye@sha256:e98b521460ee75bca92175c16247bdf7275637a8faaeb2bcfa19d879ae5c4b9a AS python +FROM otel/weaver:v0.17.1@sha256:32523b5e44fb44418786347e9f7dde187d8797adb6d57a2ee99c245346c3cdfe AS weaver FROM avtodev/markdown-lint:v1@sha256:6aeedc2f49138ce7a1cd0adffc1b1c0321b841dc2102408967d9301c031949ee AS markdown diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go index 3f0a518ae0f..30446bd28b6 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go @@ -94,7 +94,7 @@ func NewUnstarted(client Client) *Exporter { } // MarshalLog is the marshaling function used by the logging system to represent this Exporter. -func (e *Exporter) MarshalLog() interface{} { +func (e *Exporter) MarshalLog() any { return struct { Type string Client Client diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go index ca4544f0dae..d9bfd6e1765 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/attribute.go @@ -6,9 +6,10 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform" import ( + commonpb "go.opentelemetry.io/proto/otlp/common/v1" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/resource" - commonpb "go.opentelemetry.io/proto/otlp/common/v1" ) // KeyValues transforms a slice of attribute KeyValues into OTLP key-values. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go index 2e7690e43a2..43359c89449 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/instrumentation.go @@ -4,8 +4,9 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform" import ( - "go.opentelemetry.io/otel/sdk/instrumentation" commonpb "go.opentelemetry.io/proto/otlp/common/v1" + + "go.opentelemetry.io/otel/sdk/instrumentation" ) func InstrumentationScope(il instrumentation.Scope) *commonpb.InstrumentationScope { diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go index db7b698a566..526bb5e070b 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/resource.go @@ -4,8 +4,9 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform" import ( - "go.opentelemetry.io/otel/sdk/resource" resourcepb "go.opentelemetry.io/proto/otlp/resource/v1" + + "go.opentelemetry.io/otel/sdk/resource" ) // Resource transforms a Resource into an OTLP Resource. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go index bf27ef0220e..379bc8170df 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go @@ -6,12 +6,13 @@ package tracetransform // import "go.opentelemetry.io/otel/exporters/otlp/otlptr import ( "math" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/sdk/instrumentation" tracesdk "go.opentelemetry.io/otel/sdk/trace" "go.opentelemetry.io/otel/trace" - tracepb "go.opentelemetry.io/proto/otlp/trace/v1" ) // Spans transforms a slice of OpenTelemetry spans into a slice of OTLP @@ -154,7 +155,6 @@ func links(links []tracesdk.Link) []*tracepb.Span_Link { for _, otLink := range links { // This redefinition is necessary to prevent otLink.*ID[:] copies // being reused -- in short we need a new otLink per iteration. - otLink := otLink tid := otLink.SpanContext.TraceID() sid := otLink.SpanContext.SpanID() @@ -189,7 +189,7 @@ func spanEvents(es []tracesdk.Event) []*tracepb.Span_Event { events := make([]*tracepb.Span_Event, len(es)) // Transform message events - for i := 0; i < len(es); i++ { + for i := range es { events[i] = &tracepb.Span_Event{ Name: es[i].Name, TimeUnixNano: uint64(max(0, es[i].Time.UnixNano())), // nolint:gosec // Overflow checked. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go index 8236c995a9c..4b4cc76f4a9 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go @@ -9,6 +9,8 @@ import ( "sync" "time" + coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -20,8 +22,6 @@ import ( "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig" "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry" - coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" - tracepb "go.opentelemetry.io/proto/otlp/trace/v1" ) type client struct { @@ -289,7 +289,7 @@ func throttleDelay(s *status.Status) (bool, time.Duration) { } // MarshalLog is the marshaling function used by the logging system to represent this Client. -func (c *client) MarshalLog() interface{} { +func (c *client) MarshalLog() any { return struct { Type string Endpoint string diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go index ed2ddce718b..3b79c1a0b5c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go @@ -5,5 +5,5 @@ package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace" // Version is the current release version of the OpenTelemetry OTLP trace exporter in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/config.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/config.go index 52183884029..dc3542637be 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/config.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/config.go @@ -4,11 +4,11 @@ package prometheus // import "go.opentelemetry.io/otel/exporters/prometheus" import ( - "strings" "sync" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/common/model" + "github.com/prometheus/otlptranslator" "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/internal/global" @@ -19,6 +19,7 @@ import ( type config struct { registerer prometheus.Registerer disableTargetInfo bool + translationStrategy otlptranslator.TranslationStrategyOption withoutUnits bool withoutCounterSuffixes bool readerOpts []metric.ManualReaderOption @@ -27,9 +28,9 @@ type config struct { resourceAttributesFilter attribute.Filter } -var logDeprecatedLegacyScheme = sync.OnceFunc(func() { +var logTemporaryDefault = sync.OnceFunc(func() { global.Warn( - "prometheus exporter legacy scheme deprecated: support for the legacy NameValidationScheme will be removed in a future release", + "The default Prometheus naming translation strategy is planned to be changed from otlptranslator.NoUTF8EscapingWithSuffixes to otlptranslator.UnderscoreEscapingWithSuffixes in a future release. Add prometheus.WithTranslationStrategy(otlptranslator.NoUTF8EscapingWithSuffixes) to preserve the existing behavior, or prometheus.WithTranslationStrategy(otlptranslator.UnderscoreEscapingWithSuffixes) to opt into the future default behavior.", ) }) @@ -40,6 +41,30 @@ func newConfig(opts ...Option) config { cfg = opt.apply(cfg) } + if cfg.translationStrategy == "" { + // If no translation strategy was specified, deduce one based on the global + // NameValidationScheme. NOTE: this logic will change in the future, always + // defaulting to UnderscoreEscapingWithSuffixes + + //nolint:staticcheck // NameValidationScheme is deprecated but we still need it for now. + if model.NameValidationScheme == model.UTF8Validation { + logTemporaryDefault() + cfg.translationStrategy = otlptranslator.NoUTF8EscapingWithSuffixes + } else { + cfg.translationStrategy = otlptranslator.UnderscoreEscapingWithSuffixes + } + } else { + // Note, if the translation strategy implies that suffixes should be added, + // the user can still use WithoutUnits and WithoutCounterSuffixes to + // explicitly disable specific suffixes. We do not override their preference + // in this case. However if the chosen strategy disables suffixes, we should + // forcibly disable all of them. + if !cfg.translationStrategy.ShouldAddSuffixes() { + cfg.withoutCounterSuffixes = true + cfg.withoutUnits = true + } + } + if cfg.registerer == nil { cfg.registerer = prometheus.DefaultRegisterer } @@ -97,6 +122,30 @@ func WithoutTargetInfo() Option { }) } +// WithTranslationStrategy provides a standardized way to define how metric and +// label names should be handled during translation to Prometheus format. See: +// https://github.com/open-telemetry/opentelemetry-specification/blob/v1.48.0/specification/metrics/sdk_exporters/prometheus.md#configuration. +// The recommended approach is to use either +// [otlptranslator.UnderscoreEscapingWithSuffixes] for full Prometheus-style +// compatibility or [otlptranslator.NoTranslation] for OpenTelemetry-style names. +// +// By default, if the NameValidationScheme variable in +// [github.com/prometheus/common/model] is "legacy", the default strategy is +// [otlptranslator.UnderscoreEscapingWithSuffixes]. If the validation scheme is +// "utf8", then currently the default Strategy is +// [otlptranslator.NoUTF8EscapingWithSuffixes]. +// +// Notice: It is planned that a future release of this SDK will change the +// default to always be [otlptranslator.UnderscoreEscapingWithSuffixes] in all +// circumstances. Users wanting a different translation strategy should specify +// it explicitly. +func WithTranslationStrategy(strategy otlptranslator.TranslationStrategyOption) Option { + return optionFunc(func(cfg config) config { + cfg.translationStrategy = strategy + return cfg + }) +} + // WithoutUnits disables exporter's addition of unit suffixes to metric names, // and will also prevent unit comments from being added in OpenMetrics once // unit comments are supported. @@ -105,6 +154,12 @@ func WithoutTargetInfo() Option { // conventions. For example, the counter metric request.duration, with unit // milliseconds would become request_duration_milliseconds_total. // With this option set, the name would instead be request_duration_total. +// +// Can be used in conjunction with [WithTranslationStrategy] to disable unit +// suffixes in strategies that would otherwise add suffixes, but this behavior +// is not recommended and may be removed in a future release. +// +// Deprecated: Use [WithTranslationStrategy] instead. func WithoutUnits() Option { return optionFunc(func(cfg config) config { cfg.withoutUnits = true @@ -112,12 +167,19 @@ func WithoutUnits() Option { }) } -// WithoutCounterSuffixes disables exporter's addition _total suffixes on counters. +// WithoutCounterSuffixes disables exporter's addition _total suffixes on +// counters. // // By default, metric names include a _total suffix to follow Prometheus naming // conventions. For example, the counter metric happy.people would become // happy_people_total. With this option set, the name would instead be // happy_people. +// +// Can be used in conjunction with [WithTranslationStrategy] to disable counter +// suffixes in strategies that would otherwise add suffixes, but this behavior +// is not recommended and may be removed in a future release. +// +// Deprecated: Use [WithTranslationStrategy] instead. func WithoutCounterSuffixes() Option { return optionFunc(func(cfg config) config { cfg.withoutCounterSuffixes = true @@ -134,22 +196,13 @@ func WithoutScopeInfo() Option { }) } -// WithNamespace configures the Exporter to prefix metric with the given namespace. -// Metadata metrics such as target_info are not prefixed since these -// have special behavior based on their name. +// WithNamespace configures the Exporter to prefix metric with the given +// namespace. Metadata metrics such as target_info are not prefixed since these +// have special behavior based on their name. Namespaces will be prepended even +// if [otlptranslator.NoTranslation] is set as a translation strategy. If the provided namespace +// is empty, nothing will be prepended to metric names. func WithNamespace(ns string) Option { return optionFunc(func(cfg config) config { - if model.NameValidationScheme != model.UTF8Validation { // nolint:staticcheck // We need this check to keep supporting the legacy scheme. - logDeprecatedLegacyScheme() - // Only sanitize if prometheus does not support UTF-8. - ns = model.EscapeName(ns, model.NameEscapingScheme) - } - if !strings.HasSuffix(ns, "_") { - // namespace and metric names should be separated with an underscore, - // adds a trailing underscore if there is not one already. - ns = ns + "_" - } - cfg.namespace = ns return cfg }) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/exporter.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/exporter.go index 7b44c12c541..0f29c0abbde 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/exporter.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/exporters/prometheus/exporter.go @@ -15,7 +15,7 @@ import ( "github.com/prometheus/client_golang/prometheus" dto "github.com/prometheus/client_model/go" - "github.com/prometheus/common/model" + "github.com/prometheus/otlptranslator" "google.golang.org/protobuf/proto" "go.opentelemetry.io/otel" @@ -27,20 +27,16 @@ import ( ) const ( - targetInfoMetricName = "target_info" targetInfoDescription = "Target metadata" scopeLabelPrefix = "otel_scope_" scopeNameLabel = scopeLabelPrefix + "name" scopeVersionLabel = scopeLabelPrefix + "version" scopeSchemaLabel = scopeLabelPrefix + "schema_url" - - traceIDExemplarKey = "trace_id" - spanIDExemplarKey = "span_id" ) var metricsPool = sync.Pool{ - New: func() interface{} { + New: func() any { return &metricdata.ResourceMetrics{} }, } @@ -52,7 +48,7 @@ type Exporter struct { } // MarshalLog returns logging data about the Exporter. -func (e *Exporter) MarshalLog() interface{} { +func (e *Exporter) MarshalLog() any { const t = "Prometheus exporter" if r, ok := e.Reader.(*metric.ManualReader); ok { @@ -93,12 +89,11 @@ type collector struct { targetInfo prometheus.Metric metricFamilies map[string]*dto.MetricFamily resourceKeyVals keyVals + metricNamer otlptranslator.MetricNamer + labelNamer otlptranslator.LabelNamer + unitNamer otlptranslator.UnitNamer } -// prometheus counters MUST have a _total suffix by default: -// https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/compatibility/prometheus_and_openmetrics.md -const counterSuffix = "total" - // New returns a Prometheus Exporter. func New(opts ...Option) (*Exporter, error) { cfg := newConfig(opts...) @@ -108,6 +103,18 @@ func New(opts ...Option) (*Exporter, error) { // TODO (#3244): Enable some way to configure the reader, but not change temporality. reader := metric.NewManualReader(cfg.readerOpts...) + labelNamer := otlptranslator.LabelNamer{UTF8Allowed: !cfg.translationStrategy.ShouldEscape()} + escapedNamespace := cfg.namespace + if escapedNamespace != "" { + var err error + // If the namespace needs to be escaped, do that now when creating the new + // Collector object. The escaping is not persisted in the Config itself. + escapedNamespace, err = labelNamer.Build(escapedNamespace) + if err != nil { + return nil, err + } + } + collector := &collector{ reader: reader, disableTargetInfo: cfg.disableTargetInfo, @@ -115,8 +122,11 @@ func New(opts ...Option) (*Exporter, error) { withoutCounterSuffixes: cfg.withoutCounterSuffixes, disableScopeInfo: cfg.disableScopeInfo, metricFamilies: make(map[string]*dto.MetricFamily), - namespace: cfg.namespace, + namespace: escapedNamespace, resourceAttributesFilter: cfg.resourceAttributesFilter, + metricNamer: otlptranslator.NewMetricNamer(escapedNamespace, cfg.translationStrategy), + unitNamer: otlptranslator.UnitNamer{UTF8Allowed: !cfg.translationStrategy.ShouldEscape()}, + labelNamer: labelNamer, } if err := cfg.registerer.Register(collector); err != nil { @@ -131,7 +141,7 @@ func New(opts ...Option) (*Exporter, error) { } // Describe implements prometheus.Collector. -func (c *collector) Describe(ch chan<- *prometheus.Desc) { +func (*collector) Describe(chan<- *prometheus.Desc) { // The Opentelemetry SDK doesn't have information on which will exist when the collector // is registered. By returning nothing we are an "unchecked" collector in Prometheus, // and assume responsibility for consistency of the metrics produced. @@ -164,7 +174,11 @@ func (c *collector) Collect(ch chan<- prometheus.Metric) { defer c.mu.Unlock() if c.targetInfo == nil && !c.disableTargetInfo { - targetInfo, err := createInfoMetric(targetInfoMetricName, targetInfoDescription, metrics.Resource) + targetInfo, err := c.createInfoMetric( + otlptranslator.TargetInfoMetricName, + targetInfoDescription, + metrics.Resource, + ) if err != nil { // If the target info metric is invalid, disable sending it. c.disableTargetInfo = true @@ -181,7 +195,11 @@ func (c *collector) Collect(ch chan<- prometheus.Metric) { } if c.resourceAttributesFilter != nil && len(c.resourceKeyVals.keys) == 0 { - c.createResourceAttributes(metrics.Resource) + err := c.createResourceAttributes(metrics.Resource) + if err != nil { + otel.Handle(err) + return + } } for _, scopeMetrics := range metrics.ScopeMetrics { @@ -195,7 +213,11 @@ func (c *collector) Collect(ch chan<- prometheus.Metric) { kv.keys = append(kv.keys, scopeNameLabel, scopeVersionLabel, scopeSchemaLabel) kv.vals = append(kv.vals, scopeMetrics.Scope.Name, scopeMetrics.Scope.Version, scopeMetrics.Scope.SchemaURL) - attrKeys, attrVals := getAttrs(scopeMetrics.Scope.Attributes) + attrKeys, attrVals, err := getAttrs(scopeMetrics.Scope.Attributes, c.labelNamer) + if err != nil { + otel.Handle(err) + continue + } for i := range attrKeys { attrKeys[i] = scopeLabelPrefix + attrKeys[i] } @@ -211,7 +233,13 @@ func (c *collector) Collect(ch chan<- prometheus.Metric) { if typ == nil { continue } - name := c.getName(m, typ) + name, err := c.getName(m) + if err != nil { + // TODO(#7066): Handle this error better. It's not clear this can be + // reached, bad metric names should / will be caught at creation time. + otel.Handle(err) + continue + } drop, help := c.validateMetrics(name, m.Description, typ) if drop { @@ -224,21 +252,21 @@ func (c *collector) Collect(ch chan<- prometheus.Metric) { switch v := m.Data.(type) { case metricdata.Histogram[int64]: - addHistogramMetric(ch, v, m, name, kv) + addHistogramMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.Histogram[float64]: - addHistogramMetric(ch, v, m, name, kv) + addHistogramMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.ExponentialHistogram[int64]: - addExponentialHistogramMetric(ch, v, m, name, kv) + addExponentialHistogramMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.ExponentialHistogram[float64]: - addExponentialHistogramMetric(ch, v, m, name, kv) + addExponentialHistogramMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.Sum[int64]: - addSumMetric(ch, v, m, name, kv) + addSumMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.Sum[float64]: - addSumMetric(ch, v, m, name, kv) + addSumMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.Gauge[int64]: - addGaugeMetric(ch, v, m, name, kv) + addGaugeMetric(ch, v, m, name, kv, c.labelNamer) case metricdata.Gauge[float64]: - addGaugeMetric(ch, v, m, name, kv) + addGaugeMetric(ch, v, m, name, kv, c.labelNamer) } } } @@ -303,9 +331,14 @@ func addExponentialHistogramMetric[N int64 | float64]( m metricdata.Metrics, name string, kv keyVals, + labelNamer otlptranslator.LabelNamer, ) { for _, dp := range histogram.DataPoints { - keys, values := getAttrs(dp.Attributes) + keys, values, err := getAttrs(dp.Attributes, labelNamer) + if err != nil { + otel.Handle(err) + continue + } keys = append(keys, kv.keys...) values = append(values, kv.vals...) @@ -365,8 +398,7 @@ func addExponentialHistogramMetric[N int64 | float64]( otel.Handle(err) continue } - - // TODO(GiedriusS): add exemplars here after https://github.com/prometheus/client_golang/pull/1654#pullrequestreview-2434669425 is done. + m = addExemplars(m, dp.Exemplars, labelNamer) ch <- m } } @@ -377,9 +409,14 @@ func addHistogramMetric[N int64 | float64]( m metricdata.Metrics, name string, kv keyVals, + labelNamer otlptranslator.LabelNamer, ) { for _, dp := range histogram.DataPoints { - keys, values := getAttrs(dp.Attributes) + keys, values, err := getAttrs(dp.Attributes, labelNamer) + if err != nil { + otel.Handle(err) + continue + } keys = append(keys, kv.keys...) values = append(values, kv.vals...) @@ -396,7 +433,7 @@ func addHistogramMetric[N int64 | float64]( otel.Handle(err) continue } - m = addExemplars(m, dp.Exemplars) + m = addExemplars(m, dp.Exemplars, labelNamer) ch <- m } } @@ -407,6 +444,7 @@ func addSumMetric[N int64 | float64]( m metricdata.Metrics, name string, kv keyVals, + labelNamer otlptranslator.LabelNamer, ) { valueType := prometheus.CounterValue if !sum.IsMonotonic { @@ -414,7 +452,11 @@ func addSumMetric[N int64 | float64]( } for _, dp := range sum.DataPoints { - keys, values := getAttrs(dp.Attributes) + keys, values, err := getAttrs(dp.Attributes, labelNamer) + if err != nil { + otel.Handle(err) + continue + } keys = append(keys, kv.keys...) values = append(values, kv.vals...) @@ -427,7 +469,7 @@ func addSumMetric[N int64 | float64]( // GaugeValues don't support Exemplars at this time // https://github.com/prometheus/client_golang/blob/aef8aedb4b6e1fb8ac1c90790645169125594096/prometheus/metric.go#L199 if valueType != prometheus.GaugeValue { - m = addExemplars(m, dp.Exemplars) + m = addExemplars(m, dp.Exemplars, labelNamer) } ch <- m } @@ -439,9 +481,14 @@ func addGaugeMetric[N int64 | float64]( m metricdata.Metrics, name string, kv keyVals, + labelNamer otlptranslator.LabelNamer, ) { for _, dp := range gauge.DataPoints { - keys, values := getAttrs(dp.Attributes) + keys, values, err := getAttrs(dp.Attributes, labelNamer) + if err != nil { + otel.Handle(err) + continue + } keys = append(keys, kv.keys...) values = append(values, kv.vals...) @@ -457,12 +504,12 @@ func addGaugeMetric[N int64 | float64]( // getAttrs converts the attribute.Set to two lists of matching Prometheus-style // keys and values. -func getAttrs(attrs attribute.Set) ([]string, []string) { +func getAttrs(attrs attribute.Set, labelNamer otlptranslator.LabelNamer) ([]string, []string, error) { keys := make([]string, 0, attrs.Len()) values := make([]string, 0, attrs.Len()) itr := attrs.Iter() - if model.NameValidationScheme == model.UTF8Validation { // nolint:staticcheck // We need this check to keep supporting the legacy scheme. + if labelNamer.UTF8Allowed { // Do not perform sanitization if prometheus supports UTF-8. for itr.Next() { kv := itr.Attribute() @@ -475,7 +522,11 @@ func getAttrs(attrs attribute.Set) ([]string, []string) { keysMap := make(map[string][]string) for itr.Next() { kv := itr.Attribute() - key := model.EscapeName(string(kv.Key), model.NameEscapingScheme) + key, err := labelNamer.Build(string(kv.Key)) + if err != nil { + // TODO(#7066) Handle this error better. + return nil, nil, err + } if _, ok := keysMap[key]; !ok { keysMap[key] = []string{kv.Value.Emit()} } else { @@ -489,97 +540,32 @@ func getAttrs(attrs attribute.Set) ([]string, []string) { values = append(values, strings.Join(vals, ";")) } } - return keys, values + return keys, values, nil } -func createInfoMetric(name, description string, res *resource.Resource) (prometheus.Metric, error) { - keys, values := getAttrs(*res.Set()) +func (c *collector) createInfoMetric(name, description string, res *resource.Resource) (prometheus.Metric, error) { + keys, values, err := getAttrs(*res.Set(), c.labelNamer) + if err != nil { + return nil, err + } desc := prometheus.NewDesc(name, description, keys, nil) return prometheus.NewConstMetric(desc, prometheus.GaugeValue, float64(1), values...) } -func unitMapGetOrDefault(unit string) string { - if promUnit, ok := unitSuffixes[unit]; ok { - return promUnit - } - return unit -} - -var unitSuffixes = map[string]string{ - // Time - "d": "days", - "h": "hours", - "min": "minutes", - "s": "seconds", - "ms": "milliseconds", - "us": "microseconds", - "ns": "nanoseconds", - - // Bytes - "By": "bytes", - "KiBy": "kibibytes", - "MiBy": "mebibytes", - "GiBy": "gibibytes", - "TiBy": "tibibytes", - "KBy": "kilobytes", - "MBy": "megabytes", - "GBy": "gigabytes", - "TBy": "terabytes", - - // SI - "m": "meters", - "V": "volts", - "A": "amperes", - "J": "joules", - "W": "watts", - "g": "grams", - - // Misc - "Cel": "celsius", - "Hz": "hertz", - "1": "ratio", - "%": "percent", -} - -// getName returns the sanitized name, prefixed with the namespace and suffixed with unit. -func (c *collector) getName(m metricdata.Metrics, typ *dto.MetricType) string { - name := m.Name - if model.NameValidationScheme != model.UTF8Validation { // nolint:staticcheck // We need this check to keep supporting the legacy scheme. - // Only sanitize if prometheus does not support UTF-8. - logDeprecatedLegacyScheme() - name = model.EscapeName(name, model.NameEscapingScheme) +// getName returns the sanitized name, translated according to the selected +// TranslationStrategy and namespace option. +func (c *collector) getName(m metricdata.Metrics) (string, error) { + translatorMetric := otlptranslator.Metric{ + Name: m.Name, + Type: c.namingMetricType(m), } - addCounterSuffix := !c.withoutCounterSuffixes && *typ == dto.MetricType_COUNTER - if addCounterSuffix { - // Remove the _total suffix here, as we will re-add the total suffix - // later, and it needs to come after the unit suffix. - name = strings.TrimSuffix(name, counterSuffix) - // If the last character is an underscore, or would be converted to an underscore, trim it from the name. - // an underscore will be added back in later. - if convertsToUnderscore(rune(name[len(name)-1])) { - name = name[:len(name)-1] - } - } - if c.namespace != "" { - name = c.namespace + name - } - if suffix := unitMapGetOrDefault(m.Unit); suffix != "" && !c.withoutUnits && !strings.HasSuffix(name, suffix) { - name += "_" + suffix + if !c.withoutUnits { + translatorMetric.Unit = m.Unit } - if addCounterSuffix { - name += "_" + counterSuffix - } - return name + return c.metricNamer.Build(translatorMetric) } -// convertsToUnderscore returns true if the character would be converted to an -// underscore when the escaping scheme is underscore escaping. This is meant to -// capture any character that should be considered a "delimiter". -func convertsToUnderscore(b rune) bool { - return (b < 'a' || b > 'z') && (b < 'A' || b > 'Z') && b != ':' && (b < '0' || b > '9') -} - -func (c *collector) metricType(m metricdata.Metrics) *dto.MetricType { +func (*collector) metricType(m metricdata.Metrics) *dto.MetricType { switch v := m.Data.(type) { case metricdata.ExponentialHistogram[int64], metricdata.ExponentialHistogram[float64]: return dto.MetricType_HISTOGRAM.Enum() @@ -601,13 +587,47 @@ func (c *collector) metricType(m metricdata.Metrics) *dto.MetricType { return nil } -func (c *collector) createResourceAttributes(res *resource.Resource) { +// namingMetricType provides the metric type for naming purposes. +func (c *collector) namingMetricType(m metricdata.Metrics) otlptranslator.MetricType { + switch v := m.Data.(type) { + case metricdata.ExponentialHistogram[int64], metricdata.ExponentialHistogram[float64]: + return otlptranslator.MetricTypeHistogram + case metricdata.Histogram[int64], metricdata.Histogram[float64]: + return otlptranslator.MetricTypeHistogram + case metricdata.Sum[float64]: + // If counter suffixes are disabled, treat them like non-monotonic + // suffixes for the purposes of naming. + if v.IsMonotonic && !c.withoutCounterSuffixes { + return otlptranslator.MetricTypeMonotonicCounter + } + return otlptranslator.MetricTypeNonMonotonicCounter + case metricdata.Sum[int64]: + // If counter suffixes are disabled, treat them like non-monotonic + // suffixes for the purposes of naming. + if v.IsMonotonic && !c.withoutCounterSuffixes { + return otlptranslator.MetricTypeMonotonicCounter + } + return otlptranslator.MetricTypeNonMonotonicCounter + case metricdata.Gauge[int64], metricdata.Gauge[float64]: + return otlptranslator.MetricTypeGauge + case metricdata.Summary: + return otlptranslator.MetricTypeSummary + } + return otlptranslator.MetricTypeUnknown +} + +func (c *collector) createResourceAttributes(res *resource.Resource) error { c.mu.Lock() defer c.mu.Unlock() resourceAttrs, _ := res.Set().Filter(c.resourceAttributesFilter) - resourceKeys, resourceValues := getAttrs(resourceAttrs) + resourceKeys, resourceValues, err := getAttrs(resourceAttrs, c.labelNamer) + if err != nil { + return err + } + c.resourceKeyVals = keyVals{keys: resourceKeys, vals: resourceValues} + return nil } func (c *collector) validateMetrics(name, description string, metricType *dto.MetricType) (drop bool, help string) { @@ -648,16 +668,24 @@ func (c *collector) validateMetrics(name, description string, metricType *dto.Me return false, "" } -func addExemplars[N int64 | float64](m prometheus.Metric, exemplars []metricdata.Exemplar[N]) prometheus.Metric { +func addExemplars[N int64 | float64]( + m prometheus.Metric, + exemplars []metricdata.Exemplar[N], + labelNamer otlptranslator.LabelNamer, +) prometheus.Metric { if len(exemplars) == 0 { return m } promExemplars := make([]prometheus.Exemplar, len(exemplars)) for i, exemplar := range exemplars { - labels := attributesToLabels(exemplar.FilteredAttributes) + labels, err := attributesToLabels(exemplar.FilteredAttributes, labelNamer) + if err != nil { + otel.Handle(err) + return m + } // Overwrite any existing trace ID or span ID attributes - labels[traceIDExemplarKey] = hex.EncodeToString(exemplar.TraceID[:]) - labels[spanIDExemplarKey] = hex.EncodeToString(exemplar.SpanID[:]) + labels[otlptranslator.ExemplarTraceIDKey] = hex.EncodeToString(exemplar.TraceID) + labels[otlptranslator.ExemplarSpanIDKey] = hex.EncodeToString(exemplar.SpanID) promExemplars[i] = prometheus.Exemplar{ Value: float64(exemplar.Value), Timestamp: exemplar.Time, @@ -674,11 +702,14 @@ func addExemplars[N int64 | float64](m prometheus.Metric, exemplars []metricdata return metricWithExemplar } -func attributesToLabels(attrs []attribute.KeyValue) prometheus.Labels { +func attributesToLabels(attrs []attribute.KeyValue, labelNamer otlptranslator.LabelNamer) (prometheus.Labels, error) { labels := make(map[string]string) for _, attr := range attrs { - key := model.EscapeName(string(attr.Key), model.NameEscapingScheme) - labels[key] = attr.Value.Emit() + name, err := labelNamer.Build(string(attr.Key)) + if err != nil { + return nil, err + } + labels[name] = attr.Value.Emit() } - return labels + return labels, nil } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go index adbca7d3477..86d7f4ba086 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/internal_logging.go @@ -41,22 +41,22 @@ func GetLogger() logr.Logger { // Info prints messages about the general state of the API or SDK. // This should usually be less than 5 messages a minute. -func Info(msg string, keysAndValues ...interface{}) { +func Info(msg string, keysAndValues ...any) { GetLogger().V(4).Info(msg, keysAndValues...) } // Error prints messages about exceptional states of the API or SDK. -func Error(err error, msg string, keysAndValues ...interface{}) { +func Error(err error, msg string, keysAndValues ...any) { GetLogger().Error(err, msg, keysAndValues...) } // Debug prints messages about all internal changes in the API or SDK. -func Debug(msg string, keysAndValues ...interface{}) { +func Debug(msg string, keysAndValues ...any) { GetLogger().V(8).Info(msg, keysAndValues...) } // Warn prints messages about warnings in the API or SDK. // Not an error but is likely more important than an informational event. -func Warn(msg string, keysAndValues ...interface{}) { +func Warn(msg string, keysAndValues ...any) { GetLogger().V(1).Info(msg, keysAndValues...) } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/trace.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/trace.go index 49e4ac4faab..bf5cf3119b2 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/trace.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/internal/global/trace.go @@ -26,6 +26,7 @@ import ( "sync/atomic" "go.opentelemetry.io/auto/sdk" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" "go.opentelemetry.io/otel/trace" diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/metric/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/metric/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/metric/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/metric/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/baggage.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/baggage.go index ebda5026d6b..0518826020e 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/baggage.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/baggage.go @@ -20,7 +20,7 @@ type Baggage struct{} var _ TextMapPropagator = Baggage{} // Inject sets baggage key-values from ctx into the carrier. -func (b Baggage) Inject(ctx context.Context, carrier TextMapCarrier) { +func (Baggage) Inject(ctx context.Context, carrier TextMapCarrier) { bStr := baggage.FromContext(ctx).String() if bStr != "" { carrier.Set(baggageHeader, bStr) @@ -30,7 +30,7 @@ func (b Baggage) Inject(ctx context.Context, carrier TextMapCarrier) { // Extract returns a copy of parent with the baggage from the carrier added. // If carrier implements [ValuesGetter] (e.g. [HeaderCarrier]), Values is invoked // for multiple values extraction. Otherwise, Get is called. -func (b Baggage) Extract(parent context.Context, carrier TextMapCarrier) context.Context { +func (Baggage) Extract(parent context.Context, carrier TextMapCarrier) context.Context { if multiCarrier, ok := carrier.(ValuesGetter); ok { return extractMultiBaggage(parent, multiCarrier) } @@ -38,7 +38,7 @@ func (b Baggage) Extract(parent context.Context, carrier TextMapCarrier) context } // Fields returns the keys who's values are set with Inject. -func (b Baggage) Fields() []string { +func (Baggage) Fields() []string { return []string{baggageHeader} } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/propagation.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/propagation.go index 5c8c26ea2eb..0a32c59aa3b 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/propagation.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/propagation.go @@ -20,7 +20,7 @@ type TextMapCarrier interface { // must never be done outside of a new major release. // Set stores the key-value pair. - Set(key string, value string) + Set(key, value string) // DO NOT CHANGE: any modification will not be backwards compatible and // must never be done outside of a new major release. @@ -88,7 +88,7 @@ func (hc HeaderCarrier) Values(key string) []string { } // Set stores the key-value pair. -func (hc HeaderCarrier) Set(key string, value string) { +func (hc HeaderCarrier) Set(key, value string) { http.Header(hc).Set(key, value) } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/trace_context.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/trace_context.go index 6870e316dc0..6692d2665d2 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/trace_context.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/propagation/trace_context.go @@ -36,7 +36,7 @@ var ( ) // Inject injects the trace context from ctx into carrier. -func (tc TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) { +func (TraceContext) Inject(ctx context.Context, carrier TextMapCarrier) { sc := trace.SpanContextFromContext(ctx) if !sc.IsValid() { return @@ -77,7 +77,7 @@ func (tc TraceContext) Extract(ctx context.Context, carrier TextMapCarrier) cont return trace.ContextWithRemoteSpanContext(ctx, sc) } -func (tc TraceContext) extract(carrier TextMapCarrier) trace.SpanContext { +func (TraceContext) extract(carrier TextMapCarrier) trace.SpanContext { h := carrier.Get(traceparentHeader) if h == "" { return trace.SpanContext{} @@ -151,6 +151,6 @@ func extractPart(dst []byte, h *string, n int) bool { } // Fields returns the keys who's values are set with Inject. -func (tc TraceContext) Fields() []string { +func (TraceContext) Fields() []string { return []string{traceparentHeader, tracestateHeader} } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go index 68d296cbed3..1be472e917a 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go @@ -19,7 +19,7 @@ import ( // to the case-insensitive string value of "true" (i.e. "True" and "TRUE" // will also enable this). var Resource = newFeature("RESOURCE", func(v string) (string, bool) { - if strings.ToLower(v) == "true" { + if strings.EqualFold(v, "true") { return v, true } return "", false @@ -59,7 +59,7 @@ func (f Feature[T]) Lookup() (v T, ok bool) { return f.parse(vRaw) } -// Enabled returns if the feature is enabled. +// Enabled reports whether the feature is enabled. func (f Feature[T]) Enabled() bool { _, ok := f.Lookup() return ok diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/config.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/config.go index 203cd9d6508..c6440a1346c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/config.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/config.go @@ -7,6 +7,7 @@ import ( "context" "errors" "os" + "strconv" "strings" "sync" @@ -17,12 +18,15 @@ import ( // config contains configuration options for a MeterProvider. type config struct { - res *resource.Resource - readers []Reader - views []View - exemplarFilter exemplar.Filter + res *resource.Resource + readers []Reader + views []View + exemplarFilter exemplar.Filter + cardinalityLimit int } +const defaultCardinalityLimit = 0 + // readerSignals returns a force-flush and shutdown function for a // MeterProvider to call in their respective options. All Readers c contains // will have their force-flush and shutdown methods unified into returned @@ -69,8 +73,9 @@ func unifyShutdown(funcs []func(context.Context) error) func(context.Context) er // newConfig returns a config configured with options. func newConfig(options []Option) config { conf := config{ - res: resource.Default(), - exemplarFilter: exemplar.TraceBasedFilter, + res: resource.Default(), + exemplarFilter: exemplar.TraceBasedFilter, + cardinalityLimit: cardinalityLimitFromEnv(), } for _, o := range meterProviderOptionsFromEnv() { conf = o.apply(conf) @@ -155,6 +160,21 @@ func WithExemplarFilter(filter exemplar.Filter) Option { }) } +// WithCardinalityLimit sets the cardinality limit for the MeterProvider. +// +// The cardinality limit is the hard limit on the number of metric datapoints +// that can be collected for a single instrument in a single collect cycle. +// +// Setting this to a zero or negative value means no limit is applied. +func WithCardinalityLimit(limit int) Option { + // For backward compatibility, the environment variable `OTEL_GO_X_CARDINALITY_LIMIT` + // can also be used to set this value. + return optionFunc(func(cfg config) config { + cfg.cardinalityLimit = limit + return cfg + }) +} + func meterProviderOptionsFromEnv() []Option { var opts []Option // https://github.com/open-telemetry/opentelemetry-specification/blob/d4b241f451674e8f611bb589477680341006ad2b/specification/configuration/sdk-environment-variables.md#exemplar @@ -170,3 +190,17 @@ func meterProviderOptionsFromEnv() []Option { } return opts } + +func cardinalityLimitFromEnv() int { + const cardinalityLimitKey = "OTEL_GO_X_CARDINALITY_LIMIT" + v := strings.TrimSpace(os.Getenv(cardinalityLimitKey)) + if v == "" { + return defaultCardinalityLimit + } + n, err := strconv.Atoi(v) + if err != nil { + otel.Handle(err) + return defaultCardinalityLimit + } + return n +} diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go index 90a4ae16c1a..0f3b9d623f7 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/doc.go @@ -39,6 +39,30 @@ // Meter.RegisterCallback and Registration.Unregister to add and remove // callbacks without leaking memory. // +// # Cardinality Limits +// +// Cardinality refers to the number of unique attributes collected. High cardinality can lead to +// excessive memory usage, increased storage costs, and backend performance issues. +// +// Currently, the OpenTelemetry Go Metric SDK does not enforce a cardinality limit by default +// (note that this may change in a future release). Use [WithCardinalityLimit] to set the +// cardinality limit as desired. +// +// New attribute sets are dropped when the cardinality limit is reached. The measurement of +// these sets are aggregated into +// a special attribute set containing attribute.Bool("otel.metric.overflow", true). +// This ensures total metric values (e.g., Sum, Count) remain correct for the +// collection cycle, but information about the specific dropped sets +// is not preserved. +// +// Recommendations: +// +// - Set the limit based on the theoretical maximum combinations or expected +// active combinations. The OpenTelemetry Specification recommends a default of 2000. +// - A too high of a limit increases worst-case memory overhead in the SDK and may cause downstream +// issues for databases that cannot handle high cardinality. +// - A too low of a limit causes loss of attribute detail as more data falls into overflow. +// // See [go.opentelemetry.io/otel/metric] for more information about // the metric API. // diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go index 549d3bd5f95..38b8745e676 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar.go @@ -58,10 +58,7 @@ func DefaultExemplarReservoirProviderSelector(agg Aggregation) exemplar.Reservoi // SimpleFixedSizeExemplarReservoir with a reservoir equal to the // smaller of the maximum number of buckets configured on the // aggregation or twenty (e.g. min(20, max_buckets)). - n = int(a.MaxSize) - if n > 20 { - n = 20 - } + n = min(int(a.MaxSize), 20) } else { // https://github.com/open-telemetry/opentelemetry-specification/blob/e94af89e3d0c01de30127a0f423e912f6cda7bed/specification/metrics/sdk.md#simplefixedsizeexemplarreservoir // This Exemplar reservoir MAY take a configuration parameter for @@ -69,11 +66,11 @@ func DefaultExemplarReservoirProviderSelector(agg Aggregation) exemplar.Reservoi // provided, the default size MAY be the number of possible // concurrent threads (e.g. number of CPUs) to help reduce // contention. Otherwise, a default size of 1 SHOULD be used. - n = runtime.NumCPU() - if n < 1 { - // Should never be the case, but be defensive. - n = 1 - } + // + // Use runtime.GOMAXPROCS instead of runtime.NumCPU to support + // containerized environments that may have less than the total number + // of logical CPUs available on the local machine allocated to it. + n = max(runtime.GOMAXPROCS(0), 1) } return exemplar.FixedSizeReservoirProvider(n) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go index b595e2acef3..b50f5c1531c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/filter.go @@ -24,11 +24,11 @@ func TraceBasedFilter(ctx context.Context) bool { } // AlwaysOnFilter is a [Filter] that always offers measurements. -func AlwaysOnFilter(ctx context.Context) bool { +func AlwaysOnFilter(context.Context) bool { return true } // AlwaysOffFilter is a [Filter] that never offers measurements. -func AlwaysOffFilter(ctx context.Context) bool { +func AlwaysOffFilter(context.Context) bool { return false } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go index 1fb1e0095fb..08e8f68fe73 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/fixed_size_reservoir.go @@ -14,7 +14,7 @@ import ( // FixedSizeReservoirProvider returns a provider of [FixedSizeReservoir]. func FixedSizeReservoirProvider(k int) ReservoirProvider { - return func(_ attribute.Set) Reservoir { + return func(attribute.Set) Reservoir { return NewFixedSizeReservoir(k) } } @@ -56,7 +56,7 @@ func newFixedSizeReservoir(s *storage) *FixedSizeReservoir { // randomFloat64 returns, as a float64, a uniform pseudo-random number in the // open interval (0.0,1.0). -func (r *FixedSizeReservoir) randomFloat64() float64 { +func (*FixedSizeReservoir) randomFloat64() float64 { // TODO: Use an algorithm that avoids rejection sampling. For example: // // const precision = 1 << 53 // 2^53 @@ -125,13 +125,11 @@ func (r *FixedSizeReservoir) Offer(ctx context.Context, t time.Time, n Value, a if int(r.count) < cap(r.store) { r.store[r.count] = newMeasurement(ctx, t, n, a) - } else { - if r.count == r.next { - // Overwrite a random existing measurement with the one offered. - idx := int(rand.Int64N(int64(cap(r.store)))) - r.store[idx] = newMeasurement(ctx, t, n, a) - r.advance() - } + } else if r.count == r.next { + // Overwrite a random existing measurement with the one offered. + idx := int(rand.Int64N(int64(cap(r.store)))) + r.store[idx] = newMeasurement(ctx, t, n, a) + r.advance() } r.count++ } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go index 3b76cf305a4..decab613e77 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/exemplar/histogram_reservoir.go @@ -16,7 +16,7 @@ import ( func HistogramReservoirProvider(bounds []float64) ReservoirProvider { cp := slices.Clone(bounds) slices.Sort(cp) - return func(_ attribute.Set) Reservoir { + return func(attribute.Set) Reservoir { return NewHistogramReservoir(cp) } } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go index 18891ed5b1a..63cccc508f4 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/instrument.go @@ -75,7 +75,7 @@ type Instrument struct { nonComparable // nolint: unused } -// IsEmpty returns if all Instrument fields are their zero-value. +// IsEmpty reports whether all Instrument fields are their zero-value. func (i Instrument) IsEmpty() bool { return i.Name == "" && i.Description == "" && @@ -204,7 +204,7 @@ func (i *int64Inst) Record(ctx context.Context, val int64, opts ...metric.Record i.aggregate(ctx, val, c.Attributes()) } -func (i *int64Inst) Enabled(_ context.Context) bool { +func (i *int64Inst) Enabled(context.Context) bool { return len(i.measures) != 0 } @@ -245,7 +245,7 @@ func (i *float64Inst) Record(ctx context.Context, val float64, opts ...metric.Re i.aggregate(ctx, val, c.Attributes()) } -func (i *float64Inst) Enabled(_ context.Context) bool { +func (i *float64Inst) Enabled(context.Context) bool { return len(i.measures) != 0 } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go index 8396faaa4ae..129920cbdd3 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/drop.go @@ -18,10 +18,10 @@ func dropReservoir[N int64 | float64](attribute.Set) FilteredExemplarReservoir[N type dropRes[N int64 | float64] struct{} // Offer does nothing, all measurements offered will be dropped. -func (r *dropRes[N]) Offer(context.Context, N, []attribute.KeyValue) {} +func (*dropRes[N]) Offer(context.Context, N, []attribute.KeyValue) {} // Collect resets dest. No exemplars will ever be returned. -func (r *dropRes[N]) Collect(dest *[]exemplar.Exemplar) { +func (*dropRes[N]) Collect(dest *[]exemplar.Exemplar) { clear(*dest) // Erase elements to let GC collect objects *dest = (*dest)[:0] } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go index ae1f5934401..857eddf305f 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/exponential_histogram.go @@ -183,8 +183,8 @@ func (p *expoHistogramDataPoint[N]) scaleChange(bin, startBin int32, length int) var count int32 for high-low >= p.maxSize { - low = low >> 1 - high = high >> 1 + low >>= 1 + high >>= 1 count++ if count > expoMaxScale-expoMinScale { return count @@ -225,7 +225,7 @@ func (b *expoBuckets) record(bin int32) { b.counts = append(b.counts, make([]uint64, newLength-len(b.counts))...) } - copy(b.counts[shift:origLen+int(shift)], b.counts[:]) + copy(b.counts[shift:origLen+int(shift)], b.counts) b.counts = b.counts[:newLength] for i := 1; i < int(shift); i++ { b.counts[i] = 0 @@ -264,7 +264,7 @@ func (b *expoBuckets) downscale(delta int32) { // new Counts: [4, 14, 30, 10] if len(b.counts) <= 1 || delta < 1 { - b.startBin = b.startBin >> delta + b.startBin >>= delta return } @@ -282,7 +282,7 @@ func (b *expoBuckets) downscale(delta int32) { lastIdx := (len(b.counts) - 1 + int(offset)) / int(steps) b.counts = b.counts[:lastIdx+1] - b.startBin = b.startBin >> delta + b.startBin >>= delta } // newExponentialHistogram returns an Aggregator that summarizes a set of @@ -350,7 +350,9 @@ func (e *expoHistogram[N]) measure( v.res.Offer(ctx, value, droppedAttr) } -func (e *expoHistogram[N]) delta(dest *metricdata.Aggregation) int { +func (e *expoHistogram[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.ExponentialHistogram, memory reuse is missed. @@ -411,7 +413,9 @@ func (e *expoHistogram[N]) delta(dest *metricdata.Aggregation) int { return n } -func (e *expoHistogram[N]) cumulative(dest *metricdata.Aggregation) int { +func (e *expoHistogram[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.ExponentialHistogram, memory reuse is missed. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go index d3068484cf1..736287e736f 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/histogram.go @@ -140,7 +140,9 @@ type histogram[N int64 | float64] struct { start time.Time } -func (s *histogram[N]) delta(dest *metricdata.Aggregation) int { +func (s *histogram[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Histogram, memory reuse is missed. In that @@ -190,7 +192,9 @@ func (s *histogram[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *histogram[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *histogram[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Histogram, memory reuse is missed. In that diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go index 350ccebdcb1..4bbe624c77c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/lastvalue.go @@ -55,7 +55,9 @@ func (s *lastValue[N]) measure(ctx context.Context, value N, fltrAttr attribute. s.values[attr.Equivalent()] = d } -func (s *lastValue[N]) delta(dest *metricdata.Aggregation) int { +func (s *lastValue[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). @@ -75,7 +77,9 @@ func (s *lastValue[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *lastValue[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *lastValue[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). @@ -126,7 +130,9 @@ type precomputedLastValue[N int64 | float64] struct { *lastValue[N] } -func (s *precomputedLastValue[N]) delta(dest *metricdata.Aggregation) int { +func (s *precomputedLastValue[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). @@ -146,7 +152,9 @@ func (s *precomputedLastValue[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *precomputedLastValue[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *precomputedLastValue[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // Ignore if dest is not a metricdata.Gauge. The chance for memory reuse of // the DataPoints is missed (better luck next time). diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go index 612cde43277..1b4b2304c0b 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/aggregate/sum.go @@ -70,7 +70,9 @@ type sum[N int64 | float64] struct { start time.Time } -func (s *sum[N]) delta(dest *metricdata.Aggregation) int { +func (s *sum[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Sum, memory reuse is missed. In that case, @@ -105,7 +107,9 @@ func (s *sum[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *sum[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *sum[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Sum, memory reuse is missed. In that case, @@ -165,7 +169,9 @@ type precomputedSum[N int64 | float64] struct { reported map[attribute.Distinct]N } -func (s *precomputedSum[N]) delta(dest *metricdata.Aggregation) int { +func (s *precomputedSum[N]) delta( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() newReported := make(map[attribute.Distinct]N) @@ -206,7 +212,9 @@ func (s *precomputedSum[N]) delta(dest *metricdata.Aggregation) int { return n } -func (s *precomputedSum[N]) cumulative(dest *metricdata.Aggregation) int { +func (s *precomputedSum[N]) cumulative( + dest *metricdata.Aggregation, //nolint:gocritic // The pointer is needed for the ComputeAggregation interface +) int { t := now() // If *dest is not a metricdata.Sum, memory reuse is missed. In that case, diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md index 59f736b733f..be0714a5f44 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/README.md @@ -1,47 +1,16 @@ # Experimental Features -The metric SDK contains features that have not yet stabilized in the OpenTelemetry specification. -These features are added to the OpenTelemetry Go metric SDK prior to stabilization in the specification so that users can start experimenting with them and provide feedback. +The Metric SDK contains features that have not yet stabilized in the OpenTelemetry specification. +These features are added to the OpenTelemetry Go Metric SDK prior to stabilization in the specification so that users can start experimenting with them and provide feedback. These feature may change in backwards incompatible ways as feedback is applied. See the [Compatibility and Stability](#compatibility-and-stability) section for more information. ## Features -- [Cardinality Limit](#cardinality-limit) - [Exemplars](#exemplars) - [Instrument Enabled](#instrument-enabled) -### Cardinality Limit - -The cardinality limit is the hard limit on the number of metric streams that can be collected for a single instrument. - -This experimental feature can be enabled by setting the `OTEL_GO_X_CARDINALITY_LIMIT` environment value. -The value must be an integer value. -All other values are ignored. - -If the value set is less than or equal to `0`, no limit will be applied. - -#### Examples - -Set the cardinality limit to 2000. - -```console -export OTEL_GO_X_CARDINALITY_LIMIT=2000 -``` - -Set an infinite cardinality limit (functionally equivalent to disabling the feature). - -```console -export OTEL_GO_X_CARDINALITY_LIMIT=-1 -``` - -Disable the cardinality limit. - -```console -unset OTEL_GO_X_CARDINALITY_LIMIT -``` - ### Exemplars A sample of measurements made may be exported directly as a set of exemplars. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go index a98606238ad..294dcf8469e 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/internal/x/x.go @@ -10,25 +10,8 @@ package x // import "go.opentelemetry.io/otel/sdk/metric/internal/x" import ( "context" "os" - "strconv" ) -// CardinalityLimit is an experimental feature flag that defines if -// cardinality limits should be applied to the recorded metric data-points. -// -// To enable this feature set the OTEL_GO_X_CARDINALITY_LIMIT environment -// variable to the integer limit value you want to use. -// -// Setting OTEL_GO_X_CARDINALITY_LIMIT to a value less than or equal to 0 -// will disable the cardinality limits. -var CardinalityLimit = newFeature("CARDINALITY_LIMIT", func(v string) (int, bool) { - n, err := strconv.Atoi(v) - if err != nil { - return 0, false - } - return n, true -}) - // Feature is an experimental feature control flag. It provides a uniform way // to interact with these feature flags and parse their values. type Feature[T any] struct { @@ -36,6 +19,7 @@ type Feature[T any] struct { parse func(v string) (T, bool) } +//nolint:unused func newFeature[T any](suffix string, parse func(string) (T, bool)) Feature[T] { const envKeyRoot = "OTEL_GO_X_" return Feature[T]{ @@ -63,7 +47,7 @@ func (f Feature[T]) Lookup() (v T, ok bool) { return f.parse(vRaw) } -// Enabled returns if the feature is enabled. +// Enabled reports whether the feature is enabled. func (f Feature[T]) Enabled() bool { _, ok := f.Lookup() return ok @@ -73,7 +57,7 @@ func (f Feature[T]) Enabled() bool { // // EnabledInstrument interface is implemented by synchronous instruments. type EnabledInstrument interface { - // Enabled returns whether the instrument will process measurements for the given context. + // Enabled reports whether the instrument will process measurements for the given context. // // This function can be used in places where measuring an instrument // would result in computationally expensive operations. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go index 96e77908665..85d3dc20768 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/manual_reader.go @@ -129,7 +129,7 @@ func (mr *ManualReader) Collect(ctx context.Context, rm *metricdata.ResourceMetr } // MarshalLog returns logging data about the ManualReader. -func (r *ManualReader) MarshalLog() interface{} { +func (r *ManualReader) MarshalLog() any { r.mu.Lock() down := r.isShutdown r.mu.Unlock() diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go index c500fd9f2ac..e0a1e90e778 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/meter.go @@ -12,7 +12,6 @@ import ( "go.opentelemetry.io/otel/metric" "go.opentelemetry.io/otel/metric/embedded" "go.opentelemetry.io/otel/sdk/instrumentation" - "go.opentelemetry.io/otel/sdk/metric/internal/aggregate" ) @@ -423,7 +422,7 @@ func (m *meter) Float64ObservableGauge( } func validateInstrumentName(name string) error { - if len(name) == 0 { + if name == "" { return fmt.Errorf("%w: %s: is empty", ErrInstrumentName, name) } if len(name) > 255 { diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go index 0a48aed74dd..f08c771a68f 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/periodic_reader.go @@ -114,7 +114,7 @@ func NewPeriodicReader(exporter Exporter, options ...PeriodicReaderOption) *Peri cancel: cancel, done: make(chan struct{}), rmPool: sync.Pool{ - New: func() interface{} { + New: func() any { return &metricdata.ResourceMetrics{} }, }, @@ -234,7 +234,7 @@ func (r *PeriodicReader) Collect(ctx context.Context, rm *metricdata.ResourceMet } // collect unwraps p as a produceHolder and returns its produce results. -func (r *PeriodicReader) collect(ctx context.Context, p interface{}, rm *metricdata.ResourceMetrics) error { +func (r *PeriodicReader) collect(ctx context.Context, p any, rm *metricdata.ResourceMetrics) error { if p == nil { return ErrReaderNotRegistered } @@ -349,7 +349,7 @@ func (r *PeriodicReader) Shutdown(ctx context.Context) error { } // MarshalLog returns logging data about the PeriodicReader. -func (r *PeriodicReader) MarshalLog() interface{} { +func (r *PeriodicReader) MarshalLog() any { r.mu.Lock() down := r.isShutdown r.mu.Unlock() diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go index 7bdb699cae0..408fddc8d4e 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/pipeline.go @@ -17,7 +17,6 @@ import ( "go.opentelemetry.io/otel/sdk/metric/exemplar" "go.opentelemetry.io/otel/sdk/metric/internal" "go.opentelemetry.io/otel/sdk/metric/internal/aggregate" - "go.opentelemetry.io/otel/sdk/metric/internal/x" "go.opentelemetry.io/otel/sdk/metric/metricdata" "go.opentelemetry.io/otel/sdk/resource" ) @@ -37,17 +36,24 @@ type instrumentSync struct { compAgg aggregate.ComputeAggregation } -func newPipeline(res *resource.Resource, reader Reader, views []View, exemplarFilter exemplar.Filter) *pipeline { +func newPipeline( + res *resource.Resource, + reader Reader, + views []View, + exemplarFilter exemplar.Filter, + cardinalityLimit int, +) *pipeline { if res == nil { res = resource.Empty() } return &pipeline{ - resource: res, - reader: reader, - views: views, - int64Measures: map[observableID[int64]][]aggregate.Measure[int64]{}, - float64Measures: map[observableID[float64]][]aggregate.Measure[float64]{}, - exemplarFilter: exemplarFilter, + resource: res, + reader: reader, + views: views, + int64Measures: map[observableID[int64]][]aggregate.Measure[int64]{}, + float64Measures: map[observableID[float64]][]aggregate.Measure[float64]{}, + exemplarFilter: exemplarFilter, + cardinalityLimit: cardinalityLimit, // aggregations is lazy allocated when needed. } } @@ -65,12 +71,13 @@ type pipeline struct { views []View sync.Mutex - int64Measures map[observableID[int64]][]aggregate.Measure[int64] - float64Measures map[observableID[float64]][]aggregate.Measure[float64] - aggregations map[instrumentation.Scope][]instrumentSync - callbacks []func(context.Context) error - multiCallbacks list.List - exemplarFilter exemplar.Filter + int64Measures map[observableID[int64]][]aggregate.Measure[int64] + float64Measures map[observableID[float64]][]aggregate.Measure[float64] + aggregations map[instrumentation.Scope][]instrumentSync + callbacks []func(context.Context) error + multiCallbacks list.List + exemplarFilter exemplar.Filter + cardinalityLimit int } // addInt64Measure adds a new int64 measure to the pipeline for each observer. @@ -388,10 +395,9 @@ func (i *inserter[N]) cachedAggregator( b.Filter = stream.AttributeFilter // A value less than or equal to zero will disable the aggregation // limits for the builder (an all the created aggregates). - // CardinalityLimit.Lookup returns 0 by default if unset (or + // cardinalityLimit will be 0 by default if unset (or // unrecognized input). Use that value directly. - b.AggregationLimit, _ = x.CardinalityLimit.Lookup() - + b.AggregationLimit = i.pipeline.cardinalityLimit in, out, err := i.aggregateFunc(b, stream.Aggregation, kind) if err != nil { return aggVal[N]{0, nil, err} @@ -426,7 +432,7 @@ func (i *inserter[N]) logConflict(id instID) { } const msg = "duplicate metric stream definitions" - args := []interface{}{ + args := []any{ "names", fmt.Sprintf("%q, %q", existing.Name, id.Name), "descriptions", fmt.Sprintf("%q, %q", existing.Description, id.Description), "kinds", fmt.Sprintf("%s, %s", existing.Kind, id.Kind), @@ -460,7 +466,7 @@ func (i *inserter[N]) logConflict(id instID) { global.Warn(msg, args...) } -func (i *inserter[N]) instID(kind InstrumentKind, stream Stream) instID { +func (*inserter[N]) instID(kind InstrumentKind, stream Stream) instID { var zero N return instID{ Name: stream.Name, @@ -590,10 +596,16 @@ func isAggregatorCompatible(kind InstrumentKind, agg Aggregation) error { // measurement. type pipelines []*pipeline -func newPipelines(res *resource.Resource, readers []Reader, views []View, exemplarFilter exemplar.Filter) pipelines { +func newPipelines( + res *resource.Resource, + readers []Reader, + views []View, + exemplarFilter exemplar.Filter, + cardinalityLimit int, +) pipelines { pipes := make([]*pipeline, 0, len(readers)) for _, r := range readers { - p := newPipeline(res, r, views, exemplarFilter) + p := newPipeline(res, r, views, exemplarFilter, cardinalityLimit) r.register(p) pipes = append(pipes, p) } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go index 2fca89e5a8e..b0a6ec58085 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/provider.go @@ -42,7 +42,7 @@ func NewMeterProvider(options ...Option) *MeterProvider { flush, sdown := conf.readerSignals() mp := &MeterProvider{ - pipes: newPipelines(conf.res, conf.readers, conf.views, conf.exemplarFilter), + pipes: newPipelines(conf.res, conf.readers, conf.views, conf.exemplarFilter, conf.cardinalityLimit), forceFlush: flush, shutdown: sdown, } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go index c96e500a2bd..5c1cea8254e 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/reader.go @@ -117,7 +117,7 @@ type produceHolder struct { type shutdownProducer struct{} // produce returns an ErrReaderShutdown error. -func (p shutdownProducer) produce(context.Context, *metricdata.ResourceMetrics) error { +func (shutdownProducer) produce(context.Context, *metricdata.ResourceMetrics) error { return ErrReaderShutdown } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/version.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/version.go index 0e5adc1a766..dd9051a76c5 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/version.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/metric/version.go @@ -5,5 +5,5 @@ package metric // import "go.opentelemetry.io/otel/sdk/metric" // version is the current release version of the metric SDK in use. func version() string { - return "1.37.0" + return "1.38.0" } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go index cefe4ab914a..3f20eb7a563 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type ( @@ -72,7 +72,7 @@ func StringDetector(schemaURL string, k attribute.Key, f func() (string, error)) // Detect returns a *Resource that describes the string as a value // corresponding to attribute.Key as well as the specific schemaURL. -func (sd stringDetector) Detect(ctx context.Context) (*Resource, error) { +func (sd stringDetector) Detect(context.Context) (*Resource, error) { value, err := sd.F() if err != nil { return nil, fmt.Errorf("%s: %w", string(sd.K), err) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/container.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/container.go index 0d8619715e6..bbe142d2031 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/container.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/container.go @@ -11,7 +11,7 @@ import ( "os" "regexp" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type containerIDProvider func() (string, error) @@ -27,7 +27,7 @@ const cgroupPath = "/proc/self/cgroup" // Detect returns a *Resource that describes the id of the container. // If no container id found, an empty resource will be returned. -func (cgroupContainerIDDetector) Detect(ctx context.Context) (*Resource, error) { +func (cgroupContainerIDDetector) Detect(context.Context) (*Resource, error) { containerID, err := containerID() if err != nil { return nil, err diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/env.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/env.go index 16a062ad8cb..4a1b017eea9 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/env.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/env.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) const ( diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go index 78190392385..5fed33d4fb6 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go @@ -8,7 +8,7 @@ import ( "errors" "strings" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type hostIDProvider func() (string, error) @@ -96,7 +96,7 @@ func (r *hostIDReaderLinux) read() (string, error) { type hostIDDetector struct{} // Detect returns a *Resource containing the platform specific host id. -func (hostIDDetector) Detect(ctx context.Context) (*Resource, error) { +func (hostIDDetector) Detect(context.Context) (*Resource, error) { hostID, err := hostID() if err != nil { return nil, err diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os.go index 01b4d27a038..51da76e807f 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os.go @@ -8,7 +8,7 @@ import ( "strings" "go.opentelemetry.io/otel/attribute" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type osDescriptionProvider func() (string, error) @@ -32,7 +32,7 @@ type ( // Detect returns a *Resource that describes the operating system type the // service is running on. -func (osTypeDetector) Detect(ctx context.Context) (*Resource, error) { +func (osTypeDetector) Detect(context.Context) (*Resource, error) { osType := runtimeOS() osTypeAttribute := mapRuntimeOSToSemconvOSType(osType) @@ -45,7 +45,7 @@ func (osTypeDetector) Detect(ctx context.Context) (*Resource, error) { // Detect returns a *Resource that describes the operating system the // service is running on. -func (osDescriptionDetector) Detect(ctx context.Context) (*Resource, error) { +func (osDescriptionDetector) Detect(context.Context) (*Resource, error) { description, err := osDescription() if err != nil { return nil, err diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go index f537e5ca5c4..7252af79fc9 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go @@ -63,12 +63,12 @@ func parseOSReleaseFile(file io.Reader) map[string]string { return values } -// skip returns true if the line is blank or starts with a '#' character, and +// skip reports whether the line is blank or starts with a '#' character, and // therefore should be skipped from processing. func skip(line string) bool { line = strings.TrimSpace(line) - return len(line) == 0 || strings.HasPrefix(line, "#") + return line == "" || strings.HasPrefix(line, "#") } // parse attempts to split the provided line on the first '=' character, and then @@ -76,7 +76,7 @@ func skip(line string) bool { func parse(line string) (string, string, bool) { k, v, found := strings.Cut(line, "=") - if !found || len(k) == 0 { + if !found || k == "" { return "", "", false } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/process.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/process.go index 6712ce80d5c..138e57721b6 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/process.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/process.go @@ -11,7 +11,7 @@ import ( "path/filepath" "runtime" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" ) type ( @@ -112,19 +112,19 @@ type ( // Detect returns a *Resource that describes the process identifier (PID) of the // executing process. -func (processPIDDetector) Detect(ctx context.Context) (*Resource, error) { +func (processPIDDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessPID(pid())), nil } // Detect returns a *Resource that describes the name of the process executable. -func (processExecutableNameDetector) Detect(ctx context.Context) (*Resource, error) { +func (processExecutableNameDetector) Detect(context.Context) (*Resource, error) { executableName := filepath.Base(commandArgs()[0]) return NewWithAttributes(semconv.SchemaURL, semconv.ProcessExecutableName(executableName)), nil } // Detect returns a *Resource that describes the full path of the process executable. -func (processExecutablePathDetector) Detect(ctx context.Context) (*Resource, error) { +func (processExecutablePathDetector) Detect(context.Context) (*Resource, error) { executablePath, err := executablePath() if err != nil { return nil, err @@ -135,13 +135,13 @@ func (processExecutablePathDetector) Detect(ctx context.Context) (*Resource, err // Detect returns a *Resource that describes all the command arguments as received // by the process. -func (processCommandArgsDetector) Detect(ctx context.Context) (*Resource, error) { +func (processCommandArgsDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessCommandArgs(commandArgs()...)), nil } // Detect returns a *Resource that describes the username of the user that owns the // process. -func (processOwnerDetector) Detect(ctx context.Context) (*Resource, error) { +func (processOwnerDetector) Detect(context.Context) (*Resource, error) { owner, err := owner() if err != nil { return nil, err @@ -152,17 +152,17 @@ func (processOwnerDetector) Detect(ctx context.Context) (*Resource, error) { // Detect returns a *Resource that describes the name of the compiler used to compile // this process image. -func (processRuntimeNameDetector) Detect(ctx context.Context) (*Resource, error) { +func (processRuntimeNameDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessRuntimeName(runtimeName())), nil } // Detect returns a *Resource that describes the version of the runtime of this process. -func (processRuntimeVersionDetector) Detect(ctx context.Context) (*Resource, error) { +func (processRuntimeVersionDetector) Detect(context.Context) (*Resource, error) { return NewWithAttributes(semconv.SchemaURL, semconv.ProcessRuntimeVersion(runtimeVersion())), nil } // Detect returns a *Resource that describes the runtime of this process. -func (processRuntimeDescriptionDetector) Detect(ctx context.Context) (*Resource, error) { +func (processRuntimeDescriptionDetector) Detect(context.Context) (*Resource, error) { runtimeDescription := fmt.Sprintf( "go version %s %s/%s", runtimeVersion(), runtimeOS(), runtimeArch()) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go index 09b91e1e1b0..28e1e4f7ebd 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/resource/resource.go @@ -112,7 +112,7 @@ func (r *Resource) String() string { } // MarshalLog is the marshaling function used by the logging system to represent this Resource. -func (r *Resource) MarshalLog() interface{} { +func (r *Resource) MarshalLog() any { return struct { Attributes attribute.Set SchemaURL string @@ -148,7 +148,7 @@ func (r *Resource) Iter() attribute.Iterator { return r.attrs.Iter() } -// Equal returns whether r and o represent the same resource. Two resources can +// Equal reports whether r and o represent the same resource. Two resources can // be equal even if they have different schema URLs. // // See the documentation on the [Resource] type for the pitfalls of using == diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go index 6966ed861e6..9bc3e525d19 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go @@ -6,24 +6,35 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace" import ( "context" "errors" + "fmt" "sync" "sync/atomic" "time" "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/internal/global" + "go.opentelemetry.io/otel/metric" + "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/internal/env" + "go.opentelemetry.io/otel/sdk/trace/internal/x" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" + "go.opentelemetry.io/otel/semconv/v1.37.0/otelconv" "go.opentelemetry.io/otel/trace" ) // Defaults for BatchSpanProcessorOptions. const ( - DefaultMaxQueueSize = 2048 - DefaultScheduleDelay = 5000 + DefaultMaxQueueSize = 2048 + // DefaultScheduleDelay is the delay interval between two consecutive exports, in milliseconds. + DefaultScheduleDelay = 5000 + // DefaultExportTimeout is the duration after which an export is cancelled, in milliseconds. DefaultExportTimeout = 30000 DefaultMaxExportBatchSize = 512 ) +var queueFull = otelconv.ErrorTypeAttr("queue_full") + // BatchSpanProcessorOption configures a BatchSpanProcessor. type BatchSpanProcessorOption func(o *BatchSpanProcessorOptions) @@ -67,6 +78,11 @@ type batchSpanProcessor struct { queue chan ReadOnlySpan dropped uint32 + selfObservabilityEnabled bool + callbackRegistration metric.Registration + spansProcessedCounter otelconv.SDKProcessorSpanProcessed + componentNameAttr attribute.KeyValue + batch []ReadOnlySpan batchMutex sync.Mutex timer *time.Timer @@ -87,11 +103,7 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO maxExportBatchSize := env.BatchSpanProcessorMaxExportBatchSize(DefaultMaxExportBatchSize) if maxExportBatchSize > maxQueueSize { - if DefaultMaxExportBatchSize > maxQueueSize { - maxExportBatchSize = maxQueueSize - } else { - maxExportBatchSize = DefaultMaxExportBatchSize - } + maxExportBatchSize = min(DefaultMaxExportBatchSize, maxQueueSize) } o := BatchSpanProcessorOptions{ @@ -112,6 +124,21 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO stopCh: make(chan struct{}), } + if x.SelfObservability.Enabled() { + bsp.selfObservabilityEnabled = true + bsp.componentNameAttr = componentName() + + var err error + bsp.spansProcessedCounter, bsp.callbackRegistration, err = newBSPObs( + bsp.componentNameAttr, + func() int64 { return int64(len(bsp.queue)) }, + int64(bsp.o.MaxQueueSize), + ) + if err != nil { + otel.Handle(err) + } + } + bsp.stopWait.Add(1) go func() { defer bsp.stopWait.Done() @@ -122,8 +149,61 @@ func NewBatchSpanProcessor(exporter SpanExporter, options ...BatchSpanProcessorO return bsp } +var processorIDCounter atomic.Int64 + +// nextProcessorID returns an identifier for this batch span processor, +// starting with 0 and incrementing by 1 each time it is called. +func nextProcessorID() int64 { + return processorIDCounter.Add(1) - 1 +} + +func componentName() attribute.KeyValue { + id := nextProcessorID() + name := fmt.Sprintf("%s/%d", otelconv.ComponentTypeBatchingSpanProcessor, id) + return semconv.OTelComponentName(name) +} + +// newBSPObs creates and returns a new set of metrics instruments and a +// registration for a BatchSpanProcessor. It is the caller's responsibility +// to unregister the registration when it is no longer needed. +func newBSPObs( + cmpnt attribute.KeyValue, + qLen func() int64, + qMax int64, +) (otelconv.SDKProcessorSpanProcessed, metric.Registration, error) { + meter := otel.GetMeterProvider().Meter( + selfObsScopeName, + metric.WithInstrumentationVersion(sdk.Version()), + metric.WithSchemaURL(semconv.SchemaURL), + ) + + qCap, err := otelconv.NewSDKProcessorSpanQueueCapacity(meter) + + qSize, e := otelconv.NewSDKProcessorSpanQueueSize(meter) + err = errors.Join(err, e) + + spansProcessed, e := otelconv.NewSDKProcessorSpanProcessed(meter) + err = errors.Join(err, e) + + cmpntT := semconv.OTelComponentTypeBatchingSpanProcessor + attrs := metric.WithAttributes(cmpnt, cmpntT) + + reg, e := meter.RegisterCallback( + func(_ context.Context, o metric.Observer) error { + o.ObserveInt64(qSize.Inst(), qLen(), attrs) + o.ObserveInt64(qCap.Inst(), qMax, attrs) + return nil + }, + qSize.Inst(), + qCap.Inst(), + ) + err = errors.Join(err, e) + + return spansProcessed, reg, err +} + // OnStart method does nothing. -func (bsp *batchSpanProcessor) OnStart(parent context.Context, s ReadWriteSpan) {} +func (*batchSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} // OnEnd method enqueues a ReadOnlySpan for later processing. func (bsp *batchSpanProcessor) OnEnd(s ReadOnlySpan) { @@ -162,6 +242,9 @@ func (bsp *batchSpanProcessor) Shutdown(ctx context.Context) error { case <-ctx.Done(): err = ctx.Err() } + if bsp.selfObservabilityEnabled { + err = errors.Join(err, bsp.callbackRegistration.Unregister()) + } }) return err } @@ -171,7 +254,7 @@ type forceFlushSpan struct { flushed chan struct{} } -func (f forceFlushSpan) SpanContext() trace.SpanContext { +func (forceFlushSpan) SpanContext() trace.SpanContext { return trace.NewSpanContext(trace.SpanContextConfig{TraceFlags: trace.FlagsSampled}) } @@ -274,6 +357,11 @@ func (bsp *batchSpanProcessor) exportSpans(ctx context.Context) error { if l := len(bsp.batch); l > 0 { global.Debug("exporting spans", "count", len(bsp.batch), "total_dropped", atomic.LoadUint32(&bsp.dropped)) + if bsp.selfObservabilityEnabled { + bsp.spansProcessedCounter.Add(ctx, int64(l), + bsp.componentNameAttr, + bsp.spansProcessedCounter.AttrComponentType(otelconv.ComponentTypeBatchingSpanProcessor)) + } err := bsp.e.ExportSpans(ctx, bsp.batch) // A new batch is always created after exporting, even if the batch failed to be exported. @@ -382,11 +470,17 @@ func (bsp *batchSpanProcessor) enqueueBlockOnQueueFull(ctx context.Context, sd R case bsp.queue <- sd: return true case <-ctx.Done(): + if bsp.selfObservabilityEnabled { + bsp.spansProcessedCounter.Add(ctx, 1, + bsp.componentNameAttr, + bsp.spansProcessedCounter.AttrComponentType(otelconv.ComponentTypeBatchingSpanProcessor), + bsp.spansProcessedCounter.AttrErrorType(queueFull)) + } return false } } -func (bsp *batchSpanProcessor) enqueueDrop(_ context.Context, sd ReadOnlySpan) bool { +func (bsp *batchSpanProcessor) enqueueDrop(ctx context.Context, sd ReadOnlySpan) bool { if !sd.SpanContext().IsSampled() { return false } @@ -396,12 +490,18 @@ func (bsp *batchSpanProcessor) enqueueDrop(_ context.Context, sd ReadOnlySpan) b return true default: atomic.AddUint32(&bsp.dropped, 1) + if bsp.selfObservabilityEnabled { + bsp.spansProcessedCounter.Add(ctx, 1, + bsp.componentNameAttr, + bsp.spansProcessedCounter.AttrComponentType(otelconv.ComponentTypeBatchingSpanProcessor), + bsp.spansProcessedCounter.AttrErrorType(queueFull)) + } } return false } // MarshalLog is the marshaling function used by the logging system to represent this Span Processor. -func (bsp *batchSpanProcessor) MarshalLog() interface{} { +func (bsp *batchSpanProcessor) MarshalLog() any { return struct { Type string SpanExporter SpanExporter diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go index 1f60524e3ee..e58e7f6ed78 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go @@ -6,5 +6,8 @@ Package trace contains support for OpenTelemetry distributed tracing. The following assumes a basic familiarity with OpenTelemetry concepts. See https://opentelemetry.io. + +See [go.opentelemetry.io/otel/sdk/trace/internal/x] for information about +the experimental features. */ package trace // import "go.opentelemetry.io/otel/sdk/trace" diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go index c8d3fb7e3cf..3649322a6e4 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/id_generator.go @@ -32,7 +32,7 @@ type randomIDGenerator struct{} var _ IDGenerator = &randomIDGenerator{} // NewSpanID returns a non-zero span ID from a randomly-chosen sequence. -func (gen *randomIDGenerator) NewSpanID(ctx context.Context, traceID trace.TraceID) trace.SpanID { +func (*randomIDGenerator) NewSpanID(context.Context, trace.TraceID) trace.SpanID { sid := trace.SpanID{} for { binary.NativeEndian.PutUint64(sid[:], rand.Uint64()) @@ -45,7 +45,7 @@ func (gen *randomIDGenerator) NewSpanID(ctx context.Context, traceID trace.Trace // NewIDs returns a non-zero trace ID and a non-zero span ID from a // randomly-chosen sequence. -func (gen *randomIDGenerator) NewIDs(ctx context.Context) (trace.TraceID, trace.SpanID) { +func (*randomIDGenerator) NewIDs(context.Context) (trace.TraceID, trace.SpanID) { tid := trace.TraceID{} sid := trace.SpanID{} for { diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/README.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/README.md new file mode 100644 index 00000000000..feec16fa64b --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/README.md @@ -0,0 +1,35 @@ +# Experimental Features + +The Trace SDK contains features that have not yet stabilized in the OpenTelemetry specification. +These features are added to the OpenTelemetry Go Trace SDK prior to stabilization in the specification so that users can start experimenting with them and provide feedback. + +These features may change in backwards incompatible ways as feedback is applied. +See the [Compatibility and Stability](#compatibility-and-stability) section for more information. + +## Features + +- [Self-Observability](#self-observability) + +### Self-Observability + +The SDK provides a self-observability feature that allows you to monitor the SDK itself. + +To opt-in, set the environment variable `OTEL_GO_X_SELF_OBSERVABILITY` to `true`. + +When enabled, the SDK will create the following metrics using the global `MeterProvider`: + +- `otel.sdk.span.live` +- `otel.sdk.span.started` + +Please see the [Semantic conventions for OpenTelemetry SDK metrics] documentation for more details on these metrics. + +[Semantic conventions for OpenTelemetry SDK metrics]: https://github.com/open-telemetry/semantic-conventions/blob/v1.36.0/docs/otel/sdk-metrics.md + +## Compatibility and Stability + +Experimental features do not fall within the scope of the OpenTelemetry Go versioning and stability [policy](../../../../VERSIONING.md). +These features may be removed or modified in successive version releases, including patch versions. + +When an experimental feature is promoted to a stable feature, a migration path will be included in the changelog entry of the release. +There is no guarantee that any environment variable feature flags that enabled the experimental feature will be supported by the stable version. +If they are supported, they may be accompanied with a deprecation notice stating a timeline for the removal of that support. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/x.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/x.go new file mode 100644 index 00000000000..2fcbbcc66ec --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/internal/x/x.go @@ -0,0 +1,63 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package x documents experimental features for [go.opentelemetry.io/otel/sdk/trace]. +package x // import "go.opentelemetry.io/otel/sdk/trace/internal/x" + +import ( + "os" + "strings" +) + +// SelfObservability is an experimental feature flag that determines if SDK +// self-observability metrics are enabled. +// +// To enable this feature set the OTEL_GO_X_SELF_OBSERVABILITY environment variable +// to the case-insensitive string value of "true" (i.e. "True" and "TRUE" +// will also enable this). +var SelfObservability = newFeature("SELF_OBSERVABILITY", func(v string) (string, bool) { + if strings.EqualFold(v, "true") { + return v, true + } + return "", false +}) + +// Feature is an experimental feature control flag. It provides a uniform way +// to interact with these feature flags and parse their values. +type Feature[T any] struct { + key string + parse func(v string) (T, bool) +} + +func newFeature[T any](suffix string, parse func(string) (T, bool)) Feature[T] { + const envKeyRoot = "OTEL_GO_X_" + return Feature[T]{ + key: envKeyRoot + suffix, + parse: parse, + } +} + +// Key returns the environment variable key that needs to be set to enable the +// feature. +func (f Feature[T]) Key() string { return f.key } + +// Lookup returns the user configured value for the feature and true if the +// user has enabled the feature. Otherwise, if the feature is not enabled, a +// zero-value and false are returned. +func (f Feature[T]) Lookup() (v T, ok bool) { + // https://github.com/open-telemetry/opentelemetry-specification/blob/62effed618589a0bec416a87e559c0a9d96289bb/specification/configuration/sdk-environment-variables.md#parsing-empty-value + // + // > The SDK MUST interpret an empty value of an environment variable the + // > same way as when the variable is unset. + vRaw := os.Getenv(f.key) + if vRaw == "" { + return v, ok + } + return f.parse(vRaw) +} + +// Enabled reports whether the feature is enabled. +func (f Feature[T]) Enabled() bool { + _, ok := f.Lookup() + return ok +} diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go index 0e2a2e7c60d..37ce2ac876a 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go @@ -5,14 +5,20 @@ package trace // import "go.opentelemetry.io/otel/sdk/trace" import ( "context" + "errors" "fmt" "sync" "sync/atomic" "go.opentelemetry.io/otel" "go.opentelemetry.io/otel/internal/global" + "go.opentelemetry.io/otel/metric" + "go.opentelemetry.io/otel/sdk" "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/resource" + "go.opentelemetry.io/otel/sdk/trace/internal/x" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" + "go.opentelemetry.io/otel/semconv/v1.37.0/otelconv" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" "go.opentelemetry.io/otel/trace/noop" @@ -20,6 +26,7 @@ import ( const ( defaultTracerName = "go.opentelemetry.io/otel/sdk/tracer" + selfObsScopeName = "go.opentelemetry.io/otel/sdk/trace" ) // tracerProviderConfig. @@ -45,7 +52,7 @@ type tracerProviderConfig struct { } // MarshalLog is the marshaling function used by the logging system to represent this Provider. -func (cfg tracerProviderConfig) MarshalLog() interface{} { +func (cfg tracerProviderConfig) MarshalLog() any { return struct { SpanProcessors []SpanProcessor SamplerType string @@ -156,8 +163,18 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T t, ok := p.namedTracer[is] if !ok { t = &tracer{ - provider: p, - instrumentationScope: is, + provider: p, + instrumentationScope: is, + selfObservabilityEnabled: x.SelfObservability.Enabled(), + } + if t.selfObservabilityEnabled { + var err error + t.spanLiveMetric, t.spanStartedMetric, err = newInst() + if err != nil { + msg := "failed to create self-observability metrics for tracer: %w" + err := fmt.Errorf(msg, err) + otel.Handle(err) + } } p.namedTracer[is] = t } @@ -184,6 +201,23 @@ func (p *TracerProvider) Tracer(name string, opts ...trace.TracerOption) trace.T return t } +func newInst() (otelconv.SDKSpanLive, otelconv.SDKSpanStarted, error) { + m := otel.GetMeterProvider().Meter( + selfObsScopeName, + metric.WithInstrumentationVersion(sdk.Version()), + metric.WithSchemaURL(semconv.SchemaURL), + ) + + var err error + spanLiveMetric, e := otelconv.NewSDKSpanLive(m) + err = errors.Join(err, e) + + spanStartedMetric, e := otelconv.NewSDKSpanStarted(m) + err = errors.Join(err, e) + + return spanLiveMetric, spanStartedMetric, err +} + // RegisterSpanProcessor adds the given SpanProcessor to the list of SpanProcessors. func (p *TracerProvider) RegisterSpanProcessor(sp SpanProcessor) { // This check prevents calls during a shutdown. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go index aa7b262d0d9..689663d48b2 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go @@ -110,14 +110,14 @@ func TraceIDRatioBased(fraction float64) Sampler { type alwaysOnSampler struct{} -func (as alwaysOnSampler) ShouldSample(p SamplingParameters) SamplingResult { +func (alwaysOnSampler) ShouldSample(p SamplingParameters) SamplingResult { return SamplingResult{ Decision: RecordAndSample, Tracestate: trace.SpanContextFromContext(p.ParentContext).TraceState(), } } -func (as alwaysOnSampler) Description() string { +func (alwaysOnSampler) Description() string { return "AlwaysOnSampler" } @@ -131,14 +131,14 @@ func AlwaysSample() Sampler { type alwaysOffSampler struct{} -func (as alwaysOffSampler) ShouldSample(p SamplingParameters) SamplingResult { +func (alwaysOffSampler) ShouldSample(p SamplingParameters) SamplingResult { return SamplingResult{ Decision: Drop, Tracestate: trace.SpanContextFromContext(p.ParentContext).TraceState(), } } -func (as alwaysOffSampler) Description() string { +func (alwaysOffSampler) Description() string { return "AlwaysOffSampler" } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go index 664e13e03f0..411d9ccdd78 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go @@ -39,7 +39,7 @@ func NewSimpleSpanProcessor(exporter SpanExporter) SpanProcessor { } // OnStart does nothing. -func (ssp *simpleSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} +func (*simpleSpanProcessor) OnStart(context.Context, ReadWriteSpan) {} // OnEnd immediately exports a ReadOnlySpan. func (ssp *simpleSpanProcessor) OnEnd(s ReadOnlySpan) { @@ -104,13 +104,13 @@ func (ssp *simpleSpanProcessor) Shutdown(ctx context.Context) error { } // ForceFlush does nothing as there is no data to flush. -func (ssp *simpleSpanProcessor) ForceFlush(context.Context) error { +func (*simpleSpanProcessor) ForceFlush(context.Context) error { return nil } // MarshalLog is the marshaling function used by the logging system to represent // this Span Processor. -func (ssp *simpleSpanProcessor) MarshalLog() interface{} { +func (ssp *simpleSpanProcessor) MarshalLog() any { return struct { Type string Exporter SpanExporter diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go index d511d0f271f..63aa337800c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/snapshot.go @@ -35,7 +35,7 @@ type snapshot struct { var _ ReadOnlySpan = snapshot{} -func (s snapshot) private() {} +func (snapshot) private() {} // Name returns the name of the span. func (s snapshot) Name() string { diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/span.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/span.go index 1785a4bbb0a..b376051fbb8 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/span.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/span.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/internal/global" "go.opentelemetry.io/otel/sdk/instrumentation" "go.opentelemetry.io/otel/sdk/resource" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" ) @@ -61,6 +61,7 @@ type ReadOnlySpan interface { InstrumentationScope() instrumentation.Scope // InstrumentationLibrary returns information about the instrumentation // library that created the span. + // // Deprecated: please use InstrumentationScope instead. InstrumentationLibrary() instrumentation.Library //nolint:staticcheck // This method needs to be define for backwards compatibility // Resource returns information about the entity that produced the span. @@ -165,7 +166,7 @@ func (s *recordingSpan) SpanContext() trace.SpanContext { return s.spanContext } -// IsRecording returns if this span is being recorded. If this span has ended +// IsRecording reports whether this span is being recorded. If this span has ended // this will return false. func (s *recordingSpan) IsRecording() bool { if s == nil { @@ -177,7 +178,7 @@ func (s *recordingSpan) IsRecording() bool { return s.isRecording() } -// isRecording returns if this span is being recorded. If this span has ended +// isRecording reports whether this span is being recorded. If this span has ended // this will return false. // // This method assumes s.mu.Lock is held by the caller. @@ -495,6 +496,16 @@ func (s *recordingSpan) End(options ...trace.SpanEndOption) { } s.mu.Unlock() + if s.tracer.selfObservabilityEnabled { + defer func() { + // Add the span to the context to ensure the metric is recorded + // with the correct span context. + ctx := trace.ContextWithSpan(context.Background(), s) + set := spanLiveSet(s.spanContext.IsSampled()) + s.tracer.spanLiveMetric.AddSet(ctx, -1, set) + }() + } + sps := s.tracer.provider.getSpanProcessors() if len(sps) == 0 { return @@ -545,7 +556,7 @@ func (s *recordingSpan) RecordError(err error, opts ...trace.EventOption) { s.addEvent(semconv.ExceptionEventName, opts...) } -func typeStr(i interface{}) string { +func typeStr(i any) string { t := reflect.TypeOf(i) if t.PkgPath() == "" && t.Name() == "" { // Likely a builtin type. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go index 0b65ae9ab70..e965c4cce86 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go @@ -7,7 +7,9 @@ import ( "context" "time" + "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/instrumentation" + "go.opentelemetry.io/otel/semconv/v1.37.0/otelconv" "go.opentelemetry.io/otel/trace" "go.opentelemetry.io/otel/trace/embedded" ) @@ -17,6 +19,10 @@ type tracer struct { provider *TracerProvider instrumentationScope instrumentation.Scope + + selfObservabilityEnabled bool + spanLiveMetric otelconv.SDKSpanLive + spanStartedMetric otelconv.SDKSpanStarted } var _ trace.Tracer = &tracer{} @@ -46,17 +52,25 @@ func (tr *tracer) Start( } s := tr.newSpan(ctx, name, &config) + newCtx := trace.ContextWithSpan(ctx, s) + if tr.selfObservabilityEnabled { + psc := trace.SpanContextFromContext(ctx) + set := spanStartedSet(psc, s) + tr.spanStartedMetric.AddSet(newCtx, 1, set) + } + if rw, ok := s.(ReadWriteSpan); ok && s.IsRecording() { sps := tr.provider.getSpanProcessors() for _, sp := range sps { + // Use original context. sp.sp.OnStart(ctx, rw) } } if rtt, ok := s.(runtimeTracer); ok { - ctx = rtt.runtimeTrace(ctx) + newCtx = rtt.runtimeTrace(newCtx) } - return trace.ContextWithSpan(ctx, s), s + return newCtx, s } type runtimeTracer interface { @@ -112,11 +126,12 @@ func (tr *tracer) newSpan(ctx context.Context, name string, config *trace.SpanCo if !isRecording(samplingResult) { return tr.newNonRecordingSpan(sc) } - return tr.newRecordingSpan(psc, sc, name, samplingResult, config) + return tr.newRecordingSpan(ctx, psc, sc, name, samplingResult, config) } // newRecordingSpan returns a new configured recordingSpan. func (tr *tracer) newRecordingSpan( + ctx context.Context, psc, sc trace.SpanContext, name string, sr SamplingResult, @@ -153,6 +168,14 @@ func (tr *tracer) newRecordingSpan( s.SetAttributes(sr.Attributes...) s.SetAttributes(config.Attributes()...) + if tr.selfObservabilityEnabled { + // Propagate any existing values from the context with the new span to + // the measurement context. + ctx = trace.ContextWithSpan(ctx, s) + set := spanLiveSet(s.spanContext.IsSampled()) + tr.spanLiveMetric.AddSet(ctx, 1, set) + } + return s } @@ -160,3 +183,112 @@ func (tr *tracer) newRecordingSpan( func (tr *tracer) newNonRecordingSpan(sc trace.SpanContext) nonRecordingSpan { return nonRecordingSpan{tracer: tr, sc: sc} } + +type parentState int + +const ( + parentStateNoParent parentState = iota + parentStateLocalParent + parentStateRemoteParent +) + +type samplingState int + +const ( + samplingStateDrop samplingState = iota + samplingStateRecordOnly + samplingStateRecordAndSample +) + +type spanStartedSetKey struct { + parent parentState + sampling samplingState +} + +var spanStartedSetCache = map[spanStartedSetKey]attribute.Set{ + {parentStateNoParent, samplingStateDrop}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginNone), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultDrop), + ), + {parentStateLocalParent, samplingStateDrop}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginLocal), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultDrop), + ), + {parentStateRemoteParent, samplingStateDrop}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginRemote), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultDrop), + ), + + {parentStateNoParent, samplingStateRecordOnly}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginNone), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordOnly), + ), + {parentStateLocalParent, samplingStateRecordOnly}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginLocal), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordOnly), + ), + {parentStateRemoteParent, samplingStateRecordOnly}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginRemote), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordOnly), + ), + + {parentStateNoParent, samplingStateRecordAndSample}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginNone), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordAndSample), + ), + {parentStateLocalParent, samplingStateRecordAndSample}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginLocal), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordAndSample), + ), + {parentStateRemoteParent, samplingStateRecordAndSample}: attribute.NewSet( + otelconv.SDKSpanStarted{}.AttrSpanParentOrigin(otelconv.SpanParentOriginRemote), + otelconv.SDKSpanStarted{}.AttrSpanSamplingResult(otelconv.SpanSamplingResultRecordAndSample), + ), +} + +func spanStartedSet(psc trace.SpanContext, span trace.Span) attribute.Set { + key := spanStartedSetKey{ + parent: parentStateNoParent, + sampling: samplingStateDrop, + } + + if psc.IsValid() { + if psc.IsRemote() { + key.parent = parentStateRemoteParent + } else { + key.parent = parentStateLocalParent + } + } + + if span.IsRecording() { + if span.SpanContext().IsSampled() { + key.sampling = samplingStateRecordAndSample + } else { + key.sampling = samplingStateRecordOnly + } + } + + return spanStartedSetCache[key] +} + +type spanLiveSetKey struct { + sampled bool +} + +var spanLiveSetCache = map[spanLiveSetKey]attribute.Set{ + {true}: attribute.NewSet( + otelconv.SDKSpanLive{}.AttrSpanSamplingResult( + otelconv.SpanSamplingResultRecordAndSample, + ), + ), + {false}: attribute.NewSet( + otelconv.SDKSpanLive{}.AttrSpanSamplingResult( + otelconv.SpanSamplingResultRecordOnly, + ), + ), +} + +func spanLiveSet(sampled bool) attribute.Set { + key := spanLiveSetKey{sampled: sampled} + return spanLiveSetCache[key] +} diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/version.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/version.go deleted file mode 100644 index b84dd2c5eef..00000000000 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/trace/version.go +++ /dev/null @@ -1,9 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package trace // import "go.opentelemetry.io/otel/sdk/trace" - -// version is the current release version of the metric SDK in use. -func version() string { - return "1.16.0-rc.1" -} diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/version.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/version.go index c0217af6b9a..7f97cc31e51 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/version.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/sdk/version.go @@ -6,5 +6,5 @@ package sdk // import "go.opentelemetry.io/otel/sdk" // Version is the current release version of the OpenTelemetry SDK in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/internal/http.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/internal/http.go index e9eb577345b..58b5eddef66 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/internal/http.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/internal/http.go @@ -104,7 +104,7 @@ func (sc *SemanticConventions) NetAttributesFromHTTPRequest( // It handles both IPv4 and IPv6 addresses. If the host portion is not recognized // as a valid IPv4 or IPv6 address, the `ip` result will be empty and the // host portion will instead be returned in `name`. -func hostIPNamePort(hostWithPort string) (ip string, name string, port int) { +func hostIPNamePort(hostWithPort string) (ip, name string, port int) { var ( hostPart, portPart string parsedPort uint64 diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md deleted file mode 100644 index 02b56115e3c..00000000000 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/MIGRATION.md +++ /dev/null @@ -1,4 +0,0 @@ - -# Migration from v1.33.0 to v1.34.0 - -The `go.opentelemetry.io/otel/semconv/v1.34.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.33.0`. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md deleted file mode 100644 index fab06c97526..00000000000 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Semconv v1.34.0 - -[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/semconv/v1.34.0)](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.34.0) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md new file mode 100644 index 00000000000..24805478952 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/MIGRATION.md @@ -0,0 +1,41 @@ + +# Migration from v1.36.0 to v1.37.0 + +The `go.opentelemetry.io/otel/semconv/v1.37.0` package should be a drop-in replacement for `go.opentelemetry.io/otel/semconv/v1.36.0` with the following exceptions. + +## Removed + +The following declarations have been removed. +Refer to the [OpenTelemetry Semantic Conventions documentation] for deprecation instructions. + +If the type is not listed in the documentation as deprecated, it has been removed in this version due to lack of applicability or use. +If you use any of these non-deprecated declarations in your Go application, please [open an issue] describing your use-case. + +- `ContainerRuntime` +- `ContainerRuntimeKey` +- `GenAIOpenAIRequestServiceTierAuto` +- `GenAIOpenAIRequestServiceTierDefault` +- `GenAIOpenAIRequestServiceTierKey` +- `GenAIOpenAIResponseServiceTier` +- `GenAIOpenAIResponseServiceTierKey` +- `GenAIOpenAIResponseSystemFingerprint` +- `GenAIOpenAIResponseSystemFingerprintKey` +- `GenAISystemAWSBedrock` +- `GenAISystemAnthropic` +- `GenAISystemAzureAIInference` +- `GenAISystemAzureAIOpenAI` +- `GenAISystemCohere` +- `GenAISystemDeepseek` +- `GenAISystemGCPGemini` +- `GenAISystemGCPGenAI` +- `GenAISystemGCPVertexAI` +- `GenAISystemGroq` +- `GenAISystemIBMWatsonxAI` +- `GenAISystemKey` +- `GenAISystemMistralAI` +- `GenAISystemOpenAI` +- `GenAISystemPerplexity` +- `GenAISystemXai` + +[OpenTelemetry Semantic Conventions documentation]: https://github.com/open-telemetry/semantic-conventions +[open an issue]: https://github.com/open-telemetry/opentelemetry-go/issues/new?template=Blank+issue diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md new file mode 100644 index 00000000000..d795247f326 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/README.md @@ -0,0 +1,3 @@ +# Semconv v1.37.0 + +[![PkgGoDev](https://pkg.go.dev/badge/go.opentelemetry.io/otel/semconv/v1.37.0)](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.37.0) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go similarity index 89% rename from cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go rename to cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go index 5b56662573a..b6b27498f2b 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/attribute_group.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/attribute_group.go @@ -3,7 +3,7 @@ // Code generated from semantic convention specification. DO NOT EDIT. -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" import "go.opentelemetry.io/otel/attribute" @@ -28,7 +28,8 @@ const ( // AndroidOSAPILevelKey is the attribute Key conforming to the // "android.os.api_level" semantic conventions. It represents the uniquely // identifies the framework API revision offered by a version (`os.version`) of - // the android operating system. More information can be found [here]. + // the android operating system. More information can be found in the + // [Android API levels documentation]. // // Type: string // RequirementLevel: Recommended @@ -36,16 +37,17 @@ const ( // // Examples: "33", "32" // - // [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels + // [Android API levels documentation]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels AndroidOSAPILevelKey = attribute.Key("android.os.api_level") ) // AndroidOSAPILevel returns an attribute KeyValue conforming to the // "android.os.api_level" semantic conventions. It represents the uniquely // identifies the framework API revision offered by a version (`os.version`) of -// the android operating system. More information can be found [here]. +// the android operating system. More information can be found in the +// [Android API levels documentation]. // -// [here]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels +// [Android API levels documentation]: https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels func AndroidOSAPILevel(val string) attribute.KeyValue { return AndroidOSAPILevelKey.String(val) } @@ -73,6 +75,18 @@ var ( // Namespace: app const ( + // AppBuildIDKey is the attribute Key conforming to the "app.build_id" semantic + // conventions. It represents the unique identifier for a particular build or + // compilation of the application. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "6cff0a7e-cefc-4668-96f5-1273d8b334d0", + // "9f2b833506aa6973a92fde9733e6271f", "my-app-1.0.0-code-123" + AppBuildIDKey = attribute.Key("app.build_id") + // AppInstallationIDKey is the attribute Key conforming to the // "app.installation.id" semantic conventions. It represents a unique identifier // representing the installation of an application on a specific device. @@ -106,16 +120,51 @@ const ( // - [App set ID]. // - [`Settings.getString(Settings.Secure.ANDROID_ID)`]. // - // More information about Android identifier best practices can be found [here] - // . + // More information about Android identifier best practices can be found in the + // [Android user data IDs guide]. // // [vendor identifier]: https://developer.apple.com/documentation/uikit/uidevice/identifierforvendor // [Firebase Installation ID]: https://firebase.google.com/docs/projects/manage-installations // [App set ID]: https://developer.android.com/identity/app-set-id // [`Settings.getString(Settings.Secure.ANDROID_ID)`]: https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID - // [here]: https://developer.android.com/training/articles/user-data-ids + // [Android user data IDs guide]: https://developer.android.com/training/articles/user-data-ids AppInstallationIDKey = attribute.Key("app.installation.id") + // AppJankFrameCountKey is the attribute Key conforming to the + // "app.jank.frame_count" semantic conventions. It represents a number of frame + // renders that experienced jank. + // + // Type: int + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 9, 42 + // Note: Depending on platform limitations, the value provided MAY be + // approximation. + AppJankFrameCountKey = attribute.Key("app.jank.frame_count") + + // AppJankPeriodKey is the attribute Key conforming to the "app.jank.period" + // semantic conventions. It represents the time period, in seconds, for which + // this jank is being reported. + // + // Type: double + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 1.0, 5.0, 10.24 + AppJankPeriodKey = attribute.Key("app.jank.period") + + // AppJankThresholdKey is the attribute Key conforming to the + // "app.jank.threshold" semantic conventions. It represents the minimum + // rendering threshold for this jank, in seconds. + // + // Type: double + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 0.016, 0.7, 1.024 + AppJankThresholdKey = attribute.Key("app.jank.threshold") + // AppScreenCoordinateXKey is the attribute Key conforming to the // "app.screen.coordinate.x" semantic conventions. It represents the x // (horizontal) coordinate of a screen coordinate, in screen pixels. @@ -164,6 +213,13 @@ const ( AppWidgetNameKey = attribute.Key("app.widget.name") ) +// AppBuildID returns an attribute KeyValue conforming to the "app.build_id" +// semantic conventions. It represents the unique identifier for a particular +// build or compilation of the application. +func AppBuildID(val string) attribute.KeyValue { + return AppBuildIDKey.String(val) +} + // AppInstallationID returns an attribute KeyValue conforming to the // "app.installation.id" semantic conventions. It represents a unique identifier // representing the installation of an application on a specific device. @@ -171,6 +227,27 @@ func AppInstallationID(val string) attribute.KeyValue { return AppInstallationIDKey.String(val) } +// AppJankFrameCount returns an attribute KeyValue conforming to the +// "app.jank.frame_count" semantic conventions. It represents a number of frame +// renders that experienced jank. +func AppJankFrameCount(val int) attribute.KeyValue { + return AppJankFrameCountKey.Int(val) +} + +// AppJankPeriod returns an attribute KeyValue conforming to the +// "app.jank.period" semantic conventions. It represents the time period, in +// seconds, for which this jank is being reported. +func AppJankPeriod(val float64) attribute.KeyValue { + return AppJankPeriodKey.Float64(val) +} + +// AppJankThreshold returns an attribute KeyValue conforming to the +// "app.jank.threshold" semantic conventions. It represents the minimum rendering +// threshold for this jank, in seconds. +func AppJankThreshold(val float64) attribute.KeyValue { + return AppJankThresholdKey.Float64(val) +} + // AppScreenCoordinateX returns an attribute KeyValue conforming to the // "app.screen.coordinate.x" semantic conventions. It represents the x // (horizontal) coordinate of a screen coordinate, in screen pixels. @@ -1525,59 +1602,14 @@ func AWSStepFunctionsStateMachineARN(val string) attribute.KeyValue { // Enum values for aws.ecs.launchtype var ( - // ec2 + // Amazon EC2 // Stability: development AWSECSLaunchtypeEC2 = AWSECSLaunchtypeKey.String("ec2") - // fargate + // Amazon Fargate // Stability: development AWSECSLaunchtypeFargate = AWSECSLaunchtypeKey.String("fargate") ) -// Namespace: az -const ( - // AzNamespaceKey is the attribute Key conforming to the "az.namespace" semantic - // conventions. It represents the [Azure Resource Provider Namespace] as - // recognized by the client. - // - // Type: string - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: "Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus" - // - // [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers - AzNamespaceKey = attribute.Key("az.namespace") - - // AzServiceRequestIDKey is the attribute Key conforming to the - // "az.service_request_id" semantic conventions. It represents the unique - // identifier of the service request. It's generated by the Azure service and - // returned with the response. - // - // Type: string - // RequirementLevel: Recommended - // Stability: Development - // - // Examples: "00000000-0000-0000-0000-000000000000" - AzServiceRequestIDKey = attribute.Key("az.service_request_id") -) - -// AzNamespace returns an attribute KeyValue conforming to the "az.namespace" -// semantic conventions. It represents the [Azure Resource Provider Namespace] as -// recognized by the client. -// -// [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers -func AzNamespace(val string) attribute.KeyValue { - return AzNamespaceKey.String(val) -} - -// AzServiceRequestID returns an attribute KeyValue conforming to the -// "az.service_request_id" semantic conventions. It represents the unique -// identifier of the service request. It's generated by the Azure service and -// returned with the response. -func AzServiceRequestID(val string) attribute.KeyValue { - return AzServiceRequestIDKey.String(val) -} - // Namespace: azure const ( // AzureClientIDKey is the attribute Key conforming to the "azure.client.id" @@ -1665,6 +1697,31 @@ const ( // // Examples: 1000, 1002 AzureCosmosDBResponseSubStatusCodeKey = attribute.Key("azure.cosmosdb.response.sub_status_code") + + // AzureResourceProviderNamespaceKey is the attribute Key conforming to the + // "azure.resource_provider.namespace" semantic conventions. It represents the + // [Azure Resource Provider Namespace] as recognized by the client. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Microsoft.Storage", "Microsoft.KeyVault", "Microsoft.ServiceBus" + // + // [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers + AzureResourceProviderNamespaceKey = attribute.Key("azure.resource_provider.namespace") + + // AzureServiceRequestIDKey is the attribute Key conforming to the + // "azure.service.request.id" semantic conventions. It represents the unique + // identifier of the service request. It's generated by the Azure service and + // returned with the response. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "00000000-0000-0000-0000-000000000000" + AzureServiceRequestIDKey = attribute.Key("azure.service.request.id") ) // AzureClientID returns an attribute KeyValue conforming to the @@ -1705,6 +1762,23 @@ func AzureCosmosDBResponseSubStatusCode(val int) attribute.KeyValue { return AzureCosmosDBResponseSubStatusCodeKey.Int(val) } +// AzureResourceProviderNamespace returns an attribute KeyValue conforming to the +// "azure.resource_provider.namespace" semantic conventions. It represents the +// [Azure Resource Provider Namespace] as recognized by the client. +// +// [Azure Resource Provider Namespace]: https://learn.microsoft.com/azure/azure-resource-manager/management/azure-services-resource-providers +func AzureResourceProviderNamespace(val string) attribute.KeyValue { + return AzureResourceProviderNamespaceKey.String(val) +} + +// AzureServiceRequestID returns an attribute KeyValue conforming to the +// "azure.service.request.id" semantic conventions. It represents the unique +// identifier of the service request. It's generated by the Azure service and +// returned with the response. +func AzureServiceRequestID(val string) attribute.KeyValue { + return AzureServiceRequestIDKey.String(val) +} + // Enum values for azure.cosmosdb.connection.mode var ( // Gateway (HTTP) connection. @@ -1717,19 +1791,19 @@ var ( // Enum values for azure.cosmosdb.consistency.level var ( - // strong + // Strong // Stability: development AzureCosmosDBConsistencyLevelStrong = AzureCosmosDBConsistencyLevelKey.String("Strong") - // bounded_staleness + // Bounded Staleness // Stability: development AzureCosmosDBConsistencyLevelBoundedStaleness = AzureCosmosDBConsistencyLevelKey.String("BoundedStaleness") - // session + // Session // Stability: development AzureCosmosDBConsistencyLevelSession = AzureCosmosDBConsistencyLevelKey.String("Session") - // eventual + // Eventual // Stability: development AzureCosmosDBConsistencyLevelEventual = AzureCosmosDBConsistencyLevelKey.String("Eventual") - // consistent_prefix + // Consistent Prefix // Stability: development AzureCosmosDBConsistencyLevelConsistentPrefix = AzureCosmosDBConsistencyLevelKey.String("ConsistentPrefix") ) @@ -1944,37 +2018,37 @@ func CassandraSpeculativeExecutionCount(val int) attribute.KeyValue { // Enum values for cassandra.consistency.level var ( - // all + // All // Stability: development CassandraConsistencyLevelAll = CassandraConsistencyLevelKey.String("all") - // each_quorum + // Each Quorum // Stability: development CassandraConsistencyLevelEachQuorum = CassandraConsistencyLevelKey.String("each_quorum") - // quorum + // Quorum // Stability: development CassandraConsistencyLevelQuorum = CassandraConsistencyLevelKey.String("quorum") - // local_quorum + // Local Quorum // Stability: development CassandraConsistencyLevelLocalQuorum = CassandraConsistencyLevelKey.String("local_quorum") - // one + // One // Stability: development CassandraConsistencyLevelOne = CassandraConsistencyLevelKey.String("one") - // two + // Two // Stability: development CassandraConsistencyLevelTwo = CassandraConsistencyLevelKey.String("two") - // three + // Three // Stability: development CassandraConsistencyLevelThree = CassandraConsistencyLevelKey.String("three") - // local_one + // Local One // Stability: development CassandraConsistencyLevelLocalOne = CassandraConsistencyLevelKey.String("local_one") - // any + // Any // Stability: development CassandraConsistencyLevelAny = CassandraConsistencyLevelKey.String("any") - // serial + // Serial // Stability: development CassandraConsistencyLevelSerial = CassandraConsistencyLevelKey.String("serial") - // local_serial + // Local Serial // Stability: development CassandraConsistencyLevelLocalSerial = CassandraConsistencyLevelKey.String("local_serial") ) @@ -2527,7 +2601,7 @@ const ( // [ARN]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html // [alias suffix]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html // [URI of the resource]: https://cloud.google.com/iam/docs/full-resource-names - // [Fully Qualified Resource ID]: https://docs.microsoft.com/rest/api/resources/resources/get-by-id + // [Fully Qualified Resource ID]: https://learn.microsoft.com/rest/api/resources/resources/get-by-id CloudResourceIDKey = attribute.Key("cloud.resource_id") ) @@ -2604,25 +2678,25 @@ var ( CloudPlatformAWSOpenShift = CloudPlatformKey.String("aws_openshift") // Azure Virtual Machines // Stability: development - CloudPlatformAzureVM = CloudPlatformKey.String("azure_vm") + CloudPlatformAzureVM = CloudPlatformKey.String("azure.vm") // Azure Container Apps // Stability: development - CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure_container_apps") + CloudPlatformAzureContainerApps = CloudPlatformKey.String("azure.container_apps") // Azure Container Instances // Stability: development - CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure_container_instances") + CloudPlatformAzureContainerInstances = CloudPlatformKey.String("azure.container_instances") // Azure Kubernetes Service // Stability: development - CloudPlatformAzureAKS = CloudPlatformKey.String("azure_aks") + CloudPlatformAzureAKS = CloudPlatformKey.String("azure.aks") // Azure Functions // Stability: development - CloudPlatformAzureFunctions = CloudPlatformKey.String("azure_functions") + CloudPlatformAzureFunctions = CloudPlatformKey.String("azure.functions") // Azure App Service // Stability: development - CloudPlatformAzureAppService = CloudPlatformKey.String("azure_app_service") + CloudPlatformAzureAppService = CloudPlatformKey.String("azure.app_service") // Azure Red Hat OpenShift // Stability: development - CloudPlatformAzureOpenShift = CloudPlatformKey.String("azure_openshift") + CloudPlatformAzureOpenShift = CloudPlatformKey.String("azure.openshift") // Google Bare Metal Solution (BMS) // Stability: development CloudPlatformGCPBareMetalSolution = CloudPlatformKey.String("gcp_bare_metal_solution") @@ -3374,16 +3448,40 @@ const ( // Examples: "opentelemetry-autoconf" ContainerNameKey = attribute.Key("container.name") - // ContainerRuntimeKey is the attribute Key conforming to the - // "container.runtime" semantic conventions. It represents the container runtime - // managing this container. + // ContainerRuntimeDescriptionKey is the attribute Key conforming to the + // "container.runtime.description" semantic conventions. It represents a + // description about the runtime which could include, for example details about + // the CRI/API version being used or other customisations. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "docker://19.3.1 - CRI: 1.22.0" + ContainerRuntimeDescriptionKey = attribute.Key("container.runtime.description") + + // ContainerRuntimeNameKey is the attribute Key conforming to the + // "container.runtime.name" semantic conventions. It represents the container + // runtime managing this container. // // Type: string // RequirementLevel: Recommended // Stability: Development // // Examples: "docker", "containerd", "rkt" - ContainerRuntimeKey = attribute.Key("container.runtime") + ContainerRuntimeNameKey = attribute.Key("container.runtime.name") + + // ContainerRuntimeVersionKey is the attribute Key conforming to the + // "container.runtime.version" semantic conventions. It represents the version + // of the runtime of this process, as returned by the runtime without + // modification. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: 1.0.0 + ContainerRuntimeVersionKey = attribute.Key("container.runtime.version") ) // ContainerCommand returns an attribute KeyValue conforming to the @@ -3467,6 +3565,13 @@ func ContainerImageTags(val ...string) attribute.KeyValue { return ContainerImageTagsKey.StringSlice(val) } +// ContainerLabel returns an attribute KeyValue conforming to the +// "container.label" semantic conventions. It represents the container labels, +// `` being the label name, the value being the label value. +func ContainerLabel(key string, val string) attribute.KeyValue { + return attribute.String("container.label."+key, val) +} + // ContainerName returns an attribute KeyValue conforming to the "container.name" // semantic conventions. It represents the container name used by container // runtime. @@ -3474,11 +3579,26 @@ func ContainerName(val string) attribute.KeyValue { return ContainerNameKey.String(val) } -// ContainerRuntime returns an attribute KeyValue conforming to the -// "container.runtime" semantic conventions. It represents the container runtime -// managing this container. -func ContainerRuntime(val string) attribute.KeyValue { - return ContainerRuntimeKey.String(val) +// ContainerRuntimeDescription returns an attribute KeyValue conforming to the +// "container.runtime.description" semantic conventions. It represents a +// description about the runtime which could include, for example details about +// the CRI/API version being used or other customisations. +func ContainerRuntimeDescription(val string) attribute.KeyValue { + return ContainerRuntimeDescriptionKey.String(val) +} + +// ContainerRuntimeName returns an attribute KeyValue conforming to the +// "container.runtime.name" semantic conventions. It represents the container +// runtime managing this container. +func ContainerRuntimeName(val string) attribute.KeyValue { + return ContainerRuntimeNameKey.String(val) +} + +// ContainerRuntimeVersion returns an attribute KeyValue conforming to the +// "container.runtime.version" semantic conventions. It represents the version of +// the runtime of this process, as returned by the runtime without modification. +func ContainerRuntimeVersion(val string) attribute.KeyValue { + return ContainerRuntimeVersionKey.String(val) } // Namespace: cpu @@ -3514,28 +3634,28 @@ func CPULogicalNumber(val int) attribute.KeyValue { // Enum values for cpu.mode var ( - // user + // User // Stability: development CPUModeUser = CPUModeKey.String("user") - // system + // System // Stability: development CPUModeSystem = CPUModeKey.String("system") - // nice + // Nice // Stability: development CPUModeNice = CPUModeKey.String("nice") - // idle + // Idle // Stability: development CPUModeIdle = CPUModeKey.String("idle") - // iowait + // IO Wait // Stability: development CPUModeIOWait = CPUModeKey.String("iowait") - // interrupt + // Interrupt // Stability: development CPUModeInterrupt = CPUModeKey.String("interrupt") - // steal + // Steal // Stability: development CPUModeSteal = CPUModeKey.String("steal") - // kernel + // Kernel // Stability: development CPUModeKernel = CPUModeKey.String("kernel") ) @@ -3794,6 +3914,22 @@ func DBOperationName(val string) attribute.KeyValue { return DBOperationNameKey.String(val) } +// DBOperationParameter returns an attribute KeyValue conforming to the +// "db.operation.parameter" semantic conventions. It represents a database +// operation parameter, with `` being the parameter name, and the attribute +// value being a string representation of the parameter value. +func DBOperationParameter(key string, val string) attribute.KeyValue { + return attribute.String("db.operation.parameter."+key, val) +} + +// DBQueryParameter returns an attribute KeyValue conforming to the +// "db.query.parameter" semantic conventions. It represents a database query +// parameter, with `` being the parameter name, and the attribute value +// being a string representation of the parameter value. +func DBQueryParameter(key string, val string) attribute.KeyValue { + return attribute.String("db.query.parameter."+key, val) +} + // DBQuerySummary returns an attribute KeyValue conforming to the // "db.query.summary" semantic conventions. It represents the low cardinality // summary of a database query. @@ -4194,8 +4330,8 @@ const ( // Hardware IDs (e.g. vendor-specific serial number, IMEI or MAC address) MAY be // used as values. // - // More information about Android identifier best practices can be found [here] - // . + // More information about Android identifier best practices can be found in the + // [Android user data IDs guide]. // // > [!WARNING]> This attribute may contain sensitive (PII) information. Caution // > should be taken when storing personal data or anything which can identify a @@ -4210,7 +4346,7 @@ const ( // > opt-in feature.> See [`app.installation.id`]> for a more // > privacy-preserving alternative. // - // [here]: https://developer.android.com/training/articles/user-data-ids + // [Android user data IDs guide]: https://developer.android.com/training/articles/user-data-ids // [`app.installation.id`]: /docs/registry/attributes/app.md#app-installation-id DeviceIDKey = attribute.Key("device.id") @@ -4308,6 +4444,17 @@ var ( // Namespace: dns const ( + // DNSAnswersKey is the attribute Key conforming to the "dns.answers" semantic + // conventions. It represents the list of IPv4 or IPv6 addresses resolved during + // DNS lookup. + // + // Type: string[] + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "10.0.0.1", "2001:0db8:85a3:0000:0000:8a2e:0370:7334" + DNSAnswersKey = attribute.Key("dns.answers") + // DNSQuestionNameKey is the attribute Key conforming to the "dns.question.name" // semantic conventions. It represents the name being queried. // @@ -4323,6 +4470,13 @@ const ( DNSQuestionNameKey = attribute.Key("dns.question.name") ) +// DNSAnswers returns an attribute KeyValue conforming to the "dns.answers" +// semantic conventions. It represents the list of IPv4 or IPv6 addresses +// resolved during DNS lookup. +func DNSAnswers(val ...string) attribute.KeyValue { + return DNSAnswersKey.StringSlice(val) +} + // DNSQuestionName returns an attribute KeyValue conforming to the // "dns.question.name" semantic conventions. It represents the name being // queried. @@ -4941,7 +5095,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "5157782b-2203-4c80-a857-dbbd5e7761db" FeatureFlagContextIDKey = attribute.Key("feature_flag.context.id") @@ -4951,7 +5105,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "logo-color" FeatureFlagKeyKey = attribute.Key("feature_flag.key") @@ -4962,7 +5116,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "Flag Manager" FeatureFlagProviderNameKey = attribute.Key("feature_flag.provider.name") @@ -4973,7 +5127,7 @@ const ( // // Type: Enum // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "static", "targeting_match", "error", "default" FeatureFlagResultReasonKey = attribute.Key("feature_flag.result.reason") @@ -4984,7 +5138,7 @@ const ( // // Type: any // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "#ff0000", true, 3 // Note: With some feature flag providers, feature flag results can be quite @@ -5004,7 +5158,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "red", "true", "on" // Note: A semantic identifier, commonly referred to as a variant, provides a @@ -5020,7 +5174,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "proj-1", "ab98sgs", "service1/dev" // @@ -5034,7 +5188,7 @@ const ( // // Type: string // RequirementLevel: Recommended - // Stability: Development + // Stability: Release_Candidate // // Examples: "1", "01ABCDEF" FeatureFlagVersionKey = attribute.Key("feature_flag.version") @@ -5088,34 +5242,34 @@ func FeatureFlagVersion(val string) attribute.KeyValue { // Enum values for feature_flag.result.reason var ( // The resolved value is static (no dynamic evaluation). - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonStatic = FeatureFlagResultReasonKey.String("static") // The resolved value fell back to a pre-configured value (no dynamic evaluation // occurred or dynamic evaluation yielded no result). - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonDefault = FeatureFlagResultReasonKey.String("default") // The resolved value was the result of a dynamic evaluation, such as a rule or // specific user-targeting. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonTargetingMatch = FeatureFlagResultReasonKey.String("targeting_match") // The resolved value was the result of pseudorandom assignment. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonSplit = FeatureFlagResultReasonKey.String("split") // The resolved value was retrieved from cache. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonCached = FeatureFlagResultReasonKey.String("cached") // The resolved value was the result of the flag being disabled in the // management system. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonDisabled = FeatureFlagResultReasonKey.String("disabled") // The reason for the resolved value could not be determined. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonUnknown = FeatureFlagResultReasonKey.String("unknown") // The resolved value is non-authoritative or possibly out of date - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonStale = FeatureFlagResultReasonKey.String("stale") // The resolved value was the result of an error. - // Stability: development + // Stability: release_candidate FeatureFlagResultReasonError = FeatureFlagResultReasonKey.String("error") ) @@ -5208,7 +5362,7 @@ const ( // RequirementLevel: Recommended // Stability: Development // - // Examples: "Zone.Identifer" + // Examples: "Zone.Identifier" // Note: On Linux, a resource fork is used to store additional data with a // filesystem object. A file always has at least one fork for the data portion, // and additional forks may exist. @@ -5863,39 +6017,41 @@ const ( // `db.*`, to further identify and describe the data source. GenAIDataSourceIDKey = attribute.Key("gen_ai.data_source.id") - // GenAIOpenAIRequestServiceTierKey is the attribute Key conforming to the - // "gen_ai.openai.request.service_tier" semantic conventions. It represents the - // service tier requested. May be a specific tier, default, or auto. + // GenAIInputMessagesKey is the attribute Key conforming to the + // "gen_ai.input.messages" semantic conventions. It represents the chat history + // provided to the model as an input. // - // Type: Enum + // Type: any // RequirementLevel: Recommended // Stability: Development // - // Examples: "auto", "default" - GenAIOpenAIRequestServiceTierKey = attribute.Key("gen_ai.openai.request.service_tier") - - // GenAIOpenAIResponseServiceTierKey is the attribute Key conforming to the - // "gen_ai.openai.response.service_tier" semantic conventions. It represents the - // service tier used for the response. + // Examples: "[\n {\n "role": "user",\n "parts": [\n {\n "type": "text",\n + // "content": "Weather in Paris?"\n }\n ]\n },\n {\n "role": "assistant",\n + // "parts": [\n {\n "type": "tool_call",\n "id": + // "call_VSPygqKTWdrhaFErNvMV18Yl",\n "name": "get_weather",\n "arguments": {\n + // "location": "Paris"\n }\n }\n ]\n },\n {\n "role": "tool",\n "parts": [\n {\n + // "type": "tool_call_response",\n "id": " call_VSPygqKTWdrhaFErNvMV18Yl",\n + // "result": "rainy, 57°F"\n }\n ]\n }\n]\n" + // Note: Instrumentations MUST follow [Input messages JSON schema]. + // When the attribute is recorded on events, it MUST be recorded in structured + // form. When recorded on spans, it MAY be recorded as a JSON string if + // structured + // format is not supported and SHOULD be recorded in structured form otherwise. // - // Type: string - // RequirementLevel: Recommended - // Stability: Development + // Messages MUST be provided in the order they were sent to the model. + // Instrumentations MAY provide a way for users to filter or truncate + // input messages. // - // Examples: "scale", "default" - GenAIOpenAIResponseServiceTierKey = attribute.Key("gen_ai.openai.response.service_tier") - - // GenAIOpenAIResponseSystemFingerprintKey is the attribute Key conforming to - // the "gen_ai.openai.response.system_fingerprint" semantic conventions. It - // represents a fingerprint to track any eventual change in the Generative AI - // environment. + // > [!Warning] + // > This attribute is likely to contain sensitive information including + // > user/PII data. // - // Type: string - // RequirementLevel: Recommended - // Stability: Development + // See [Recording content on attributes] + // section for more details. // - // Examples: "fp_44709d6fcb" - GenAIOpenAIResponseSystemFingerprintKey = attribute.Key("gen_ai.openai.response.system_fingerprint") + // [Input messages JSON schema]: /docs/gen-ai/gen-ai-input-messages.json + // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes + GenAIInputMessagesKey = attribute.Key("gen_ai.input.messages") // GenAIOperationNameKey is the attribute Key conforming to the // "gen_ai.operation.name" semantic conventions. It represents the name of the @@ -5913,6 +6069,44 @@ const ( // libraries SHOULD use applicable predefined value. GenAIOperationNameKey = attribute.Key("gen_ai.operation.name") + // GenAIOutputMessagesKey is the attribute Key conforming to the + // "gen_ai.output.messages" semantic conventions. It represents the messages + // returned by the model where each message represents a specific model response + // (choice, candidate). + // + // Type: any + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "[\n {\n "role": "assistant",\n "parts": [\n {\n "type": "text",\n + // "content": "The weather in Paris is currently rainy with a temperature of + // 57°F."\n }\n ],\n "finish_reason": "stop"\n }\n]\n" + // Note: Instrumentations MUST follow [Output messages JSON schema] + // + // Each message represents a single output choice/candidate generated by + // the model. Each message corresponds to exactly one generation + // (choice/candidate) and vice versa - one choice cannot be split across + // multiple messages or one message cannot contain parts from multiple choices. + // + // When the attribute is recorded on events, it MUST be recorded in structured + // form. When recorded on spans, it MAY be recorded as a JSON string if + // structured + // format is not supported and SHOULD be recorded in structured form otherwise. + // + // Instrumentations MAY provide a way for users to filter or truncate + // output messages. + // + // > [!Warning] + // > This attribute is likely to contain sensitive information including + // > user/PII data. + // + // See [Recording content on attributes] + // section for more details. + // + // [Output messages JSON schema]: /docs/gen-ai/gen-ai-output-messages.json + // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes + GenAIOutputMessagesKey = attribute.Key("gen_ai.output.messages") + // GenAIOutputTypeKey is the attribute Key conforming to the // "gen_ai.output.type" semantic conventions. It represents the represents the // content type requested by the client. @@ -5931,6 +6125,35 @@ const ( // `gen_ai.output.{type}.*` attributes. GenAIOutputTypeKey = attribute.Key("gen_ai.output.type") + // GenAIProviderNameKey is the attribute Key conforming to the + // "gen_ai.provider.name" semantic conventions. It represents the Generative AI + // provider as identified by the client or server instrumentation. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + // Note: The attribute SHOULD be set based on the instrumentation's best + // knowledge and may differ from the actual model provider. + // + // Multiple providers, including Azure OpenAI, Gemini, and AI hosting platforms + // are accessible using the OpenAI REST API and corresponding client libraries, + // but may proxy or host models from different providers. + // + // The `gen_ai.request.model`, `gen_ai.response.model`, and `server.address` + // attributes may help identify the actual system in use. + // + // The `gen_ai.provider.name` attribute acts as a discriminator that + // identifies the GenAI telemetry format flavor specific to that provider + // within GenAI semantic conventions. + // It SHOULD be set consistently with provider-specific attributes and signals. + // For example, GenAI spans, metrics, and events related to AWS Bedrock + // should have the `gen_ai.provider.name` set to `aws.bedrock` and include + // applicable `aws.bedrock.*` attributes and are not expected to include + // `openai.*` attributes. + GenAIProviderNameKey = attribute.Key("gen_ai.provider.name") + // GenAIRequestChoiceCountKey is the attribute Key conforming to the // "gen_ai.request.choice.count" semantic conventions. It represents the target // number of candidate completions to return. @@ -6088,31 +6311,44 @@ const ( // Examples: "gpt-4-0613" GenAIResponseModelKey = attribute.Key("gen_ai.response.model") - // GenAISystemKey is the attribute Key conforming to the "gen_ai.system" - // semantic conventions. It represents the Generative AI product as identified - // by the client or server instrumentation. + // GenAISystemInstructionsKey is the attribute Key conforming to the + // "gen_ai.system_instructions" semantic conventions. It represents the system + // message or instructions provided to the GenAI model separately from the chat + // history. // - // Type: Enum + // Type: any // RequirementLevel: Recommended // Stability: Development // - // Examples: openai - // Note: The `gen_ai.system` describes a family of GenAI models with specific - // model identified - // by `gen_ai.request.model` and `gen_ai.response.model` attributes. + // Examples: "[\n {\n "type": "text",\n "content": "You are an Agent that greet + // users, always use greetings tool to respond"\n }\n]\n", "[\n {\n "type": + // "text",\n "content": "You are a language translator."\n },\n {\n "type": + // "text",\n "content": "Your mission is to translate text in English to + // French."\n }\n]\n" + // Note: This attribute SHOULD be used when the corresponding provider or API + // allows to provide system instructions or messages separately from the + // chat history. // - // The actual GenAI product may differ from the one identified by the client. - // Multiple systems, including Azure OpenAI and Gemini, are accessible by OpenAI - // client - // libraries. In such cases, the `gen_ai.system` is set to `openai` based on the - // instrumentation's best knowledge, instead of the actual system. The - // `server.address` - // attribute may help identify the actual system in use for `openai`. + // Instructions that are part of the chat history SHOULD be recorded in + // `gen_ai.input.messages` attribute instead. // - // For custom model, a custom friendly name SHOULD be used. - // If none of these options apply, the `gen_ai.system` SHOULD be set to `_OTHER` - // . - GenAISystemKey = attribute.Key("gen_ai.system") + // Instrumentations MUST follow [System instructions JSON schema]. + // + // When recorded on spans, it MAY be recorded as a JSON string if structured + // format is not supported and SHOULD be recorded in structured form otherwise. + // + // Instrumentations MAY provide a way for users to filter or truncate + // system instructions. + // + // > [!Warning] + // > This attribute may contain sensitive information. + // + // See [Recording content on attributes] + // section for more details. + // + // [System instructions JSON schema]: /docs/gen-ai/gen-ai-system-instructions.json + // [Recording content on attributes]: /docs/gen-ai/gen-ai-spans.md#recording-content-on-attributes + GenAISystemInstructionsKey = attribute.Key("gen_ai.system_instructions") // GenAITokenTypeKey is the attribute Key conforming to the "gen_ai.token.type" // semantic conventions. It represents the type of token being counted. @@ -6237,21 +6473,6 @@ func GenAIDataSourceID(val string) attribute.KeyValue { return GenAIDataSourceIDKey.String(val) } -// GenAIOpenAIResponseServiceTier returns an attribute KeyValue conforming to the -// "gen_ai.openai.response.service_tier" semantic conventions. It represents the -// service tier used for the response. -func GenAIOpenAIResponseServiceTier(val string) attribute.KeyValue { - return GenAIOpenAIResponseServiceTierKey.String(val) -} - -// GenAIOpenAIResponseSystemFingerprint returns an attribute KeyValue conforming -// to the "gen_ai.openai.response.system_fingerprint" semantic conventions. It -// represents a fingerprint to track any eventual change in the Generative AI -// environment. -func GenAIOpenAIResponseSystemFingerprint(val string) attribute.KeyValue { - return GenAIOpenAIResponseSystemFingerprintKey.String(val) -} - // GenAIRequestChoiceCount returns an attribute KeyValue conforming to the // "gen_ai.request.choice.count" semantic conventions. It represents the target // number of candidate completions to return. @@ -6393,16 +6614,6 @@ func GenAIUsageOutputTokens(val int) attribute.KeyValue { return GenAIUsageOutputTokensKey.Int(val) } -// Enum values for gen_ai.openai.request.service_tier -var ( - // The system will utilize scale tier credits until they are exhausted. - // Stability: development - GenAIOpenAIRequestServiceTierAuto = GenAIOpenAIRequestServiceTierKey.String("auto") - // The system will utilize the default scale tier. - // Stability: development - GenAIOpenAIRequestServiceTierDefault = GenAIOpenAIRequestServiceTierKey.String("default") -) - // Enum values for gen_ai.operation.name var ( // Chat completion operation such as [OpenAI Chat API] @@ -6452,57 +6663,79 @@ var ( GenAIOutputTypeSpeech = GenAIOutputTypeKey.String("speech") ) -// Enum values for gen_ai.system +// Enum values for gen_ai.provider.name var ( - // OpenAI + // [OpenAI] // Stability: development - GenAISystemOpenAI = GenAISystemKey.String("openai") + // + // [OpenAI]: https://openai.com/ + GenAIProviderNameOpenAI = GenAIProviderNameKey.String("openai") // Any Google generative AI endpoint // Stability: development - GenAISystemGCPGenAI = GenAISystemKey.String("gcp.gen_ai") - // Vertex AI + GenAIProviderNameGCPGenAI = GenAIProviderNameKey.String("gcp.gen_ai") + // [Vertex AI] // Stability: development - GenAISystemGCPVertexAI = GenAISystemKey.String("gcp.vertex_ai") - // Gemini + // + // [Vertex AI]: https://cloud.google.com/vertex-ai + GenAIProviderNameGCPVertexAI = GenAIProviderNameKey.String("gcp.vertex_ai") + // [Gemini] // Stability: development - GenAISystemGCPGemini = GenAISystemKey.String("gcp.gemini") - // Deprecated: Use 'gcp.vertex_ai' instead. - GenAISystemVertexAI = GenAISystemKey.String("vertex_ai") - // Deprecated: Use 'gcp.gemini' instead. - GenAISystemGemini = GenAISystemKey.String("gemini") - // Anthropic + // + // [Gemini]: https://cloud.google.com/products/gemini + GenAIProviderNameGCPGemini = GenAIProviderNameKey.String("gcp.gemini") + // [Anthropic] // Stability: development - GenAISystemAnthropic = GenAISystemKey.String("anthropic") - // Cohere + // + // [Anthropic]: https://www.anthropic.com/ + GenAIProviderNameAnthropic = GenAIProviderNameKey.String("anthropic") + // [Cohere] // Stability: development - GenAISystemCohere = GenAISystemKey.String("cohere") + // + // [Cohere]: https://cohere.com/ + GenAIProviderNameCohere = GenAIProviderNameKey.String("cohere") // Azure AI Inference // Stability: development - GenAISystemAzAIInference = GenAISystemKey.String("az.ai.inference") - // Azure OpenAI + GenAIProviderNameAzureAIInference = GenAIProviderNameKey.String("azure.ai.inference") + // [Azure OpenAI] // Stability: development - GenAISystemAzAIOpenAI = GenAISystemKey.String("az.ai.openai") - // IBM Watsonx AI + // + // [Azure OpenAI]: https://azure.microsoft.com/products/ai-services/openai-service/ + GenAIProviderNameAzureAIOpenAI = GenAIProviderNameKey.String("azure.ai.openai") + // [IBM Watsonx AI] // Stability: development - GenAISystemIBMWatsonxAI = GenAISystemKey.String("ibm.watsonx.ai") - // AWS Bedrock + // + // [IBM Watsonx AI]: https://www.ibm.com/products/watsonx-ai + GenAIProviderNameIBMWatsonxAI = GenAIProviderNameKey.String("ibm.watsonx.ai") + // [AWS Bedrock] // Stability: development - GenAISystemAWSBedrock = GenAISystemKey.String("aws.bedrock") - // Perplexity + // + // [AWS Bedrock]: https://aws.amazon.com/bedrock + GenAIProviderNameAWSBedrock = GenAIProviderNameKey.String("aws.bedrock") + // [Perplexity] // Stability: development - GenAISystemPerplexity = GenAISystemKey.String("perplexity") - // xAI + // + // [Perplexity]: https://www.perplexity.ai/ + GenAIProviderNamePerplexity = GenAIProviderNameKey.String("perplexity") + // [xAI] // Stability: development - GenAISystemXai = GenAISystemKey.String("xai") - // DeepSeek + // + // [xAI]: https://x.ai/ + GenAIProviderNameXAI = GenAIProviderNameKey.String("x_ai") + // [DeepSeek] // Stability: development - GenAISystemDeepseek = GenAISystemKey.String("deepseek") - // Groq + // + // [DeepSeek]: https://www.deepseek.com/ + GenAIProviderNameDeepseek = GenAIProviderNameKey.String("deepseek") + // [Groq] // Stability: development - GenAISystemGroq = GenAISystemKey.String("groq") - // Mistral AI + // + // [Groq]: https://groq.com/ + GenAIProviderNameGroq = GenAIProviderNameKey.String("groq") + // [Mistral AI] // Stability: development - GenAISystemMistralAI = GenAISystemKey.String("mistral_ai") + // + // [Mistral AI]: https://mistral.ai/ + GenAIProviderNameMistralAI = GenAIProviderNameKey.String("mistral_ai") ) // Enum values for gen_ai.token.type @@ -6510,8 +6743,6 @@ var ( // Input tokens (prompt, input, etc.) // Stability: development GenAITokenTypeInput = GenAITokenTypeKey.String("input") - // Deprecated: Replaced by `output`. - GenAITokenTypeCompletion = GenAITokenTypeKey.String("output") // Output tokens (completion, response, etc.) // Stability: development GenAITokenTypeOutput = GenAITokenTypeKey.String("output") @@ -7312,6 +7543,14 @@ func HTTPRequestBodySize(val int) attribute.KeyValue { return HTTPRequestBodySizeKey.Int(val) } +// HTTPRequestHeader returns an attribute KeyValue conforming to the +// "http.request.header" semantic conventions. It represents the HTTP request +// headers, `` being the normalized HTTP Header name (lowercase), the value +// being the header values. +func HTTPRequestHeader(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("http.request.header."+key, val) +} + // HTTPRequestMethodOriginal returns an attribute KeyValue conforming to the // "http.request.method_original" semantic conventions. It represents the // original HTTP method sent by the client in the request line. @@ -7347,6 +7586,14 @@ func HTTPResponseBodySize(val int) attribute.KeyValue { return HTTPResponseBodySizeKey.Int(val) } +// HTTPResponseHeader returns an attribute KeyValue conforming to the +// "http.response.header" semantic conventions. It represents the HTTP response +// headers, `` being the normalized HTTP Header name (lowercase), the value +// being the header values. +func HTTPResponseHeader(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("http.response.header."+key, val) +} + // HTTPResponseSize returns an attribute KeyValue conforming to the // "http.response.size" semantic conventions. It represents the total size of the // response in bytes. This should be the total number of bytes sent over the @@ -7418,64 +7665,352 @@ var ( // Namespace: hw const ( - // HwIDKey is the attribute Key conforming to the "hw.id" semantic conventions. - // It represents an identifier for the hardware component, unique within the - // monitored host. + // HwBatteryCapacityKey is the attribute Key conforming to the + // "hw.battery.capacity" semantic conventions. It represents the design capacity + // in Watts-hours or Amper-hours. // // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: "win32battery_battery_testsysa33_1" - HwIDKey = attribute.Key("hw.id") + // Examples: "9.3Ah", "50Wh" + HwBatteryCapacityKey = attribute.Key("hw.battery.capacity") - // HwNameKey is the attribute Key conforming to the "hw.name" semantic - // conventions. It represents an easily-recognizable name for the hardware + // HwBatteryChemistryKey is the attribute Key conforming to the + // "hw.battery.chemistry" semantic conventions. It represents the battery + // [chemistry], e.g. Lithium-Ion, Nickel-Cadmium, etc. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Li-ion", "NiMH" + // + // [chemistry]: https://schemas.dmtf.org/wbem/cim-html/2.31.0/CIM_Battery.html + HwBatteryChemistryKey = attribute.Key("hw.battery.chemistry") + + // HwBatteryStateKey is the attribute Key conforming to the "hw.battery.state" + // semantic conventions. It represents the current state of the battery. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwBatteryStateKey = attribute.Key("hw.battery.state") + + // HwBiosVersionKey is the attribute Key conforming to the "hw.bios_version" + // semantic conventions. It represents the BIOS version of the hardware // component. // // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: "eth0" - HwNameKey = attribute.Key("hw.name") + // Examples: "1.2.3" + HwBiosVersionKey = attribute.Key("hw.bios_version") - // HwParentKey is the attribute Key conforming to the "hw.parent" semantic - // conventions. It represents the unique identifier of the parent component - // (typically the `hw.id` attribute of the enclosure, or disk controller). + // HwDriverVersionKey is the attribute Key conforming to the "hw.driver_version" + // semantic conventions. It represents the driver version for the hardware + // component. // // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: "dellStorage_perc_0" - HwParentKey = attribute.Key("hw.parent") + // Examples: "10.2.1-3" + HwDriverVersionKey = attribute.Key("hw.driver_version") - // HwStateKey is the attribute Key conforming to the "hw.state" semantic - // conventions. It represents the current state of the component. + // HwEnclosureTypeKey is the attribute Key conforming to the "hw.enclosure.type" + // semantic conventions. It represents the type of the enclosure (useful for + // modular systems). // - // Type: Enum + // Type: string // RequirementLevel: Recommended // Stability: Development // - // Examples: - HwStateKey = attribute.Key("hw.state") + // Examples: "Computer", "Storage", "Switch" + HwEnclosureTypeKey = attribute.Key("hw.enclosure.type") - // HwTypeKey is the attribute Key conforming to the "hw.type" semantic - // conventions. It represents the type of the component. + // HwFirmwareVersionKey is the attribute Key conforming to the + // "hw.firmware_version" semantic conventions. It represents the firmware + // version of the hardware component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "2.0.1" + HwFirmwareVersionKey = attribute.Key("hw.firmware_version") + + // HwGpuTaskKey is the attribute Key conforming to the "hw.gpu.task" semantic + // conventions. It represents the type of task the GPU is performing. // // Type: Enum // RequirementLevel: Recommended // Stability: Development // // Examples: - // Note: Describes the category of the hardware component for which `hw.state` + HwGpuTaskKey = attribute.Key("hw.gpu.task") + + // HwIDKey is the attribute Key conforming to the "hw.id" semantic conventions. + // It represents an identifier for the hardware component, unique within the + // monitored host. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "win32battery_battery_testsysa33_1" + HwIDKey = attribute.Key("hw.id") + + // HwLimitTypeKey is the attribute Key conforming to the "hw.limit_type" + // semantic conventions. It represents the type of limit for hardware + // components. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwLimitTypeKey = attribute.Key("hw.limit_type") + + // HwLogicalDiskRaidLevelKey is the attribute Key conforming to the + // "hw.logical_disk.raid_level" semantic conventions. It represents the RAID + // Level of the logical disk. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "RAID0+1", "RAID5", "RAID10" + HwLogicalDiskRaidLevelKey = attribute.Key("hw.logical_disk.raid_level") + + // HwLogicalDiskStateKey is the attribute Key conforming to the + // "hw.logical_disk.state" semantic conventions. It represents the state of the + // logical disk space usage. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwLogicalDiskStateKey = attribute.Key("hw.logical_disk.state") + + // HwMemoryTypeKey is the attribute Key conforming to the "hw.memory.type" + // semantic conventions. It represents the type of the memory module. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "DDR4", "DDR5", "LPDDR5" + HwMemoryTypeKey = attribute.Key("hw.memory.type") + + // HwModelKey is the attribute Key conforming to the "hw.model" semantic + // conventions. It represents the descriptive model name of the hardware + // component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "PERC H740P", "Intel(R) Core(TM) i7-10700K", "Dell XPS 15 Battery" + HwModelKey = attribute.Key("hw.model") + + // HwNameKey is the attribute Key conforming to the "hw.name" semantic + // conventions. It represents an easily-recognizable name for the hardware + // component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "eth0" + HwNameKey = attribute.Key("hw.name") + + // HwNetworkLogicalAddressesKey is the attribute Key conforming to the + // "hw.network.logical_addresses" semantic conventions. It represents the + // logical addresses of the adapter (e.g. IP address, or WWPN). + // + // Type: string[] + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "172.16.8.21", "57.11.193.42" + HwNetworkLogicalAddressesKey = attribute.Key("hw.network.logical_addresses") + + // HwNetworkPhysicalAddressKey is the attribute Key conforming to the + // "hw.network.physical_address" semantic conventions. It represents the + // physical address of the adapter (e.g. MAC address, or WWNN). + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "00-90-F5-E9-7B-36" + HwNetworkPhysicalAddressKey = attribute.Key("hw.network.physical_address") + + // HwParentKey is the attribute Key conforming to the "hw.parent" semantic + // conventions. It represents the unique identifier of the parent component + // (typically the `hw.id` attribute of the enclosure, or disk controller). + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "dellStorage_perc_0" + HwParentKey = attribute.Key("hw.parent") + + // HwPhysicalDiskSmartAttributeKey is the attribute Key conforming to the + // "hw.physical_disk.smart_attribute" semantic conventions. It represents the + // [S.M.A.R.T.] (Self-Monitoring, Analysis, and Reporting Technology) attribute + // of the physical disk. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Spin Retry Count", "Seek Error Rate", "Raw Read Error Rate" + // + // [S.M.A.R.T.]: https://wikipedia.org/wiki/S.M.A.R.T. + HwPhysicalDiskSmartAttributeKey = attribute.Key("hw.physical_disk.smart_attribute") + + // HwPhysicalDiskStateKey is the attribute Key conforming to the + // "hw.physical_disk.state" semantic conventions. It represents the state of the + // physical disk endurance utilization. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwPhysicalDiskStateKey = attribute.Key("hw.physical_disk.state") + + // HwPhysicalDiskTypeKey is the attribute Key conforming to the + // "hw.physical_disk.type" semantic conventions. It represents the type of the + // physical disk. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "HDD", "SSD", "10K" + HwPhysicalDiskTypeKey = attribute.Key("hw.physical_disk.type") + + // HwSensorLocationKey is the attribute Key conforming to the + // "hw.sensor_location" semantic conventions. It represents the location of the + // sensor. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "cpu0", "ps1", "INLET", "CPU0_DIE", "AMBIENT", "MOTHERBOARD", "PS0 + // V3_3", "MAIN_12V", "CPU_VCORE" + HwSensorLocationKey = attribute.Key("hw.sensor_location") + + // HwSerialNumberKey is the attribute Key conforming to the "hw.serial_number" + // semantic conventions. It represents the serial number of the hardware + // component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "CNFCP0123456789" + HwSerialNumberKey = attribute.Key("hw.serial_number") + + // HwStateKey is the attribute Key conforming to the "hw.state" semantic + // conventions. It represents the current state of the component. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwStateKey = attribute.Key("hw.state") + + // HwTapeDriveOperationTypeKey is the attribute Key conforming to the + // "hw.tape_drive.operation_type" semantic conventions. It represents the type + // of tape drive operation. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + HwTapeDriveOperationTypeKey = attribute.Key("hw.tape_drive.operation_type") + + // HwTypeKey is the attribute Key conforming to the "hw.type" semantic + // conventions. It represents the type of the component. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + // Note: Describes the category of the hardware component for which `hw.state` // is being reported. For example, `hw.type=temperature` along with // `hw.state=degraded` would indicate that the temperature of the hardware // component has been reported as `degraded`. HwTypeKey = attribute.Key("hw.type") + + // HwVendorKey is the attribute Key conforming to the "hw.vendor" semantic + // conventions. It represents the vendor name of the hardware component. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Dell", "HP", "Intel", "AMD", "LSI", "Lenovo" + HwVendorKey = attribute.Key("hw.vendor") ) +// HwBatteryCapacity returns an attribute KeyValue conforming to the +// "hw.battery.capacity" semantic conventions. It represents the design capacity +// in Watts-hours or Amper-hours. +func HwBatteryCapacity(val string) attribute.KeyValue { + return HwBatteryCapacityKey.String(val) +} + +// HwBatteryChemistry returns an attribute KeyValue conforming to the +// "hw.battery.chemistry" semantic conventions. It represents the battery +// [chemistry], e.g. Lithium-Ion, Nickel-Cadmium, etc. +// +// [chemistry]: https://schemas.dmtf.org/wbem/cim-html/2.31.0/CIM_Battery.html +func HwBatteryChemistry(val string) attribute.KeyValue { + return HwBatteryChemistryKey.String(val) +} + +// HwBiosVersion returns an attribute KeyValue conforming to the +// "hw.bios_version" semantic conventions. It represents the BIOS version of the +// hardware component. +func HwBiosVersion(val string) attribute.KeyValue { + return HwBiosVersionKey.String(val) +} + +// HwDriverVersion returns an attribute KeyValue conforming to the +// "hw.driver_version" semantic conventions. It represents the driver version for +// the hardware component. +func HwDriverVersion(val string) attribute.KeyValue { + return HwDriverVersionKey.String(val) +} + +// HwEnclosureType returns an attribute KeyValue conforming to the +// "hw.enclosure.type" semantic conventions. It represents the type of the +// enclosure (useful for modular systems). +func HwEnclosureType(val string) attribute.KeyValue { + return HwEnclosureTypeKey.String(val) +} + +// HwFirmwareVersion returns an attribute KeyValue conforming to the +// "hw.firmware_version" semantic conventions. It represents the firmware version +// of the hardware component. +func HwFirmwareVersion(val string) attribute.KeyValue { + return HwFirmwareVersionKey.String(val) +} + // HwID returns an attribute KeyValue conforming to the "hw.id" semantic // conventions. It represents an identifier for the hardware component, unique // within the monitored host. @@ -7483,6 +8018,26 @@ func HwID(val string) attribute.KeyValue { return HwIDKey.String(val) } +// HwLogicalDiskRaidLevel returns an attribute KeyValue conforming to the +// "hw.logical_disk.raid_level" semantic conventions. It represents the RAID +// Level of the logical disk. +func HwLogicalDiskRaidLevel(val string) attribute.KeyValue { + return HwLogicalDiskRaidLevelKey.String(val) +} + +// HwMemoryType returns an attribute KeyValue conforming to the "hw.memory.type" +// semantic conventions. It represents the type of the memory module. +func HwMemoryType(val string) attribute.KeyValue { + return HwMemoryTypeKey.String(val) +} + +// HwModel returns an attribute KeyValue conforming to the "hw.model" semantic +// conventions. It represents the descriptive model name of the hardware +// component. +func HwModel(val string) attribute.KeyValue { + return HwModelKey.String(val) +} + // HwName returns an attribute KeyValue conforming to the "hw.name" semantic // conventions. It represents an easily-recognizable name for the hardware // component. @@ -7490,6 +8045,20 @@ func HwName(val string) attribute.KeyValue { return HwNameKey.String(val) } +// HwNetworkLogicalAddresses returns an attribute KeyValue conforming to the +// "hw.network.logical_addresses" semantic conventions. It represents the logical +// addresses of the adapter (e.g. IP address, or WWPN). +func HwNetworkLogicalAddresses(val ...string) attribute.KeyValue { + return HwNetworkLogicalAddressesKey.StringSlice(val) +} + +// HwNetworkPhysicalAddress returns an attribute KeyValue conforming to the +// "hw.network.physical_address" semantic conventions. It represents the physical +// address of the adapter (e.g. MAC address, or WWNN). +func HwNetworkPhysicalAddress(val string) attribute.KeyValue { + return HwNetworkPhysicalAddressKey.String(val) +} + // HwParent returns an attribute KeyValue conforming to the "hw.parent" semantic // conventions. It represents the unique identifier of the parent component // (typically the `hw.id` attribute of the enclosure, or disk controller). @@ -7497,17 +8066,144 @@ func HwParent(val string) attribute.KeyValue { return HwParentKey.String(val) } -// Enum values for hw.state +// HwPhysicalDiskSmartAttribute returns an attribute KeyValue conforming to the +// "hw.physical_disk.smart_attribute" semantic conventions. It represents the +// [S.M.A.R.T.] (Self-Monitoring, Analysis, and Reporting Technology) attribute +// of the physical disk. +// +// [S.M.A.R.T.]: https://wikipedia.org/wiki/S.M.A.R.T. +func HwPhysicalDiskSmartAttribute(val string) attribute.KeyValue { + return HwPhysicalDiskSmartAttributeKey.String(val) +} + +// HwPhysicalDiskType returns an attribute KeyValue conforming to the +// "hw.physical_disk.type" semantic conventions. It represents the type of the +// physical disk. +func HwPhysicalDiskType(val string) attribute.KeyValue { + return HwPhysicalDiskTypeKey.String(val) +} + +// HwSensorLocation returns an attribute KeyValue conforming to the +// "hw.sensor_location" semantic conventions. It represents the location of the +// sensor. +func HwSensorLocation(val string) attribute.KeyValue { + return HwSensorLocationKey.String(val) +} + +// HwSerialNumber returns an attribute KeyValue conforming to the +// "hw.serial_number" semantic conventions. It represents the serial number of +// the hardware component. +func HwSerialNumber(val string) attribute.KeyValue { + return HwSerialNumberKey.String(val) +} + +// HwVendor returns an attribute KeyValue conforming to the "hw.vendor" semantic +// conventions. It represents the vendor name of the hardware component. +func HwVendor(val string) attribute.KeyValue { + return HwVendorKey.String(val) +} + +// Enum values for hw.battery.state var ( - // Ok + // Charging // Stability: development - HwStateOk = HwStateKey.String("ok") + HwBatteryStateCharging = HwBatteryStateKey.String("charging") + // Discharging + // Stability: development + HwBatteryStateDischarging = HwBatteryStateKey.String("discharging") +) + +// Enum values for hw.gpu.task +var ( + // Decoder + // Stability: development + HwGpuTaskDecoder = HwGpuTaskKey.String("decoder") + // Encoder + // Stability: development + HwGpuTaskEncoder = HwGpuTaskKey.String("encoder") + // General + // Stability: development + HwGpuTaskGeneral = HwGpuTaskKey.String("general") +) + +// Enum values for hw.limit_type +var ( + // Critical + // Stability: development + HwLimitTypeCritical = HwLimitTypeKey.String("critical") + // Degraded + // Stability: development + HwLimitTypeDegraded = HwLimitTypeKey.String("degraded") + // High Critical + // Stability: development + HwLimitTypeHighCritical = HwLimitTypeKey.String("high.critical") + // High Degraded + // Stability: development + HwLimitTypeHighDegraded = HwLimitTypeKey.String("high.degraded") + // Low Critical + // Stability: development + HwLimitTypeLowCritical = HwLimitTypeKey.String("low.critical") + // Low Degraded + // Stability: development + HwLimitTypeLowDegraded = HwLimitTypeKey.String("low.degraded") + // Maximum + // Stability: development + HwLimitTypeMax = HwLimitTypeKey.String("max") + // Throttled + // Stability: development + HwLimitTypeThrottled = HwLimitTypeKey.String("throttled") + // Turbo + // Stability: development + HwLimitTypeTurbo = HwLimitTypeKey.String("turbo") +) + +// Enum values for hw.logical_disk.state +var ( + // Used + // Stability: development + HwLogicalDiskStateUsed = HwLogicalDiskStateKey.String("used") + // Free + // Stability: development + HwLogicalDiskStateFree = HwLogicalDiskStateKey.String("free") +) + +// Enum values for hw.physical_disk.state +var ( + // Remaining + // Stability: development + HwPhysicalDiskStateRemaining = HwPhysicalDiskStateKey.String("remaining") +) + +// Enum values for hw.state +var ( // Degraded // Stability: development HwStateDegraded = HwStateKey.String("degraded") // Failed // Stability: development HwStateFailed = HwStateKey.String("failed") + // Needs Cleaning + // Stability: development + HwStateNeedsCleaning = HwStateKey.String("needs_cleaning") + // OK + // Stability: development + HwStateOk = HwStateKey.String("ok") + // Predicted Failure + // Stability: development + HwStatePredictedFailure = HwStateKey.String("predicted_failure") +) + +// Enum values for hw.tape_drive.operation_type +var ( + // Mount + // Stability: development + HwTapeDriveOperationTypeMount = HwTapeDriveOperationTypeKey.String("mount") + // Unmount + // Stability: development + HwTapeDriveOperationTypeUnmount = HwTapeDriveOperationTypeKey.String("unmount") + // Clean + // Stability: development + HwTapeDriveOperationTypeClean = HwTapeDriveOperationTypeKey.String("clean") ) // Enum values for hw.type @@ -7686,6 +8382,36 @@ const ( // Examples: "Evicted", "Error" K8SContainerStatusLastTerminatedReasonKey = attribute.Key("k8s.container.status.last_terminated_reason") + // K8SContainerStatusReasonKey is the attribute Key conforming to the + // "k8s.container.status.reason" semantic conventions. It represents the reason + // for the container state. Corresponds to the `reason` field of the: + // [K8s ContainerStateWaiting] or [K8s ContainerStateTerminated]. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "ContainerCreating", "CrashLoopBackOff", + // "CreateContainerConfigError", "ErrImagePull", "ImagePullBackOff", + // "OOMKilled", "Completed", "Error", "ContainerCannotRun" + // + // [K8s ContainerStateWaiting]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstatewaiting-v1-core + // [K8s ContainerStateTerminated]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstateterminated-v1-core + K8SContainerStatusReasonKey = attribute.Key("k8s.container.status.reason") + + // K8SContainerStatusStateKey is the attribute Key conforming to the + // "k8s.container.status.state" semantic conventions. It represents the state of + // the container. [K8s ContainerState]. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "terminated", "running", "waiting" + // + // [K8s ContainerState]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#containerstate-v1-core + K8SContainerStatusStateKey = attribute.Key("k8s.container.status.state") + // K8SCronJobNameKey is the attribute Key conforming to the "k8s.cronjob.name" // semantic conventions. It represents the name of the CronJob. // @@ -7749,6 +8475,18 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SDeploymentUIDKey = attribute.Key("k8s.deployment.uid") + // K8SHPAMetricTypeKey is the attribute Key conforming to the + // "k8s.hpa.metric.type" semantic conventions. It represents the type of metric + // source for the horizontal pod autoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Resource", "ContainerResource" + // Note: This attribute reflects the `type` field of spec.metrics[] in the HPA. + K8SHPAMetricTypeKey = attribute.Key("k8s.hpa.metric.type") + // K8SHPANameKey is the attribute Key conforming to the "k8s.hpa.name" semantic // conventions. It represents the name of the horizontal pod autoscaler. // @@ -7759,6 +8497,43 @@ const ( // Examples: "opentelemetry" K8SHPANameKey = attribute.Key("k8s.hpa.name") + // K8SHPAScaletargetrefAPIVersionKey is the attribute Key conforming to the + // "k8s.hpa.scaletargetref.api_version" semantic conventions. It represents the + // API version of the target resource to scale for the HorizontalPodAutoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "apps/v1", "autoscaling/v2" + // Note: This maps to the `apiVersion` field in the `scaleTargetRef` of the HPA + // spec. + K8SHPAScaletargetrefAPIVersionKey = attribute.Key("k8s.hpa.scaletargetref.api_version") + + // K8SHPAScaletargetrefKindKey is the attribute Key conforming to the + // "k8s.hpa.scaletargetref.kind" semantic conventions. It represents the kind of + // the target resource to scale for the HorizontalPodAutoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Deployment", "StatefulSet" + // Note: This maps to the `kind` field in the `scaleTargetRef` of the HPA spec. + K8SHPAScaletargetrefKindKey = attribute.Key("k8s.hpa.scaletargetref.kind") + + // K8SHPAScaletargetrefNameKey is the attribute Key conforming to the + // "k8s.hpa.scaletargetref.name" semantic conventions. It represents the name of + // the target resource to scale for the HorizontalPodAutoscaler. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "my-deployment", "my-statefulset" + // Note: This maps to the `name` field in the `scaleTargetRef` of the HPA spec. + K8SHPAScaletargetrefNameKey = attribute.Key("k8s.hpa.scaletargetref.name") + // K8SHPAUIDKey is the attribute Key conforming to the "k8s.hpa.uid" semantic // conventions. It represents the UID of the horizontal pod autoscaler. // @@ -7769,6 +8544,17 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SHPAUIDKey = attribute.Key("k8s.hpa.uid") + // K8SHugepageSizeKey is the attribute Key conforming to the "k8s.hugepage.size" + // semantic conventions. It represents the size (identifier) of the K8s huge + // page. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "2Mi" + K8SHugepageSizeKey = attribute.Key("k8s.hugepage.size") + // K8SJobNameKey is the attribute Key conforming to the "k8s.job.name" semantic // conventions. It represents the name of the Job. // @@ -7815,6 +8601,46 @@ const ( // [K8s NamespaceStatus]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#namespacestatus-v1-core K8SNamespacePhaseKey = attribute.Key("k8s.namespace.phase") + // K8SNodeConditionStatusKey is the attribute Key conforming to the + // "k8s.node.condition.status" semantic conventions. It represents the status of + // the condition, one of True, False, Unknown. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "true", "false", "unknown" + // Note: This attribute aligns with the `status` field of the + // [NodeCondition] + // + // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core + K8SNodeConditionStatusKey = attribute.Key("k8s.node.condition.status") + + // K8SNodeConditionTypeKey is the attribute Key conforming to the + // "k8s.node.condition.type" semantic conventions. It represents the condition + // type of a K8s Node. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "Ready", "DiskPressure" + // Note: K8s Node conditions as described + // by [K8s documentation]. + // + // This attribute aligns with the `type` field of the + // [NodeCondition] + // + // The set of possible values is not limited to those listed here. Managed + // Kubernetes environments, + // or custom controllers MAY introduce additional node condition types. + // When this occurs, the exact value as reported by the Kubernetes API SHOULD be + // used. + // + // [K8s documentation]: https://v1-32.docs.kubernetes.io/docs/reference/node/node-status/#condition + // [NodeCondition]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#nodecondition-v1-core + K8SNodeConditionTypeKey = attribute.Key("k8s.node.condition.type") + // K8SNodeNameKey is the attribute Key conforming to the "k8s.node.name" // semantic conventions. It represents the name of the Node. // @@ -7910,6 +8736,25 @@ const ( // Examples: "opentelemetry" K8SResourceQuotaNameKey = attribute.Key("k8s.resourcequota.name") + // K8SResourceQuotaResourceNameKey is the attribute Key conforming to the + // "k8s.resourcequota.resource_name" semantic conventions. It represents the + // name of the K8s resource a resource quota defines. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "count/replicationcontrollers" + // Note: The value for this attribute can be either the full + // `count/[.]` string (e.g., count/deployments.apps, + // count/pods), or, for certain core Kubernetes resources, just the resource + // name (e.g., pods, services, configmaps). Both forms are supported by + // Kubernetes for object count quotas. See + // [Kubernetes Resource Quotas documentation] for more details. + // + // [Kubernetes Resource Quotas documentation]: https://kubernetes.io/docs/concepts/policy/resource-quotas/#object-count-quota + K8SResourceQuotaResourceNameKey = attribute.Key("k8s.resourcequota.resource_name") + // K8SResourceQuotaUIDKey is the attribute Key conforming to the // "k8s.resourcequota.uid" semantic conventions. It represents the UID of the // resource quota. @@ -7943,6 +8788,19 @@ const ( // Examples: "275ecb36-5aa8-4c2a-9c47-d8bb681b9aff" K8SStatefulSetUIDKey = attribute.Key("k8s.statefulset.uid") + // K8SStorageclassNameKey is the attribute Key conforming to the + // "k8s.storageclass.name" semantic conventions. It represents the name of K8s + // [StorageClass] object. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "gold.storageclass.storage.k8s.io" + // + // [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io + K8SStorageclassNameKey = attribute.Key("k8s.storageclass.name") + // K8SVolumeNameKey is the attribute Key conforming to the "k8s.volume.name" // semantic conventions. It represents the name of the K8s volume. // @@ -8001,6 +8859,22 @@ func K8SContainerStatusLastTerminatedReason(val string) attribute.KeyValue { return K8SContainerStatusLastTerminatedReasonKey.String(val) } +// K8SCronJobAnnotation returns an attribute KeyValue conforming to the +// "k8s.cronjob.annotation" semantic conventions. It represents the cronjob +// annotation placed on the CronJob, the `` being the annotation name, the +// value being the annotation value. +func K8SCronJobAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.cronjob.annotation."+key, val) +} + +// K8SCronJobLabel returns an attribute KeyValue conforming to the +// "k8s.cronjob.label" semantic conventions. It represents the label placed on +// the CronJob, the `` being the label name, the value being the label +// value. +func K8SCronJobLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.cronjob.label."+key, val) +} + // K8SCronJobName returns an attribute KeyValue conforming to the // "k8s.cronjob.name" semantic conventions. It represents the name of the // CronJob. @@ -8014,6 +8888,22 @@ func K8SCronJobUID(val string) attribute.KeyValue { return K8SCronJobUIDKey.String(val) } +// K8SDaemonSetAnnotation returns an attribute KeyValue conforming to the +// "k8s.daemonset.annotation" semantic conventions. It represents the annotation +// placed on the DaemonSet, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SDaemonSetAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.daemonset.annotation."+key, val) +} + +// K8SDaemonSetLabel returns an attribute KeyValue conforming to the +// "k8s.daemonset.label" semantic conventions. It represents the label placed on +// the DaemonSet, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SDaemonSetLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.daemonset.label."+key, val) +} + // K8SDaemonSetName returns an attribute KeyValue conforming to the // "k8s.daemonset.name" semantic conventions. It represents the name of the // DaemonSet. @@ -8028,6 +8918,22 @@ func K8SDaemonSetUID(val string) attribute.KeyValue { return K8SDaemonSetUIDKey.String(val) } +// K8SDeploymentAnnotation returns an attribute KeyValue conforming to the +// "k8s.deployment.annotation" semantic conventions. It represents the annotation +// placed on the Deployment, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SDeploymentAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.deployment.annotation."+key, val) +} + +// K8SDeploymentLabel returns an attribute KeyValue conforming to the +// "k8s.deployment.label" semantic conventions. It represents the label placed on +// the Deployment, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SDeploymentLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.deployment.label."+key, val) +} + // K8SDeploymentName returns an attribute KeyValue conforming to the // "k8s.deployment.name" semantic conventions. It represents the name of the // Deployment. @@ -8042,18 +8948,69 @@ func K8SDeploymentUID(val string) attribute.KeyValue { return K8SDeploymentUIDKey.String(val) } +// K8SHPAMetricType returns an attribute KeyValue conforming to the +// "k8s.hpa.metric.type" semantic conventions. It represents the type of metric +// source for the horizontal pod autoscaler. +func K8SHPAMetricType(val string) attribute.KeyValue { + return K8SHPAMetricTypeKey.String(val) +} + // K8SHPAName returns an attribute KeyValue conforming to the "k8s.hpa.name" // semantic conventions. It represents the name of the horizontal pod autoscaler. func K8SHPAName(val string) attribute.KeyValue { return K8SHPANameKey.String(val) } +// K8SHPAScaletargetrefAPIVersion returns an attribute KeyValue conforming to the +// "k8s.hpa.scaletargetref.api_version" semantic conventions. It represents the +// API version of the target resource to scale for the HorizontalPodAutoscaler. +func K8SHPAScaletargetrefAPIVersion(val string) attribute.KeyValue { + return K8SHPAScaletargetrefAPIVersionKey.String(val) +} + +// K8SHPAScaletargetrefKind returns an attribute KeyValue conforming to the +// "k8s.hpa.scaletargetref.kind" semantic conventions. It represents the kind of +// the target resource to scale for the HorizontalPodAutoscaler. +func K8SHPAScaletargetrefKind(val string) attribute.KeyValue { + return K8SHPAScaletargetrefKindKey.String(val) +} + +// K8SHPAScaletargetrefName returns an attribute KeyValue conforming to the +// "k8s.hpa.scaletargetref.name" semantic conventions. It represents the name of +// the target resource to scale for the HorizontalPodAutoscaler. +func K8SHPAScaletargetrefName(val string) attribute.KeyValue { + return K8SHPAScaletargetrefNameKey.String(val) +} + // K8SHPAUID returns an attribute KeyValue conforming to the "k8s.hpa.uid" // semantic conventions. It represents the UID of the horizontal pod autoscaler. func K8SHPAUID(val string) attribute.KeyValue { return K8SHPAUIDKey.String(val) } +// K8SHugepageSize returns an attribute KeyValue conforming to the +// "k8s.hugepage.size" semantic conventions. It represents the size (identifier) +// of the K8s huge page. +func K8SHugepageSize(val string) attribute.KeyValue { + return K8SHugepageSizeKey.String(val) +} + +// K8SJobAnnotation returns an attribute KeyValue conforming to the +// "k8s.job.annotation" semantic conventions. It represents the annotation placed +// on the Job, the `` being the annotation name, the value being the +// annotation value, even if the value is empty. +func K8SJobAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.job.annotation."+key, val) +} + +// K8SJobLabel returns an attribute KeyValue conforming to the "k8s.job.label" +// semantic conventions. It represents the label placed on the Job, the `` +// being the label name, the value being the label value, even if the value is +// empty. +func K8SJobLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.job.label."+key, val) +} + // K8SJobName returns an attribute KeyValue conforming to the "k8s.job.name" // semantic conventions. It represents the name of the Job. func K8SJobName(val string) attribute.KeyValue { @@ -8066,6 +9023,22 @@ func K8SJobUID(val string) attribute.KeyValue { return K8SJobUIDKey.String(val) } +// K8SNamespaceAnnotation returns an attribute KeyValue conforming to the +// "k8s.namespace.annotation" semantic conventions. It represents the annotation +// placed on the Namespace, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SNamespaceAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.namespace.annotation."+key, val) +} + +// K8SNamespaceLabel returns an attribute KeyValue conforming to the +// "k8s.namespace.label" semantic conventions. It represents the label placed on +// the Namespace, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SNamespaceLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.namespace.label."+key, val) +} + // K8SNamespaceName returns an attribute KeyValue conforming to the // "k8s.namespace.name" semantic conventions. It represents the name of the // namespace that the pod is running in. @@ -8073,6 +9046,22 @@ func K8SNamespaceName(val string) attribute.KeyValue { return K8SNamespaceNameKey.String(val) } +// K8SNodeAnnotation returns an attribute KeyValue conforming to the +// "k8s.node.annotation" semantic conventions. It represents the annotation +// placed on the Node, the `` being the annotation name, the value being the +// annotation value, even if the value is empty. +func K8SNodeAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.node.annotation."+key, val) +} + +// K8SNodeLabel returns an attribute KeyValue conforming to the "k8s.node.label" +// semantic conventions. It represents the label placed on the Node, the `` +// being the label name, the value being the label value, even if the value is +// empty. +func K8SNodeLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.node.label."+key, val) +} + // K8SNodeName returns an attribute KeyValue conforming to the "k8s.node.name" // semantic conventions. It represents the name of the Node. func K8SNodeName(val string) attribute.KeyValue { @@ -8085,6 +9074,21 @@ func K8SNodeUID(val string) attribute.KeyValue { return K8SNodeUIDKey.String(val) } +// K8SPodAnnotation returns an attribute KeyValue conforming to the +// "k8s.pod.annotation" semantic conventions. It represents the annotation placed +// on the Pod, the `` being the annotation name, the value being the +// annotation value. +func K8SPodAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.pod.annotation."+key, val) +} + +// K8SPodLabel returns an attribute KeyValue conforming to the "k8s.pod.label" +// semantic conventions. It represents the label placed on the Pod, the `` +// being the label name, the value being the label value. +func K8SPodLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.pod.label."+key, val) +} + // K8SPodName returns an attribute KeyValue conforming to the "k8s.pod.name" // semantic conventions. It represents the name of the Pod. func K8SPodName(val string) attribute.KeyValue { @@ -8097,6 +9101,22 @@ func K8SPodUID(val string) attribute.KeyValue { return K8SPodUIDKey.String(val) } +// K8SReplicaSetAnnotation returns an attribute KeyValue conforming to the +// "k8s.replicaset.annotation" semantic conventions. It represents the annotation +// placed on the ReplicaSet, the `` being the annotation name, the value +// being the annotation value, even if the value is empty. +func K8SReplicaSetAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.replicaset.annotation."+key, val) +} + +// K8SReplicaSetLabel returns an attribute KeyValue conforming to the +// "k8s.replicaset.label" semantic conventions. It represents the label placed on +// the ReplicaSet, the `` being the label name, the value being the label +// value, even if the value is empty. +func K8SReplicaSetLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.replicaset.label."+key, val) +} + // K8SReplicaSetName returns an attribute KeyValue conforming to the // "k8s.replicaset.name" semantic conventions. It represents the name of the // ReplicaSet. @@ -8132,6 +9152,13 @@ func K8SResourceQuotaName(val string) attribute.KeyValue { return K8SResourceQuotaNameKey.String(val) } +// K8SResourceQuotaResourceName returns an attribute KeyValue conforming to the +// "k8s.resourcequota.resource_name" semantic conventions. It represents the name +// of the K8s resource a resource quota defines. +func K8SResourceQuotaResourceName(val string) attribute.KeyValue { + return K8SResourceQuotaResourceNameKey.String(val) +} + // K8SResourceQuotaUID returns an attribute KeyValue conforming to the // "k8s.resourcequota.uid" semantic conventions. It represents the UID of the // resource quota. @@ -8139,6 +9166,22 @@ func K8SResourceQuotaUID(val string) attribute.KeyValue { return K8SResourceQuotaUIDKey.String(val) } +// K8SStatefulSetAnnotation returns an attribute KeyValue conforming to the +// "k8s.statefulset.annotation" semantic conventions. It represents the +// annotation placed on the StatefulSet, the `` being the annotation name, +// the value being the annotation value, even if the value is empty. +func K8SStatefulSetAnnotation(key string, val string) attribute.KeyValue { + return attribute.String("k8s.statefulset.annotation."+key, val) +} + +// K8SStatefulSetLabel returns an attribute KeyValue conforming to the +// "k8s.statefulset.label" semantic conventions. It represents the label placed +// on the StatefulSet, the `` being the label name, the value being the +// label value, even if the value is empty. +func K8SStatefulSetLabel(key string, val string) attribute.KeyValue { + return attribute.String("k8s.statefulset.label."+key, val) +} + // K8SStatefulSetName returns an attribute KeyValue conforming to the // "k8s.statefulset.name" semantic conventions. It represents the name of the // StatefulSet. @@ -8153,6 +9196,15 @@ func K8SStatefulSetUID(val string) attribute.KeyValue { return K8SStatefulSetUIDKey.String(val) } +// K8SStorageclassName returns an attribute KeyValue conforming to the +// "k8s.storageclass.name" semantic conventions. It represents the name of K8s +// [StorageClass] object. +// +// [StorageClass]: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.30/#storageclass-v1-storage-k8s-io +func K8SStorageclassName(val string) attribute.KeyValue { + return K8SStorageclassNameKey.String(val) +} + // K8SVolumeName returns an attribute KeyValue conforming to the // "k8s.volume.name" semantic conventions. It represents the name of the K8s // volume. @@ -8160,6 +9212,50 @@ func K8SVolumeName(val string) attribute.KeyValue { return K8SVolumeNameKey.String(val) } +// Enum values for k8s.container.status.reason +var ( + // The container is being created. + // Stability: development + K8SContainerStatusReasonContainerCreating = K8SContainerStatusReasonKey.String("ContainerCreating") + // The container is in a crash loop back off state. + // Stability: development + K8SContainerStatusReasonCrashLoopBackOff = K8SContainerStatusReasonKey.String("CrashLoopBackOff") + // There was an error creating the container configuration. + // Stability: development + K8SContainerStatusReasonCreateContainerConfigError = K8SContainerStatusReasonKey.String("CreateContainerConfigError") + // There was an error pulling the container image. + // Stability: development + K8SContainerStatusReasonErrImagePull = K8SContainerStatusReasonKey.String("ErrImagePull") + // The container image pull is in back off state. + // Stability: development + K8SContainerStatusReasonImagePullBackOff = K8SContainerStatusReasonKey.String("ImagePullBackOff") + // The container was killed due to out of memory. + // Stability: development + K8SContainerStatusReasonOomKilled = K8SContainerStatusReasonKey.String("OOMKilled") + // The container has completed execution. + // Stability: development + K8SContainerStatusReasonCompleted = K8SContainerStatusReasonKey.String("Completed") + // There was an error with the container. + // Stability: development + K8SContainerStatusReasonError = K8SContainerStatusReasonKey.String("Error") + // The container cannot run. + // Stability: development + K8SContainerStatusReasonContainerCannotRun = K8SContainerStatusReasonKey.String("ContainerCannotRun") +) + +// Enum values for k8s.container.status.state +var ( + // The container has terminated. + // Stability: development + K8SContainerStatusStateTerminated = K8SContainerStatusStateKey.String("terminated") + // The container is running. + // Stability: development + K8SContainerStatusStateRunning = K8SContainerStatusStateKey.String("running") + // The container is waiting. + // Stability: development + K8SContainerStatusStateWaiting = K8SContainerStatusStateKey.String("waiting") +) + // Enum values for k8s.namespace.phase var ( // Active namespace phase as described by [K8s API] @@ -8174,6 +9270,39 @@ var ( K8SNamespacePhaseTerminating = K8SNamespacePhaseKey.String("terminating") ) +// Enum values for k8s.node.condition.status +var ( + // condition_true + // Stability: development + K8SNodeConditionStatusConditionTrue = K8SNodeConditionStatusKey.String("true") + // condition_false + // Stability: development + K8SNodeConditionStatusConditionFalse = K8SNodeConditionStatusKey.String("false") + // condition_unknown + // Stability: development + K8SNodeConditionStatusConditionUnknown = K8SNodeConditionStatusKey.String("unknown") +) + +// Enum values for k8s.node.condition.type +var ( + // The node is healthy and ready to accept pods + // Stability: development + K8SNodeConditionTypeReady = K8SNodeConditionTypeKey.String("Ready") + // Pressure exists on the disk size—that is, if the disk capacity is low + // Stability: development + K8SNodeConditionTypeDiskPressure = K8SNodeConditionTypeKey.String("DiskPressure") + // Pressure exists on the node memory—that is, if the node memory is low + // Stability: development + K8SNodeConditionTypeMemoryPressure = K8SNodeConditionTypeKey.String("MemoryPressure") + // Pressure exists on the processes—that is, if there are too many processes + // on the node + // Stability: development + K8SNodeConditionTypePIDPressure = K8SNodeConditionTypeKey.String("PIDPressure") + // The network for the node is not correctly configured + // Stability: development + K8SNodeConditionTypeNetworkUnavailable = K8SNodeConditionTypeKey.String("NetworkUnavailable") +) + // Enum values for k8s.volume.type var ( // A [persistentVolumeClaim] volume @@ -8371,6 +9500,27 @@ var ( LogIostreamStderr = LogIostreamKey.String("stderr") ) +// Namespace: mainframe +const ( + // MainframeLparNameKey is the attribute Key conforming to the + // "mainframe.lpar.name" semantic conventions. It represents the name of the + // logical partition that hosts a systems with a mainframe operating system. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "LPAR01" + MainframeLparNameKey = attribute.Key("mainframe.lpar.name") +) + +// MainframeLparName returns an attribute KeyValue conforming to the +// "mainframe.lpar.name" semantic conventions. It represents the name of the +// logical partition that hosts a systems with a mainframe operating system. +func MainframeLparName(val string) attribute.KeyValue { + return MainframeLparNameKey.String(val) +} + // Namespace: messaging const ( // MessagingBatchMessageCountKey is the attribute Key conforming to the @@ -9084,10 +10234,6 @@ var ( // // Stability: development MessagingOperationTypeSettle = MessagingOperationTypeKey.String("settle") - // Deprecated: Replaced by `process`. - MessagingOperationTypeDeliver = MessagingOperationTypeKey.String("deliver") - // Deprecated: Replaced by `send`. - MessagingOperationTypePublish = MessagingOperationTypeKey.String("publish") ) // Enum values for messaging.rocketmq.consumption_model @@ -9137,6 +10283,9 @@ var ( // Apache ActiveMQ // Stability: development MessagingSystemActiveMQ = MessagingSystemKey.String("activemq") + // Amazon Simple Notification Service (SNS) + // Stability: development + MessagingSystemAWSSNS = MessagingSystemKey.String("aws.sns") // Amazon Simple Queue Service (SQS) // Stability: development MessagingSystemAWSSQS = MessagingSystemKey.String("aws_sqs") @@ -9654,6 +10803,66 @@ func OCIManifestDigest(val string) attribute.KeyValue { return OCIManifestDigestKey.String(val) } +// Namespace: openai +const ( + // OpenAIRequestServiceTierKey is the attribute Key conforming to the + // "openai.request.service_tier" semantic conventions. It represents the service + // tier requested. May be a specific tier, default, or auto. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "auto", "default" + OpenAIRequestServiceTierKey = attribute.Key("openai.request.service_tier") + + // OpenAIResponseServiceTierKey is the attribute Key conforming to the + // "openai.response.service_tier" semantic conventions. It represents the + // service tier used for the response. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "scale", "default" + OpenAIResponseServiceTierKey = attribute.Key("openai.response.service_tier") + + // OpenAIResponseSystemFingerprintKey is the attribute Key conforming to the + // "openai.response.system_fingerprint" semantic conventions. It represents a + // fingerprint to track any eventual change in the Generative AI environment. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "fp_44709d6fcb" + OpenAIResponseSystemFingerprintKey = attribute.Key("openai.response.system_fingerprint") +) + +// OpenAIResponseServiceTier returns an attribute KeyValue conforming to the +// "openai.response.service_tier" semantic conventions. It represents the service +// tier used for the response. +func OpenAIResponseServiceTier(val string) attribute.KeyValue { + return OpenAIResponseServiceTierKey.String(val) +} + +// OpenAIResponseSystemFingerprint returns an attribute KeyValue conforming to +// the "openai.response.system_fingerprint" semantic conventions. It represents a +// fingerprint to track any eventual change in the Generative AI environment. +func OpenAIResponseSystemFingerprint(val string) attribute.KeyValue { + return OpenAIResponseSystemFingerprintKey.String(val) +} + +// Enum values for openai.request.service_tier +var ( + // The system will utilize scale tier credits until they are exhausted. + // Stability: development + OpenAIRequestServiceTierAuto = OpenAIRequestServiceTierKey.String("auto") + // The system will utilize the default scale tier. + // Stability: development + OpenAIRequestServiceTierDefault = OpenAIRequestServiceTierKey.String("default") +) + // Namespace: opentracing const ( // OpenTracingRefTypeKey is the attribute Key conforming to the @@ -9802,7 +11011,7 @@ var ( OSTypeSolaris = OSTypeKey.String("solaris") // IBM z/OS // Stability: development - OSTypeZOS = OSTypeKey.String("z_os") + OSTypeZOS = OSTypeKey.String("zos") ) // Namespace: otel @@ -9866,6 +11075,17 @@ const ( // Examples: "io.opentelemetry.contrib.mongodb" OTelScopeNameKey = attribute.Key("otel.scope.name") + // OTelScopeSchemaURLKey is the attribute Key conforming to the + // "otel.scope.schema_url" semantic conventions. It represents the schema URL of + // the instrumentation scope. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "https://opentelemetry.io/schemas/1.31.0" + OTelScopeSchemaURLKey = attribute.Key("otel.scope.schema_url") + // OTelScopeVersionKey is the attribute Key conforming to the // "otel.scope.version" semantic conventions. It represents the version of the // instrumentation scope - (`InstrumentationScope.Version` in OTLP). @@ -9877,6 +11097,20 @@ const ( // Examples: "1.0.0" OTelScopeVersionKey = attribute.Key("otel.scope.version") + // OTelSpanParentOriginKey is the attribute Key conforming to the + // "otel.span.parent.origin" semantic conventions. It represents the determines + // whether the span has a parent span, and if so, + // [whether it is a remote parent]. + // + // Type: Enum + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: + // + // [whether it is a remote parent]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + OTelSpanParentOriginKey = attribute.Key("otel.span.parent.origin") + // OTelSpanSamplingResultKey is the attribute Key conforming to the // "otel.span.sampling_result" semantic conventions. It represents the result // value of the sampler for this span. @@ -9926,6 +11160,13 @@ func OTelScopeName(val string) attribute.KeyValue { return OTelScopeNameKey.String(val) } +// OTelScopeSchemaURL returns an attribute KeyValue conforming to the +// "otel.scope.schema_url" semantic conventions. It represents the schema URL of +// the instrumentation scope. +func OTelScopeSchemaURL(val string) attribute.KeyValue { + return OTelScopeSchemaURLKey.String(val) +} + // OTelScopeVersion returns an attribute KeyValue conforming to the // "otel.scope.version" semantic conventions. It represents the version of the // instrumentation scope - (`InstrumentationScope.Version` in OTLP). @@ -9970,6 +11211,10 @@ var ( // // Stability: development OTelComponentTypeOtlpHTTPJSONSpanExporter = OTelComponentTypeKey.String("otlp_http_json_span_exporter") + // Zipkin span exporter over HTTP + // + // Stability: development + OTelComponentTypeZipkinHTTPSpanExporter = OTelComponentTypeKey.String("zipkin_http_span_exporter") // OTLP log record exporter over gRPC with protobuf serialization // // Stability: development @@ -9998,6 +11243,27 @@ var ( // // Stability: development OTelComponentTypeOtlpHTTPJSONMetricExporter = OTelComponentTypeKey.String("otlp_http_json_metric_exporter") + // Prometheus metric exporter over HTTP with the default text-based format + // + // Stability: development + OTelComponentTypePrometheusHTTPTextMetricExporter = OTelComponentTypeKey.String("prometheus_http_text_metric_exporter") +) + +// Enum values for otel.span.parent.origin +var ( + // The span does not have a parent, it is a root span + // Stability: development + OTelSpanParentOriginNone = OTelSpanParentOriginKey.String("none") + // The span has a parent and the parent's span context [isRemote()] is false + // Stability: development + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + OTelSpanParentOriginLocal = OTelSpanParentOriginKey.String("local") + // The span has a parent and the parent's span context [isRemote()] is true + // Stability: development + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + OTelSpanParentOriginRemote = OTelSpanParentOriginKey.String("remote") ) // Enum values for otel.span.sampling_result @@ -10497,6 +11763,14 @@ func ProcessCreationTime(val string) attribute.KeyValue { return ProcessCreationTimeKey.String(val) } +// ProcessEnvironmentVariable returns an attribute KeyValue conforming to the +// "process.environment_variable" semantic conventions. It represents the process +// environment variables, `` being the environment variable name, the value +// being the environment variable value. +func ProcessEnvironmentVariable(key string, val string) attribute.KeyValue { + return attribute.String("process.environment_variable."+key, val) +} + // ProcessExecutableBuildIDGNU returns an attribute KeyValue conforming to the // "process.executable.build_id.gnu" semantic conventions. It represents the GNU // build ID as found in the `.note.gnu.build-id` ELF section (hex string). @@ -10965,6 +12239,38 @@ const ( RPCSystemKey = attribute.Key("rpc.system") ) +// RPCConnectRPCRequestMetadata returns an attribute KeyValue conforming to the +// "rpc.connect_rpc.request.metadata" semantic conventions. It represents the +// connect request metadata, `` being the normalized Connect Metadata key +// (lowercase), the value being the metadata values. +func RPCConnectRPCRequestMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.connect_rpc.request.metadata."+key, val) +} + +// RPCConnectRPCResponseMetadata returns an attribute KeyValue conforming to the +// "rpc.connect_rpc.response.metadata" semantic conventions. It represents the +// connect response metadata, `` being the normalized Connect Metadata key +// (lowercase), the value being the metadata values. +func RPCConnectRPCResponseMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.connect_rpc.response.metadata."+key, val) +} + +// RPCGRPCRequestMetadata returns an attribute KeyValue conforming to the +// "rpc.grpc.request.metadata" semantic conventions. It represents the gRPC +// request metadata, `` being the normalized gRPC Metadata key (lowercase), +// the value being the metadata values. +func RPCGRPCRequestMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.grpc.request.metadata."+key, val) +} + +// RPCGRPCResponseMetadata returns an attribute KeyValue conforming to the +// "rpc.grpc.response.metadata" semantic conventions. It represents the gRPC +// response metadata, `` being the normalized gRPC Metadata key (lowercase), +// the value being the metadata values. +func RPCGRPCResponseMetadata(key string, val ...string) attribute.KeyValue { + return attribute.StringSlice("rpc.grpc.response.metadata."+key, val) +} + // RPCJSONRPCErrorCode returns an attribute KeyValue conforming to the // "rpc.jsonrpc.error_code" semantic conventions. It represents the `error.code` // property of response if it is an error response. @@ -11820,15 +13126,12 @@ var ( // Enum values for system.memory.state var ( - // used + // Actual used virtual memory in bytes. // Stability: development SystemMemoryStateUsed = SystemMemoryStateKey.String("used") // free // Stability: development SystemMemoryStateFree = SystemMemoryStateKey.String("free") - // Deprecated: Removed, report shared memory usage with - // `metric.system.memory.shared` metric. - SystemMemoryStateShared = SystemMemoryStateKey.String("shared") // buffers // Stability: development SystemMemoryStateBuffers = SystemMemoryStateKey.String("buffers") @@ -13727,8 +15030,6 @@ var ( // // [GitLab]: https://gitlab.com VCSProviderNameGitlab = VCSProviderNameKey.String("gitlab") - // Deprecated: Replaced by `gitea`. - VCSProviderNameGittea = VCSProviderNameKey.String("gittea") // [Gitea] // Stability: development // @@ -13848,4 +15149,45 @@ func WebEngineName(val string) attribute.KeyValue { // engine. func WebEngineVersion(val string) attribute.KeyValue { return WebEngineVersionKey.String(val) +} + +// Namespace: zos +const ( + // ZOSSmfIDKey is the attribute Key conforming to the "zos.smf.id" semantic + // conventions. It represents the System Management Facility (SMF) Identifier + // uniquely identified a z/OS system within a SYSPLEX or mainframe environment + // and is used for system and performance analysis. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "SYS1" + ZOSSmfIDKey = attribute.Key("zos.smf.id") + + // ZOSSysplexNameKey is the attribute Key conforming to the "zos.sysplex.name" + // semantic conventions. It represents the name of the SYSPLEX to which the z/OS + // system belongs too. + // + // Type: string + // RequirementLevel: Recommended + // Stability: Development + // + // Examples: "SYSPLEX1" + ZOSSysplexNameKey = attribute.Key("zos.sysplex.name") +) + +// ZOSSmfID returns an attribute KeyValue conforming to the "zos.smf.id" semantic +// conventions. It represents the System Management Facility (SMF) Identifier +// uniquely identified a z/OS system within a SYSPLEX or mainframe environment +// and is used for system and performance analysis. +func ZOSSmfID(val string) attribute.KeyValue { + return ZOSSmfIDKey.String(val) +} + +// ZOSSysplexName returns an attribute KeyValue conforming to the +// "zos.sysplex.name" semantic conventions. It represents the name of the SYSPLEX +// to which the z/OS system belongs too. +func ZOSSysplexName(val string) attribute.KeyValue { + return ZOSSysplexNameKey.String(val) } \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go similarity index 96% rename from cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go rename to cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go index 2c5c7ebd041..11101032107 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/doc.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/doc.go @@ -4,6 +4,6 @@ // Package semconv implements OpenTelemetry semantic conventions. // // OpenTelemetry semantic conventions are agreed standardized naming -// patterns for OpenTelemetry things. This package represents the v1.34.0 +// patterns for OpenTelemetry things. This package represents the v1.37.0 // version of the OpenTelemetry semantic conventions. -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go new file mode 100644 index 00000000000..666bded4baf --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go @@ -0,0 +1,31 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" + +import ( + "fmt" + "reflect" + + "go.opentelemetry.io/otel/attribute" +) + +// ErrorType returns an [attribute.KeyValue] identifying the error type of err. +func ErrorType(err error) attribute.KeyValue { + if err == nil { + return ErrorTypeOther + } + t := reflect.TypeOf(err) + var value string + if t.PkgPath() == "" && t.Name() == "" { + // Likely a builtin type. + value = t.String() + } else { + value = fmt.Sprintf("%s.%s", t.PkgPath(), t.Name()) + } + + if value == "" { + return ErrorTypeOther + } + return ErrorTypeKey.String(value) +} diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go similarity index 98% rename from cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go rename to cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go index 88a998f1e56..e67469a4f69 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/exception.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/exception.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" const ( // ExceptionEventName is the name of the Span event representing an exception. diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/otelconv/metric.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/otelconv/metric.go new file mode 100644 index 00000000000..a78eafd1fa3 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/otelconv/metric.go @@ -0,0 +1,2126 @@ +// Code generated from semantic convention specification. DO NOT EDIT. + +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Package httpconv provides types and functionality for OpenTelemetry semantic +// conventions in the "otel" namespace. +package otelconv + +import ( + "context" + "sync" + + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/metric" + "go.opentelemetry.io/otel/metric/noop" +) + +var ( + addOptPool = &sync.Pool{New: func() any { return &[]metric.AddOption{} }} + recOptPool = &sync.Pool{New: func() any { return &[]metric.RecordOption{} }} +) + +// ErrorTypeAttr is an attribute conforming to the error.type semantic +// conventions. It represents the describes a class of error the operation ended +// with. +type ErrorTypeAttr string + +var ( + // ErrorTypeOther is a fallback error value to be used when the instrumentation + // doesn't define a custom value. + ErrorTypeOther ErrorTypeAttr = "_OTHER" +) + +// ComponentTypeAttr is an attribute conforming to the otel.component.type +// semantic conventions. It represents a name identifying the type of the +// OpenTelemetry component. +type ComponentTypeAttr string + +var ( + // ComponentTypeBatchingSpanProcessor is the builtin SDK batching span + // processor. + ComponentTypeBatchingSpanProcessor ComponentTypeAttr = "batching_span_processor" + // ComponentTypeSimpleSpanProcessor is the builtin SDK simple span processor. + ComponentTypeSimpleSpanProcessor ComponentTypeAttr = "simple_span_processor" + // ComponentTypeBatchingLogProcessor is the builtin SDK batching log record + // processor. + ComponentTypeBatchingLogProcessor ComponentTypeAttr = "batching_log_processor" + // ComponentTypeSimpleLogProcessor is the builtin SDK simple log record + // processor. + ComponentTypeSimpleLogProcessor ComponentTypeAttr = "simple_log_processor" + // ComponentTypeOtlpGRPCSpanExporter is the OTLP span exporter over gRPC with + // protobuf serialization. + ComponentTypeOtlpGRPCSpanExporter ComponentTypeAttr = "otlp_grpc_span_exporter" + // ComponentTypeOtlpHTTPSpanExporter is the OTLP span exporter over HTTP with + // protobuf serialization. + ComponentTypeOtlpHTTPSpanExporter ComponentTypeAttr = "otlp_http_span_exporter" + // ComponentTypeOtlpHTTPJSONSpanExporter is the OTLP span exporter over HTTP + // with JSON serialization. + ComponentTypeOtlpHTTPJSONSpanExporter ComponentTypeAttr = "otlp_http_json_span_exporter" + // ComponentTypeZipkinHTTPSpanExporter is the zipkin span exporter over HTTP. + ComponentTypeZipkinHTTPSpanExporter ComponentTypeAttr = "zipkin_http_span_exporter" + // ComponentTypeOtlpGRPCLogExporter is the OTLP log record exporter over gRPC + // with protobuf serialization. + ComponentTypeOtlpGRPCLogExporter ComponentTypeAttr = "otlp_grpc_log_exporter" + // ComponentTypeOtlpHTTPLogExporter is the OTLP log record exporter over HTTP + // with protobuf serialization. + ComponentTypeOtlpHTTPLogExporter ComponentTypeAttr = "otlp_http_log_exporter" + // ComponentTypeOtlpHTTPJSONLogExporter is the OTLP log record exporter over + // HTTP with JSON serialization. + ComponentTypeOtlpHTTPJSONLogExporter ComponentTypeAttr = "otlp_http_json_log_exporter" + // ComponentTypePeriodicMetricReader is the builtin SDK periodically exporting + // metric reader. + ComponentTypePeriodicMetricReader ComponentTypeAttr = "periodic_metric_reader" + // ComponentTypeOtlpGRPCMetricExporter is the OTLP metric exporter over gRPC + // with protobuf serialization. + ComponentTypeOtlpGRPCMetricExporter ComponentTypeAttr = "otlp_grpc_metric_exporter" + // ComponentTypeOtlpHTTPMetricExporter is the OTLP metric exporter over HTTP + // with protobuf serialization. + ComponentTypeOtlpHTTPMetricExporter ComponentTypeAttr = "otlp_http_metric_exporter" + // ComponentTypeOtlpHTTPJSONMetricExporter is the OTLP metric exporter over HTTP + // with JSON serialization. + ComponentTypeOtlpHTTPJSONMetricExporter ComponentTypeAttr = "otlp_http_json_metric_exporter" + // ComponentTypePrometheusHTTPTextMetricExporter is the prometheus metric + // exporter over HTTP with the default text-based format. + ComponentTypePrometheusHTTPTextMetricExporter ComponentTypeAttr = "prometheus_http_text_metric_exporter" +) + +// SpanParentOriginAttr is an attribute conforming to the otel.span.parent.origin +// semantic conventions. It represents the determines whether the span has a +// parent span, and if so, [whether it is a remote parent]. +// +// [whether it is a remote parent]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote +type SpanParentOriginAttr string + +var ( + // SpanParentOriginNone is the span does not have a parent, it is a root span. + SpanParentOriginNone SpanParentOriginAttr = "none" + // SpanParentOriginLocal is the span has a parent and the parent's span context + // [isRemote()] is false. + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + SpanParentOriginLocal SpanParentOriginAttr = "local" + // SpanParentOriginRemote is the span has a parent and the parent's span context + // [isRemote()] is true. + // + // [isRemote()]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote + SpanParentOriginRemote SpanParentOriginAttr = "remote" +) + +// SpanSamplingResultAttr is an attribute conforming to the +// otel.span.sampling_result semantic conventions. It represents the result value +// of the sampler for this span. +type SpanSamplingResultAttr string + +var ( + // SpanSamplingResultDrop is the span is not sampled and not recording. + SpanSamplingResultDrop SpanSamplingResultAttr = "DROP" + // SpanSamplingResultRecordOnly is the span is not sampled, but recording. + SpanSamplingResultRecordOnly SpanSamplingResultAttr = "RECORD_ONLY" + // SpanSamplingResultRecordAndSample is the span is sampled and recording. + SpanSamplingResultRecordAndSample SpanSamplingResultAttr = "RECORD_AND_SAMPLE" +) + +// RPCGRPCStatusCodeAttr is an attribute conforming to the rpc.grpc.status_code +// semantic conventions. It represents the gRPC status code of the last gRPC +// requests performed in scope of this export call. +type RPCGRPCStatusCodeAttr int64 + +var ( + // RPCGRPCStatusCodeOk is the OK. + RPCGRPCStatusCodeOk RPCGRPCStatusCodeAttr = 0 + // RPCGRPCStatusCodeCancelled is the CANCELLED. + RPCGRPCStatusCodeCancelled RPCGRPCStatusCodeAttr = 1 + // RPCGRPCStatusCodeUnknown is the UNKNOWN. + RPCGRPCStatusCodeUnknown RPCGRPCStatusCodeAttr = 2 + // RPCGRPCStatusCodeInvalidArgument is the INVALID_ARGUMENT. + RPCGRPCStatusCodeInvalidArgument RPCGRPCStatusCodeAttr = 3 + // RPCGRPCStatusCodeDeadlineExceeded is the DEADLINE_EXCEEDED. + RPCGRPCStatusCodeDeadlineExceeded RPCGRPCStatusCodeAttr = 4 + // RPCGRPCStatusCodeNotFound is the NOT_FOUND. + RPCGRPCStatusCodeNotFound RPCGRPCStatusCodeAttr = 5 + // RPCGRPCStatusCodeAlreadyExists is the ALREADY_EXISTS. + RPCGRPCStatusCodeAlreadyExists RPCGRPCStatusCodeAttr = 6 + // RPCGRPCStatusCodePermissionDenied is the PERMISSION_DENIED. + RPCGRPCStatusCodePermissionDenied RPCGRPCStatusCodeAttr = 7 + // RPCGRPCStatusCodeResourceExhausted is the RESOURCE_EXHAUSTED. + RPCGRPCStatusCodeResourceExhausted RPCGRPCStatusCodeAttr = 8 + // RPCGRPCStatusCodeFailedPrecondition is the FAILED_PRECONDITION. + RPCGRPCStatusCodeFailedPrecondition RPCGRPCStatusCodeAttr = 9 + // RPCGRPCStatusCodeAborted is the ABORTED. + RPCGRPCStatusCodeAborted RPCGRPCStatusCodeAttr = 10 + // RPCGRPCStatusCodeOutOfRange is the OUT_OF_RANGE. + RPCGRPCStatusCodeOutOfRange RPCGRPCStatusCodeAttr = 11 + // RPCGRPCStatusCodeUnimplemented is the UNIMPLEMENTED. + RPCGRPCStatusCodeUnimplemented RPCGRPCStatusCodeAttr = 12 + // RPCGRPCStatusCodeInternal is the INTERNAL. + RPCGRPCStatusCodeInternal RPCGRPCStatusCodeAttr = 13 + // RPCGRPCStatusCodeUnavailable is the UNAVAILABLE. + RPCGRPCStatusCodeUnavailable RPCGRPCStatusCodeAttr = 14 + // RPCGRPCStatusCodeDataLoss is the DATA_LOSS. + RPCGRPCStatusCodeDataLoss RPCGRPCStatusCodeAttr = 15 + // RPCGRPCStatusCodeUnauthenticated is the UNAUTHENTICATED. + RPCGRPCStatusCodeUnauthenticated RPCGRPCStatusCodeAttr = 16 +) + +// SDKExporterLogExported is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.log.exported" semantic conventions. It +// represents the number of log records for which the export has finished, either +// successful or failed. +type SDKExporterLogExported struct { + metric.Int64Counter +} + +// NewSDKExporterLogExported returns a new SDKExporterLogExported instrument. +func NewSDKExporterLogExported( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKExporterLogExported, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterLogExported{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.exporter.log.exported", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of log records for which the export has finished, either successful or failed."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterLogExported{noop.Int64Counter{}}, err + } + return SDKExporterLogExported{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterLogExported) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterLogExported) Name() string { + return "otel.sdk.exporter.log.exported" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterLogExported) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterLogExported) Description() string { + return "The number of log records for which the export has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_log_records`), rejected log records MUST count as failed and only +// non-rejected log records count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterLogExported) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_log_records`), rejected log records MUST count as failed and only +// non-rejected log records count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterLogExported) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterLogExported) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterLogExported) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterLogExported) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterLogExported) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterLogExported) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterLogInflight is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.log.inflight" semantic conventions. It +// represents the number of log records which were passed to the exporter, but +// that have not been exported yet (neither successful, nor failed). +type SDKExporterLogInflight struct { + metric.Int64UpDownCounter +} + +// NewSDKExporterLogInflight returns a new SDKExporterLogInflight instrument. +func NewSDKExporterLogInflight( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKExporterLogInflight, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterLogInflight{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.exporter.log.inflight", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterLogInflight{noop.Int64UpDownCounter{}}, err + } + return SDKExporterLogInflight{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterLogInflight) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterLogInflight) Name() string { + return "otel.sdk.exporter.log.inflight" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterLogInflight) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterLogInflight) Description() string { + return "The number of log records which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterLogInflight) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterLogInflight) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterLogInflight) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterLogInflight) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterLogInflight) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterLogInflight) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterMetricDataPointExported is an instrument used to record metric +// values conforming to the "otel.sdk.exporter.metric_data_point.exported" +// semantic conventions. It represents the number of metric data points for which +// the export has finished, either successful or failed. +type SDKExporterMetricDataPointExported struct { + metric.Int64Counter +} + +// NewSDKExporterMetricDataPointExported returns a new +// SDKExporterMetricDataPointExported instrument. +func NewSDKExporterMetricDataPointExported( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKExporterMetricDataPointExported, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterMetricDataPointExported{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.exporter.metric_data_point.exported", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of metric data points for which the export has finished, either successful or failed."), + metric.WithUnit("{data_point}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterMetricDataPointExported{noop.Int64Counter{}}, err + } + return SDKExporterMetricDataPointExported{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterMetricDataPointExported) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterMetricDataPointExported) Name() string { + return "otel.sdk.exporter.metric_data_point.exported" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterMetricDataPointExported) Unit() string { + return "{data_point}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterMetricDataPointExported) Description() string { + return "The number of metric data points for which the export has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_data_points`), rejected data points MUST count as failed and only +// non-rejected data points count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterMetricDataPointExported) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with +// `rejected_data_points`), rejected data points MUST count as failed and only +// non-rejected data points count as success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterMetricDataPointExported) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterMetricDataPointExported) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterMetricDataPointExported) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterMetricDataPointExported) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterMetricDataPointExported) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterMetricDataPointExported) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterMetricDataPointInflight is an instrument used to record metric +// values conforming to the "otel.sdk.exporter.metric_data_point.inflight" +// semantic conventions. It represents the number of metric data points which +// were passed to the exporter, but that have not been exported yet (neither +// successful, nor failed). +type SDKExporterMetricDataPointInflight struct { + metric.Int64UpDownCounter +} + +// NewSDKExporterMetricDataPointInflight returns a new +// SDKExporterMetricDataPointInflight instrument. +func NewSDKExporterMetricDataPointInflight( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKExporterMetricDataPointInflight, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterMetricDataPointInflight{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.exporter.metric_data_point.inflight", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)."), + metric.WithUnit("{data_point}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterMetricDataPointInflight{noop.Int64UpDownCounter{}}, err + } + return SDKExporterMetricDataPointInflight{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterMetricDataPointInflight) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterMetricDataPointInflight) Name() string { + return "otel.sdk.exporter.metric_data_point.inflight" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterMetricDataPointInflight) Unit() string { + return "{data_point}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterMetricDataPointInflight) Description() string { + return "The number of metric data points which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterMetricDataPointInflight) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterMetricDataPointInflight) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterMetricDataPointInflight) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterMetricDataPointInflight) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterMetricDataPointInflight) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterMetricDataPointInflight) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterOperationDuration is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.operation.duration" semantic conventions. +// It represents the duration of exporting a batch of telemetry records. +type SDKExporterOperationDuration struct { + metric.Float64Histogram +} + +// NewSDKExporterOperationDuration returns a new SDKExporterOperationDuration +// instrument. +func NewSDKExporterOperationDuration( + m metric.Meter, + opt ...metric.Float64HistogramOption, +) (SDKExporterOperationDuration, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterOperationDuration{noop.Float64Histogram{}}, nil + } + + i, err := m.Float64Histogram( + "otel.sdk.exporter.operation.duration", + append([]metric.Float64HistogramOption{ + metric.WithDescription("The duration of exporting a batch of telemetry records."), + metric.WithUnit("s"), + }, opt...)..., + ) + if err != nil { + return SDKExporterOperationDuration{noop.Float64Histogram{}}, err + } + return SDKExporterOperationDuration{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterOperationDuration) Inst() metric.Float64Histogram { + return m.Float64Histogram +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterOperationDuration) Name() string { + return "otel.sdk.exporter.operation.duration" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterOperationDuration) Unit() string { + return "s" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterOperationDuration) Description() string { + return "The duration of exporting a batch of telemetry records." +} + +// Record records val to the current distribution for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// This metric defines successful operations using the full success definitions +// for [http] +// and [grpc]. Anything else is defined as an unsuccessful operation. For +// successful +// operations, `error.type` MUST NOT be set. For unsuccessful export operations, +// `error.type` MUST contain a relevant failure cause. +// +// [http]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success-1 +// [grpc]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success +func (m SDKExporterOperationDuration) Record( + ctx context.Context, + val float64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Float64Histogram.Record(ctx, val) + return + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Float64Histogram.Record(ctx, val, *o...) +} + +// RecordSet records val to the current distribution for set. +// +// This metric defines successful operations using the full success definitions +// for [http] +// and [grpc]. Anything else is defined as an unsuccessful operation. For +// successful +// operations, `error.type` MUST NOT be set. For unsuccessful export operations, +// `error.type` MUST contain a relevant failure cause. +// +// [http]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success-1 +// [grpc]: https://github.com/open-telemetry/opentelemetry-proto/blob/v1.5.0/docs/specification.md#full-success +func (m SDKExporterOperationDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) { + if set.Len() == 0 { + m.Float64Histogram.Record(ctx, val) + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Float64Histogram.Record(ctx, val, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterOperationDuration) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrHTTPResponseStatusCode returns an optional attribute for the +// "http.response.status_code" semantic convention. It represents the HTTP status +// code of the last HTTP request performed in scope of this export call. +func (SDKExporterOperationDuration) AttrHTTPResponseStatusCode(val int) attribute.KeyValue { + return attribute.Int("http.response.status_code", val) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterOperationDuration) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterOperationDuration) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrRPCGRPCStatusCode returns an optional attribute for the +// "rpc.grpc.status_code" semantic convention. It represents the gRPC status code +// of the last gRPC requests performed in scope of this export call. +func (SDKExporterOperationDuration) AttrRPCGRPCStatusCode(val RPCGRPCStatusCodeAttr) attribute.KeyValue { + return attribute.Int64("rpc.grpc.status_code", int64(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterOperationDuration) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterOperationDuration) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterSpanExported is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.span.exported" semantic conventions. It +// represents the number of spans for which the export has finished, either +// successful or failed. +type SDKExporterSpanExported struct { + metric.Int64Counter +} + +// NewSDKExporterSpanExported returns a new SDKExporterSpanExported instrument. +func NewSDKExporterSpanExported( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKExporterSpanExported, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterSpanExported{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.exporter.span.exported", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of spans for which the export has finished, either successful or failed."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterSpanExported{noop.Int64Counter{}}, err + } + return SDKExporterSpanExported{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterSpanExported) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterSpanExported) Name() string { + return "otel.sdk.exporter.span.exported" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterSpanExported) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterSpanExported) Description() string { + return "The number of spans for which the export has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with `rejected_spans` +// ), rejected spans MUST count as failed and only non-rejected spans count as +// success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterSpanExported) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +// For exporters with partial success semantics (e.g. OTLP with `rejected_spans` +// ), rejected spans MUST count as failed and only non-rejected spans count as +// success. +// If no rejection reason is available, `rejected` SHOULD be used as value for +// `error.type`. +func (m SDKExporterSpanExported) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKExporterSpanExported) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterSpanExported) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterSpanExported) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterSpanExported) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterSpanExported) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKExporterSpanInflight is an instrument used to record metric values +// conforming to the "otel.sdk.exporter.span.inflight" semantic conventions. It +// represents the number of spans which were passed to the exporter, but that +// have not been exported yet (neither successful, nor failed). +type SDKExporterSpanInflight struct { + metric.Int64UpDownCounter +} + +// NewSDKExporterSpanInflight returns a new SDKExporterSpanInflight instrument. +func NewSDKExporterSpanInflight( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKExporterSpanInflight, error) { + // Check if the meter is nil. + if m == nil { + return SDKExporterSpanInflight{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.exporter.span.inflight", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKExporterSpanInflight{noop.Int64UpDownCounter{}}, err + } + return SDKExporterSpanInflight{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKExporterSpanInflight) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKExporterSpanInflight) Name() string { + return "otel.sdk.exporter.span.inflight" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKExporterSpanInflight) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKExporterSpanInflight) Description() string { + return "The number of spans which were passed to the exporter, but that have not been exported yet (neither successful, nor failed)." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterSpanInflight) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful exports, `error.type` MUST NOT be set. For failed exports, +// `error.type` MUST contain the failure cause. +func (m SDKExporterSpanInflight) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKExporterSpanInflight) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKExporterSpanInflight) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// AttrServerAddress returns an optional attribute for the "server.address" +// semantic convention. It represents the server domain name if available without +// reverse DNS lookup; otherwise, IP address or Unix domain socket name. +func (SDKExporterSpanInflight) AttrServerAddress(val string) attribute.KeyValue { + return attribute.String("server.address", val) +} + +// AttrServerPort returns an optional attribute for the "server.port" semantic +// convention. It represents the server port number. +func (SDKExporterSpanInflight) AttrServerPort(val int) attribute.KeyValue { + return attribute.Int("server.port", val) +} + +// SDKLogCreated is an instrument used to record metric values conforming to the +// "otel.sdk.log.created" semantic conventions. It represents the number of logs +// submitted to enabled SDK Loggers. +type SDKLogCreated struct { + metric.Int64Counter +} + +// NewSDKLogCreated returns a new SDKLogCreated instrument. +func NewSDKLogCreated( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKLogCreated, error) { + // Check if the meter is nil. + if m == nil { + return SDKLogCreated{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.log.created", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of logs submitted to enabled SDK Loggers."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKLogCreated{noop.Int64Counter{}}, err + } + return SDKLogCreated{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKLogCreated) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKLogCreated) Name() string { + return "otel.sdk.log.created" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKLogCreated) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKLogCreated) Description() string { + return "The number of logs submitted to enabled SDK Loggers." +} + +// Add adds incr to the existing count for attrs. +func (m SDKLogCreated) Add(ctx context.Context, incr int64, attrs ...attribute.KeyValue) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributes(attrs...)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +func (m SDKLogCreated) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// SDKMetricReaderCollectionDuration is an instrument used to record metric +// values conforming to the "otel.sdk.metric_reader.collection.duration" semantic +// conventions. It represents the duration of the collect operation of the metric +// reader. +type SDKMetricReaderCollectionDuration struct { + metric.Float64Histogram +} + +// NewSDKMetricReaderCollectionDuration returns a new +// SDKMetricReaderCollectionDuration instrument. +func NewSDKMetricReaderCollectionDuration( + m metric.Meter, + opt ...metric.Float64HistogramOption, +) (SDKMetricReaderCollectionDuration, error) { + // Check if the meter is nil. + if m == nil { + return SDKMetricReaderCollectionDuration{noop.Float64Histogram{}}, nil + } + + i, err := m.Float64Histogram( + "otel.sdk.metric_reader.collection.duration", + append([]metric.Float64HistogramOption{ + metric.WithDescription("The duration of the collect operation of the metric reader."), + metric.WithUnit("s"), + }, opt...)..., + ) + if err != nil { + return SDKMetricReaderCollectionDuration{noop.Float64Histogram{}}, err + } + return SDKMetricReaderCollectionDuration{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKMetricReaderCollectionDuration) Inst() metric.Float64Histogram { + return m.Float64Histogram +} + +// Name returns the semantic convention name of the instrument. +func (SDKMetricReaderCollectionDuration) Name() string { + return "otel.sdk.metric_reader.collection.duration" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKMetricReaderCollectionDuration) Unit() string { + return "s" +} + +// Description returns the semantic convention description of the instrument +func (SDKMetricReaderCollectionDuration) Description() string { + return "The duration of the collect operation of the metric reader." +} + +// Record records val to the current distribution for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful collections, `error.type` MUST NOT be set. For failed +// collections, `error.type` SHOULD contain the failure cause. +// It can happen that metrics collection is successful for some MetricProducers, +// while others fail. In that case `error.type` SHOULD be set to any of the +// failure causes. +func (m SDKMetricReaderCollectionDuration) Record( + ctx context.Context, + val float64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Float64Histogram.Record(ctx, val) + return + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Float64Histogram.Record(ctx, val, *o...) +} + +// RecordSet records val to the current distribution for set. +// +// For successful collections, `error.type` MUST NOT be set. For failed +// collections, `error.type` SHOULD contain the failure cause. +// It can happen that metrics collection is successful for some MetricProducers, +// while others fail. In that case `error.type` SHOULD be set to any of the +// failure causes. +func (m SDKMetricReaderCollectionDuration) RecordSet(ctx context.Context, val float64, set attribute.Set) { + if set.Len() == 0 { + m.Float64Histogram.Record(ctx, val) + } + + o := recOptPool.Get().(*[]metric.RecordOption) + defer func() { + *o = (*o)[:0] + recOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Float64Histogram.Record(ctx, val, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents the describes a class of error the operation ended +// with. +func (SDKMetricReaderCollectionDuration) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKMetricReaderCollectionDuration) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKMetricReaderCollectionDuration) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorLogProcessed is an instrument used to record metric values +// conforming to the "otel.sdk.processor.log.processed" semantic conventions. It +// represents the number of log records for which the processing has finished, +// either successful or failed. +type SDKProcessorLogProcessed struct { + metric.Int64Counter +} + +// NewSDKProcessorLogProcessed returns a new SDKProcessorLogProcessed instrument. +func NewSDKProcessorLogProcessed( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKProcessorLogProcessed, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorLogProcessed{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.processor.log.processed", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of log records for which the processing has finished, either successful or failed."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorLogProcessed{noop.Int64Counter{}}, err + } + return SDKProcessorLogProcessed{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorLogProcessed) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorLogProcessed) Name() string { + return "otel.sdk.processor.log.processed" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorLogProcessed) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorLogProcessed) Description() string { + return "The number of log records for which the processing has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Log Record Processor a log record is +// considered to be processed already when it has been submitted to the exporter, +// not when the corresponding export call has finished. +func (m SDKProcessorLogProcessed) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Log Record Processor a log record is +// considered to be processed already when it has been submitted to the exporter, +// not when the corresponding export call has finished. +func (m SDKProcessorLogProcessed) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents a low-cardinality description of the failure reason. +// SDK Batching Log Record Processors MUST use `queue_full` for log records +// dropped due to a full queue. +func (SDKProcessorLogProcessed) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorLogProcessed) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorLogProcessed) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorLogQueueCapacity is an instrument used to record metric values +// conforming to the "otel.sdk.processor.log.queue.capacity" semantic +// conventions. It represents the maximum number of log records the queue of a +// given instance of an SDK Log Record processor can hold. +type SDKProcessorLogQueueCapacity struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorLogQueueCapacity returns a new SDKProcessorLogQueueCapacity +// instrument. +func NewSDKProcessorLogQueueCapacity( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorLogQueueCapacity, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorLogQueueCapacity{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.log.queue.capacity", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorLogQueueCapacity{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorLogQueueCapacity{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorLogQueueCapacity) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorLogQueueCapacity) Name() string { + return "otel.sdk.processor.log.queue.capacity" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorLogQueueCapacity) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorLogQueueCapacity) Description() string { + return "The maximum number of log records the queue of a given instance of an SDK Log Record processor can hold." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorLogQueueCapacity) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorLogQueueCapacity) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorLogQueueSize is an instrument used to record metric values +// conforming to the "otel.sdk.processor.log.queue.size" semantic conventions. It +// represents the number of log records in the queue of a given instance of an +// SDK log processor. +type SDKProcessorLogQueueSize struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorLogQueueSize returns a new SDKProcessorLogQueueSize instrument. +func NewSDKProcessorLogQueueSize( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorLogQueueSize, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorLogQueueSize{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.log.queue.size", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The number of log records in the queue of a given instance of an SDK log processor."), + metric.WithUnit("{log_record}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorLogQueueSize{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorLogQueueSize{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorLogQueueSize) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorLogQueueSize) Name() string { + return "otel.sdk.processor.log.queue.size" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorLogQueueSize) Unit() string { + return "{log_record}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorLogQueueSize) Description() string { + return "The number of log records in the queue of a given instance of an SDK log processor." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorLogQueueSize) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorLogQueueSize) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorSpanProcessed is an instrument used to record metric values +// conforming to the "otel.sdk.processor.span.processed" semantic conventions. It +// represents the number of spans for which the processing has finished, either +// successful or failed. +type SDKProcessorSpanProcessed struct { + metric.Int64Counter +} + +// NewSDKProcessorSpanProcessed returns a new SDKProcessorSpanProcessed +// instrument. +func NewSDKProcessorSpanProcessed( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKProcessorSpanProcessed, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorSpanProcessed{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.processor.span.processed", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of spans for which the processing has finished, either successful or failed."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorSpanProcessed{noop.Int64Counter{}}, err + } + return SDKProcessorSpanProcessed{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorSpanProcessed) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorSpanProcessed) Name() string { + return "otel.sdk.processor.span.processed" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorSpanProcessed) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorSpanProcessed) Description() string { + return "The number of spans for which the processing has finished, either successful or failed." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Span Processor a span is considered to be +// processed already when it has been submitted to the exporter, not when the +// corresponding export call has finished. +func (m SDKProcessorSpanProcessed) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// For successful processing, `error.type` MUST NOT be set. For failed +// processing, `error.type` MUST contain the failure cause. +// For the SDK Simple and Batching Span Processor a span is considered to be +// processed already when it has been submitted to the exporter, not when the +// corresponding export call has finished. +func (m SDKProcessorSpanProcessed) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrErrorType returns an optional attribute for the "error.type" semantic +// convention. It represents a low-cardinality description of the failure reason. +// SDK Batching Span Processors MUST use `queue_full` for spans dropped due to a +// full queue. +func (SDKProcessorSpanProcessed) AttrErrorType(val ErrorTypeAttr) attribute.KeyValue { + return attribute.String("error.type", string(val)) +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorSpanProcessed) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorSpanProcessed) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorSpanQueueCapacity is an instrument used to record metric values +// conforming to the "otel.sdk.processor.span.queue.capacity" semantic +// conventions. It represents the maximum number of spans the queue of a given +// instance of an SDK span processor can hold. +type SDKProcessorSpanQueueCapacity struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorSpanQueueCapacity returns a new SDKProcessorSpanQueueCapacity +// instrument. +func NewSDKProcessorSpanQueueCapacity( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorSpanQueueCapacity, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorSpanQueueCapacity{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.span.queue.capacity", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The maximum number of spans the queue of a given instance of an SDK span processor can hold."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorSpanQueueCapacity{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorSpanQueueCapacity{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorSpanQueueCapacity) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorSpanQueueCapacity) Name() string { + return "otel.sdk.processor.span.queue.capacity" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorSpanQueueCapacity) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorSpanQueueCapacity) Description() string { + return "The maximum number of spans the queue of a given instance of an SDK span processor can hold." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorSpanQueueCapacity) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorSpanQueueCapacity) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKProcessorSpanQueueSize is an instrument used to record metric values +// conforming to the "otel.sdk.processor.span.queue.size" semantic conventions. +// It represents the number of spans in the queue of a given instance of an SDK +// span processor. +type SDKProcessorSpanQueueSize struct { + metric.Int64ObservableUpDownCounter +} + +// NewSDKProcessorSpanQueueSize returns a new SDKProcessorSpanQueueSize +// instrument. +func NewSDKProcessorSpanQueueSize( + m metric.Meter, + opt ...metric.Int64ObservableUpDownCounterOption, +) (SDKProcessorSpanQueueSize, error) { + // Check if the meter is nil. + if m == nil { + return SDKProcessorSpanQueueSize{noop.Int64ObservableUpDownCounter{}}, nil + } + + i, err := m.Int64ObservableUpDownCounter( + "otel.sdk.processor.span.queue.size", + append([]metric.Int64ObservableUpDownCounterOption{ + metric.WithDescription("The number of spans in the queue of a given instance of an SDK span processor."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKProcessorSpanQueueSize{noop.Int64ObservableUpDownCounter{}}, err + } + return SDKProcessorSpanQueueSize{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKProcessorSpanQueueSize) Inst() metric.Int64ObservableUpDownCounter { + return m.Int64ObservableUpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKProcessorSpanQueueSize) Name() string { + return "otel.sdk.processor.span.queue.size" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKProcessorSpanQueueSize) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKProcessorSpanQueueSize) Description() string { + return "The number of spans in the queue of a given instance of an SDK span processor." +} + +// AttrComponentName returns an optional attribute for the "otel.component.name" +// semantic convention. It represents a name uniquely identifying the instance of +// the OpenTelemetry component within its containing SDK instance. +func (SDKProcessorSpanQueueSize) AttrComponentName(val string) attribute.KeyValue { + return attribute.String("otel.component.name", val) +} + +// AttrComponentType returns an optional attribute for the "otel.component.type" +// semantic convention. It represents a name identifying the type of the +// OpenTelemetry component. +func (SDKProcessorSpanQueueSize) AttrComponentType(val ComponentTypeAttr) attribute.KeyValue { + return attribute.String("otel.component.type", string(val)) +} + +// SDKSpanLive is an instrument used to record metric values conforming to the +// "otel.sdk.span.live" semantic conventions. It represents the number of created +// spans with `recording=true` for which the end operation has not been called +// yet. +type SDKSpanLive struct { + metric.Int64UpDownCounter +} + +// NewSDKSpanLive returns a new SDKSpanLive instrument. +func NewSDKSpanLive( + m metric.Meter, + opt ...metric.Int64UpDownCounterOption, +) (SDKSpanLive, error) { + // Check if the meter is nil. + if m == nil { + return SDKSpanLive{noop.Int64UpDownCounter{}}, nil + } + + i, err := m.Int64UpDownCounter( + "otel.sdk.span.live", + append([]metric.Int64UpDownCounterOption{ + metric.WithDescription("The number of created spans with `recording=true` for which the end operation has not been called yet."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKSpanLive{noop.Int64UpDownCounter{}}, err + } + return SDKSpanLive{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKSpanLive) Inst() metric.Int64UpDownCounter { + return m.Int64UpDownCounter +} + +// Name returns the semantic convention name of the instrument. +func (SDKSpanLive) Name() string { + return "otel.sdk.span.live" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKSpanLive) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKSpanLive) Description() string { + return "The number of created spans with `recording=true` for which the end operation has not been called yet." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +func (m SDKSpanLive) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +func (m SDKSpanLive) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64UpDownCounter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64UpDownCounter.Add(ctx, incr, *o...) +} + +// AttrSpanSamplingResult returns an optional attribute for the +// "otel.span.sampling_result" semantic convention. It represents the result +// value of the sampler for this span. +func (SDKSpanLive) AttrSpanSamplingResult(val SpanSamplingResultAttr) attribute.KeyValue { + return attribute.String("otel.span.sampling_result", string(val)) +} + +// SDKSpanStarted is an instrument used to record metric values conforming to the +// "otel.sdk.span.started" semantic conventions. It represents the number of +// created spans. +type SDKSpanStarted struct { + metric.Int64Counter +} + +// NewSDKSpanStarted returns a new SDKSpanStarted instrument. +func NewSDKSpanStarted( + m metric.Meter, + opt ...metric.Int64CounterOption, +) (SDKSpanStarted, error) { + // Check if the meter is nil. + if m == nil { + return SDKSpanStarted{noop.Int64Counter{}}, nil + } + + i, err := m.Int64Counter( + "otel.sdk.span.started", + append([]metric.Int64CounterOption{ + metric.WithDescription("The number of created spans."), + metric.WithUnit("{span}"), + }, opt...)..., + ) + if err != nil { + return SDKSpanStarted{noop.Int64Counter{}}, err + } + return SDKSpanStarted{i}, nil +} + +// Inst returns the underlying metric instrument. +func (m SDKSpanStarted) Inst() metric.Int64Counter { + return m.Int64Counter +} + +// Name returns the semantic convention name of the instrument. +func (SDKSpanStarted) Name() string { + return "otel.sdk.span.started" +} + +// Unit returns the semantic convention unit of the instrument +func (SDKSpanStarted) Unit() string { + return "{span}" +} + +// Description returns the semantic convention description of the instrument +func (SDKSpanStarted) Description() string { + return "The number of created spans." +} + +// Add adds incr to the existing count for attrs. +// +// All additional attrs passed are included in the recorded value. +// +// Implementations MUST record this metric for all spans, even for non-recording +// ones. +func (m SDKSpanStarted) Add( + ctx context.Context, + incr int64, + attrs ...attribute.KeyValue, +) { + if len(attrs) == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append( + *o, + metric.WithAttributes( + attrs..., + ), + ) + + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AddSet adds incr to the existing count for set. +// +// Implementations MUST record this metric for all spans, even for non-recording +// ones. +func (m SDKSpanStarted) AddSet(ctx context.Context, incr int64, set attribute.Set) { + if set.Len() == 0 { + m.Int64Counter.Add(ctx, incr) + return + } + + o := addOptPool.Get().(*[]metric.AddOption) + defer func() { + *o = (*o)[:0] + addOptPool.Put(o) + }() + + *o = append(*o, metric.WithAttributeSet(set)) + m.Int64Counter.Add(ctx, incr, *o...) +} + +// AttrSpanParentOrigin returns an optional attribute for the +// "otel.span.parent.origin" semantic convention. It represents the determines +// whether the span has a parent span, and if so, [whether it is a remote parent] +// . +// +// [whether it is a remote parent]: https://opentelemetry.io/docs/specs/otel/trace/api/#isremote +func (SDKSpanStarted) AttrSpanParentOrigin(val SpanParentOriginAttr) attribute.KeyValue { + return attribute.String("otel.span.parent.origin", string(val)) +} + +// AttrSpanSamplingResult returns an optional attribute for the +// "otel.span.sampling_result" semantic convention. It represents the result +// value of the sampler for this span. +func (SDKSpanStarted) AttrSpanSamplingResult(val SpanSamplingResultAttr) attribute.KeyValue { + return attribute.String("otel.span.sampling_result", string(val)) +} \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go similarity index 85% rename from cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go rename to cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go index 3c23d459254..f8a0b704418 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.34.0/schema.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/schema.go @@ -1,9 +1,9 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package semconv // import "go.opentelemetry.io/otel/semconv/v1.34.0" +package semconv // import "go.opentelemetry.io/otel/semconv/v1.37.0" // SchemaURL is the schema URL that matches the version of the semantic conventions // that this package defines. Semconv packages starting from v1.4.0 must declare // non-empty schema URL in the form https://opentelemetry.io/schemas/ -const SchemaURL = "https://opentelemetry.io/schemas/1.34.0" +const SchemaURL = "https://opentelemetry.io/schemas/1.37.0" diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/LICENSE b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/LICENSE index 261eeb9e9f8..f1aee0f1100 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/LICENSE +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/LICENSE @@ -199,3 +199,33 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + +-------------------------------------------------------------------------------- + +Copyright 2009 The Go Authors. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google LLC nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/auto.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/auto.go index f3aa398138e..8763936a846 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/auto.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/auto.go @@ -20,7 +20,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/codes" - semconv "go.opentelemetry.io/otel/semconv/v1.34.0" + semconv "go.opentelemetry.io/otel/semconv/v1.37.0" "go.opentelemetry.io/otel/trace/embedded" "go.opentelemetry.io/otel/trace/internal/telemetry" ) @@ -39,7 +39,7 @@ type autoTracerProvider struct{ embedded.TracerProvider } var _ TracerProvider = autoTracerProvider{} -func (p autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer { +func (autoTracerProvider) Tracer(name string, opts ...TracerOption) Tracer { cfg := NewTracerConfig(opts...) return autoTracer{ name: name, @@ -81,7 +81,7 @@ func (t autoTracer) Start(ctx context.Context, name string, opts ...SpanStartOpt // Expected to be implemented in eBPF. // //go:noinline -func (t *autoTracer) start( +func (*autoTracer) start( ctx context.Context, spanPtr *autoSpan, psc *SpanContext, diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/config.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/config.go index 9c0b720a4d6..aea11a2b52c 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/config.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/config.go @@ -73,7 +73,7 @@ func (cfg *SpanConfig) Timestamp() time.Time { return cfg.timestamp } -// StackTrace checks whether stack trace capturing is enabled. +// StackTrace reports whether stack trace capturing is enabled. func (cfg *SpanConfig) StackTrace() bool { return cfg.stackTrace } @@ -154,7 +154,7 @@ func (cfg *EventConfig) Timestamp() time.Time { return cfg.timestamp } -// StackTrace checks whether stack trace capturing is enabled. +// StackTrace reports whether stack trace capturing is enabled. func (cfg *EventConfig) StackTrace() bool { return cfg.stackTrace } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/hex.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/hex.go new file mode 100644 index 00000000000..1cbef1d4b94 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/hex.go @@ -0,0 +1,38 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +package trace // import "go.opentelemetry.io/otel/trace" + +const ( + // hexLU is a hex lookup table of the 16 lowercase hex digits. + // The character values of the string are indexed at the equivalent + // hexadecimal value they represent. This table efficiently encodes byte data + // into a string representation of hexadecimal. + hexLU = "0123456789abcdef" + + // hexRev is a reverse hex lookup table for lowercase hex digits. + // The table is efficiently decodes a hexadecimal string into bytes. + // Valid hexadecimal characters are indexed at their respective values. All + // other invalid ASCII characters are represented with '\xff'. + // + // The '\xff' character is used as invalid because no valid character has + // the upper 4 bits set. Meaning, an efficient validation can be performed + // over multiple character parsing by checking these bits remain zero. + hexRev = "" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\x0a\x0b\x0c\x0d\x0e\x0f\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" +) diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go index f663547b4ee..ff0f6eac62e 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/attr.go @@ -52,7 +52,7 @@ func Map(key string, value ...Attr) Attr { return Attr{key, MapValue(value...)} } -// Equal returns if a is equal to b. +// Equal reports whether a is equal to b. func (a Attr) Equal(b Attr) bool { return a.Key == b.Key && a.Value.Equal(b.Value) } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go index 7b1ae3c4ea8..bea56f2e7d3 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/id.go @@ -22,7 +22,7 @@ func (tid TraceID) String() string { return hex.EncodeToString(tid[:]) } -// IsEmpty returns false if id contains at least one non-zero byte. +// IsEmpty reports whether the TraceID contains only zero bytes. func (tid TraceID) IsEmpty() bool { return tid == [traceIDSize]byte{} } @@ -50,7 +50,7 @@ func (sid SpanID) String() string { return hex.EncodeToString(sid[:]) } -// IsEmpty returns true if the span ID contains at least one non-zero byte. +// IsEmpty reports whether the SpanID contains only zero bytes. func (sid SpanID) IsEmpty() bool { return sid == [spanIDSize]byte{} } @@ -82,7 +82,7 @@ func marshalJSON(id []byte) ([]byte, error) { } // unmarshalJSON inflates trace id from hex string, possibly enclosed in quotes. -func unmarshalJSON(dst []byte, src []byte) error { +func unmarshalJSON(dst, src []byte) error { if l := len(src); l >= 2 && src[0] == '"' && src[l-1] == '"' { src = src[1 : l-1] } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go index ae9ce102a9a..cb7927b8167 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/internal/telemetry/value.go @@ -257,10 +257,10 @@ func (v Value) Kind() ValueKind { } } -// Empty returns if v does not hold any value. +// Empty reports whether v does not hold any value. func (v Value) Empty() bool { return v.Kind() == ValueKindEmpty } -// Equal returns if v is equal to w. +// Equal reports whether v is equal to w. func (v Value) Equal(w Value) bool { k1 := v.Kind() k2 := w.Kind() diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop.go index 0f56e4dbb34..400fab12387 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop.go @@ -26,7 +26,7 @@ type noopTracerProvider struct{ embedded.TracerProvider } var _ TracerProvider = noopTracerProvider{} // Tracer returns noop implementation of Tracer. -func (p noopTracerProvider) Tracer(string, ...TracerOption) Tracer { +func (noopTracerProvider) Tracer(string, ...TracerOption) Tracer { return noopTracer{} } @@ -37,7 +37,7 @@ var _ Tracer = noopTracer{} // Start carries forward a non-recording Span, if one is present in the context, otherwise it // creates a no-op Span. -func (t noopTracer) Start(ctx context.Context, name string, _ ...SpanStartOption) (context.Context, Span) { +func (noopTracer) Start(ctx context.Context, _ string, _ ...SpanStartOption) (context.Context, Span) { span := SpanFromContext(ctx) if _, ok := span.(nonRecordingSpan); !ok { // span is likely already a noopSpan, but let's be sure diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop/noop.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop/noop.go index 64a4f1b362f..689d220df7d 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop/noop.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/noop/noop.go @@ -51,7 +51,7 @@ type Tracer struct{ embedded.Tracer } // If ctx contains a span context, the returned span will also contain that // span context. If the span context in ctx is for a non-recording span, that // span instance will be returned directly. -func (t Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) { +func (Tracer) Start(ctx context.Context, _ string, _ ...trace.SpanStartOption) (context.Context, trace.Span) { span := trace.SpanFromContext(ctx) // If the parent context contains a non-zero span context, that span diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/trace.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/trace.go index d49adf671b9..ee6f4bcb2aa 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/trace.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/trace.go @@ -4,8 +4,6 @@ package trace // import "go.opentelemetry.io/otel/trace" import ( - "bytes" - "encoding/hex" "encoding/json" ) @@ -38,21 +36,47 @@ var ( _ json.Marshaler = nilTraceID ) -// IsValid checks whether the trace TraceID is valid. A valid trace ID does +// IsValid reports whether the trace TraceID is valid. A valid trace ID does // not consist of zeros only. func (t TraceID) IsValid() bool { - return !bytes.Equal(t[:], nilTraceID[:]) + return t != nilTraceID } // MarshalJSON implements a custom marshal function to encode TraceID // as a hex string. func (t TraceID) MarshalJSON() ([]byte, error) { - return json.Marshal(t.String()) + b := [32 + 2]byte{0: '"', 33: '"'} + h := t.hexBytes() + copy(b[1:], h[:]) + return b[:], nil } // String returns the hex string representation form of a TraceID. func (t TraceID) String() string { - return hex.EncodeToString(t[:]) + h := t.hexBytes() + return string(h[:]) +} + +// hexBytes returns the hex string representation form of a TraceID. +func (t TraceID) hexBytes() [32]byte { + return [32]byte{ + hexLU[t[0x0]>>4], hexLU[t[0x0]&0xf], + hexLU[t[0x1]>>4], hexLU[t[0x1]&0xf], + hexLU[t[0x2]>>4], hexLU[t[0x2]&0xf], + hexLU[t[0x3]>>4], hexLU[t[0x3]&0xf], + hexLU[t[0x4]>>4], hexLU[t[0x4]&0xf], + hexLU[t[0x5]>>4], hexLU[t[0x5]&0xf], + hexLU[t[0x6]>>4], hexLU[t[0x6]&0xf], + hexLU[t[0x7]>>4], hexLU[t[0x7]&0xf], + hexLU[t[0x8]>>4], hexLU[t[0x8]&0xf], + hexLU[t[0x9]>>4], hexLU[t[0x9]&0xf], + hexLU[t[0xa]>>4], hexLU[t[0xa]&0xf], + hexLU[t[0xb]>>4], hexLU[t[0xb]&0xf], + hexLU[t[0xc]>>4], hexLU[t[0xc]&0xf], + hexLU[t[0xd]>>4], hexLU[t[0xd]&0xf], + hexLU[t[0xe]>>4], hexLU[t[0xe]&0xf], + hexLU[t[0xf]>>4], hexLU[t[0xf]&0xf], + } } // SpanID is a unique identity of a span in a trace. @@ -63,21 +87,38 @@ var ( _ json.Marshaler = nilSpanID ) -// IsValid checks whether the SpanID is valid. A valid SpanID does not consist +// IsValid reports whether the SpanID is valid. A valid SpanID does not consist // of zeros only. func (s SpanID) IsValid() bool { - return !bytes.Equal(s[:], nilSpanID[:]) + return s != nilSpanID } // MarshalJSON implements a custom marshal function to encode SpanID // as a hex string. func (s SpanID) MarshalJSON() ([]byte, error) { - return json.Marshal(s.String()) + b := [16 + 2]byte{0: '"', 17: '"'} + h := s.hexBytes() + copy(b[1:], h[:]) + return b[:], nil } // String returns the hex string representation form of a SpanID. func (s SpanID) String() string { - return hex.EncodeToString(s[:]) + b := s.hexBytes() + return string(b[:]) +} + +func (s SpanID) hexBytes() [16]byte { + return [16]byte{ + hexLU[s[0]>>4], hexLU[s[0]&0xf], + hexLU[s[1]>>4], hexLU[s[1]&0xf], + hexLU[s[2]>>4], hexLU[s[2]&0xf], + hexLU[s[3]>>4], hexLU[s[3]&0xf], + hexLU[s[4]>>4], hexLU[s[4]&0xf], + hexLU[s[5]>>4], hexLU[s[5]&0xf], + hexLU[s[6]>>4], hexLU[s[6]&0xf], + hexLU[s[7]>>4], hexLU[s[7]&0xf], + } } // TraceIDFromHex returns a TraceID from a hex string if it is compliant with @@ -85,65 +126,58 @@ func (s SpanID) String() string { // https://www.w3.org/TR/trace-context/#trace-id // nolint:revive // revive complains about stutter of `trace.TraceIDFromHex`. func TraceIDFromHex(h string) (TraceID, error) { - t := TraceID{} if len(h) != 32 { - return t, errInvalidTraceIDLength + return [16]byte{}, errInvalidTraceIDLength } - - if err := decodeHex(h, t[:]); err != nil { - return t, err + var b [16]byte + invalidMark := byte(0) + for i := 0; i < len(h); i += 4 { + b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]] + b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]] + invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]] } - - if !t.IsValid() { - return t, errNilTraceID + // If the upper 4 bits of any byte are not zero, there was an invalid hex + // character since invalid hex characters are 0xff in hexRev. + if invalidMark&0xf0 != 0 { + return [16]byte{}, errInvalidHexID + } + // If we didn't set any bits, then h was all zeros. + if invalidMark == 0 { + return [16]byte{}, errNilTraceID } - return t, nil + return b, nil } // SpanIDFromHex returns a SpanID from a hex string if it is compliant // with the w3c trace-context specification. // See more at https://www.w3.org/TR/trace-context/#parent-id func SpanIDFromHex(h string) (SpanID, error) { - s := SpanID{} if len(h) != 16 { - return s, errInvalidSpanIDLength - } - - if err := decodeHex(h, s[:]); err != nil { - return s, err + return [8]byte{}, errInvalidSpanIDLength } - - if !s.IsValid() { - return s, errNilSpanID + var b [8]byte + invalidMark := byte(0) + for i := 0; i < len(h); i += 4 { + b[i/2] = (hexRev[h[i]] << 4) | hexRev[h[i+1]] + b[i/2+1] = (hexRev[h[i+2]] << 4) | hexRev[h[i+3]] + invalidMark |= hexRev[h[i]] | hexRev[h[i+1]] | hexRev[h[i+2]] | hexRev[h[i+3]] } - return s, nil -} - -func decodeHex(h string, b []byte) error { - for _, r := range h { - switch { - case 'a' <= r && r <= 'f': - continue - case '0' <= r && r <= '9': - continue - default: - return errInvalidHexID - } + // If the upper 4 bits of any byte are not zero, there was an invalid hex + // character since invalid hex characters are 0xff in hexRev. + if invalidMark&0xf0 != 0 { + return [8]byte{}, errInvalidHexID } - - decoded, err := hex.DecodeString(h) - if err != nil { - return err + // If we didn't set any bits, then h was all zeros. + if invalidMark == 0 { + return [8]byte{}, errNilSpanID } - - copy(b, decoded) - return nil + return b, nil } // TraceFlags contains flags that can be set on a SpanContext. type TraceFlags byte //nolint:revive // revive complains about stutter of `trace.TraceFlags`. -// IsSampled returns if the sampling bit is set in the TraceFlags. +// IsSampled reports whether the sampling bit is set in the TraceFlags. func (tf TraceFlags) IsSampled() bool { return tf&FlagsSampled == FlagsSampled } @@ -160,12 +194,20 @@ func (tf TraceFlags) WithSampled(sampled bool) TraceFlags { // nolint:revive // // MarshalJSON implements a custom marshal function to encode TraceFlags // as a hex string. func (tf TraceFlags) MarshalJSON() ([]byte, error) { - return json.Marshal(tf.String()) + b := [2 + 2]byte{0: '"', 3: '"'} + h := tf.hexBytes() + copy(b[1:], h[:]) + return b[:], nil } // String returns the hex string representation form of TraceFlags. func (tf TraceFlags) String() string { - return hex.EncodeToString([]byte{byte(tf)}[:]) + h := tf.hexBytes() + return string(h[:]) +} + +func (tf TraceFlags) hexBytes() [2]byte { + return [2]byte{hexLU[tf>>4], hexLU[tf&0xf]} } // SpanContextConfig contains mutable fields usable for constructing @@ -201,13 +243,13 @@ type SpanContext struct { var _ json.Marshaler = SpanContext{} -// IsValid returns if the SpanContext is valid. A valid span context has a +// IsValid reports whether the SpanContext is valid. A valid span context has a // valid TraceID and SpanID. func (sc SpanContext) IsValid() bool { return sc.HasTraceID() && sc.HasSpanID() } -// IsRemote indicates whether the SpanContext represents a remotely-created Span. +// IsRemote reports whether the SpanContext represents a remotely-created Span. func (sc SpanContext) IsRemote() bool { return sc.remote } @@ -228,7 +270,7 @@ func (sc SpanContext) TraceID() TraceID { return sc.traceID } -// HasTraceID checks if the SpanContext has a valid TraceID. +// HasTraceID reports whether the SpanContext has a valid TraceID. func (sc SpanContext) HasTraceID() bool { return sc.traceID.IsValid() } @@ -249,7 +291,7 @@ func (sc SpanContext) SpanID() SpanID { return sc.spanID } -// HasSpanID checks if the SpanContext has a valid SpanID. +// HasSpanID reports whether the SpanContext has a valid SpanID. func (sc SpanContext) HasSpanID() bool { return sc.spanID.IsValid() } @@ -270,7 +312,7 @@ func (sc SpanContext) TraceFlags() TraceFlags { return sc.traceFlags } -// IsSampled returns if the sampling bit is set in the SpanContext's TraceFlags. +// IsSampled reports whether the sampling bit is set in the SpanContext's TraceFlags. func (sc SpanContext) IsSampled() bool { return sc.traceFlags.IsSampled() } @@ -302,7 +344,7 @@ func (sc SpanContext) WithTraceState(state TraceState) SpanContext { } } -// Equal is a predicate that determines whether two SpanContext values are equal. +// Equal reports whether two SpanContext values are equal. func (sc SpanContext) Equal(other SpanContext) bool { return sc.traceID == other.traceID && sc.spanID == other.spanID && diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/tracestate.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/tracestate.go index dc5e34cad0d..073adae2faa 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/tracestate.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/trace/tracestate.go @@ -80,7 +80,7 @@ func checkKeyRemain(key string) bool { // // param n is remain part length, should be 255 in simple-key or 13 in system-id. func checkKeyPart(key string, n int) bool { - if len(key) == 0 { + if key == "" { return false } first := key[0] // key's first char @@ -102,7 +102,7 @@ func isAlphaNum(c byte) bool { // // param n is remain part length, should be 240 exactly. func checkKeyTenant(key string, n int) bool { - if len(key) == 0 { + if key == "" { return false } return isAlphaNum(key[0]) && len(key[1:]) <= n && checkKeyRemain(key[1:]) @@ -191,7 +191,7 @@ func ParseTraceState(ts string) (TraceState, error) { for ts != "" { var memberStr string memberStr, ts, _ = strings.Cut(ts, listDelimiters) - if len(memberStr) == 0 { + if memberStr == "" { continue } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/version.go b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/version.go index 7afe92b5981..bcaa5aa5378 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/version.go +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/version.go @@ -5,5 +5,5 @@ package otel // import "go.opentelemetry.io/otel" // Version is the current release version of OpenTelemetry in use. func Version() string { - return "1.37.0" + return "1.38.0" } diff --git a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/versions.yaml b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/versions.yaml index 9d4742a1764..07145e254b5 100644 --- a/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/versions.yaml +++ b/cluster-api/providers/azure/vendor/go.opentelemetry.io/otel/versions.yaml @@ -3,7 +3,7 @@ module-sets: stable-v1: - version: v1.37.0 + version: v1.38.0 modules: - go.opentelemetry.io/otel - go.opentelemetry.io/otel/bridge/opencensus @@ -22,11 +22,11 @@ module-sets: - go.opentelemetry.io/otel/sdk/metric - go.opentelemetry.io/otel/trace experimental-metrics: - version: v0.59.0 + version: v0.60.0 modules: - go.opentelemetry.io/otel/exporters/prometheus experimental-logs: - version: v0.13.0 + version: v0.14.0 modules: - go.opentelemetry.io/otel/log - go.opentelemetry.io/otel/log/logtest @@ -36,7 +36,7 @@ module-sets: - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp - go.opentelemetry.io/otel/exporters/stdout/stdoutlog experimental-schema: - version: v0.0.12 + version: v0.0.13 modules: - go.opentelemetry.io/otel/schema excluded-modules: diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/LICENSE b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/LICENSE new file mode 100644 index 00000000000..2683e4bb1f2 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/LICENSE @@ -0,0 +1,50 @@ + +This project is covered by two different licenses: MIT and Apache. + +#### MIT License #### + +The following files were ported to Go from C files of libyaml, and thus +are still covered by their original MIT license, with the additional +copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + +Copyright (c) 2006-2010 Kirill Simonov +Copyright (c) 2006-2011 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +### Apache License ### + +All the remaining project files are covered by the Apache license: + +Copyright (c) 2011-2019 Canonical Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/NOTICE b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/NOTICE new file mode 100644 index 00000000000..866d74a7ad7 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/NOTICE @@ -0,0 +1,13 @@ +Copyright 2011-2016 Canonical Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/README.md b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/README.md new file mode 100644 index 00000000000..15a85a6350a --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/README.md @@ -0,0 +1,171 @@ +go.yaml.in/yaml +=============== + +YAML Support for the Go Language + + +## Introduction + +The `yaml` package enables [Go](https://go.dev/) programs to comfortably encode +and decode [YAML](https://yaml.org/) values. + +It was originally developed within [Canonical](https://www.canonical.com) as +part of the [juju](https://juju.ubuntu.com) project, and is based on a pure Go +port of the well-known [libyaml](http://pyyaml.org/wiki/LibYAML) C library to +parse and generate YAML data quickly and reliably. + + +## Project Status + +This project started as a fork of the extremely popular [go-yaml]( +https://github.com/go-yaml/yaml/) +project, and is being maintained by the official [YAML organization]( +https://github.com/yaml/). + +The YAML team took over ongoing maintenance and development of the project after +discussion with go-yaml's author, @niemeyer, following his decision to +[label the project repository as "unmaintained"]( +https://github.com/go-yaml/yaml/blob/944c86a7d2/README.md) in April 2025. + +We have put together a team of dedicated maintainers including representatives +of go-yaml's most important downstream projects. + +We will strive to earn the trust of the various go-yaml forks to switch back to +this repository as their upstream. + +Please [contact us](https://cloud-native.slack.com/archives/C08PPAT8PS7) if you +would like to contribute or be involved. + + +## Compatibility + +The `yaml` package supports most of YAML 1.2, but preserves some behavior from +1.1 for backwards compatibility. + +Specifically, v3 of the `yaml` package: + +* Supports YAML 1.1 bools (`yes`/`no`, `on`/`off`) as long as they are being + decoded into a typed bool value. + Otherwise they behave as a string. + Booleans in YAML 1.2 are `true`/`false` only. +* Supports octals encoded and decoded as `0777` per YAML 1.1, rather than + `0o777` as specified in YAML 1.2, because most parsers still use the old + format. + Octals in the `0o777` format are supported though, so new files work. +* Does not support base-60 floats. + These are gone from YAML 1.2, and were actually never supported by this + package as it's clearly a poor choice. + + +## Installation and Usage + +The import path for the package is *go.yaml.in/yaml/v3*. + +To install it, run: + +```bash +go get go.yaml.in/yaml/v3 +``` + + +## API Documentation + +See: + + +## API Stability + +The package API for yaml v3 will remain stable as described in [gopkg.in]( +https://gopkg.in). + + +## Example + +```go +package main + +import ( + "fmt" + "log" + + "go.yaml.in/yaml/v3" +) + +var data = ` +a: Easy! +b: + c: 2 + d: [3, 4] +` + +// Note: struct fields must be public in order for unmarshal to +// correctly populate the data. +type T struct { + A string + B struct { + RenamedC int `yaml:"c"` + D []int `yaml:",flow"` + } +} + +func main() { + t := T{} + + err := yaml.Unmarshal([]byte(data), &t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t:\n%v\n\n", t) + + d, err := yaml.Marshal(&t) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- t dump:\n%s\n\n", string(d)) + + m := make(map[interface{}]interface{}) + + err = yaml.Unmarshal([]byte(data), &m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m:\n%v\n\n", m) + + d, err = yaml.Marshal(&m) + if err != nil { + log.Fatalf("error: %v", err) + } + fmt.Printf("--- m dump:\n%s\n\n", string(d)) +} +``` + +This example will generate the following output: + +``` +--- t: +{Easy! {2 [3 4]}} + +--- t dump: +a: Easy! +b: + c: 2 + d: [3, 4] + + +--- m: +map[a:Easy! b:map[c:2 d:[3 4]]] + +--- m dump: +a: Easy! +b: + c: 2 + d: + - 3 + - 4 +``` + + +## License + +The yaml package is licensed under the MIT and Apache License 2.0 licenses. +Please see the LICENSE file for details. diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/apic.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/apic.go new file mode 100644 index 00000000000..05fd305da16 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/apic.go @@ -0,0 +1,747 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "io" +) + +func yaml_insert_token(parser *yaml_parser_t, pos int, token *yaml_token_t) { + //fmt.Println("yaml_insert_token", "pos:", pos, "typ:", token.typ, "head:", parser.tokens_head, "len:", len(parser.tokens)) + + // Check if we can move the queue at the beginning of the buffer. + if parser.tokens_head > 0 && len(parser.tokens) == cap(parser.tokens) { + if parser.tokens_head != len(parser.tokens) { + copy(parser.tokens, parser.tokens[parser.tokens_head:]) + } + parser.tokens = parser.tokens[:len(parser.tokens)-parser.tokens_head] + parser.tokens_head = 0 + } + parser.tokens = append(parser.tokens, *token) + if pos < 0 { + return + } + copy(parser.tokens[parser.tokens_head+pos+1:], parser.tokens[parser.tokens_head+pos:]) + parser.tokens[parser.tokens_head+pos] = *token +} + +// Create a new parser object. +func yaml_parser_initialize(parser *yaml_parser_t) bool { + *parser = yaml_parser_t{ + raw_buffer: make([]byte, 0, input_raw_buffer_size), + buffer: make([]byte, 0, input_buffer_size), + } + return true +} + +// Destroy a parser object. +func yaml_parser_delete(parser *yaml_parser_t) { + *parser = yaml_parser_t{} +} + +// String read handler. +func yaml_string_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + if parser.input_pos == len(parser.input) { + return 0, io.EOF + } + n = copy(buffer, parser.input[parser.input_pos:]) + parser.input_pos += n + return n, nil +} + +// Reader read handler. +func yaml_reader_read_handler(parser *yaml_parser_t, buffer []byte) (n int, err error) { + return parser.input_reader.Read(buffer) +} + +// Set a string input. +func yaml_parser_set_input_string(parser *yaml_parser_t, input []byte) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_string_read_handler + parser.input = input + parser.input_pos = 0 +} + +// Set a file input. +func yaml_parser_set_input_reader(parser *yaml_parser_t, r io.Reader) { + if parser.read_handler != nil { + panic("must set the input source only once") + } + parser.read_handler = yaml_reader_read_handler + parser.input_reader = r +} + +// Set the source encoding. +func yaml_parser_set_encoding(parser *yaml_parser_t, encoding yaml_encoding_t) { + if parser.encoding != yaml_ANY_ENCODING { + panic("must set the encoding only once") + } + parser.encoding = encoding +} + +// Create a new emitter object. +func yaml_emitter_initialize(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{ + buffer: make([]byte, output_buffer_size), + raw_buffer: make([]byte, 0, output_raw_buffer_size), + states: make([]yaml_emitter_state_t, 0, initial_stack_size), + events: make([]yaml_event_t, 0, initial_queue_size), + best_width: -1, + } +} + +// Destroy an emitter object. +func yaml_emitter_delete(emitter *yaml_emitter_t) { + *emitter = yaml_emitter_t{} +} + +// String write handler. +func yaml_string_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + *emitter.output_buffer = append(*emitter.output_buffer, buffer...) + return nil +} + +// yaml_writer_write_handler uses emitter.output_writer to write the +// emitted text. +func yaml_writer_write_handler(emitter *yaml_emitter_t, buffer []byte) error { + _, err := emitter.output_writer.Write(buffer) + return err +} + +// Set a string output. +func yaml_emitter_set_output_string(emitter *yaml_emitter_t, output_buffer *[]byte) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_string_write_handler + emitter.output_buffer = output_buffer +} + +// Set a file output. +func yaml_emitter_set_output_writer(emitter *yaml_emitter_t, w io.Writer) { + if emitter.write_handler != nil { + panic("must set the output target only once") + } + emitter.write_handler = yaml_writer_write_handler + emitter.output_writer = w +} + +// Set the output encoding. +func yaml_emitter_set_encoding(emitter *yaml_emitter_t, encoding yaml_encoding_t) { + if emitter.encoding != yaml_ANY_ENCODING { + panic("must set the output encoding only once") + } + emitter.encoding = encoding +} + +// Set the canonical output style. +func yaml_emitter_set_canonical(emitter *yaml_emitter_t, canonical bool) { + emitter.canonical = canonical +} + +// Set the indentation increment. +func yaml_emitter_set_indent(emitter *yaml_emitter_t, indent int) { + if indent < 2 || indent > 9 { + indent = 2 + } + emitter.best_indent = indent +} + +// Set the preferred line width. +func yaml_emitter_set_width(emitter *yaml_emitter_t, width int) { + if width < 0 { + width = -1 + } + emitter.best_width = width +} + +// Set if unescaped non-ASCII characters are allowed. +func yaml_emitter_set_unicode(emitter *yaml_emitter_t, unicode bool) { + emitter.unicode = unicode +} + +// Set the preferred line break character. +func yaml_emitter_set_break(emitter *yaml_emitter_t, line_break yaml_break_t) { + emitter.line_break = line_break +} + +///* +// * Destroy a token object. +// */ +// +//YAML_DECLARE(void) +//yaml_token_delete(yaml_token_t *token) +//{ +// assert(token); // Non-NULL token object expected. +// +// switch (token.type) +// { +// case YAML_TAG_DIRECTIVE_TOKEN: +// yaml_free(token.data.tag_directive.handle); +// yaml_free(token.data.tag_directive.prefix); +// break; +// +// case YAML_ALIAS_TOKEN: +// yaml_free(token.data.alias.value); +// break; +// +// case YAML_ANCHOR_TOKEN: +// yaml_free(token.data.anchor.value); +// break; +// +// case YAML_TAG_TOKEN: +// yaml_free(token.data.tag.handle); +// yaml_free(token.data.tag.suffix); +// break; +// +// case YAML_SCALAR_TOKEN: +// yaml_free(token.data.scalar.value); +// break; +// +// default: +// break; +// } +// +// memset(token, 0, sizeof(yaml_token_t)); +//} +// +///* +// * Check if a string is a valid UTF-8 sequence. +// * +// * Check 'reader.c' for more details on UTF-8 encoding. +// */ +// +//static int +//yaml_check_utf8(yaml_char_t *start, size_t length) +//{ +// yaml_char_t *end = start+length; +// yaml_char_t *pointer = start; +// +// while (pointer < end) { +// unsigned char octet; +// unsigned int width; +// unsigned int value; +// size_t k; +// +// octet = pointer[0]; +// width = (octet & 0x80) == 0x00 ? 1 : +// (octet & 0xE0) == 0xC0 ? 2 : +// (octet & 0xF0) == 0xE0 ? 3 : +// (octet & 0xF8) == 0xF0 ? 4 : 0; +// value = (octet & 0x80) == 0x00 ? octet & 0x7F : +// (octet & 0xE0) == 0xC0 ? octet & 0x1F : +// (octet & 0xF0) == 0xE0 ? octet & 0x0F : +// (octet & 0xF8) == 0xF0 ? octet & 0x07 : 0; +// if (!width) return 0; +// if (pointer+width > end) return 0; +// for (k = 1; k < width; k ++) { +// octet = pointer[k]; +// if ((octet & 0xC0) != 0x80) return 0; +// value = (value << 6) + (octet & 0x3F); +// } +// if (!((width == 1) || +// (width == 2 && value >= 0x80) || +// (width == 3 && value >= 0x800) || +// (width == 4 && value >= 0x10000))) return 0; +// +// pointer += width; +// } +// +// return 1; +//} +// + +// Create STREAM-START. +func yaml_stream_start_event_initialize(event *yaml_event_t, encoding yaml_encoding_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + encoding: encoding, + } +} + +// Create STREAM-END. +func yaml_stream_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + } +} + +// Create DOCUMENT-START. +func yaml_document_start_event_initialize( + event *yaml_event_t, + version_directive *yaml_version_directive_t, + tag_directives []yaml_tag_directive_t, + implicit bool, +) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: implicit, + } +} + +// Create DOCUMENT-END. +func yaml_document_end_event_initialize(event *yaml_event_t, implicit bool) { + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + implicit: implicit, + } +} + +// Create ALIAS. +func yaml_alias_event_initialize(event *yaml_event_t, anchor []byte) bool { + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + anchor: anchor, + } + return true +} + +// Create SCALAR. +func yaml_scalar_event_initialize(event *yaml_event_t, anchor, tag, value []byte, plain_implicit, quoted_implicit bool, style yaml_scalar_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + anchor: anchor, + tag: tag, + value: value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-START. +func yaml_sequence_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_sequence_style_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } + return true +} + +// Create SEQUENCE-END. +func yaml_sequence_end_event_initialize(event *yaml_event_t) bool { + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + } + return true +} + +// Create MAPPING-START. +func yaml_mapping_start_event_initialize(event *yaml_event_t, anchor, tag []byte, implicit bool, style yaml_mapping_style_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(style), + } +} + +// Create MAPPING-END. +func yaml_mapping_end_event_initialize(event *yaml_event_t) { + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + } +} + +// Destroy an event object. +func yaml_event_delete(event *yaml_event_t) { + *event = yaml_event_t{} +} + +///* +// * Create a document object. +// */ +// +//YAML_DECLARE(int) +//yaml_document_initialize(document *yaml_document_t, +// version_directive *yaml_version_directive_t, +// tag_directives_start *yaml_tag_directive_t, +// tag_directives_end *yaml_tag_directive_t, +// start_implicit int, end_implicit int) +//{ +// struct { +// error yaml_error_type_t +// } context +// struct { +// start *yaml_node_t +// end *yaml_node_t +// top *yaml_node_t +// } nodes = { NULL, NULL, NULL } +// version_directive_copy *yaml_version_directive_t = NULL +// struct { +// start *yaml_tag_directive_t +// end *yaml_tag_directive_t +// top *yaml_tag_directive_t +// } tag_directives_copy = { NULL, NULL, NULL } +// value yaml_tag_directive_t = { NULL, NULL } +// mark yaml_mark_t = { 0, 0, 0 } +// +// assert(document) // Non-NULL document object is expected. +// assert((tag_directives_start && tag_directives_end) || +// (tag_directives_start == tag_directives_end)) +// // Valid tag directives are expected. +// +// if (!STACK_INIT(&context, nodes, INITIAL_STACK_SIZE)) goto error +// +// if (version_directive) { +// version_directive_copy = yaml_malloc(sizeof(yaml_version_directive_t)) +// if (!version_directive_copy) goto error +// version_directive_copy.major = version_directive.major +// version_directive_copy.minor = version_directive.minor +// } +// +// if (tag_directives_start != tag_directives_end) { +// tag_directive *yaml_tag_directive_t +// if (!STACK_INIT(&context, tag_directives_copy, INITIAL_STACK_SIZE)) +// goto error +// for (tag_directive = tag_directives_start +// tag_directive != tag_directives_end; tag_directive ++) { +// assert(tag_directive.handle) +// assert(tag_directive.prefix) +// if (!yaml_check_utf8(tag_directive.handle, +// strlen((char *)tag_directive.handle))) +// goto error +// if (!yaml_check_utf8(tag_directive.prefix, +// strlen((char *)tag_directive.prefix))) +// goto error +// value.handle = yaml_strdup(tag_directive.handle) +// value.prefix = yaml_strdup(tag_directive.prefix) +// if (!value.handle || !value.prefix) goto error +// if (!PUSH(&context, tag_directives_copy, value)) +// goto error +// value.handle = NULL +// value.prefix = NULL +// } +// } +// +// DOCUMENT_INIT(*document, nodes.start, nodes.end, version_directive_copy, +// tag_directives_copy.start, tag_directives_copy.top, +// start_implicit, end_implicit, mark, mark) +// +// return 1 +// +//error: +// STACK_DEL(&context, nodes) +// yaml_free(version_directive_copy) +// while (!STACK_EMPTY(&context, tag_directives_copy)) { +// value yaml_tag_directive_t = POP(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// } +// STACK_DEL(&context, tag_directives_copy) +// yaml_free(value.handle) +// yaml_free(value.prefix) +// +// return 0 +//} +// +///* +// * Destroy a document object. +// */ +// +//YAML_DECLARE(void) +//yaml_document_delete(document *yaml_document_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// tag_directive *yaml_tag_directive_t +// +// context.error = YAML_NO_ERROR // Eliminate a compiler warning. +// +// assert(document) // Non-NULL document object is expected. +// +// while (!STACK_EMPTY(&context, document.nodes)) { +// node yaml_node_t = POP(&context, document.nodes) +// yaml_free(node.tag) +// switch (node.type) { +// case YAML_SCALAR_NODE: +// yaml_free(node.data.scalar.value) +// break +// case YAML_SEQUENCE_NODE: +// STACK_DEL(&context, node.data.sequence.items) +// break +// case YAML_MAPPING_NODE: +// STACK_DEL(&context, node.data.mapping.pairs) +// break +// default: +// assert(0) // Should not happen. +// } +// } +// STACK_DEL(&context, document.nodes) +// +// yaml_free(document.version_directive) +// for (tag_directive = document.tag_directives.start +// tag_directive != document.tag_directives.end +// tag_directive++) { +// yaml_free(tag_directive.handle) +// yaml_free(tag_directive.prefix) +// } +// yaml_free(document.tag_directives.start) +// +// memset(document, 0, sizeof(yaml_document_t)) +//} +// +///** +// * Get a document node. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_node(document *yaml_document_t, index int) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (index > 0 && document.nodes.start + index <= document.nodes.top) { +// return document.nodes.start + index - 1 +// } +// return NULL +//} +// +///** +// * Get the root object. +// */ +// +//YAML_DECLARE(yaml_node_t *) +//yaml_document_get_root_node(document *yaml_document_t) +//{ +// assert(document) // Non-NULL document object is expected. +// +// if (document.nodes.top != document.nodes.start) { +// return document.nodes.start +// } +// return NULL +//} +// +///* +// * Add a scalar node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_scalar(document *yaml_document_t, +// tag *yaml_char_t, value *yaml_char_t, length int, +// style yaml_scalar_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// value_copy *yaml_char_t = NULL +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// assert(value) // Non-NULL value is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SCALAR_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (length < 0) { +// length = strlen((char *)value) +// } +// +// if (!yaml_check_utf8(value, length)) goto error +// value_copy = yaml_malloc(length+1) +// if (!value_copy) goto error +// memcpy(value_copy, value, length) +// value_copy[length] = '\0' +// +// SCALAR_NODE_INIT(node, tag_copy, value_copy, length, style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// yaml_free(tag_copy) +// yaml_free(value_copy) +// +// return 0 +//} +// +///* +// * Add a sequence node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_sequence(document *yaml_document_t, +// tag *yaml_char_t, style yaml_sequence_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_item_t +// end *yaml_node_item_t +// top *yaml_node_item_t +// } items = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_SEQUENCE_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, items, INITIAL_STACK_SIZE)) goto error +// +// SEQUENCE_NODE_INIT(node, tag_copy, items.start, items.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, items) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Add a mapping node to a document. +// */ +// +//YAML_DECLARE(int) +//yaml_document_add_mapping(document *yaml_document_t, +// tag *yaml_char_t, style yaml_mapping_style_t) +//{ +// struct { +// error yaml_error_type_t +// } context +// mark yaml_mark_t = { 0, 0, 0 } +// tag_copy *yaml_char_t = NULL +// struct { +// start *yaml_node_pair_t +// end *yaml_node_pair_t +// top *yaml_node_pair_t +// } pairs = { NULL, NULL, NULL } +// node yaml_node_t +// +// assert(document) // Non-NULL document object is expected. +// +// if (!tag) { +// tag = (yaml_char_t *)YAML_DEFAULT_MAPPING_TAG +// } +// +// if (!yaml_check_utf8(tag, strlen((char *)tag))) goto error +// tag_copy = yaml_strdup(tag) +// if (!tag_copy) goto error +// +// if (!STACK_INIT(&context, pairs, INITIAL_STACK_SIZE)) goto error +// +// MAPPING_NODE_INIT(node, tag_copy, pairs.start, pairs.end, +// style, mark, mark) +// if (!PUSH(&context, document.nodes, node)) goto error +// +// return document.nodes.top - document.nodes.start +// +//error: +// STACK_DEL(&context, pairs) +// yaml_free(tag_copy) +// +// return 0 +//} +// +///* +// * Append an item to a sequence node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_sequence_item(document *yaml_document_t, +// sequence int, item int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// assert(document) // Non-NULL document is required. +// assert(sequence > 0 +// && document.nodes.start + sequence <= document.nodes.top) +// // Valid sequence id is required. +// assert(document.nodes.start[sequence-1].type == YAML_SEQUENCE_NODE) +// // A sequence node is required. +// assert(item > 0 && document.nodes.start + item <= document.nodes.top) +// // Valid item id is required. +// +// if (!PUSH(&context, +// document.nodes.start[sequence-1].data.sequence.items, item)) +// return 0 +// +// return 1 +//} +// +///* +// * Append a pair of a key and a value to a mapping node. +// */ +// +//YAML_DECLARE(int) +//yaml_document_append_mapping_pair(document *yaml_document_t, +// mapping int, key int, value int) +//{ +// struct { +// error yaml_error_type_t +// } context +// +// pair yaml_node_pair_t +// +// assert(document) // Non-NULL document is required. +// assert(mapping > 0 +// && document.nodes.start + mapping <= document.nodes.top) +// // Valid mapping id is required. +// assert(document.nodes.start[mapping-1].type == YAML_MAPPING_NODE) +// // A mapping node is required. +// assert(key > 0 && document.nodes.start + key <= document.nodes.top) +// // Valid key id is required. +// assert(value > 0 && document.nodes.start + value <= document.nodes.top) +// // Valid value id is required. +// +// pair.key = key +// pair.value = value +// +// if (!PUSH(&context, +// document.nodes.start[mapping-1].data.mapping.pairs, pair)) +// return 0 +// +// return 1 +//} +// +// diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/decode.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/decode.go new file mode 100644 index 00000000000..02e2b17bfe0 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/decode.go @@ -0,0 +1,1018 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "encoding" + "encoding/base64" + "fmt" + "io" + "math" + "reflect" + "strconv" + "time" +) + +// ---------------------------------------------------------------------------- +// Parser, produces a node tree out of a libyaml event stream. + +type parser struct { + parser yaml_parser_t + event yaml_event_t + doc *Node + anchors map[string]*Node + doneInit bool + textless bool +} + +func newParser(b []byte) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + if len(b) == 0 { + b = []byte{'\n'} + } + yaml_parser_set_input_string(&p.parser, b) + return &p +} + +func newParserFromReader(r io.Reader) *parser { + p := parser{} + if !yaml_parser_initialize(&p.parser) { + panic("failed to initialize YAML emitter") + } + yaml_parser_set_input_reader(&p.parser, r) + return &p +} + +func (p *parser) init() { + if p.doneInit { + return + } + p.anchors = make(map[string]*Node) + p.expect(yaml_STREAM_START_EVENT) + p.doneInit = true +} + +func (p *parser) destroy() { + if p.event.typ != yaml_NO_EVENT { + yaml_event_delete(&p.event) + } + yaml_parser_delete(&p.parser) +} + +// expect consumes an event from the event stream and +// checks that it's of the expected type. +func (p *parser) expect(e yaml_event_type_t) { + if p.event.typ == yaml_NO_EVENT { + if !yaml_parser_parse(&p.parser, &p.event) { + p.fail() + } + } + if p.event.typ == yaml_STREAM_END_EVENT { + failf("attempted to go past the end of stream; corrupted value?") + } + if p.event.typ != e { + p.parser.problem = fmt.Sprintf("expected %s event but got %s", e, p.event.typ) + p.fail() + } + yaml_event_delete(&p.event) + p.event.typ = yaml_NO_EVENT +} + +// peek peeks at the next event in the event stream, +// puts the results into p.event and returns the event type. +func (p *parser) peek() yaml_event_type_t { + if p.event.typ != yaml_NO_EVENT { + return p.event.typ + } + // It's curious choice from the underlying API to generally return a + // positive result on success, but on this case return true in an error + // scenario. This was the source of bugs in the past (issue #666). + if !yaml_parser_parse(&p.parser, &p.event) || p.parser.error != yaml_NO_ERROR { + p.fail() + } + return p.event.typ +} + +func (p *parser) fail() { + var where string + var line int + if p.parser.context_mark.line != 0 { + line = p.parser.context_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } else if p.parser.problem_mark.line != 0 { + line = p.parser.problem_mark.line + // Scanner errors don't iterate line before returning error + if p.parser.error == yaml_SCANNER_ERROR { + line++ + } + } + if line != 0 { + where = "line " + strconv.Itoa(line) + ": " + } + var msg string + if len(p.parser.problem) > 0 { + msg = p.parser.problem + } else { + msg = "unknown problem parsing YAML content" + } + failf("%s%s", where, msg) +} + +func (p *parser) anchor(n *Node, anchor []byte) { + if anchor != nil { + n.Anchor = string(anchor) + p.anchors[n.Anchor] = n + } +} + +func (p *parser) parse() *Node { + p.init() + switch p.peek() { + case yaml_SCALAR_EVENT: + return p.scalar() + case yaml_ALIAS_EVENT: + return p.alias() + case yaml_MAPPING_START_EVENT: + return p.mapping() + case yaml_SEQUENCE_START_EVENT: + return p.sequence() + case yaml_DOCUMENT_START_EVENT: + return p.document() + case yaml_STREAM_END_EVENT: + // Happens when attempting to decode an empty buffer. + return nil + case yaml_TAIL_COMMENT_EVENT: + panic("internal error: unexpected tail comment event (please report)") + default: + panic("internal error: attempted to parse unknown event (please report): " + p.event.typ.String()) + } +} + +func (p *parser) node(kind Kind, defaultTag, tag, value string) *Node { + var style Style + if tag != "" && tag != "!" { + tag = shortTag(tag) + style = TaggedStyle + } else if defaultTag != "" { + tag = defaultTag + } else if kind == ScalarNode { + tag, _ = resolve("", value) + } + n := &Node{ + Kind: kind, + Tag: tag, + Value: value, + Style: style, + } + if !p.textless { + n.Line = p.event.start_mark.line + 1 + n.Column = p.event.start_mark.column + 1 + n.HeadComment = string(p.event.head_comment) + n.LineComment = string(p.event.line_comment) + n.FootComment = string(p.event.foot_comment) + } + return n +} + +func (p *parser) parseChild(parent *Node) *Node { + child := p.parse() + parent.Content = append(parent.Content, child) + return child +} + +func (p *parser) document() *Node { + n := p.node(DocumentNode, "", "", "") + p.doc = n + p.expect(yaml_DOCUMENT_START_EVENT) + p.parseChild(n) + if p.peek() == yaml_DOCUMENT_END_EVENT { + n.FootComment = string(p.event.foot_comment) + } + p.expect(yaml_DOCUMENT_END_EVENT) + return n +} + +func (p *parser) alias() *Node { + n := p.node(AliasNode, "", "", string(p.event.anchor)) + n.Alias = p.anchors[n.Value] + if n.Alias == nil { + failf("unknown anchor '%s' referenced", n.Value) + } + p.expect(yaml_ALIAS_EVENT) + return n +} + +func (p *parser) scalar() *Node { + var parsedStyle = p.event.scalar_style() + var nodeStyle Style + switch { + case parsedStyle&yaml_DOUBLE_QUOTED_SCALAR_STYLE != 0: + nodeStyle = DoubleQuotedStyle + case parsedStyle&yaml_SINGLE_QUOTED_SCALAR_STYLE != 0: + nodeStyle = SingleQuotedStyle + case parsedStyle&yaml_LITERAL_SCALAR_STYLE != 0: + nodeStyle = LiteralStyle + case parsedStyle&yaml_FOLDED_SCALAR_STYLE != 0: + nodeStyle = FoldedStyle + } + var nodeValue = string(p.event.value) + var nodeTag = string(p.event.tag) + var defaultTag string + if nodeStyle == 0 { + if nodeValue == "<<" { + defaultTag = mergeTag + } + } else { + defaultTag = strTag + } + n := p.node(ScalarNode, defaultTag, nodeTag, nodeValue) + n.Style |= nodeStyle + p.anchor(n, p.event.anchor) + p.expect(yaml_SCALAR_EVENT) + return n +} + +func (p *parser) sequence() *Node { + n := p.node(SequenceNode, seqTag, string(p.event.tag), "") + if p.event.sequence_style()&yaml_FLOW_SEQUENCE_STYLE != 0 { + n.Style |= FlowStyle + } + p.anchor(n, p.event.anchor) + p.expect(yaml_SEQUENCE_START_EVENT) + for p.peek() != yaml_SEQUENCE_END_EVENT { + p.parseChild(n) + } + n.LineComment = string(p.event.line_comment) + n.FootComment = string(p.event.foot_comment) + p.expect(yaml_SEQUENCE_END_EVENT) + return n +} + +func (p *parser) mapping() *Node { + n := p.node(MappingNode, mapTag, string(p.event.tag), "") + block := true + if p.event.mapping_style()&yaml_FLOW_MAPPING_STYLE != 0 { + block = false + n.Style |= FlowStyle + } + p.anchor(n, p.event.anchor) + p.expect(yaml_MAPPING_START_EVENT) + for p.peek() != yaml_MAPPING_END_EVENT { + k := p.parseChild(n) + if block && k.FootComment != "" { + // Must be a foot comment for the prior value when being dedented. + if len(n.Content) > 2 { + n.Content[len(n.Content)-3].FootComment = k.FootComment + k.FootComment = "" + } + } + v := p.parseChild(n) + if k.FootComment == "" && v.FootComment != "" { + k.FootComment = v.FootComment + v.FootComment = "" + } + if p.peek() == yaml_TAIL_COMMENT_EVENT { + if k.FootComment == "" { + k.FootComment = string(p.event.foot_comment) + } + p.expect(yaml_TAIL_COMMENT_EVENT) + } + } + n.LineComment = string(p.event.line_comment) + n.FootComment = string(p.event.foot_comment) + if n.Style&FlowStyle == 0 && n.FootComment != "" && len(n.Content) > 1 { + n.Content[len(n.Content)-2].FootComment = n.FootComment + n.FootComment = "" + } + p.expect(yaml_MAPPING_END_EVENT) + return n +} + +// ---------------------------------------------------------------------------- +// Decoder, unmarshals a node into a provided value. + +type decoder struct { + doc *Node + aliases map[*Node]bool + terrors []string + + stringMapType reflect.Type + generalMapType reflect.Type + + knownFields bool + uniqueKeys bool + decodeCount int + aliasCount int + aliasDepth int + + mergedFields map[interface{}]bool +} + +var ( + nodeType = reflect.TypeOf(Node{}) + durationType = reflect.TypeOf(time.Duration(0)) + stringMapType = reflect.TypeOf(map[string]interface{}{}) + generalMapType = reflect.TypeOf(map[interface{}]interface{}{}) + ifaceType = generalMapType.Elem() + timeType = reflect.TypeOf(time.Time{}) + ptrTimeType = reflect.TypeOf(&time.Time{}) +) + +func newDecoder() *decoder { + d := &decoder{ + stringMapType: stringMapType, + generalMapType: generalMapType, + uniqueKeys: true, + } + d.aliases = make(map[*Node]bool) + return d +} + +func (d *decoder) terror(n *Node, tag string, out reflect.Value) { + if n.Tag != "" { + tag = n.Tag + } + value := n.Value + if tag != seqTag && tag != mapTag { + if len(value) > 10 { + value = " `" + value[:7] + "...`" + } else { + value = " `" + value + "`" + } + } + d.terrors = append(d.terrors, fmt.Sprintf("line %d: cannot unmarshal %s%s into %s", n.Line, shortTag(tag), value, out.Type())) +} + +func (d *decoder) callUnmarshaler(n *Node, u Unmarshaler) (good bool) { + err := u.UnmarshalYAML(n) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +func (d *decoder) callObsoleteUnmarshaler(n *Node, u obsoleteUnmarshaler) (good bool) { + terrlen := len(d.terrors) + err := u.UnmarshalYAML(func(v interface{}) (err error) { + defer handleErr(&err) + d.unmarshal(n, reflect.ValueOf(v)) + if len(d.terrors) > terrlen { + issues := d.terrors[terrlen:] + d.terrors = d.terrors[:terrlen] + return &TypeError{issues} + } + return nil + }) + if e, ok := err.(*TypeError); ok { + d.terrors = append(d.terrors, e.Errors...) + return false + } + if err != nil { + fail(err) + } + return true +} + +// d.prepare initializes and dereferences pointers and calls UnmarshalYAML +// if a value is found to implement it. +// It returns the initialized and dereferenced out value, whether +// unmarshalling was already done by UnmarshalYAML, and if so whether +// its types unmarshalled appropriately. +// +// If n holds a null value, prepare returns before doing anything. +func (d *decoder) prepare(n *Node, out reflect.Value) (newout reflect.Value, unmarshaled, good bool) { + if n.ShortTag() == nullTag { + return out, false, false + } + again := true + for again { + again = false + if out.Kind() == reflect.Ptr { + if out.IsNil() { + out.Set(reflect.New(out.Type().Elem())) + } + out = out.Elem() + again = true + } + if out.CanAddr() { + outi := out.Addr().Interface() + if u, ok := outi.(Unmarshaler); ok { + good = d.callUnmarshaler(n, u) + return out, true, good + } + if u, ok := outi.(obsoleteUnmarshaler); ok { + good = d.callObsoleteUnmarshaler(n, u) + return out, true, good + } + } + } + return out, false, false +} + +func (d *decoder) fieldByIndex(n *Node, v reflect.Value, index []int) (field reflect.Value) { + if n.ShortTag() == nullTag { + return reflect.Value{} + } + for _, num := range index { + for { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + v.Set(reflect.New(v.Type().Elem())) + } + v = v.Elem() + continue + } + break + } + v = v.Field(num) + } + return v +} + +const ( + // 400,000 decode operations is ~500kb of dense object declarations, or + // ~5kb of dense object declarations with 10000% alias expansion + alias_ratio_range_low = 400000 + + // 4,000,000 decode operations is ~5MB of dense object declarations, or + // ~4.5MB of dense object declarations with 10% alias expansion + alias_ratio_range_high = 4000000 + + // alias_ratio_range is the range over which we scale allowed alias ratios + alias_ratio_range = float64(alias_ratio_range_high - alias_ratio_range_low) +) + +func allowedAliasRatio(decodeCount int) float64 { + switch { + case decodeCount <= alias_ratio_range_low: + // allow 99% to come from alias expansion for small-to-medium documents + return 0.99 + case decodeCount >= alias_ratio_range_high: + // allow 10% to come from alias expansion for very large documents + return 0.10 + default: + // scale smoothly from 99% down to 10% over the range. + // this maps to 396,000 - 400,000 allowed alias-driven decodes over the range. + // 400,000 decode operations is ~100MB of allocations in worst-case scenarios (single-item maps). + return 0.99 - 0.89*(float64(decodeCount-alias_ratio_range_low)/alias_ratio_range) + } +} + +func (d *decoder) unmarshal(n *Node, out reflect.Value) (good bool) { + d.decodeCount++ + if d.aliasDepth > 0 { + d.aliasCount++ + } + if d.aliasCount > 100 && d.decodeCount > 1000 && float64(d.aliasCount)/float64(d.decodeCount) > allowedAliasRatio(d.decodeCount) { + failf("document contains excessive aliasing") + } + if out.Type() == nodeType { + out.Set(reflect.ValueOf(n).Elem()) + return true + } + switch n.Kind { + case DocumentNode: + return d.document(n, out) + case AliasNode: + return d.alias(n, out) + } + out, unmarshaled, good := d.prepare(n, out) + if unmarshaled { + return good + } + switch n.Kind { + case ScalarNode: + good = d.scalar(n, out) + case MappingNode: + good = d.mapping(n, out) + case SequenceNode: + good = d.sequence(n, out) + case 0: + if n.IsZero() { + return d.null(out) + } + fallthrough + default: + failf("cannot decode node with unknown kind %d", n.Kind) + } + return good +} + +func (d *decoder) document(n *Node, out reflect.Value) (good bool) { + if len(n.Content) == 1 { + d.doc = n + d.unmarshal(n.Content[0], out) + return true + } + return false +} + +func (d *decoder) alias(n *Node, out reflect.Value) (good bool) { + if d.aliases[n] { + // TODO this could actually be allowed in some circumstances. + failf("anchor '%s' value contains itself", n.Value) + } + d.aliases[n] = true + d.aliasDepth++ + good = d.unmarshal(n.Alias, out) + d.aliasDepth-- + delete(d.aliases, n) + return good +} + +var zeroValue reflect.Value + +func resetMap(out reflect.Value) { + for _, k := range out.MapKeys() { + out.SetMapIndex(k, zeroValue) + } +} + +func (d *decoder) null(out reflect.Value) bool { + if out.CanAddr() { + switch out.Kind() { + case reflect.Interface, reflect.Ptr, reflect.Map, reflect.Slice: + out.Set(reflect.Zero(out.Type())) + return true + } + } + return false +} + +func (d *decoder) scalar(n *Node, out reflect.Value) bool { + var tag string + var resolved interface{} + if n.indicatedString() { + tag = strTag + resolved = n.Value + } else { + tag, resolved = resolve(n.Tag, n.Value) + if tag == binaryTag { + data, err := base64.StdEncoding.DecodeString(resolved.(string)) + if err != nil { + failf("!!binary value contains invalid base64 data") + } + resolved = string(data) + } + } + if resolved == nil { + return d.null(out) + } + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + // We've resolved to exactly the type we want, so use that. + out.Set(resolvedv) + return true + } + // Perhaps we can use the value as a TextUnmarshaler to + // set its value. + if out.CanAddr() { + u, ok := out.Addr().Interface().(encoding.TextUnmarshaler) + if ok { + var text []byte + if tag == binaryTag { + text = []byte(resolved.(string)) + } else { + // We let any value be unmarshaled into TextUnmarshaler. + // That might be more lax than we'd like, but the + // TextUnmarshaler itself should bowl out any dubious values. + text = []byte(n.Value) + } + err := u.UnmarshalText(text) + if err != nil { + fail(err) + } + return true + } + } + switch out.Kind() { + case reflect.String: + if tag == binaryTag { + out.SetString(resolved.(string)) + return true + } + out.SetString(n.Value) + return true + case reflect.Interface: + out.Set(reflect.ValueOf(resolved)) + return true + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + // This used to work in v2, but it's very unfriendly. + isDuration := out.Type() == durationType + + switch resolved := resolved.(type) { + case int: + if !isDuration && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case int64: + if !isDuration && !out.OverflowInt(resolved) { + out.SetInt(resolved) + return true + } + case uint64: + if !isDuration && resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case float64: + if !isDuration && resolved <= math.MaxInt64 && !out.OverflowInt(int64(resolved)) { + out.SetInt(int64(resolved)) + return true + } + case string: + if out.Type() == durationType { + d, err := time.ParseDuration(resolved) + if err == nil { + out.SetInt(int64(d)) + return true + } + } + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + switch resolved := resolved.(type) { + case int: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case int64: + if resolved >= 0 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case uint64: + if !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + case float64: + if resolved <= math.MaxUint64 && !out.OverflowUint(uint64(resolved)) { + out.SetUint(uint64(resolved)) + return true + } + } + case reflect.Bool: + switch resolved := resolved.(type) { + case bool: + out.SetBool(resolved) + return true + case string: + // This offers some compatibility with the 1.1 spec (https://yaml.org/type/bool.html). + // It only works if explicitly attempting to unmarshal into a typed bool value. + switch resolved { + case "y", "Y", "yes", "Yes", "YES", "on", "On", "ON": + out.SetBool(true) + return true + case "n", "N", "no", "No", "NO", "off", "Off", "OFF": + out.SetBool(false) + return true + } + } + case reflect.Float32, reflect.Float64: + switch resolved := resolved.(type) { + case int: + out.SetFloat(float64(resolved)) + return true + case int64: + out.SetFloat(float64(resolved)) + return true + case uint64: + out.SetFloat(float64(resolved)) + return true + case float64: + out.SetFloat(resolved) + return true + } + case reflect.Struct: + if resolvedv := reflect.ValueOf(resolved); out.Type() == resolvedv.Type() { + out.Set(resolvedv) + return true + } + case reflect.Ptr: + panic("yaml internal error: please report the issue") + } + d.terror(n, tag, out) + return false +} + +func settableValueOf(i interface{}) reflect.Value { + v := reflect.ValueOf(i) + sv := reflect.New(v.Type()).Elem() + sv.Set(v) + return sv +} + +func (d *decoder) sequence(n *Node, out reflect.Value) (good bool) { + l := len(n.Content) + + var iface reflect.Value + switch out.Kind() { + case reflect.Slice: + out.Set(reflect.MakeSlice(out.Type(), l, l)) + case reflect.Array: + if l != out.Len() { + failf("invalid array: want %d elements but got %d", out.Len(), l) + } + case reflect.Interface: + // No type hints. Will have to use a generic sequence. + iface = out + out = settableValueOf(make([]interface{}, l)) + default: + d.terror(n, seqTag, out) + return false + } + et := out.Type().Elem() + + j := 0 + for i := 0; i < l; i++ { + e := reflect.New(et).Elem() + if ok := d.unmarshal(n.Content[i], e); ok { + out.Index(j).Set(e) + j++ + } + } + if out.Kind() != reflect.Array { + out.Set(out.Slice(0, j)) + } + if iface.IsValid() { + iface.Set(out) + } + return true +} + +func (d *decoder) mapping(n *Node, out reflect.Value) (good bool) { + l := len(n.Content) + if d.uniqueKeys { + nerrs := len(d.terrors) + for i := 0; i < l; i += 2 { + ni := n.Content[i] + for j := i + 2; j < l; j += 2 { + nj := n.Content[j] + if ni.Kind == nj.Kind && ni.Value == nj.Value { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: mapping key %#v already defined at line %d", nj.Line, nj.Value, ni.Line)) + } + } + } + if len(d.terrors) > nerrs { + return false + } + } + switch out.Kind() { + case reflect.Struct: + return d.mappingStruct(n, out) + case reflect.Map: + // okay + case reflect.Interface: + iface := out + if isStringMap(n) { + out = reflect.MakeMap(d.stringMapType) + } else { + out = reflect.MakeMap(d.generalMapType) + } + iface.Set(out) + default: + d.terror(n, mapTag, out) + return false + } + + outt := out.Type() + kt := outt.Key() + et := outt.Elem() + + stringMapType := d.stringMapType + generalMapType := d.generalMapType + if outt.Elem() == ifaceType { + if outt.Key().Kind() == reflect.String { + d.stringMapType = outt + } else if outt.Key() == ifaceType { + d.generalMapType = outt + } + } + + mergedFields := d.mergedFields + d.mergedFields = nil + + var mergeNode *Node + + mapIsNew := false + if out.IsNil() { + out.Set(reflect.MakeMap(outt)) + mapIsNew = true + } + for i := 0; i < l; i += 2 { + if isMerge(n.Content[i]) { + mergeNode = n.Content[i+1] + continue + } + k := reflect.New(kt).Elem() + if d.unmarshal(n.Content[i], k) { + if mergedFields != nil { + ki := k.Interface() + if d.getPossiblyUnhashableKey(mergedFields, ki) { + continue + } + d.setPossiblyUnhashableKey(mergedFields, ki, true) + } + kkind := k.Kind() + if kkind == reflect.Interface { + kkind = k.Elem().Kind() + } + if kkind == reflect.Map || kkind == reflect.Slice { + failf("invalid map key: %#v", k.Interface()) + } + e := reflect.New(et).Elem() + if d.unmarshal(n.Content[i+1], e) || n.Content[i+1].ShortTag() == nullTag && (mapIsNew || !out.MapIndex(k).IsValid()) { + out.SetMapIndex(k, e) + } + } + } + + d.mergedFields = mergedFields + if mergeNode != nil { + d.merge(n, mergeNode, out) + } + + d.stringMapType = stringMapType + d.generalMapType = generalMapType + return true +} + +func isStringMap(n *Node) bool { + if n.Kind != MappingNode { + return false + } + l := len(n.Content) + for i := 0; i < l; i += 2 { + shortTag := n.Content[i].ShortTag() + if shortTag != strTag && shortTag != mergeTag { + return false + } + } + return true +} + +func (d *decoder) mappingStruct(n *Node, out reflect.Value) (good bool) { + sinfo, err := getStructInfo(out.Type()) + if err != nil { + panic(err) + } + + var inlineMap reflect.Value + var elemType reflect.Type + if sinfo.InlineMap != -1 { + inlineMap = out.Field(sinfo.InlineMap) + elemType = inlineMap.Type().Elem() + } + + for _, index := range sinfo.InlineUnmarshalers { + field := d.fieldByIndex(n, out, index) + d.prepare(n, field) + } + + mergedFields := d.mergedFields + d.mergedFields = nil + var mergeNode *Node + var doneFields []bool + if d.uniqueKeys { + doneFields = make([]bool, len(sinfo.FieldsList)) + } + name := settableValueOf("") + l := len(n.Content) + for i := 0; i < l; i += 2 { + ni := n.Content[i] + if isMerge(ni) { + mergeNode = n.Content[i+1] + continue + } + if !d.unmarshal(ni, name) { + continue + } + sname := name.String() + if mergedFields != nil { + if mergedFields[sname] { + continue + } + mergedFields[sname] = true + } + if info, ok := sinfo.FieldsMap[sname]; ok { + if d.uniqueKeys { + if doneFields[info.Id] { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s already set in type %s", ni.Line, name.String(), out.Type())) + continue + } + doneFields[info.Id] = true + } + var field reflect.Value + if info.Inline == nil { + field = out.Field(info.Num) + } else { + field = d.fieldByIndex(n, out, info.Inline) + } + d.unmarshal(n.Content[i+1], field) + } else if sinfo.InlineMap != -1 { + if inlineMap.IsNil() { + inlineMap.Set(reflect.MakeMap(inlineMap.Type())) + } + value := reflect.New(elemType).Elem() + d.unmarshal(n.Content[i+1], value) + inlineMap.SetMapIndex(name, value) + } else if d.knownFields { + d.terrors = append(d.terrors, fmt.Sprintf("line %d: field %s not found in type %s", ni.Line, name.String(), out.Type())) + } + } + + d.mergedFields = mergedFields + if mergeNode != nil { + d.merge(n, mergeNode, out) + } + return true +} + +func failWantMap() { + failf("map merge requires map or sequence of maps as the value") +} + +func (d *decoder) setPossiblyUnhashableKey(m map[interface{}]bool, key interface{}, value bool) { + defer func() { + if err := recover(); err != nil { + failf("%v", err) + } + }() + m[key] = value +} + +func (d *decoder) getPossiblyUnhashableKey(m map[interface{}]bool, key interface{}) bool { + defer func() { + if err := recover(); err != nil { + failf("%v", err) + } + }() + return m[key] +} + +func (d *decoder) merge(parent *Node, merge *Node, out reflect.Value) { + mergedFields := d.mergedFields + if mergedFields == nil { + d.mergedFields = make(map[interface{}]bool) + for i := 0; i < len(parent.Content); i += 2 { + k := reflect.New(ifaceType).Elem() + if d.unmarshal(parent.Content[i], k) { + d.setPossiblyUnhashableKey(d.mergedFields, k.Interface(), true) + } + } + } + + switch merge.Kind { + case MappingNode: + d.unmarshal(merge, out) + case AliasNode: + if merge.Alias != nil && merge.Alias.Kind != MappingNode { + failWantMap() + } + d.unmarshal(merge, out) + case SequenceNode: + for i := 0; i < len(merge.Content); i++ { + ni := merge.Content[i] + if ni.Kind == AliasNode { + if ni.Alias != nil && ni.Alias.Kind != MappingNode { + failWantMap() + } + } else if ni.Kind != MappingNode { + failWantMap() + } + d.unmarshal(ni, out) + } + default: + failWantMap() + } + + d.mergedFields = mergedFields +} + +func isMerge(n *Node) bool { + return n.Kind == ScalarNode && n.Value == "<<" && (n.Tag == "" || n.Tag == "!" || shortTag(n.Tag) == mergeTag) +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/emitterc.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/emitterc.go new file mode 100644 index 00000000000..ab4e03ba726 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/emitterc.go @@ -0,0 +1,2054 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "bytes" + "fmt" +) + +// Flush the buffer if needed. +func flush(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) { + return yaml_emitter_flush(emitter) + } + return true +} + +// Put a character to the output buffer. +func put(emitter *yaml_emitter_t, value byte) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + emitter.buffer[emitter.buffer_pos] = value + emitter.buffer_pos++ + emitter.column++ + return true +} + +// Put a line break to the output buffer. +func put_break(emitter *yaml_emitter_t) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + switch emitter.line_break { + case yaml_CR_BREAK: + emitter.buffer[emitter.buffer_pos] = '\r' + emitter.buffer_pos += 1 + case yaml_LN_BREAK: + emitter.buffer[emitter.buffer_pos] = '\n' + emitter.buffer_pos += 1 + case yaml_CRLN_BREAK: + emitter.buffer[emitter.buffer_pos+0] = '\r' + emitter.buffer[emitter.buffer_pos+1] = '\n' + emitter.buffer_pos += 2 + default: + panic("unknown line break setting") + } + if emitter.column == 0 { + emitter.space_above = true + } + emitter.column = 0 + emitter.line++ + // [Go] Do this here and below and drop from everywhere else (see commented lines). + emitter.indention = true + return true +} + +// Copy a character from a string into buffer. +func write(emitter *yaml_emitter_t, s []byte, i *int) bool { + if emitter.buffer_pos+5 >= len(emitter.buffer) && !yaml_emitter_flush(emitter) { + return false + } + p := emitter.buffer_pos + w := width(s[*i]) + switch w { + case 4: + emitter.buffer[p+3] = s[*i+3] + fallthrough + case 3: + emitter.buffer[p+2] = s[*i+2] + fallthrough + case 2: + emitter.buffer[p+1] = s[*i+1] + fallthrough + case 1: + emitter.buffer[p+0] = s[*i+0] + default: + panic("unknown character width") + } + emitter.column++ + emitter.buffer_pos += w + *i += w + return true +} + +// Write a whole string into buffer. +func write_all(emitter *yaml_emitter_t, s []byte) bool { + for i := 0; i < len(s); { + if !write(emitter, s, &i) { + return false + } + } + return true +} + +// Copy a line break character from a string into buffer. +func write_break(emitter *yaml_emitter_t, s []byte, i *int) bool { + if s[*i] == '\n' { + if !put_break(emitter) { + return false + } + *i++ + } else { + if !write(emitter, s, i) { + return false + } + if emitter.column == 0 { + emitter.space_above = true + } + emitter.column = 0 + emitter.line++ + // [Go] Do this here and above and drop from everywhere else (see commented lines). + emitter.indention = true + } + return true +} + +// Set an emitter error and return false. +func yaml_emitter_set_emitter_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_EMITTER_ERROR + emitter.problem = problem + return false +} + +// Emit an event. +func yaml_emitter_emit(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.events = append(emitter.events, *event) + for !yaml_emitter_need_more_events(emitter) { + event := &emitter.events[emitter.events_head] + if !yaml_emitter_analyze_event(emitter, event) { + return false + } + if !yaml_emitter_state_machine(emitter, event) { + return false + } + yaml_event_delete(event) + emitter.events_head++ + } + return true +} + +// Check if we need to accumulate more events before emitting. +// +// We accumulate extra +// - 1 event for DOCUMENT-START +// - 2 events for SEQUENCE-START +// - 3 events for MAPPING-START +func yaml_emitter_need_more_events(emitter *yaml_emitter_t) bool { + if emitter.events_head == len(emitter.events) { + return true + } + var accumulate int + switch emitter.events[emitter.events_head].typ { + case yaml_DOCUMENT_START_EVENT: + accumulate = 1 + break + case yaml_SEQUENCE_START_EVENT: + accumulate = 2 + break + case yaml_MAPPING_START_EVENT: + accumulate = 3 + break + default: + return false + } + if len(emitter.events)-emitter.events_head > accumulate { + return false + } + var level int + for i := emitter.events_head; i < len(emitter.events); i++ { + switch emitter.events[i].typ { + case yaml_STREAM_START_EVENT, yaml_DOCUMENT_START_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT: + level++ + case yaml_STREAM_END_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_END_EVENT, yaml_MAPPING_END_EVENT: + level-- + } + if level == 0 { + return false + } + } + return true +} + +// Append a directive to the directives stack. +func yaml_emitter_append_tag_directive(emitter *yaml_emitter_t, value *yaml_tag_directive_t, allow_duplicates bool) bool { + for i := 0; i < len(emitter.tag_directives); i++ { + if bytes.Equal(value.handle, emitter.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_emitter_set_emitter_error(emitter, "duplicate %TAG directive") + } + } + + // [Go] Do we actually need to copy this given garbage collection + // and the lack of deallocating destructors? + tag_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(tag_copy.handle, value.handle) + copy(tag_copy.prefix, value.prefix) + emitter.tag_directives = append(emitter.tag_directives, tag_copy) + return true +} + +// Increase the indentation level. +func yaml_emitter_increase_indent_compact(emitter *yaml_emitter_t, flow, indentless bool, compact_seq bool) bool { + emitter.indents = append(emitter.indents, emitter.indent) + if emitter.indent < 0 { + if flow { + emitter.indent = emitter.best_indent + } else { + emitter.indent = 0 + } + } else if !indentless { + // [Go] This was changed so that indentations are more regular. + if emitter.states[len(emitter.states)-1] == yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE { + // The first indent inside a sequence will just skip the "- " indicator. + emitter.indent += 2 + } else { + // Everything else aligns to the chosen indentation. + emitter.indent = emitter.best_indent * ((emitter.indent + emitter.best_indent) / emitter.best_indent) + if compact_seq { + // The value compact_seq passed in is almost always set to `false` when this function is called, + // except when we are dealing with sequence nodes. So this gets triggered to subtract 2 only when we + // are increasing the indent to account for sequence nodes, which will be correct because we need to + // subtract 2 to account for the - at the beginning of the sequence node. + emitter.indent = emitter.indent - 2 + } + } + } + return true +} + +// State dispatcher. +func yaml_emitter_state_machine(emitter *yaml_emitter_t, event *yaml_event_t) bool { + switch emitter.state { + default: + case yaml_EMIT_STREAM_START_STATE: + return yaml_emitter_emit_stream_start(emitter, event) + + case yaml_EMIT_FIRST_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, true) + + case yaml_EMIT_DOCUMENT_START_STATE: + return yaml_emitter_emit_document_start(emitter, event, false) + + case yaml_EMIT_DOCUMENT_CONTENT_STATE: + return yaml_emitter_emit_document_content(emitter, event) + + case yaml_EMIT_DOCUMENT_END_STATE: + return yaml_emitter_emit_document_end(emitter, event) + + case yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, true, false) + + case yaml_EMIT_FLOW_SEQUENCE_TRAIL_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false, true) + + case yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_flow_sequence_item(emitter, event, false, false) + + case yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, true, false) + + case yaml_EMIT_FLOW_MAPPING_TRAIL_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false, true) + + case yaml_EMIT_FLOW_MAPPING_KEY_STATE: + return yaml_emitter_emit_flow_mapping_key(emitter, event, false, false) + + case yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, true) + + case yaml_EMIT_FLOW_MAPPING_VALUE_STATE: + return yaml_emitter_emit_flow_mapping_value(emitter, event, false) + + case yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, true) + + case yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE: + return yaml_emitter_emit_block_sequence_item(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_KEY_STATE: + return yaml_emitter_emit_block_mapping_key(emitter, event, false) + + case yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, true) + + case yaml_EMIT_BLOCK_MAPPING_VALUE_STATE: + return yaml_emitter_emit_block_mapping_value(emitter, event, false) + + case yaml_EMIT_END_STATE: + return yaml_emitter_set_emitter_error(emitter, "expected nothing after STREAM-END") + } + panic("invalid emitter state") +} + +// Expect STREAM-START. +func yaml_emitter_emit_stream_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_STREAM_START_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected STREAM-START") + } + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = event.encoding + if emitter.encoding == yaml_ANY_ENCODING { + emitter.encoding = yaml_UTF8_ENCODING + } + } + if emitter.best_indent < 2 || emitter.best_indent > 9 { + emitter.best_indent = 2 + } + if emitter.best_width >= 0 && emitter.best_width <= emitter.best_indent*2 { + emitter.best_width = 80 + } + if emitter.best_width < 0 { + emitter.best_width = 1<<31 - 1 + } + if emitter.line_break == yaml_ANY_BREAK { + emitter.line_break = yaml_LN_BREAK + } + + emitter.indent = -1 + emitter.line = 0 + emitter.column = 0 + emitter.whitespace = true + emitter.indention = true + emitter.space_above = true + emitter.foot_indent = -1 + + if emitter.encoding != yaml_UTF8_ENCODING { + if !yaml_emitter_write_bom(emitter) { + return false + } + } + emitter.state = yaml_EMIT_FIRST_DOCUMENT_START_STATE + return true +} + +// Expect DOCUMENT-START or STREAM-END. +func yaml_emitter_emit_document_start(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + + if event.typ == yaml_DOCUMENT_START_EVENT { + + if event.version_directive != nil { + if !yaml_emitter_analyze_version_directive(emitter, event.version_directive) { + return false + } + } + + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_analyze_tag_directive(emitter, tag_directive) { + return false + } + if !yaml_emitter_append_tag_directive(emitter, tag_directive, false) { + return false + } + } + + for i := 0; i < len(default_tag_directives); i++ { + tag_directive := &default_tag_directives[i] + if !yaml_emitter_append_tag_directive(emitter, tag_directive, true) { + return false + } + } + + implicit := event.implicit + if !first || emitter.canonical { + implicit = false + } + + if emitter.open_ended && (event.version_directive != nil || len(event.tag_directives) > 0) { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if event.version_directive != nil { + implicit = false + if !yaml_emitter_write_indicator(emitter, []byte("%YAML"), true, false, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("1.1"), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if len(event.tag_directives) > 0 { + implicit = false + for i := 0; i < len(event.tag_directives); i++ { + tag_directive := &event.tag_directives[i] + if !yaml_emitter_write_indicator(emitter, []byte("%TAG"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_handle(emitter, tag_directive.handle) { + return false + } + if !yaml_emitter_write_tag_content(emitter, tag_directive.prefix, true) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if yaml_emitter_check_empty_document(emitter) { + implicit = false + } + if !implicit { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte("---"), true, false, false) { + return false + } + if emitter.canonical || true { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + } + + if len(emitter.head_comment) > 0 { + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if !put_break(emitter) { + return false + } + } + + emitter.state = yaml_EMIT_DOCUMENT_CONTENT_STATE + return true + } + + if event.typ == yaml_STREAM_END_EVENT { + if emitter.open_ended { + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_END_STATE + return true + } + + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-START or STREAM-END") +} + +// yaml_emitter_increase_indent preserves the original signature and delegates to +// yaml_emitter_increase_indent_compact without compact-sequence indentation +func yaml_emitter_increase_indent(emitter *yaml_emitter_t, flow, indentless bool) bool { + return yaml_emitter_increase_indent_compact(emitter, flow, indentless, false) +} + +// yaml_emitter_process_line_comment preserves the original signature and delegates to +// yaml_emitter_process_line_comment_linebreak passing false for linebreak +func yaml_emitter_process_line_comment(emitter *yaml_emitter_t) bool { + return yaml_emitter_process_line_comment_linebreak(emitter, false) +} + +// Expect the root node. +func yaml_emitter_emit_document_content(emitter *yaml_emitter_t, event *yaml_event_t) bool { + emitter.states = append(emitter.states, yaml_EMIT_DOCUMENT_END_STATE) + + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if !yaml_emitter_emit_node(emitter, event, true, false, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect DOCUMENT-END. +func yaml_emitter_emit_document_end(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if event.typ != yaml_DOCUMENT_END_EVENT { + return yaml_emitter_set_emitter_error(emitter, "expected DOCUMENT-END") + } + // [Go] Force document foot separation. + emitter.foot_indent = 0 + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + emitter.foot_indent = -1 + if !yaml_emitter_write_indent(emitter) { + return false + } + if !event.implicit { + // [Go] Allocate the slice elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("..."), true, false, false) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_flush(emitter) { + return false + } + emitter.state = yaml_EMIT_DOCUMENT_START_STATE + emitter.tag_directives = emitter.tag_directives[:0] + return true +} + +// Expect a flow item node. +func yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first, trail bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_SEQUENCE_END_EVENT { + if emitter.canonical && !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.column == 0 || emitter.canonical && !first { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + + return true + } + + if !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if emitter.column == 0 { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_TRAIL_ITEM_STATE) + } else { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE) + } + if !yaml_emitter_emit_node(emitter, event, false, true, false, false) { + return false + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect a flow key node. +func yaml_emitter_emit_flow_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first, trail bool) bool { + if first { + if !yaml_emitter_write_indicator(emitter, []byte{'{'}, true, true, false) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + emitter.flow_level++ + } + + if event.typ == yaml_MAPPING_END_EVENT { + if (emitter.canonical || len(emitter.head_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0) && !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if !yaml_emitter_process_head_comment(emitter) { + return false + } + emitter.flow_level-- + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + if emitter.canonical && !first { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'}'}, false, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + + if !first && !trail { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + + if !yaml_emitter_process_head_comment(emitter) { + return false + } + + if emitter.column == 0 { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + + if !emitter.canonical && yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, false) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a flow value node. +func yaml_emitter_emit_flow_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if emitter.canonical || emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, false) { + return false + } + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_TRAIL_KEY_STATE) + } else { + emitter.states = append(emitter.states, yaml_EMIT_FLOW_MAPPING_KEY_STATE) + } + if !yaml_emitter_emit_node(emitter, event, false, false, true, false) { + return false + } + if len(emitter.line_comment)+len(emitter.foot_comment)+len(emitter.tail_comment) > 0 { + if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) { + return false + } + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect a block item node. +func yaml_emitter_emit_block_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + // emitter.mapping context tells us if we are currently in a mapping context. + // emiiter.column tells us which column we are in in the yaml output. 0 is the first char of the column. + // emitter.indentation tells us if the last character was an indentation character. + // emitter.compact_sequence_indent tells us if '- ' is considered part of the indentation for sequence elements. + // So, `seq` means that we are in a mapping context, and we are either at the first char of the column or + // the last character was not an indentation character, and we consider '- ' part of the indentation + // for sequence elements. + seq := emitter.mapping_context && (emitter.column == 0 || !emitter.indention) && + emitter.compact_sequence_indent + if !yaml_emitter_increase_indent_compact(emitter, false, false, seq) { + return false + } + } + if event.typ == yaml_SEQUENCE_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'-'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE) + if !yaml_emitter_emit_node(emitter, event, false, true, false, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +// Expect a block key node. +func yaml_emitter_emit_block_mapping_key(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool { + if first { + if !yaml_emitter_increase_indent(emitter, false, false) { + return false + } + } + if !yaml_emitter_process_head_comment(emitter) { + return false + } + if event.typ == yaml_MAPPING_END_EVENT { + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if len(emitter.line_comment) > 0 { + // [Go] A line comment was provided for the key. That's unusual as the + // scanner associates line comments with the value. Either way, + // save the line comment and render it appropriately later. + emitter.key_line_comment = emitter.line_comment + emitter.line_comment = nil + } + if yaml_emitter_check_simple_key(emitter) { + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, true) + } + if !yaml_emitter_write_indicator(emitter, []byte{'?'}, true, false, true) { + return false + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_VALUE_STATE) + return yaml_emitter_emit_node(emitter, event, false, false, true, false) +} + +// Expect a block value node. +func yaml_emitter_emit_block_mapping_value(emitter *yaml_emitter_t, event *yaml_event_t, simple bool) bool { + if simple { + if !yaml_emitter_write_indicator(emitter, []byte{':'}, false, false, false) { + return false + } + } else { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{':'}, true, false, true) { + return false + } + } + if len(emitter.key_line_comment) > 0 { + // [Go] Line comments are generally associated with the value, but when there's + // no value on the same line as a mapping key they end up attached to the + // key itself. + if event.typ == yaml_SCALAR_EVENT { + if len(emitter.line_comment) == 0 { + // A scalar is coming and it has no line comments by itself yet, + // so just let it handle the line comment as usual. If it has a + // line comment, we can't have both so the one from the key is lost. + emitter.line_comment = emitter.key_line_comment + emitter.key_line_comment = nil + } + } else if event.sequence_style() != yaml_FLOW_SEQUENCE_STYLE && (event.typ == yaml_MAPPING_START_EVENT || event.typ == yaml_SEQUENCE_START_EVENT) { + // An indented block follows, so write the comment right now. + emitter.line_comment, emitter.key_line_comment = emitter.key_line_comment, emitter.line_comment + if !yaml_emitter_process_line_comment(emitter) { + return false + } + emitter.line_comment, emitter.key_line_comment = emitter.key_line_comment, emitter.line_comment + } + } + emitter.states = append(emitter.states, yaml_EMIT_BLOCK_MAPPING_KEY_STATE) + if !yaml_emitter_emit_node(emitter, event, false, false, true, false) { + return false + } + if !yaml_emitter_process_line_comment(emitter) { + return false + } + if !yaml_emitter_process_foot_comment(emitter) { + return false + } + return true +} + +func yaml_emitter_silent_nil_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + return event.typ == yaml_SCALAR_EVENT && event.implicit && !emitter.canonical && len(emitter.scalar_data.value) == 0 +} + +// Expect a node. +func yaml_emitter_emit_node(emitter *yaml_emitter_t, event *yaml_event_t, + root bool, sequence bool, mapping bool, simple_key bool) bool { + + emitter.root_context = root + emitter.sequence_context = sequence + emitter.mapping_context = mapping + emitter.simple_key_context = simple_key + + switch event.typ { + case yaml_ALIAS_EVENT: + return yaml_emitter_emit_alias(emitter, event) + case yaml_SCALAR_EVENT: + return yaml_emitter_emit_scalar(emitter, event) + case yaml_SEQUENCE_START_EVENT: + return yaml_emitter_emit_sequence_start(emitter, event) + case yaml_MAPPING_START_EVENT: + return yaml_emitter_emit_mapping_start(emitter, event) + default: + return yaml_emitter_set_emitter_error(emitter, + fmt.Sprintf("expected SCALAR, SEQUENCE-START, MAPPING-START, or ALIAS, but got %v", event.typ)) + } +} + +// Expect ALIAS. +func yaml_emitter_emit_alias(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SCALAR. +func yaml_emitter_emit_scalar(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_select_scalar_style(emitter, event) { + return false + } + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if !yaml_emitter_increase_indent(emitter, true, false) { + return false + } + if !yaml_emitter_process_scalar(emitter) { + return false + } + emitter.indent = emitter.indents[len(emitter.indents)-1] + emitter.indents = emitter.indents[:len(emitter.indents)-1] + emitter.state = emitter.states[len(emitter.states)-1] + emitter.states = emitter.states[:len(emitter.states)-1] + return true +} + +// Expect SEQUENCE-START. +func yaml_emitter_emit_sequence_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.sequence_style() == yaml_FLOW_SEQUENCE_STYLE || + yaml_emitter_check_empty_sequence(emitter) { + emitter.state = yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE + } + return true +} + +// Expect MAPPING-START. +func yaml_emitter_emit_mapping_start(emitter *yaml_emitter_t, event *yaml_event_t) bool { + if !yaml_emitter_process_anchor(emitter) { + return false + } + if !yaml_emitter_process_tag(emitter) { + return false + } + if emitter.flow_level > 0 || emitter.canonical || event.mapping_style() == yaml_FLOW_MAPPING_STYLE || + yaml_emitter_check_empty_mapping(emitter) { + emitter.state = yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE + } else { + emitter.state = yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE + } + return true +} + +// Check if the document content is an empty scalar. +func yaml_emitter_check_empty_document(emitter *yaml_emitter_t) bool { + return false // [Go] Huh? +} + +// Check if the next events represent an empty sequence. +func yaml_emitter_check_empty_sequence(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_SEQUENCE_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_SEQUENCE_END_EVENT +} + +// Check if the next events represent an empty mapping. +func yaml_emitter_check_empty_mapping(emitter *yaml_emitter_t) bool { + if len(emitter.events)-emitter.events_head < 2 { + return false + } + return emitter.events[emitter.events_head].typ == yaml_MAPPING_START_EVENT && + emitter.events[emitter.events_head+1].typ == yaml_MAPPING_END_EVENT +} + +// Check if the next node can be expressed as a simple key. +func yaml_emitter_check_simple_key(emitter *yaml_emitter_t) bool { + length := 0 + switch emitter.events[emitter.events_head].typ { + case yaml_ALIAS_EVENT: + length += len(emitter.anchor_data.anchor) + case yaml_SCALAR_EVENT: + if emitter.scalar_data.multiline { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + + len(emitter.scalar_data.value) + case yaml_SEQUENCE_START_EVENT: + if !yaml_emitter_check_empty_sequence(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + case yaml_MAPPING_START_EVENT: + if !yaml_emitter_check_empty_mapping(emitter) { + return false + } + length += len(emitter.anchor_data.anchor) + + len(emitter.tag_data.handle) + + len(emitter.tag_data.suffix) + default: + return false + } + return length <= 128 +} + +// Determine an acceptable scalar style. +func yaml_emitter_select_scalar_style(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + no_tag := len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 + if no_tag && !event.implicit && !event.quoted_implicit { + return yaml_emitter_set_emitter_error(emitter, "neither tag nor implicit flags are specified") + } + + style := event.scalar_style() + if style == yaml_ANY_SCALAR_STYLE { + style = yaml_PLAIN_SCALAR_STYLE + } + if emitter.canonical { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + if emitter.simple_key_context && emitter.scalar_data.multiline { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + if style == yaml_PLAIN_SCALAR_STYLE { + if emitter.flow_level > 0 && !emitter.scalar_data.flow_plain_allowed || + emitter.flow_level == 0 && !emitter.scalar_data.block_plain_allowed { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if len(emitter.scalar_data.value) == 0 && (emitter.flow_level > 0 || emitter.simple_key_context) { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + if no_tag && !event.implicit { + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_SINGLE_QUOTED_SCALAR_STYLE { + if !emitter.scalar_data.single_quoted_allowed { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + if style == yaml_LITERAL_SCALAR_STYLE || style == yaml_FOLDED_SCALAR_STYLE { + if !emitter.scalar_data.block_allowed || emitter.flow_level > 0 || emitter.simple_key_context { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + } + + if no_tag && !event.quoted_implicit && style != yaml_PLAIN_SCALAR_STYLE { + emitter.tag_data.handle = []byte{'!'} + } + emitter.scalar_data.style = style + return true +} + +// Write an anchor. +func yaml_emitter_process_anchor(emitter *yaml_emitter_t) bool { + if emitter.anchor_data.anchor == nil { + return true + } + c := []byte{'&'} + if emitter.anchor_data.alias { + c[0] = '*' + } + if !yaml_emitter_write_indicator(emitter, c, true, false, false) { + return false + } + return yaml_emitter_write_anchor(emitter, emitter.anchor_data.anchor) +} + +// Write a tag. +func yaml_emitter_process_tag(emitter *yaml_emitter_t) bool { + if len(emitter.tag_data.handle) == 0 && len(emitter.tag_data.suffix) == 0 { + return true + } + if len(emitter.tag_data.handle) > 0 { + if !yaml_emitter_write_tag_handle(emitter, emitter.tag_data.handle) { + return false + } + if len(emitter.tag_data.suffix) > 0 { + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + } + } else { + // [Go] Allocate these slices elsewhere. + if !yaml_emitter_write_indicator(emitter, []byte("!<"), true, false, false) { + return false + } + if !yaml_emitter_write_tag_content(emitter, emitter.tag_data.suffix, false) { + return false + } + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, false, false, false) { + return false + } + } + return true +} + +// Write a scalar. +func yaml_emitter_process_scalar(emitter *yaml_emitter_t) bool { + switch emitter.scalar_data.style { + case yaml_PLAIN_SCALAR_STYLE: + return yaml_emitter_write_plain_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_SINGLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_single_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_DOUBLE_QUOTED_SCALAR_STYLE: + return yaml_emitter_write_double_quoted_scalar(emitter, emitter.scalar_data.value, !emitter.simple_key_context) + + case yaml_LITERAL_SCALAR_STYLE: + return yaml_emitter_write_literal_scalar(emitter, emitter.scalar_data.value) + + case yaml_FOLDED_SCALAR_STYLE: + return yaml_emitter_write_folded_scalar(emitter, emitter.scalar_data.value) + } + panic("unknown scalar style") +} + +// Write a head comment. +func yaml_emitter_process_head_comment(emitter *yaml_emitter_t) bool { + if len(emitter.tail_comment) > 0 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_comment(emitter, emitter.tail_comment) { + return false + } + emitter.tail_comment = emitter.tail_comment[:0] + emitter.foot_indent = emitter.indent + if emitter.foot_indent < 0 { + emitter.foot_indent = 0 + } + } + + if len(emitter.head_comment) == 0 { + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_comment(emitter, emitter.head_comment) { + return false + } + emitter.head_comment = emitter.head_comment[:0] + return true +} + +// Write an line comment. +func yaml_emitter_process_line_comment_linebreak(emitter *yaml_emitter_t, linebreak bool) bool { + if len(emitter.line_comment) == 0 { + // The next 3 lines are needed to resolve an issue with leading newlines + // See https://github.com/go-yaml/yaml/issues/755 + // When linebreak is set to true, put_break will be called and will add + // the needed newline. + if linebreak && !put_break(emitter) { + return false + } + return true + } + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !yaml_emitter_write_comment(emitter, emitter.line_comment) { + return false + } + emitter.line_comment = emitter.line_comment[:0] + return true +} + +// Write a foot comment. +func yaml_emitter_process_foot_comment(emitter *yaml_emitter_t) bool { + if len(emitter.foot_comment) == 0 { + return true + } + if !yaml_emitter_write_indent(emitter) { + return false + } + if !yaml_emitter_write_comment(emitter, emitter.foot_comment) { + return false + } + emitter.foot_comment = emitter.foot_comment[:0] + emitter.foot_indent = emitter.indent + if emitter.foot_indent < 0 { + emitter.foot_indent = 0 + } + return true +} + +// Check if a %YAML directive is valid. +func yaml_emitter_analyze_version_directive(emitter *yaml_emitter_t, version_directive *yaml_version_directive_t) bool { + if version_directive.major != 1 || version_directive.minor != 1 { + return yaml_emitter_set_emitter_error(emitter, "incompatible %YAML directive") + } + return true +} + +// Check if a %TAG directive is valid. +func yaml_emitter_analyze_tag_directive(emitter *yaml_emitter_t, tag_directive *yaml_tag_directive_t) bool { + handle := tag_directive.handle + prefix := tag_directive.prefix + if len(handle) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag handle must not be empty") + } + if handle[0] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must start with '!'") + } + if handle[len(handle)-1] != '!' { + return yaml_emitter_set_emitter_error(emitter, "tag handle must end with '!'") + } + for i := 1; i < len(handle)-1; i += width(handle[i]) { + if !is_alpha(handle, i) { + return yaml_emitter_set_emitter_error(emitter, "tag handle must contain alphanumerical characters only") + } + } + if len(prefix) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag prefix must not be empty") + } + return true +} + +// Check if an anchor is valid. +func yaml_emitter_analyze_anchor(emitter *yaml_emitter_t, anchor []byte, alias bool) bool { + if len(anchor) == 0 { + problem := "anchor value must not be empty" + if alias { + problem = "alias value must not be empty" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + for i := 0; i < len(anchor); i += width(anchor[i]) { + if !is_alpha(anchor, i) { + problem := "anchor value must contain alphanumerical characters only" + if alias { + problem = "alias value must contain alphanumerical characters only" + } + return yaml_emitter_set_emitter_error(emitter, problem) + } + } + emitter.anchor_data.anchor = anchor + emitter.anchor_data.alias = alias + return true +} + +// Check if a tag is valid. +func yaml_emitter_analyze_tag(emitter *yaml_emitter_t, tag []byte) bool { + if len(tag) == 0 { + return yaml_emitter_set_emitter_error(emitter, "tag value must not be empty") + } + for i := 0; i < len(emitter.tag_directives); i++ { + tag_directive := &emitter.tag_directives[i] + if bytes.HasPrefix(tag, tag_directive.prefix) { + emitter.tag_data.handle = tag_directive.handle + emitter.tag_data.suffix = tag[len(tag_directive.prefix):] + return true + } + } + emitter.tag_data.suffix = tag + return true +} + +// Check if a scalar is valid. +func yaml_emitter_analyze_scalar(emitter *yaml_emitter_t, value []byte) bool { + var ( + block_indicators = false + flow_indicators = false + line_breaks = false + special_characters = false + tab_characters = false + + leading_space = false + leading_break = false + trailing_space = false + trailing_break = false + break_space = false + space_break = false + + preceded_by_whitespace = false + followed_by_whitespace = false + previous_space = false + previous_break = false + ) + + emitter.scalar_data.value = value + + if len(value) == 0 { + emitter.scalar_data.multiline = false + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = false + return true + } + + if len(value) >= 3 && ((value[0] == '-' && value[1] == '-' && value[2] == '-') || (value[0] == '.' && value[1] == '.' && value[2] == '.')) { + block_indicators = true + flow_indicators = true + } + + preceded_by_whitespace = true + for i, w := 0, 0; i < len(value); i += w { + w = width(value[i]) + followed_by_whitespace = i+w >= len(value) || is_blank(value, i+w) + + if i == 0 { + switch value[i] { + case '#', ',', '[', ']', '{', '}', '&', '*', '!', '|', '>', '\'', '"', '%', '@', '`': + flow_indicators = true + block_indicators = true + case '?', ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '-': + if followed_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } else { + switch value[i] { + case ',', '?', '[', ']', '{', '}': + flow_indicators = true + case ':': + flow_indicators = true + if followed_by_whitespace { + block_indicators = true + } + case '#': + if preceded_by_whitespace { + flow_indicators = true + block_indicators = true + } + } + } + + if value[i] == '\t' { + tab_characters = true + } else if !is_printable(value, i) || !is_ascii(value, i) && !emitter.unicode { + special_characters = true + } + if is_space(value, i) { + if i == 0 { + leading_space = true + } + if i+width(value[i]) == len(value) { + trailing_space = true + } + if previous_break { + break_space = true + } + previous_space = true + previous_break = false + } else if is_break(value, i) { + line_breaks = true + if i == 0 { + leading_break = true + } + if i+width(value[i]) == len(value) { + trailing_break = true + } + if previous_space { + space_break = true + } + previous_space = false + previous_break = true + } else { + previous_space = false + previous_break = false + } + + // [Go]: Why 'z'? Couldn't be the end of the string as that's the loop condition. + preceded_by_whitespace = is_blankz(value, i) + } + + emitter.scalar_data.multiline = line_breaks + emitter.scalar_data.flow_plain_allowed = true + emitter.scalar_data.block_plain_allowed = true + emitter.scalar_data.single_quoted_allowed = true + emitter.scalar_data.block_allowed = true + + if leading_space || leading_break || trailing_space || trailing_break { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if trailing_space { + emitter.scalar_data.block_allowed = false + } + if break_space { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || tab_characters || special_characters { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + emitter.scalar_data.single_quoted_allowed = false + } + if space_break || special_characters { + emitter.scalar_data.block_allowed = false + } + if line_breaks { + emitter.scalar_data.flow_plain_allowed = false + emitter.scalar_data.block_plain_allowed = false + } + if flow_indicators { + emitter.scalar_data.flow_plain_allowed = false + } + if block_indicators { + emitter.scalar_data.block_plain_allowed = false + } + return true +} + +// Check if the event data is valid. +func yaml_emitter_analyze_event(emitter *yaml_emitter_t, event *yaml_event_t) bool { + + emitter.anchor_data.anchor = nil + emitter.tag_data.handle = nil + emitter.tag_data.suffix = nil + emitter.scalar_data.value = nil + + if len(event.head_comment) > 0 { + emitter.head_comment = event.head_comment + } + if len(event.line_comment) > 0 { + emitter.line_comment = event.line_comment + } + if len(event.foot_comment) > 0 { + emitter.foot_comment = event.foot_comment + } + if len(event.tail_comment) > 0 { + emitter.tail_comment = event.tail_comment + } + + switch event.typ { + case yaml_ALIAS_EVENT: + if !yaml_emitter_analyze_anchor(emitter, event.anchor, true) { + return false + } + + case yaml_SCALAR_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || (!event.implicit && !event.quoted_implicit)) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + if !yaml_emitter_analyze_scalar(emitter, event.value) { + return false + } + + case yaml_SEQUENCE_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + + case yaml_MAPPING_START_EVENT: + if len(event.anchor) > 0 { + if !yaml_emitter_analyze_anchor(emitter, event.anchor, false) { + return false + } + } + if len(event.tag) > 0 && (emitter.canonical || !event.implicit) { + if !yaml_emitter_analyze_tag(emitter, event.tag) { + return false + } + } + } + return true +} + +// Write the BOM character. +func yaml_emitter_write_bom(emitter *yaml_emitter_t) bool { + if !flush(emitter) { + return false + } + pos := emitter.buffer_pos + emitter.buffer[pos+0] = '\xEF' + emitter.buffer[pos+1] = '\xBB' + emitter.buffer[pos+2] = '\xBF' + emitter.buffer_pos += 3 + return true +} + +func yaml_emitter_write_indent(emitter *yaml_emitter_t) bool { + indent := emitter.indent + if indent < 0 { + indent = 0 + } + if !emitter.indention || emitter.column > indent || (emitter.column == indent && !emitter.whitespace) { + if !put_break(emitter) { + return false + } + } + if emitter.foot_indent == indent { + if !put_break(emitter) { + return false + } + } + for emitter.column < indent { + if !put(emitter, ' ') { + return false + } + } + emitter.whitespace = true + //emitter.indention = true + emitter.space_above = false + emitter.foot_indent = -1 + return true +} + +func yaml_emitter_write_indicator(emitter *yaml_emitter_t, indicator []byte, need_whitespace, is_whitespace, is_indention bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, indicator) { + return false + } + emitter.whitespace = is_whitespace + emitter.indention = (emitter.indention && is_indention) + emitter.open_ended = false + return true +} + +func yaml_emitter_write_anchor(emitter *yaml_emitter_t, value []byte) bool { + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_handle(emitter *yaml_emitter_t, value []byte) bool { + if !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + if !write_all(emitter, value) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_tag_content(emitter *yaml_emitter_t, value []byte, need_whitespace bool) bool { + if need_whitespace && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + for i := 0; i < len(value); { + var must_write bool + switch value[i] { + case ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '_', '.', '~', '*', '\'', '(', ')', '[', ']': + must_write = true + default: + must_write = is_alpha(value, i) + } + if must_write { + if !write(emitter, value, &i) { + return false + } + } else { + w := width(value[i]) + for k := 0; k < w; k++ { + octet := value[i] + i++ + if !put(emitter, '%') { + return false + } + + c := octet >> 4 + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + + c = octet & 0x0f + if c < 10 { + c += '0' + } else { + c += 'A' - 10 + } + if !put(emitter, c) { + return false + } + } + } + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_plain_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + if len(value) > 0 && !emitter.whitespace { + if !put(emitter, ' ') { + return false + } + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + + if len(value) > 0 { + emitter.whitespace = false + } + emitter.indention = false + if emitter.root_context { + emitter.open_ended = true + } + + return true +} + +func yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, true, false, false) { + return false + } + + spaces := false + breaks := false + for i := 0; i < len(value); { + if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + spaces = true + } else if is_break(value, i) { + if !breaks && value[i] == '\n' { + if !put_break(emitter) { + return false + } + } + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if value[i] == '\'' { + if !put(emitter, '\'') { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + spaces = false + breaks = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'\''}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_double_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool { + spaces := false + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, true, false, false) { + return false + } + + for i := 0; i < len(value); { + if !is_printable(value, i) || (!emitter.unicode && !is_ascii(value, i)) || + is_bom(value, i) || is_break(value, i) || + value[i] == '"' || value[i] == '\\' { + + octet := value[i] + + var w int + var v rune + switch { + case octet&0x80 == 0x00: + w, v = 1, rune(octet&0x7F) + case octet&0xE0 == 0xC0: + w, v = 2, rune(octet&0x1F) + case octet&0xF0 == 0xE0: + w, v = 3, rune(octet&0x0F) + case octet&0xF8 == 0xF0: + w, v = 4, rune(octet&0x07) + } + for k := 1; k < w; k++ { + octet = value[i+k] + v = (v << 6) + (rune(octet) & 0x3F) + } + i += w + + if !put(emitter, '\\') { + return false + } + + var ok bool + switch v { + case 0x00: + ok = put(emitter, '0') + case 0x07: + ok = put(emitter, 'a') + case 0x08: + ok = put(emitter, 'b') + case 0x09: + ok = put(emitter, 't') + case 0x0A: + ok = put(emitter, 'n') + case 0x0b: + ok = put(emitter, 'v') + case 0x0c: + ok = put(emitter, 'f') + case 0x0d: + ok = put(emitter, 'r') + case 0x1b: + ok = put(emitter, 'e') + case 0x22: + ok = put(emitter, '"') + case 0x5c: + ok = put(emitter, '\\') + case 0x85: + ok = put(emitter, 'N') + case 0xA0: + ok = put(emitter, '_') + case 0x2028: + ok = put(emitter, 'L') + case 0x2029: + ok = put(emitter, 'P') + default: + if v <= 0xFF { + ok = put(emitter, 'x') + w = 2 + } else if v <= 0xFFFF { + ok = put(emitter, 'u') + w = 4 + } else { + ok = put(emitter, 'U') + w = 8 + } + for k := (w - 1) * 4; ok && k >= 0; k -= 4 { + digit := byte((v >> uint(k)) & 0x0F) + if digit < 10 { + ok = put(emitter, digit+'0') + } else { + ok = put(emitter, digit+'A'-10) + } + } + } + if !ok { + return false + } + spaces = false + } else if is_space(value, i) { + if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 { + if !yaml_emitter_write_indent(emitter) { + return false + } + if is_space(value, i+1) { + if !put(emitter, '\\') { + return false + } + } + i += width(value[i]) + } else if !write(emitter, value, &i) { + return false + } + spaces = true + } else { + if !write(emitter, value, &i) { + return false + } + spaces = false + } + } + if !yaml_emitter_write_indicator(emitter, []byte{'"'}, false, false, false) { + return false + } + emitter.whitespace = false + emitter.indention = false + return true +} + +func yaml_emitter_write_block_scalar_hints(emitter *yaml_emitter_t, value []byte) bool { + if is_space(value, 0) || is_break(value, 0) { + indent_hint := []byte{'0' + byte(emitter.best_indent)} + if !yaml_emitter_write_indicator(emitter, indent_hint, false, false, false) { + return false + } + } + + emitter.open_ended = false + + var chomp_hint [1]byte + if len(value) == 0 { + chomp_hint[0] = '-' + } else { + i := len(value) - 1 + for value[i]&0xC0 == 0x80 { + i-- + } + if !is_break(value, i) { + chomp_hint[0] = '-' + } else if i == 0 { + chomp_hint[0] = '+' + emitter.open_ended = true + } else { + i-- + for value[i]&0xC0 == 0x80 { + i-- + } + if is_break(value, i) { + chomp_hint[0] = '+' + emitter.open_ended = true + } + } + } + if chomp_hint[0] != 0 { + if !yaml_emitter_write_indicator(emitter, chomp_hint[:], false, false, false) { + return false + } + } + return true +} + +func yaml_emitter_write_literal_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'|'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !yaml_emitter_process_line_comment_linebreak(emitter, true) { + return false + } + //emitter.indention = true + emitter.whitespace = true + breaks := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + } + if !write(emitter, value, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + + return true +} + +func yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool { + if !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) { + return false + } + if !yaml_emitter_write_block_scalar_hints(emitter, value) { + return false + } + if !yaml_emitter_process_line_comment_linebreak(emitter, true) { + return false + } + + //emitter.indention = true + emitter.whitespace = true + + breaks := true + leading_spaces := true + for i := 0; i < len(value); { + if is_break(value, i) { + if !breaks && !leading_spaces && value[i] == '\n' { + k := 0 + for is_break(value, k) { + k += width(value[k]) + } + if !is_blankz(value, k) { + if !put_break(emitter) { + return false + } + } + } + if !write_break(emitter, value, &i) { + return false + } + //emitter.indention = true + breaks = true + } else { + if breaks { + if !yaml_emitter_write_indent(emitter) { + return false + } + leading_spaces = is_blank(value, i) + } + if !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width { + if !yaml_emitter_write_indent(emitter) { + return false + } + i += width(value[i]) + } else { + if !write(emitter, value, &i) { + return false + } + } + emitter.indention = false + breaks = false + } + } + return true +} + +func yaml_emitter_write_comment(emitter *yaml_emitter_t, comment []byte) bool { + breaks := false + pound := false + for i := 0; i < len(comment); { + if is_break(comment, i) { + if !write_break(emitter, comment, &i) { + return false + } + //emitter.indention = true + breaks = true + pound = false + } else { + if breaks && !yaml_emitter_write_indent(emitter) { + return false + } + if !pound { + if comment[i] != '#' && (!put(emitter, '#') || !put(emitter, ' ')) { + return false + } + pound = true + } + if !write(emitter, comment, &i) { + return false + } + emitter.indention = false + breaks = false + } + } + if !breaks && !put_break(emitter) { + return false + } + + emitter.whitespace = true + //emitter.indention = true + return true +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/encode.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/encode.go new file mode 100644 index 00000000000..de9e72a3e63 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/encode.go @@ -0,0 +1,577 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "encoding" + "fmt" + "io" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + "time" + "unicode/utf8" +) + +type encoder struct { + emitter yaml_emitter_t + event yaml_event_t + out []byte + flow bool + indent int + doneInit bool +} + +func newEncoder() *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_string(&e.emitter, &e.out) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func newEncoderWithWriter(w io.Writer) *encoder { + e := &encoder{} + yaml_emitter_initialize(&e.emitter) + yaml_emitter_set_output_writer(&e.emitter, w) + yaml_emitter_set_unicode(&e.emitter, true) + return e +} + +func (e *encoder) init() { + if e.doneInit { + return + } + if e.indent == 0 { + e.indent = 4 + } + e.emitter.best_indent = e.indent + yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING) + e.emit() + e.doneInit = true +} + +func (e *encoder) finish() { + e.emitter.open_ended = false + yaml_stream_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) destroy() { + yaml_emitter_delete(&e.emitter) +} + +func (e *encoder) emit() { + // This will internally delete the e.event value. + e.must(yaml_emitter_emit(&e.emitter, &e.event)) +} + +func (e *encoder) must(ok bool) { + if !ok { + msg := e.emitter.problem + if msg == "" { + msg = "unknown problem generating YAML content" + } + failf("%s", msg) + } +} + +func (e *encoder) marshalDoc(tag string, in reflect.Value) { + e.init() + var node *Node + if in.IsValid() { + node, _ = in.Interface().(*Node) + } + if node != nil && node.Kind == DocumentNode { + e.nodev(in) + } else { + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.emit() + e.marshal(tag, in) + yaml_document_end_event_initialize(&e.event, true) + e.emit() + } +} + +func (e *encoder) marshal(tag string, in reflect.Value) { + tag = shortTag(tag) + if !in.IsValid() || in.Kind() == reflect.Ptr && in.IsNil() { + e.nilv() + return + } + iface := in.Interface() + switch value := iface.(type) { + case *Node: + e.nodev(in) + return + case Node: + if !in.CanAddr() { + var n = reflect.New(in.Type()).Elem() + n.Set(in) + in = n + } + e.nodev(in.Addr()) + return + case time.Time: + e.timev(tag, in) + return + case *time.Time: + e.timev(tag, in.Elem()) + return + case time.Duration: + e.stringv(tag, reflect.ValueOf(value.String())) + return + case Marshaler: + v, err := value.MarshalYAML() + if err != nil { + fail(err) + } + if v == nil { + e.nilv() + return + } + e.marshal(tag, reflect.ValueOf(v)) + return + case encoding.TextMarshaler: + text, err := value.MarshalText() + if err != nil { + fail(err) + } + in = reflect.ValueOf(string(text)) + case nil: + e.nilv() + return + } + switch in.Kind() { + case reflect.Interface: + e.marshal(tag, in.Elem()) + case reflect.Map: + e.mapv(tag, in) + case reflect.Ptr: + e.marshal(tag, in.Elem()) + case reflect.Struct: + e.structv(tag, in) + case reflect.Slice, reflect.Array: + e.slicev(tag, in) + case reflect.String: + e.stringv(tag, in) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + e.intv(tag, in) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + e.uintv(tag, in) + case reflect.Float32, reflect.Float64: + e.floatv(tag, in) + case reflect.Bool: + e.boolv(tag, in) + default: + panic("cannot marshal type: " + in.Type().String()) + } +} + +func (e *encoder) mapv(tag string, in reflect.Value) { + e.mappingv(tag, func() { + keys := keyList(in.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + e.marshal("", k) + e.marshal("", in.MapIndex(k)) + } + }) +} + +func (e *encoder) fieldByIndex(v reflect.Value, index []int) (field reflect.Value) { + for _, num := range index { + for { + if v.Kind() == reflect.Ptr { + if v.IsNil() { + return reflect.Value{} + } + v = v.Elem() + continue + } + break + } + v = v.Field(num) + } + return v +} + +func (e *encoder) structv(tag string, in reflect.Value) { + sinfo, err := getStructInfo(in.Type()) + if err != nil { + panic(err) + } + e.mappingv(tag, func() { + for _, info := range sinfo.FieldsList { + var value reflect.Value + if info.Inline == nil { + value = in.Field(info.Num) + } else { + value = e.fieldByIndex(in, info.Inline) + if !value.IsValid() { + continue + } + } + if info.OmitEmpty && isZero(value) { + continue + } + e.marshal("", reflect.ValueOf(info.Key)) + e.flow = info.Flow + e.marshal("", value) + } + if sinfo.InlineMap >= 0 { + m := in.Field(sinfo.InlineMap) + if m.Len() > 0 { + e.flow = false + keys := keyList(m.MapKeys()) + sort.Sort(keys) + for _, k := range keys { + if _, found := sinfo.FieldsMap[k.String()]; found { + panic(fmt.Sprintf("cannot have key %q in inlined map: conflicts with struct field", k.String())) + } + e.marshal("", k) + e.flow = false + e.marshal("", m.MapIndex(k)) + } + } + } + }) +} + +func (e *encoder) mappingv(tag string, f func()) { + implicit := tag == "" + style := yaml_BLOCK_MAPPING_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, nil, []byte(tag), implicit, style) + e.emit() + f() + yaml_mapping_end_event_initialize(&e.event) + e.emit() +} + +func (e *encoder) slicev(tag string, in reflect.Value) { + implicit := tag == "" + style := yaml_BLOCK_SEQUENCE_STYLE + if e.flow { + e.flow = false + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, nil, []byte(tag), implicit, style)) + e.emit() + n := in.Len() + for i := 0; i < n; i++ { + e.marshal("", in.Index(i)) + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.emit() +} + +// isBase60 returns whether s is in base 60 notation as defined in YAML 1.1. +// +// The base 60 float notation in YAML 1.1 is a terrible idea and is unsupported +// in YAML 1.2 and by this package, but these should be marshalled quoted for +// the time being for compatibility with other parsers. +func isBase60Float(s string) (result bool) { + // Fast path. + if s == "" { + return false + } + c := s[0] + if !(c == '+' || c == '-' || c >= '0' && c <= '9') || strings.IndexByte(s, ':') < 0 { + return false + } + // Do the full match. + return base60float.MatchString(s) +} + +// From http://yaml.org/type/float.html, except the regular expression there +// is bogus. In practice parsers do not enforce the "\.[0-9_]*" suffix. +var base60float = regexp.MustCompile(`^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+(?:\.[0-9_]*)?$`) + +// isOldBool returns whether s is bool notation as defined in YAML 1.1. +// +// We continue to force strings that YAML 1.1 would interpret as booleans to be +// rendered as quotes strings so that the marshalled output valid for YAML 1.1 +// parsing. +func isOldBool(s string) (result bool) { + switch s { + case "y", "Y", "yes", "Yes", "YES", "on", "On", "ON", + "n", "N", "no", "No", "NO", "off", "Off", "OFF": + return true + default: + return false + } +} + +func (e *encoder) stringv(tag string, in reflect.Value) { + var style yaml_scalar_style_t + s := in.String() + canUsePlain := true + switch { + case !utf8.ValidString(s): + if tag == binaryTag { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if tag != "" { + failf("cannot marshal invalid UTF-8 data as %s", shortTag(tag)) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = binaryTag + s = encodeBase64(s) + case tag == "": + // Check to see if it would resolve to a specific + // tag when encoded unquoted. If it doesn't, + // there's no need to quote it. + rtag, _ := resolve("", s) + canUsePlain = rtag == strTag && !(isBase60Float(s) || isOldBool(s)) + } + // Note: it's possible for user code to emit invalid YAML + // if they explicitly specify a tag and a string containing + // text that's incompatible with that tag. + switch { + case strings.Contains(s, "\n"): + if e.flow { + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } else { + style = yaml_LITERAL_SCALAR_STYLE + } + case canUsePlain: + style = yaml_PLAIN_SCALAR_STYLE + default: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + e.emitScalar(s, "", tag, style, nil, nil, nil, nil) +} + +func (e *encoder) boolv(tag string, in reflect.Value) { + var s string + if in.Bool() { + s = "true" + } else { + s = "false" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) intv(tag string, in reflect.Value) { + s := strconv.FormatInt(in.Int(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) uintv(tag string, in reflect.Value) { + s := strconv.FormatUint(in.Uint(), 10) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) timev(tag string, in reflect.Value) { + t := in.Interface().(time.Time) + s := t.Format(time.RFC3339Nano) + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) floatv(tag string, in reflect.Value) { + // Issue #352: When formatting, use the precision of the underlying value + precision := 64 + if in.Kind() == reflect.Float32 { + precision = 32 + } + + s := strconv.FormatFloat(in.Float(), 'g', -1, precision) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + e.emitScalar(s, "", tag, yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) nilv() { + e.emitScalar("null", "", "", yaml_PLAIN_SCALAR_STYLE, nil, nil, nil, nil) +} + +func (e *encoder) emitScalar(value, anchor, tag string, style yaml_scalar_style_t, head, line, foot, tail []byte) { + // TODO Kill this function. Replace all initialize calls by their underlining Go literals. + implicit := tag == "" + if !implicit { + tag = longTag(tag) + } + e.must(yaml_scalar_event_initialize(&e.event, []byte(anchor), []byte(tag), []byte(value), implicit, implicit, style)) + e.event.head_comment = head + e.event.line_comment = line + e.event.foot_comment = foot + e.event.tail_comment = tail + e.emit() +} + +func (e *encoder) nodev(in reflect.Value) { + e.node(in.Interface().(*Node), "") +} + +func (e *encoder) node(node *Node, tail string) { + // Zero nodes behave as nil. + if node.Kind == 0 && node.IsZero() { + e.nilv() + return + } + + // If the tag was not explicitly requested, and dropping it won't change the + // implicit tag of the value, don't include it in the presentation. + var tag = node.Tag + var stag = shortTag(tag) + var forceQuoting bool + if tag != "" && node.Style&TaggedStyle == 0 { + if node.Kind == ScalarNode { + if stag == strTag && node.Style&(SingleQuotedStyle|DoubleQuotedStyle|LiteralStyle|FoldedStyle) != 0 { + tag = "" + } else { + rtag, _ := resolve("", node.Value) + if rtag == stag { + tag = "" + } else if stag == strTag { + tag = "" + forceQuoting = true + } + } + } else { + var rtag string + switch node.Kind { + case MappingNode: + rtag = mapTag + case SequenceNode: + rtag = seqTag + } + if rtag == stag { + tag = "" + } + } + } + + switch node.Kind { + case DocumentNode: + yaml_document_start_event_initialize(&e.event, nil, nil, true) + e.event.head_comment = []byte(node.HeadComment) + e.emit() + for _, node := range node.Content { + e.node(node, "") + } + yaml_document_end_event_initialize(&e.event, true) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case SequenceNode: + style := yaml_BLOCK_SEQUENCE_STYLE + if node.Style&FlowStyle != 0 { + style = yaml_FLOW_SEQUENCE_STYLE + } + e.must(yaml_sequence_start_event_initialize(&e.event, []byte(node.Anchor), []byte(longTag(tag)), tag == "", style)) + e.event.head_comment = []byte(node.HeadComment) + e.emit() + for _, node := range node.Content { + e.node(node, "") + } + e.must(yaml_sequence_end_event_initialize(&e.event)) + e.event.line_comment = []byte(node.LineComment) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case MappingNode: + style := yaml_BLOCK_MAPPING_STYLE + if node.Style&FlowStyle != 0 { + style = yaml_FLOW_MAPPING_STYLE + } + yaml_mapping_start_event_initialize(&e.event, []byte(node.Anchor), []byte(longTag(tag)), tag == "", style) + e.event.tail_comment = []byte(tail) + e.event.head_comment = []byte(node.HeadComment) + e.emit() + + // The tail logic below moves the foot comment of prior keys to the following key, + // since the value for each key may be a nested structure and the foot needs to be + // processed only the entirety of the value is streamed. The last tail is processed + // with the mapping end event. + var tail string + for i := 0; i+1 < len(node.Content); i += 2 { + k := node.Content[i] + foot := k.FootComment + if foot != "" { + kopy := *k + kopy.FootComment = "" + k = &kopy + } + e.node(k, tail) + tail = foot + + v := node.Content[i+1] + e.node(v, "") + } + + yaml_mapping_end_event_initialize(&e.event) + e.event.tail_comment = []byte(tail) + e.event.line_comment = []byte(node.LineComment) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case AliasNode: + yaml_alias_event_initialize(&e.event, []byte(node.Value)) + e.event.head_comment = []byte(node.HeadComment) + e.event.line_comment = []byte(node.LineComment) + e.event.foot_comment = []byte(node.FootComment) + e.emit() + + case ScalarNode: + value := node.Value + if !utf8.ValidString(value) { + if stag == binaryTag { + failf("explicitly tagged !!binary data must be base64-encoded") + } + if stag != "" { + failf("cannot marshal invalid UTF-8 data as %s", stag) + } + // It can't be encoded directly as YAML so use a binary tag + // and encode it as base64. + tag = binaryTag + value = encodeBase64(value) + } + + style := yaml_PLAIN_SCALAR_STYLE + switch { + case node.Style&DoubleQuotedStyle != 0: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + case node.Style&SingleQuotedStyle != 0: + style = yaml_SINGLE_QUOTED_SCALAR_STYLE + case node.Style&LiteralStyle != 0: + style = yaml_LITERAL_SCALAR_STYLE + case node.Style&FoldedStyle != 0: + style = yaml_FOLDED_SCALAR_STYLE + case strings.Contains(value, "\n"): + style = yaml_LITERAL_SCALAR_STYLE + case forceQuoting: + style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + + e.emitScalar(value, node.Anchor, tag, style, []byte(node.HeadComment), []byte(node.LineComment), []byte(node.FootComment), []byte(tail)) + default: + failf("cannot encode node with unknown kind %d", node.Kind) + } +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/parserc.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/parserc.go new file mode 100644 index 00000000000..25fe823637a --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/parserc.go @@ -0,0 +1,1274 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "bytes" +) + +// The parser implements the following grammar: +// +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// implicit_document ::= block_node DOCUMENT-END* +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// block_node_or_indentless_sequence ::= +// ALIAS +// | properties (block_content | indentless_block_sequence)? +// | block_content +// | indentless_block_sequence +// block_node ::= ALIAS +// | properties block_content? +// | block_content +// flow_node ::= ALIAS +// | properties flow_content? +// | flow_content +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// block_content ::= block_collection | flow_collection | SCALAR +// flow_content ::= flow_collection | SCALAR +// block_collection ::= block_sequence | block_mapping +// flow_collection ::= flow_sequence | flow_mapping +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// block_mapping ::= BLOCK-MAPPING_START +// ((KEY block_node_or_indentless_sequence?)? +// (VALUE block_node_or_indentless_sequence?)?)* +// BLOCK-END +// flow_sequence ::= FLOW-SEQUENCE-START +// (flow_sequence_entry FLOW-ENTRY)* +// flow_sequence_entry? +// FLOW-SEQUENCE-END +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// flow_mapping ::= FLOW-MAPPING-START +// (flow_mapping_entry FLOW-ENTRY)* +// flow_mapping_entry? +// FLOW-MAPPING-END +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + +// Peek the next token in the token queue. +func peek_token(parser *yaml_parser_t) *yaml_token_t { + if parser.token_available || yaml_parser_fetch_more_tokens(parser) { + token := &parser.tokens[parser.tokens_head] + yaml_parser_unfold_comments(parser, token) + return token + } + return nil +} + +// yaml_parser_unfold_comments walks through the comments queue and joins all +// comments behind the position of the provided token into the respective +// top-level comment slices in the parser. +func yaml_parser_unfold_comments(parser *yaml_parser_t, token *yaml_token_t) { + for parser.comments_head < len(parser.comments) && token.start_mark.index >= parser.comments[parser.comments_head].token_mark.index { + comment := &parser.comments[parser.comments_head] + if len(comment.head) > 0 { + if token.typ == yaml_BLOCK_END_TOKEN { + // No heads on ends, so keep comment.head for a follow up token. + break + } + if len(parser.head_comment) > 0 { + parser.head_comment = append(parser.head_comment, '\n') + } + parser.head_comment = append(parser.head_comment, comment.head...) + } + if len(comment.foot) > 0 { + if len(parser.foot_comment) > 0 { + parser.foot_comment = append(parser.foot_comment, '\n') + } + parser.foot_comment = append(parser.foot_comment, comment.foot...) + } + if len(comment.line) > 0 { + if len(parser.line_comment) > 0 { + parser.line_comment = append(parser.line_comment, '\n') + } + parser.line_comment = append(parser.line_comment, comment.line...) + } + *comment = yaml_comment_t{} + parser.comments_head++ + } +} + +// Remove the next token from the queue (must be called after peek_token). +func skip_token(parser *yaml_parser_t) { + parser.token_available = false + parser.tokens_parsed++ + parser.stream_end_produced = parser.tokens[parser.tokens_head].typ == yaml_STREAM_END_TOKEN + parser.tokens_head++ +} + +// Get the next event. +func yaml_parser_parse(parser *yaml_parser_t, event *yaml_event_t) bool { + // Erase the event object. + *event = yaml_event_t{} + + // No events after the end of the stream or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR || parser.state == yaml_PARSE_END_STATE { + return true + } + + // Generate the next event. + return yaml_parser_state_machine(parser, event) +} + +// Set parser error. +func yaml_parser_set_parser_error(parser *yaml_parser_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +func yaml_parser_set_parser_error_context(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string, problem_mark yaml_mark_t) bool { + parser.error = yaml_PARSER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = problem_mark + return false +} + +// State dispatcher. +func yaml_parser_state_machine(parser *yaml_parser_t, event *yaml_event_t) bool { + //trace("yaml_parser_state_machine", "state:", parser.state.String()) + + switch parser.state { + case yaml_PARSE_STREAM_START_STATE: + return yaml_parser_parse_stream_start(parser, event) + + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, true) + + case yaml_PARSE_DOCUMENT_START_STATE: + return yaml_parser_parse_document_start(parser, event, false) + + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return yaml_parser_parse_document_content(parser, event) + + case yaml_PARSE_DOCUMENT_END_STATE: + return yaml_parser_parse_document_end(parser, event) + + case yaml_PARSE_BLOCK_NODE_STATE: + return yaml_parser_parse_node(parser, event, true, false) + + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return yaml_parser_parse_node(parser, event, true, true) + + case yaml_PARSE_FLOW_NODE_STATE: + return yaml_parser_parse_node(parser, event, false, false) + + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, true) + + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_block_sequence_entry(parser, event, false) + + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_indentless_sequence_entry(parser, event) + + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, true) + + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return yaml_parser_parse_block_mapping_key(parser, event, false) + + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return yaml_parser_parse_block_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, true) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return yaml_parser_parse_flow_sequence_entry(parser, event, false) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_key(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_value(parser, event) + + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return yaml_parser_parse_flow_sequence_entry_mapping_end(parser, event) + + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, true) + + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return yaml_parser_parse_flow_mapping_key(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, false) + + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return yaml_parser_parse_flow_mapping_value(parser, event, true) + + default: + panic("invalid parser state") + } +} + +// Parse the production: +// stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +// +// ************ +func yaml_parser_parse_stream_start(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_STREAM_START_TOKEN { + return yaml_parser_set_parser_error(parser, "did not find expected ", token.start_mark) + } + parser.state = yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + encoding: token.encoding, + } + skip_token(parser) + return true +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// +// * +// +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// +// ************************* +func yaml_parser_parse_document_start(parser *yaml_parser_t, event *yaml_event_t, implicit bool) bool { + + token := peek_token(parser) + if token == nil { + return false + } + + // Parse extra document end indicators. + if !implicit { + for token.typ == yaml_DOCUMENT_END_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + if implicit && token.typ != yaml_VERSION_DIRECTIVE_TOKEN && + token.typ != yaml_TAG_DIRECTIVE_TOKEN && + token.typ != yaml_DOCUMENT_START_TOKEN && + token.typ != yaml_STREAM_END_TOKEN { + // Parse an implicit document. + if !yaml_parser_process_directives(parser, nil, nil) { + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_BLOCK_NODE_STATE + + var head_comment []byte + if len(parser.head_comment) > 0 { + // [Go] Scan the header comment backwards, and if an empty line is found, break + // the header so the part before the last empty line goes into the + // document header, while the bottom of it goes into a follow up event. + for i := len(parser.head_comment) - 1; i > 0; i-- { + if parser.head_comment[i] == '\n' { + if i == len(parser.head_comment)-1 { + head_comment = parser.head_comment[:i] + parser.head_comment = parser.head_comment[i+1:] + break + } else if parser.head_comment[i-1] == '\n' { + head_comment = parser.head_comment[:i-1] + parser.head_comment = parser.head_comment[i+1:] + break + } + } + } + } + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + + head_comment: head_comment, + } + + } else if token.typ != yaml_STREAM_END_TOKEN { + // Parse an explicit document. + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + start_mark := token.start_mark + if !yaml_parser_process_directives(parser, &version_directive, &tag_directives) { + return false + } + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_DOCUMENT_START_TOKEN { + yaml_parser_set_parser_error(parser, + "did not find expected ", token.start_mark) + return false + } + parser.states = append(parser.states, yaml_PARSE_DOCUMENT_END_STATE) + parser.state = yaml_PARSE_DOCUMENT_CONTENT_STATE + end_mark := token.end_mark + + *event = yaml_event_t{ + typ: yaml_DOCUMENT_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + version_directive: version_directive, + tag_directives: tag_directives, + implicit: false, + } + skip_token(parser) + + } else { + // Parse the stream end. + parser.state = yaml_PARSE_END_STATE + *event = yaml_event_t{ + typ: yaml_STREAM_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + skip_token(parser) + } + + return true +} + +// Parse the productions: +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +// +// *********** +func yaml_parser_parse_document_content(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN || + token.typ == yaml_TAG_DIRECTIVE_TOKEN || + token.typ == yaml_DOCUMENT_START_TOKEN || + token.typ == yaml_DOCUMENT_END_TOKEN || + token.typ == yaml_STREAM_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + return yaml_parser_process_empty_scalar(parser, event, + token.start_mark) + } + return yaml_parser_parse_node(parser, event, true, false) +} + +// Parse the productions: +// implicit_document ::= block_node DOCUMENT-END* +// +// ************* +// +// explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +func yaml_parser_parse_document_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + start_mark := token.start_mark + end_mark := token.start_mark + + implicit := true + if token.typ == yaml_DOCUMENT_END_TOKEN { + end_mark = token.end_mark + skip_token(parser) + implicit = false + } + + parser.tag_directives = parser.tag_directives[:0] + + parser.state = yaml_PARSE_DOCUMENT_START_STATE + *event = yaml_event_t{ + typ: yaml_DOCUMENT_END_EVENT, + start_mark: start_mark, + end_mark: end_mark, + implicit: implicit, + } + yaml_parser_set_event_comments(parser, event) + if len(event.head_comment) > 0 && len(event.foot_comment) == 0 { + event.foot_comment = event.head_comment + event.head_comment = nil + } + return true +} + +func yaml_parser_set_event_comments(parser *yaml_parser_t, event *yaml_event_t) { + event.head_comment = parser.head_comment + event.line_comment = parser.line_comment + event.foot_comment = parser.foot_comment + parser.head_comment = nil + parser.line_comment = nil + parser.foot_comment = nil + parser.tail_comment = nil + parser.stem_comment = nil +} + +// Parse the productions: +// block_node_or_indentless_sequence ::= +// +// ALIAS +// ***** +// | properties (block_content | indentless_block_sequence)? +// ********** * +// | block_content | indentless_block_sequence +// * +// +// block_node ::= ALIAS +// +// ***** +// | properties block_content? +// ********** * +// | block_content +// * +// +// flow_node ::= ALIAS +// +// ***** +// | properties flow_content? +// ********** * +// | flow_content +// * +// +// properties ::= TAG ANCHOR? | ANCHOR TAG? +// +// ************************* +// +// block_content ::= block_collection | flow_collection | SCALAR +// +// ****** +// +// flow_content ::= flow_collection | SCALAR +// +// ****** +func yaml_parser_parse_node(parser *yaml_parser_t, event *yaml_event_t, block, indentless_sequence bool) bool { + //defer trace("yaml_parser_parse_node", "block:", block, "indentless_sequence:", indentless_sequence)() + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_ALIAS_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + *event = yaml_event_t{ + typ: yaml_ALIAS_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + anchor: token.value, + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true + } + + start_mark := token.start_mark + end_mark := token.start_mark + + var tag_token bool + var tag_handle, tag_suffix, anchor []byte + var tag_mark yaml_mark_t + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + start_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } else if token.typ == yaml_TAG_TOKEN { + tag_token = true + tag_handle = token.value + tag_suffix = token.suffix + start_mark = token.start_mark + tag_mark = token.start_mark + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_ANCHOR_TOKEN { + anchor = token.value + end_mark = token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + } + + var tag []byte + if tag_token { + if len(tag_handle) == 0 { + tag = tag_suffix + tag_suffix = nil + } else { + for i := range parser.tag_directives { + if bytes.Equal(parser.tag_directives[i].handle, tag_handle) { + tag = append([]byte(nil), parser.tag_directives[i].prefix...) + tag = append(tag, tag_suffix...) + break + } + } + if len(tag) == 0 { + yaml_parser_set_parser_error_context(parser, + "while parsing a node", start_mark, + "found undefined tag handle", tag_mark) + return false + } + } + } + + implicit := len(tag) == 0 + if indentless_sequence && token.typ == yaml_BLOCK_ENTRY_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + return true + } + if token.typ == yaml_SCALAR_TOKEN { + var plain_implicit, quoted_implicit bool + end_mark = token.end_mark + if (len(tag) == 0 && token.style == yaml_PLAIN_SCALAR_STYLE) || (len(tag) == 1 && tag[0] == '!') { + plain_implicit = true + } else if len(tag) == 0 { + quoted_implicit = true + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + value: token.value, + implicit: plain_implicit, + quoted_implicit: quoted_implicit, + style: yaml_style_t(token.style), + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true + } + if token.typ == yaml_FLOW_SEQUENCE_START_TOKEN { + // [Go] Some of the events below can be merged as they differ only on style. + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_SEQUENCE_STYLE), + } + yaml_parser_set_event_comments(parser, event) + return true + } + if token.typ == yaml_FLOW_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + yaml_parser_set_event_comments(parser, event) + return true + } + if block && token.typ == yaml_BLOCK_SEQUENCE_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_SEQUENCE_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_SEQUENCE_STYLE), + } + if parser.stem_comment != nil { + event.head_comment = parser.stem_comment + parser.stem_comment = nil + } + return true + } + if block && token.typ == yaml_BLOCK_MAPPING_START_TOKEN { + end_mark = token.end_mark + parser.state = yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + style: yaml_style_t(yaml_BLOCK_MAPPING_STYLE), + } + if parser.stem_comment != nil { + event.head_comment = parser.stem_comment + parser.stem_comment = nil + } + return true + } + if len(anchor) > 0 || len(tag) > 0 { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: start_mark, + end_mark: end_mark, + anchor: anchor, + tag: tag, + implicit: implicit, + quoted_implicit: false, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true + } + + context := "while parsing a flow node" + if block { + context = "while parsing a block node" + } + yaml_parser_set_parser_error_context(parser, context, start_mark, + "did not find expected node content", token.start_mark) + return false +} + +// Parse the productions: +// block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +// +// ******************** *********** * ********* +func yaml_parser_parse_block_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + if token == nil { + return false + } + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + prior_head_len := len(parser.head_comment) + skip_token(parser) + yaml_parser_split_stem_comment(parser, prior_head_len) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } else { + parser.state = yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } + if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block collection", context_mark, + "did not find expected '-' indicator", token.start_mark) +} + +// Parse the productions: +// indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +// +// *********** * +func yaml_parser_parse_indentless_sequence_entry(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ == yaml_BLOCK_ENTRY_TOKEN { + mark := token.end_mark + prior_head_len := len(parser.head_comment) + skip_token(parser) + yaml_parser_split_stem_comment(parser, prior_head_len) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_BLOCK_ENTRY_TOKEN && + token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, true, false) + } + parser.state = yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be token.end_mark? + } + return true +} + +// Split stem comment from head comment. +// +// When a sequence or map is found under a sequence entry, the former head comment +// is assigned to the underlying sequence or map as a whole, not the individual +// sequence or map entry as would be expected otherwise. To handle this case the +// previous head comment is moved aside as the stem comment. +func yaml_parser_split_stem_comment(parser *yaml_parser_t, stem_len int) { + if stem_len == 0 { + return + } + + token := peek_token(parser) + if token == nil || token.typ != yaml_BLOCK_SEQUENCE_START_TOKEN && token.typ != yaml_BLOCK_MAPPING_START_TOKEN { + return + } + + parser.stem_comment = parser.head_comment[:stem_len] + if len(parser.head_comment) == stem_len { + parser.head_comment = nil + } else { + // Copy suffix to prevent very strange bugs if someone ever appends + // further bytes to the prefix in the stem_comment slice above. + parser.head_comment = append([]byte(nil), parser.head_comment[stem_len+1:]...) + } +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// +// ******************* +// ((KEY block_node_or_indentless_sequence?)? +// *** * +// (VALUE block_node_or_indentless_sequence?)?)* +// +// BLOCK-END +// ********* +func yaml_parser_parse_block_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + if token == nil { + return false + } + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + // [Go] A tail comment was left from the prior mapping value processed. Emit an event + // as it needs to be processed with that value and not the following key. + if len(parser.tail_comment) > 0 { + *event = yaml_event_t{ + typ: yaml_TAIL_COMMENT_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + foot_comment: parser.tail_comment, + } + parser.tail_comment = nil + return true + } + + if token.typ == yaml_KEY_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } else { + parser.state = yaml_PARSE_BLOCK_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + } else if token.typ == yaml_BLOCK_END_TOKEN { + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true + } + + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a block mapping", context_mark, + "did not find expected key", token.start_mark) +} + +// Parse the productions: +// block_mapping ::= BLOCK-MAPPING_START +// +// ((KEY block_node_or_indentless_sequence?)? +// +// (VALUE block_node_or_indentless_sequence?)?)* +// ***** * +// BLOCK-END +func yaml_parser_parse_block_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + mark := token.end_mark + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_KEY_TOKEN && + token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_BLOCK_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_BLOCK_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, true, true) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) + } + parser.state = yaml_PARSE_BLOCK_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence ::= FLOW-SEQUENCE-START +// +// ******************* +// (flow_sequence_entry FLOW-ENTRY)* +// * ********** +// flow_sequence_entry? +// * +// FLOW-SEQUENCE-END +// ***************** +// +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// +// * +func yaml_parser_parse_flow_sequence_entry(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + if token == nil { + return false + } + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow sequence", context_mark, + "did not find expected ',' or ']'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_START_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + implicit: true, + style: yaml_style_t(yaml_FLOW_MAPPING_STYLE), + } + skip_token(parser) + return true + } else if token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + + *event = yaml_event_t{ + typ: yaml_SEQUENCE_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + yaml_parser_set_event_comments(parser, event) + + skip_token(parser) + return true +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// +// *** * +func yaml_parser_parse_flow_sequence_entry_mapping_key(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + mark := token.end_mark + skip_token(parser) + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// +// ***** * +func yaml_parser_parse_flow_sequence_entry_mapping_value(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token := peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_SEQUENCE_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Parse the productions: +// flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// +// * +func yaml_parser_parse_flow_sequence_entry_mapping_end(parser *yaml_parser_t, event *yaml_event_t) bool { + token := peek_token(parser) + if token == nil { + return false + } + parser.state = yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.start_mark, // [Go] Shouldn't this be end_mark? + } + return true +} + +// Parse the productions: +// flow_mapping ::= FLOW-MAPPING-START +// +// ****************** +// (flow_mapping_entry FLOW-ENTRY)* +// * ********** +// flow_mapping_entry? +// ****************** +// FLOW-MAPPING-END +// **************** +// +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// - *** * +func yaml_parser_parse_flow_mapping_key(parser *yaml_parser_t, event *yaml_event_t, first bool) bool { + if first { + token := peek_token(parser) + parser.marks = append(parser.marks, token.start_mark) + skip_token(parser) + } + + token := peek_token(parser) + if token == nil { + return false + } + + if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + if !first { + if token.typ == yaml_FLOW_ENTRY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } else { + context_mark := parser.marks[len(parser.marks)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + return yaml_parser_set_parser_error_context(parser, + "while parsing a flow mapping", context_mark, + "did not find expected ',' or '}'", token.start_mark) + } + } + + if token.typ == yaml_KEY_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_VALUE_TOKEN && + token.typ != yaml_FLOW_ENTRY_TOKEN && + token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } else { + parser.state = yaml_PARSE_FLOW_MAPPING_VALUE_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + } else if token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + + parser.state = parser.states[len(parser.states)-1] + parser.states = parser.states[:len(parser.states)-1] + parser.marks = parser.marks[:len(parser.marks)-1] + *event = yaml_event_t{ + typ: yaml_MAPPING_END_EVENT, + start_mark: token.start_mark, + end_mark: token.end_mark, + } + yaml_parser_set_event_comments(parser, event) + skip_token(parser) + return true +} + +// Parse the productions: +// flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +// - ***** * +func yaml_parser_parse_flow_mapping_value(parser *yaml_parser_t, event *yaml_event_t, empty bool) bool { + token := peek_token(parser) + if token == nil { + return false + } + if empty { + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) + } + if token.typ == yaml_VALUE_TOKEN { + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + if token.typ != yaml_FLOW_ENTRY_TOKEN && token.typ != yaml_FLOW_MAPPING_END_TOKEN { + parser.states = append(parser.states, yaml_PARSE_FLOW_MAPPING_KEY_STATE) + return yaml_parser_parse_node(parser, event, false, false) + } + } + parser.state = yaml_PARSE_FLOW_MAPPING_KEY_STATE + return yaml_parser_process_empty_scalar(parser, event, token.start_mark) +} + +// Generate an empty scalar event. +func yaml_parser_process_empty_scalar(parser *yaml_parser_t, event *yaml_event_t, mark yaml_mark_t) bool { + *event = yaml_event_t{ + typ: yaml_SCALAR_EVENT, + start_mark: mark, + end_mark: mark, + value: nil, // Empty + implicit: true, + style: yaml_style_t(yaml_PLAIN_SCALAR_STYLE), + } + return true +} + +var default_tag_directives = []yaml_tag_directive_t{ + {[]byte("!"), []byte("!")}, + {[]byte("!!"), []byte("tag:yaml.org,2002:")}, +} + +// Parse directives. +func yaml_parser_process_directives(parser *yaml_parser_t, + version_directive_ref **yaml_version_directive_t, + tag_directives_ref *[]yaml_tag_directive_t) bool { + + var version_directive *yaml_version_directive_t + var tag_directives []yaml_tag_directive_t + + token := peek_token(parser) + if token == nil { + return false + } + + for token.typ == yaml_VERSION_DIRECTIVE_TOKEN || token.typ == yaml_TAG_DIRECTIVE_TOKEN { + if token.typ == yaml_VERSION_DIRECTIVE_TOKEN { + if version_directive != nil { + yaml_parser_set_parser_error(parser, + "found duplicate %YAML directive", token.start_mark) + return false + } + if token.major != 1 || token.minor != 1 { + yaml_parser_set_parser_error(parser, + "found incompatible YAML document", token.start_mark) + return false + } + version_directive = &yaml_version_directive_t{ + major: token.major, + minor: token.minor, + } + } else if token.typ == yaml_TAG_DIRECTIVE_TOKEN { + value := yaml_tag_directive_t{ + handle: token.value, + prefix: token.prefix, + } + if !yaml_parser_append_tag_directive(parser, value, false, token.start_mark) { + return false + } + tag_directives = append(tag_directives, value) + } + + skip_token(parser) + token = peek_token(parser) + if token == nil { + return false + } + } + + for i := range default_tag_directives { + if !yaml_parser_append_tag_directive(parser, default_tag_directives[i], true, token.start_mark) { + return false + } + } + + if version_directive_ref != nil { + *version_directive_ref = version_directive + } + if tag_directives_ref != nil { + *tag_directives_ref = tag_directives + } + return true +} + +// Append a tag directive to the directives stack. +func yaml_parser_append_tag_directive(parser *yaml_parser_t, value yaml_tag_directive_t, allow_duplicates bool, mark yaml_mark_t) bool { + for i := range parser.tag_directives { + if bytes.Equal(value.handle, parser.tag_directives[i].handle) { + if allow_duplicates { + return true + } + return yaml_parser_set_parser_error(parser, "found duplicate %TAG directive", mark) + } + } + + // [Go] I suspect the copy is unnecessary. This was likely done + // because there was no way to track ownership of the data. + value_copy := yaml_tag_directive_t{ + handle: make([]byte, len(value.handle)), + prefix: make([]byte, len(value.prefix)), + } + copy(value_copy.handle, value.handle) + copy(value_copy.prefix, value.prefix) + parser.tag_directives = append(parser.tag_directives, value_copy) + return true +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/readerc.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/readerc.go new file mode 100644 index 00000000000..56af245366f --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/readerc.go @@ -0,0 +1,434 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "io" +) + +// Set the reader error and return 0. +func yaml_parser_set_reader_error(parser *yaml_parser_t, problem string, offset int, value int) bool { + parser.error = yaml_READER_ERROR + parser.problem = problem + parser.problem_offset = offset + parser.problem_value = value + return false +} + +// Byte order marks. +const ( + bom_UTF8 = "\xef\xbb\xbf" + bom_UTF16LE = "\xff\xfe" + bom_UTF16BE = "\xfe\xff" +) + +// Determine the input stream encoding by checking the BOM symbol. If no BOM is +// found, the UTF-8 encoding is assumed. Return 1 on success, 0 on failure. +func yaml_parser_determine_encoding(parser *yaml_parser_t) bool { + // Ensure that we had enough bytes in the raw buffer. + for !parser.eof && len(parser.raw_buffer)-parser.raw_buffer_pos < 3 { + if !yaml_parser_update_raw_buffer(parser) { + return false + } + } + + // Determine the encoding. + buf := parser.raw_buffer + pos := parser.raw_buffer_pos + avail := len(buf) - pos + if avail >= 2 && buf[pos] == bom_UTF16LE[0] && buf[pos+1] == bom_UTF16LE[1] { + parser.encoding = yaml_UTF16LE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 2 && buf[pos] == bom_UTF16BE[0] && buf[pos+1] == bom_UTF16BE[1] { + parser.encoding = yaml_UTF16BE_ENCODING + parser.raw_buffer_pos += 2 + parser.offset += 2 + } else if avail >= 3 && buf[pos] == bom_UTF8[0] && buf[pos+1] == bom_UTF8[1] && buf[pos+2] == bom_UTF8[2] { + parser.encoding = yaml_UTF8_ENCODING + parser.raw_buffer_pos += 3 + parser.offset += 3 + } else { + parser.encoding = yaml_UTF8_ENCODING + } + return true +} + +// Update the raw buffer. +func yaml_parser_update_raw_buffer(parser *yaml_parser_t) bool { + size_read := 0 + + // Return if the raw buffer is full. + if parser.raw_buffer_pos == 0 && len(parser.raw_buffer) == cap(parser.raw_buffer) { + return true + } + + // Return on EOF. + if parser.eof { + return true + } + + // Move the remaining bytes in the raw buffer to the beginning. + if parser.raw_buffer_pos > 0 && parser.raw_buffer_pos < len(parser.raw_buffer) { + copy(parser.raw_buffer, parser.raw_buffer[parser.raw_buffer_pos:]) + } + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)-parser.raw_buffer_pos] + parser.raw_buffer_pos = 0 + + // Call the read handler to fill the buffer. + size_read, err := parser.read_handler(parser, parser.raw_buffer[len(parser.raw_buffer):cap(parser.raw_buffer)]) + parser.raw_buffer = parser.raw_buffer[:len(parser.raw_buffer)+size_read] + if err == io.EOF { + parser.eof = true + } else if err != nil { + return yaml_parser_set_reader_error(parser, "input error: "+err.Error(), parser.offset, -1) + } + return true +} + +// Ensure that the buffer contains at least `length` characters. +// Return true on success, false on failure. +// +// The length is supposed to be significantly less that the buffer size. +func yaml_parser_update_buffer(parser *yaml_parser_t, length int) bool { + if parser.read_handler == nil { + panic("read handler must be set") + } + + // [Go] This function was changed to guarantee the requested length size at EOF. + // The fact we need to do this is pretty awful, but the description above implies + // for that to be the case, and there are tests + + // If the EOF flag is set and the raw buffer is empty, do nothing. + if parser.eof && parser.raw_buffer_pos == len(parser.raw_buffer) { + // [Go] ACTUALLY! Read the documentation of this function above. + // This is just broken. To return true, we need to have the + // given length in the buffer. Not doing that means every single + // check that calls this function to make sure the buffer has a + // given length is Go) panicking; or C) accessing invalid memory. + //return true + } + + // Return if the buffer contains enough characters. + if parser.unread >= length { + return true + } + + // Determine the input encoding if it is not known yet. + if parser.encoding == yaml_ANY_ENCODING { + if !yaml_parser_determine_encoding(parser) { + return false + } + } + + // Move the unread characters to the beginning of the buffer. + buffer_len := len(parser.buffer) + if parser.buffer_pos > 0 && parser.buffer_pos < buffer_len { + copy(parser.buffer, parser.buffer[parser.buffer_pos:]) + buffer_len -= parser.buffer_pos + parser.buffer_pos = 0 + } else if parser.buffer_pos == buffer_len { + buffer_len = 0 + parser.buffer_pos = 0 + } + + // Open the whole buffer for writing, and cut it before returning. + parser.buffer = parser.buffer[:cap(parser.buffer)] + + // Fill the buffer until it has enough characters. + first := true + for parser.unread < length { + + // Fill the raw buffer if necessary. + if !first || parser.raw_buffer_pos == len(parser.raw_buffer) { + if !yaml_parser_update_raw_buffer(parser) { + parser.buffer = parser.buffer[:buffer_len] + return false + } + } + first = false + + // Decode the raw buffer. + inner: + for parser.raw_buffer_pos != len(parser.raw_buffer) { + var value rune + var width int + + raw_unread := len(parser.raw_buffer) - parser.raw_buffer_pos + + // Decode the next character. + switch parser.encoding { + case yaml_UTF8_ENCODING: + // Decode a UTF-8 character. Check RFC 3629 + // (http://www.ietf.org/rfc/rfc3629.txt) for more details. + // + // The following table (taken from the RFC) is used for + // decoding. + // + // Char. number range | UTF-8 octet sequence + // (hexadecimal) | (binary) + // --------------------+------------------------------------ + // 0000 0000-0000 007F | 0xxxxxxx + // 0000 0080-0000 07FF | 110xxxxx 10xxxxxx + // 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx + // 0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + // + // Additionally, the characters in the range 0xD800-0xDFFF + // are prohibited as they are reserved for use with UTF-16 + // surrogate pairs. + + // Determine the length of the UTF-8 sequence. + octet := parser.raw_buffer[parser.raw_buffer_pos] + switch { + case octet&0x80 == 0x00: + width = 1 + case octet&0xE0 == 0xC0: + width = 2 + case octet&0xF0 == 0xE0: + width = 3 + case octet&0xF8 == 0xF0: + width = 4 + default: + // The leading octet is invalid. + return yaml_parser_set_reader_error(parser, + "invalid leading UTF-8 octet", + parser.offset, int(octet)) + } + + // Check if the raw buffer contains an incomplete character. + if width > raw_unread { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-8 octet sequence", + parser.offset, -1) + } + break inner + } + + // Decode the leading octet. + switch { + case octet&0x80 == 0x00: + value = rune(octet & 0x7F) + case octet&0xE0 == 0xC0: + value = rune(octet & 0x1F) + case octet&0xF0 == 0xE0: + value = rune(octet & 0x0F) + case octet&0xF8 == 0xF0: + value = rune(octet & 0x07) + default: + value = 0 + } + + // Check and decode the trailing octets. + for k := 1; k < width; k++ { + octet = parser.raw_buffer[parser.raw_buffer_pos+k] + + // Check if the octet is valid. + if (octet & 0xC0) != 0x80 { + return yaml_parser_set_reader_error(parser, + "invalid trailing UTF-8 octet", + parser.offset+k, int(octet)) + } + + // Decode the octet. + value = (value << 6) + rune(octet&0x3F) + } + + // Check the length of the sequence against the value. + switch { + case width == 1: + case width == 2 && value >= 0x80: + case width == 3 && value >= 0x800: + case width == 4 && value >= 0x10000: + default: + return yaml_parser_set_reader_error(parser, + "invalid length of a UTF-8 sequence", + parser.offset, -1) + } + + // Check the range of the value. + if value >= 0xD800 && value <= 0xDFFF || value > 0x10FFFF { + return yaml_parser_set_reader_error(parser, + "invalid Unicode character", + parser.offset, int(value)) + } + + case yaml_UTF16LE_ENCODING, yaml_UTF16BE_ENCODING: + var low, high int + if parser.encoding == yaml_UTF16LE_ENCODING { + low, high = 0, 1 + } else { + low, high = 1, 0 + } + + // The UTF-16 encoding is not as simple as one might + // naively think. Check RFC 2781 + // (http://www.ietf.org/rfc/rfc2781.txt). + // + // Normally, two subsequent bytes describe a Unicode + // character. However a special technique (called a + // surrogate pair) is used for specifying character + // values larger than 0xFFFF. + // + // A surrogate pair consists of two pseudo-characters: + // high surrogate area (0xD800-0xDBFF) + // low surrogate area (0xDC00-0xDFFF) + // + // The following formulas are used for decoding + // and encoding characters using surrogate pairs: + // + // U = U' + 0x10000 (0x01 00 00 <= U <= 0x10 FF FF) + // U' = yyyyyyyyyyxxxxxxxxxx (0 <= U' <= 0x0F FF FF) + // W1 = 110110yyyyyyyyyy + // W2 = 110111xxxxxxxxxx + // + // where U is the character value, W1 is the high surrogate + // area, W2 is the low surrogate area. + + // Check for incomplete UTF-16 character. + if raw_unread < 2 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 character", + parser.offset, -1) + } + break inner + } + + // Get the character. + value = rune(parser.raw_buffer[parser.raw_buffer_pos+low]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high]) << 8) + + // Check for unexpected low surrogate area. + if value&0xFC00 == 0xDC00 { + return yaml_parser_set_reader_error(parser, + "unexpected low surrogate area", + parser.offset, int(value)) + } + + // Check for a high surrogate area. + if value&0xFC00 == 0xD800 { + width = 4 + + // Check for incomplete surrogate pair. + if raw_unread < 4 { + if parser.eof { + return yaml_parser_set_reader_error(parser, + "incomplete UTF-16 surrogate pair", + parser.offset, -1) + } + break inner + } + + // Get the next character. + value2 := rune(parser.raw_buffer[parser.raw_buffer_pos+low+2]) + + (rune(parser.raw_buffer[parser.raw_buffer_pos+high+2]) << 8) + + // Check for a low surrogate area. + if value2&0xFC00 != 0xDC00 { + return yaml_parser_set_reader_error(parser, + "expected low surrogate area", + parser.offset+2, int(value2)) + } + + // Generate the value of the surrogate pair. + value = 0x10000 + ((value & 0x3FF) << 10) + (value2 & 0x3FF) + } else { + width = 2 + } + + default: + panic("impossible") + } + + // Check if the character is in the allowed range: + // #x9 | #xA | #xD | [#x20-#x7E] (8 bit) + // | #x85 | [#xA0-#xD7FF] | [#xE000-#xFFFD] (16 bit) + // | [#x10000-#x10FFFF] (32 bit) + switch { + case value == 0x09: + case value == 0x0A: + case value == 0x0D: + case value >= 0x20 && value <= 0x7E: + case value == 0x85: + case value >= 0xA0 && value <= 0xD7FF: + case value >= 0xE000 && value <= 0xFFFD: + case value >= 0x10000 && value <= 0x10FFFF: + default: + return yaml_parser_set_reader_error(parser, + "control characters are not allowed", + parser.offset, int(value)) + } + + // Move the raw pointers. + parser.raw_buffer_pos += width + parser.offset += width + + // Finally put the character into the buffer. + if value <= 0x7F { + // 0000 0000-0000 007F . 0xxxxxxx + parser.buffer[buffer_len+0] = byte(value) + buffer_len += 1 + } else if value <= 0x7FF { + // 0000 0080-0000 07FF . 110xxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xC0 + (value >> 6)) + parser.buffer[buffer_len+1] = byte(0x80 + (value & 0x3F)) + buffer_len += 2 + } else if value <= 0xFFFF { + // 0000 0800-0000 FFFF . 1110xxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xE0 + (value >> 12)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + (value & 0x3F)) + buffer_len += 3 + } else { + // 0001 0000-0010 FFFF . 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx + parser.buffer[buffer_len+0] = byte(0xF0 + (value >> 18)) + parser.buffer[buffer_len+1] = byte(0x80 + ((value >> 12) & 0x3F)) + parser.buffer[buffer_len+2] = byte(0x80 + ((value >> 6) & 0x3F)) + parser.buffer[buffer_len+3] = byte(0x80 + (value & 0x3F)) + buffer_len += 4 + } + + parser.unread++ + } + + // On EOF, put NUL into the buffer and return. + if parser.eof { + parser.buffer[buffer_len] = 0 + buffer_len++ + parser.unread++ + break + } + } + // [Go] Read the documentation of this function above. To return true, + // we need to have the given length in the buffer. Not doing that means + // every single check that calls this function to make sure the buffer + // has a given length is Go) panicking; or C) accessing invalid memory. + // This happens here due to the EOF above breaking early. + for buffer_len < length { + parser.buffer[buffer_len] = 0 + buffer_len++ + } + parser.buffer = parser.buffer[:buffer_len] + return true +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/resolve.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/resolve.go new file mode 100644 index 00000000000..64ae888057a --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/resolve.go @@ -0,0 +1,326 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "encoding/base64" + "math" + "regexp" + "strconv" + "strings" + "time" +) + +type resolveMapItem struct { + value interface{} + tag string +} + +var resolveTable = make([]byte, 256) +var resolveMap = make(map[string]resolveMapItem) + +func init() { + t := resolveTable + t[int('+')] = 'S' // Sign + t[int('-')] = 'S' + for _, c := range "0123456789" { + t[int(c)] = 'D' // Digit + } + for _, c := range "yYnNtTfFoO~" { + t[int(c)] = 'M' // In map + } + t[int('.')] = '.' // Float (potentially in map) + + var resolveMapList = []struct { + v interface{} + tag string + l []string + }{ + {true, boolTag, []string{"true", "True", "TRUE"}}, + {false, boolTag, []string{"false", "False", "FALSE"}}, + {nil, nullTag, []string{"", "~", "null", "Null", "NULL"}}, + {math.NaN(), floatTag, []string{".nan", ".NaN", ".NAN"}}, + {math.Inf(+1), floatTag, []string{".inf", ".Inf", ".INF"}}, + {math.Inf(+1), floatTag, []string{"+.inf", "+.Inf", "+.INF"}}, + {math.Inf(-1), floatTag, []string{"-.inf", "-.Inf", "-.INF"}}, + {"<<", mergeTag, []string{"<<"}}, + } + + m := resolveMap + for _, item := range resolveMapList { + for _, s := range item.l { + m[s] = resolveMapItem{item.v, item.tag} + } + } +} + +const ( + nullTag = "!!null" + boolTag = "!!bool" + strTag = "!!str" + intTag = "!!int" + floatTag = "!!float" + timestampTag = "!!timestamp" + seqTag = "!!seq" + mapTag = "!!map" + binaryTag = "!!binary" + mergeTag = "!!merge" +) + +var longTags = make(map[string]string) +var shortTags = make(map[string]string) + +func init() { + for _, stag := range []string{nullTag, boolTag, strTag, intTag, floatTag, timestampTag, seqTag, mapTag, binaryTag, mergeTag} { + ltag := longTag(stag) + longTags[stag] = ltag + shortTags[ltag] = stag + } +} + +const longTagPrefix = "tag:yaml.org,2002:" + +func shortTag(tag string) string { + if strings.HasPrefix(tag, longTagPrefix) { + if stag, ok := shortTags[tag]; ok { + return stag + } + return "!!" + tag[len(longTagPrefix):] + } + return tag +} + +func longTag(tag string) string { + if strings.HasPrefix(tag, "!!") { + if ltag, ok := longTags[tag]; ok { + return ltag + } + return longTagPrefix + tag[2:] + } + return tag +} + +func resolvableTag(tag string) bool { + switch tag { + case "", strTag, boolTag, intTag, floatTag, nullTag, timestampTag: + return true + } + return false +} + +var yamlStyleFloat = regexp.MustCompile(`^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$`) + +func resolve(tag string, in string) (rtag string, out interface{}) { + tag = shortTag(tag) + if !resolvableTag(tag) { + return tag, in + } + + defer func() { + switch tag { + case "", rtag, strTag, binaryTag: + return + case floatTag: + if rtag == intTag { + switch v := out.(type) { + case int64: + rtag = floatTag + out = float64(v) + return + case int: + rtag = floatTag + out = float64(v) + return + } + } + } + failf("cannot decode %s `%s` as a %s", shortTag(rtag), in, shortTag(tag)) + }() + + // Any data is accepted as a !!str or !!binary. + // Otherwise, the prefix is enough of a hint about what it might be. + hint := byte('N') + if in != "" { + hint = resolveTable[in[0]] + } + if hint != 0 && tag != strTag && tag != binaryTag { + // Handle things we can lookup in a map. + if item, ok := resolveMap[in]; ok { + return item.tag, item.value + } + + // Base 60 floats are a bad idea, were dropped in YAML 1.2, and + // are purposefully unsupported here. They're still quoted on + // the way out for compatibility with other parser, though. + + switch hint { + case 'M': + // We've already checked the map above. + + case '.': + // Not in the map, so maybe a normal float. + floatv, err := strconv.ParseFloat(in, 64) + if err == nil { + return floatTag, floatv + } + + case 'D', 'S': + // Int, float, or timestamp. + // Only try values as a timestamp if the value is unquoted or there's an explicit + // !!timestamp tag. + if tag == "" || tag == timestampTag { + t, ok := parseTimestamp(in) + if ok { + return timestampTag, t + } + } + + plain := strings.Replace(in, "_", "", -1) + intv, err := strconv.ParseInt(plain, 0, 64) + if err == nil { + if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + uintv, err := strconv.ParseUint(plain, 0, 64) + if err == nil { + return intTag, uintv + } + if yamlStyleFloat.MatchString(plain) { + floatv, err := strconv.ParseFloat(plain, 64) + if err == nil { + return floatTag, floatv + } + } + if strings.HasPrefix(plain, "0b") { + intv, err := strconv.ParseInt(plain[2:], 2, 64) + if err == nil { + if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 2, 64) + if err == nil { + return intTag, uintv + } + } else if strings.HasPrefix(plain, "-0b") { + intv, err := strconv.ParseInt("-"+plain[3:], 2, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + } + // Octals as introduced in version 1.2 of the spec. + // Octals from the 1.1 spec, spelled as 0777, are still + // decoded by default in v3 as well for compatibility. + // May be dropped in v4 depending on how usage evolves. + if strings.HasPrefix(plain, "0o") { + intv, err := strconv.ParseInt(plain[2:], 8, 64) + if err == nil { + if intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + uintv, err := strconv.ParseUint(plain[2:], 8, 64) + if err == nil { + return intTag, uintv + } + } else if strings.HasPrefix(plain, "-0o") { + intv, err := strconv.ParseInt("-"+plain[3:], 8, 64) + if err == nil { + if true || intv == int64(int(intv)) { + return intTag, int(intv) + } else { + return intTag, intv + } + } + } + default: + panic("internal error: missing handler for resolver table: " + string(rune(hint)) + " (with " + in + ")") + } + } + return strTag, in +} + +// encodeBase64 encodes s as base64 that is broken up into multiple lines +// as appropriate for the resulting length. +func encodeBase64(s string) string { + const lineLen = 70 + encLen := base64.StdEncoding.EncodedLen(len(s)) + lines := encLen/lineLen + 1 + buf := make([]byte, encLen*2+lines) + in := buf[0:encLen] + out := buf[encLen:] + base64.StdEncoding.Encode(in, []byte(s)) + k := 0 + for i := 0; i < len(in); i += lineLen { + j := i + lineLen + if j > len(in) { + j = len(in) + } + k += copy(out[k:], in[i:j]) + if lines > 1 { + out[k] = '\n' + k++ + } + } + return string(out[:k]) +} + +// This is a subset of the formats allowed by the regular expression +// defined at http://yaml.org/type/timestamp.html. +var allowedTimestampFormats = []string{ + "2006-1-2T15:4:5.999999999Z07:00", // RCF3339Nano with short date fields. + "2006-1-2t15:4:5.999999999Z07:00", // RFC3339Nano with short date fields and lower-case "t". + "2006-1-2 15:4:5.999999999", // space separated with no time zone + "2006-1-2", // date only + // Notable exception: time.Parse cannot handle: "2001-12-14 21:59:43.10 -5" + // from the set of examples. +} + +// parseTimestamp parses s as a timestamp string and +// returns the timestamp and reports whether it succeeded. +// Timestamp formats are defined at http://yaml.org/type/timestamp.html +func parseTimestamp(s string) (time.Time, bool) { + // TODO write code to check all the formats supported by + // http://yaml.org/type/timestamp.html instead of using time.Parse. + + // Quick check: all date formats start with YYYY-. + i := 0 + for ; i < len(s); i++ { + if c := s[i]; c < '0' || c > '9' { + break + } + } + if i != 4 || i == len(s) || s[i] != '-' { + return time.Time{}, false + } + for _, format := range allowedTimestampFormats { + if t, err := time.Parse(format, s); err == nil { + return t, true + } + } + return time.Time{}, false +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/scannerc.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/scannerc.go new file mode 100644 index 00000000000..30b1f08920a --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/scannerc.go @@ -0,0 +1,3040 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "bytes" + "fmt" +) + +// Introduction +// ************ +// +// The following notes assume that you are familiar with the YAML specification +// (http://yaml.org/spec/1.2/spec.html). We mostly follow it, although in +// some cases we are less restrictive that it requires. +// +// The process of transforming a YAML stream into a sequence of events is +// divided on two steps: Scanning and Parsing. +// +// The Scanner transforms the input stream into a sequence of tokens, while the +// parser transform the sequence of tokens produced by the Scanner into a +// sequence of parsing events. +// +// The Scanner is rather clever and complicated. The Parser, on the contrary, +// is a straightforward implementation of a recursive-descendant parser (or, +// LL(1) parser, as it is usually called). +// +// Actually there are two issues of Scanning that might be called "clever", the +// rest is quite straightforward. The issues are "block collection start" and +// "simple keys". Both issues are explained below in details. +// +// Here the Scanning step is explained and implemented. We start with the list +// of all the tokens produced by the Scanner together with short descriptions. +// +// Now, tokens: +// +// STREAM-START(encoding) # The stream start. +// STREAM-END # The stream end. +// VERSION-DIRECTIVE(major,minor) # The '%YAML' directive. +// TAG-DIRECTIVE(handle,prefix) # The '%TAG' directive. +// DOCUMENT-START # '---' +// DOCUMENT-END # '...' +// BLOCK-SEQUENCE-START # Indentation increase denoting a block +// BLOCK-MAPPING-START # sequence or a block mapping. +// BLOCK-END # Indentation decrease. +// FLOW-SEQUENCE-START # '[' +// FLOW-SEQUENCE-END # ']' +// BLOCK-SEQUENCE-START # '{' +// BLOCK-SEQUENCE-END # '}' +// BLOCK-ENTRY # '-' +// FLOW-ENTRY # ',' +// KEY # '?' or nothing (simple keys). +// VALUE # ':' +// ALIAS(anchor) # '*anchor' +// ANCHOR(anchor) # '&anchor' +// TAG(handle,suffix) # '!handle!suffix' +// SCALAR(value,style) # A scalar. +// +// The following two tokens are "virtual" tokens denoting the beginning and the +// end of the stream: +// +// STREAM-START(encoding) +// STREAM-END +// +// We pass the information about the input stream encoding with the +// STREAM-START token. +// +// The next two tokens are responsible for tags: +// +// VERSION-DIRECTIVE(major,minor) +// TAG-DIRECTIVE(handle,prefix) +// +// Example: +// +// %YAML 1.1 +// %TAG ! !foo +// %TAG !yaml! tag:yaml.org,2002: +// --- +// +// The correspoding sequence of tokens: +// +// STREAM-START(utf-8) +// VERSION-DIRECTIVE(1,1) +// TAG-DIRECTIVE("!","!foo") +// TAG-DIRECTIVE("!yaml","tag:yaml.org,2002:") +// DOCUMENT-START +// STREAM-END +// +// Note that the VERSION-DIRECTIVE and TAG-DIRECTIVE tokens occupy a whole +// line. +// +// The document start and end indicators are represented by: +// +// DOCUMENT-START +// DOCUMENT-END +// +// Note that if a YAML stream contains an implicit document (without '---' +// and '...' indicators), no DOCUMENT-START and DOCUMENT-END tokens will be +// produced. +// +// In the following examples, we present whole documents together with the +// produced tokens. +// +// 1. An implicit document: +// +// 'a scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// STREAM-END +// +// 2. An explicit document: +// +// --- +// 'a scalar' +// ... +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// SCALAR("a scalar",single-quoted) +// DOCUMENT-END +// STREAM-END +// +// 3. Several documents in a stream: +// +// 'a scalar' +// --- +// 'another scalar' +// --- +// 'yet another scalar' +// +// Tokens: +// +// STREAM-START(utf-8) +// SCALAR("a scalar",single-quoted) +// DOCUMENT-START +// SCALAR("another scalar",single-quoted) +// DOCUMENT-START +// SCALAR("yet another scalar",single-quoted) +// STREAM-END +// +// We have already introduced the SCALAR token above. The following tokens are +// used to describe aliases, anchors, tag, and scalars: +// +// ALIAS(anchor) +// ANCHOR(anchor) +// TAG(handle,suffix) +// SCALAR(value,style) +// +// The following series of examples illustrate the usage of these tokens: +// +// 1. A recursive sequence: +// +// &A [ *A ] +// +// Tokens: +// +// STREAM-START(utf-8) +// ANCHOR("A") +// FLOW-SEQUENCE-START +// ALIAS("A") +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A tagged scalar: +// +// !!float "3.14" # A good approximation. +// +// Tokens: +// +// STREAM-START(utf-8) +// TAG("!!","float") +// SCALAR("3.14",double-quoted) +// STREAM-END +// +// 3. Various scalar styles: +// +// --- # Implicit empty plain scalars do not produce tokens. +// --- a plain scalar +// --- 'a single-quoted scalar' +// --- "a double-quoted scalar" +// --- |- +// a literal scalar +// --- >- +// a folded +// scalar +// +// Tokens: +// +// STREAM-START(utf-8) +// DOCUMENT-START +// DOCUMENT-START +// SCALAR("a plain scalar",plain) +// DOCUMENT-START +// SCALAR("a single-quoted scalar",single-quoted) +// DOCUMENT-START +// SCALAR("a double-quoted scalar",double-quoted) +// DOCUMENT-START +// SCALAR("a literal scalar",literal) +// DOCUMENT-START +// SCALAR("a folded scalar",folded) +// STREAM-END +// +// Now it's time to review collection-related tokens. We will start with +// flow collections: +// +// FLOW-SEQUENCE-START +// FLOW-SEQUENCE-END +// FLOW-MAPPING-START +// FLOW-MAPPING-END +// FLOW-ENTRY +// KEY +// VALUE +// +// The tokens FLOW-SEQUENCE-START, FLOW-SEQUENCE-END, FLOW-MAPPING-START, and +// FLOW-MAPPING-END represent the indicators '[', ']', '{', and '}' +// correspondingly. FLOW-ENTRY represent the ',' indicator. Finally the +// indicators '?' and ':', which are used for denoting mapping keys and values, +// are represented by the KEY and VALUE tokens. +// +// The following examples show flow collections: +// +// 1. A flow sequence: +// +// [item 1, item 2, item 3] +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-SEQUENCE-START +// SCALAR("item 1",plain) +// FLOW-ENTRY +// SCALAR("item 2",plain) +// FLOW-ENTRY +// SCALAR("item 3",plain) +// FLOW-SEQUENCE-END +// STREAM-END +// +// 2. A flow mapping: +// +// { +// a simple key: a value, # Note that the KEY token is produced. +// ? a complex key: another value, +// } +// +// Tokens: +// +// STREAM-START(utf-8) +// FLOW-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// FLOW-ENTRY +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// FLOW-ENTRY +// FLOW-MAPPING-END +// STREAM-END +// +// A simple key is a key which is not denoted by the '?' indicator. Note that +// the Scanner still produce the KEY token whenever it encounters a simple key. +// +// For scanning block collections, the following tokens are used (note that we +// repeat KEY and VALUE here): +// +// BLOCK-SEQUENCE-START +// BLOCK-MAPPING-START +// BLOCK-END +// BLOCK-ENTRY +// KEY +// VALUE +// +// The tokens BLOCK-SEQUENCE-START and BLOCK-MAPPING-START denote indentation +// increase that precedes a block collection (cf. the INDENT token in Python). +// The token BLOCK-END denote indentation decrease that ends a block collection +// (cf. the DEDENT token in Python). However YAML has some syntax pecularities +// that makes detections of these tokens more complex. +// +// The tokens BLOCK-ENTRY, KEY, and VALUE are used to represent the indicators +// '-', '?', and ':' correspondingly. +// +// The following examples show how the tokens BLOCK-SEQUENCE-START, +// BLOCK-MAPPING-START, and BLOCK-END are emitted by the Scanner: +// +// 1. Block sequences: +// +// - item 1 +// - item 2 +// - +// - item 3.1 +// - item 3.2 +// - +// key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 3.1",plain) +// BLOCK-ENTRY +// SCALAR("item 3.2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Block mappings: +// +// a simple key: a value # The KEY token is produced here. +// ? a complex key +// : another value +// a mapping: +// key 1: value 1 +// key 2: value 2 +// a sequence: +// - item 1 +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a simple key",plain) +// VALUE +// SCALAR("a value",plain) +// KEY +// SCALAR("a complex key",plain) +// VALUE +// SCALAR("another value",plain) +// KEY +// SCALAR("a mapping",plain) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML does not always require to start a new block collection from a new +// line. If the current line contains only '-', '?', and ':' indicators, a new +// block collection may start at the current line. The following examples +// illustrate this case: +// +// 1. Collections in a sequence: +// +// - - item 1 +// - item 2 +// - key 1: value 1 +// key 2: value 2 +// - ? complex key +// : complex value +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-ENTRY +// BLOCK-MAPPING-START +// KEY +// SCALAR("complex key") +// VALUE +// SCALAR("complex value") +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// 2. Collections in a mapping: +// +// ? a sequence +// : - item 1 +// - item 2 +// ? a mapping +// : key 1: value 1 +// key 2: value 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("a sequence",plain) +// VALUE +// BLOCK-SEQUENCE-START +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// KEY +// SCALAR("a mapping",plain) +// VALUE +// BLOCK-MAPPING-START +// KEY +// SCALAR("key 1",plain) +// VALUE +// SCALAR("value 1",plain) +// KEY +// SCALAR("key 2",plain) +// VALUE +// SCALAR("value 2",plain) +// BLOCK-END +// BLOCK-END +// STREAM-END +// +// YAML also permits non-indented sequences if they are included into a block +// mapping. In this case, the token BLOCK-SEQUENCE-START is not produced: +// +// key: +// - item 1 # BLOCK-SEQUENCE-START is NOT produced here. +// - item 2 +// +// Tokens: +// +// STREAM-START(utf-8) +// BLOCK-MAPPING-START +// KEY +// SCALAR("key",plain) +// VALUE +// BLOCK-ENTRY +// SCALAR("item 1",plain) +// BLOCK-ENTRY +// SCALAR("item 2",plain) +// BLOCK-END +// + +// Ensure that the buffer contains the required number of characters. +// Return true on success, false on failure (reader error or memory error). +func cache(parser *yaml_parser_t, length int) bool { + // [Go] This was inlined: !cache(A, B) -> unread < B && !update(A, B) + return parser.unread >= length || yaml_parser_update_buffer(parser, length) +} + +// Advance the buffer pointer. +func skip(parser *yaml_parser_t) { + if !is_blank(parser.buffer, parser.buffer_pos) { + parser.newlines = 0 + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) +} + +func skip_line(parser *yaml_parser_t) { + if is_crlf(parser.buffer, parser.buffer_pos) { + parser.mark.index += 2 + parser.mark.column = 0 + parser.mark.line++ + parser.unread -= 2 + parser.buffer_pos += 2 + parser.newlines++ + } else if is_break(parser.buffer, parser.buffer_pos) { + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.buffer_pos += width(parser.buffer[parser.buffer_pos]) + parser.newlines++ + } +} + +// Copy a character to a string buffer and advance pointers. +func read(parser *yaml_parser_t, s []byte) []byte { + if !is_blank(parser.buffer, parser.buffer_pos) { + parser.newlines = 0 + } + w := width(parser.buffer[parser.buffer_pos]) + if w == 0 { + panic("invalid character sequence") + } + if len(s) == 0 { + s = make([]byte, 0, 32) + } + if w == 1 && len(s)+w <= cap(s) { + s = s[:len(s)+1] + s[len(s)-1] = parser.buffer[parser.buffer_pos] + parser.buffer_pos++ + } else { + s = append(s, parser.buffer[parser.buffer_pos:parser.buffer_pos+w]...) + parser.buffer_pos += w + } + parser.mark.index++ + parser.mark.column++ + parser.unread-- + return s +} + +// Copy a line break character to a string buffer and advance pointers. +func read_line(parser *yaml_parser_t, s []byte) []byte { + buf := parser.buffer + pos := parser.buffer_pos + switch { + case buf[pos] == '\r' && buf[pos+1] == '\n': + // CR LF . LF + s = append(s, '\n') + parser.buffer_pos += 2 + parser.mark.index++ + parser.unread-- + case buf[pos] == '\r' || buf[pos] == '\n': + // CR|LF . LF + s = append(s, '\n') + parser.buffer_pos += 1 + case buf[pos] == '\xC2' && buf[pos+1] == '\x85': + // NEL . LF + s = append(s, '\n') + parser.buffer_pos += 2 + case buf[pos] == '\xE2' && buf[pos+1] == '\x80' && (buf[pos+2] == '\xA8' || buf[pos+2] == '\xA9'): + // LS|PS . LS|PS + s = append(s, buf[parser.buffer_pos:pos+3]...) + parser.buffer_pos += 3 + default: + return s + } + parser.mark.index++ + parser.mark.column = 0 + parser.mark.line++ + parser.unread-- + parser.newlines++ + return s +} + +// Get the next token. +func yaml_parser_scan(parser *yaml_parser_t, token *yaml_token_t) bool { + // Erase the token object. + *token = yaml_token_t{} // [Go] Is this necessary? + + // No tokens after STREAM-END or error. + if parser.stream_end_produced || parser.error != yaml_NO_ERROR { + return true + } + + // Ensure that the tokens queue contains enough tokens. + if !parser.token_available { + if !yaml_parser_fetch_more_tokens(parser) { + return false + } + } + + // Fetch the next token from the queue. + *token = parser.tokens[parser.tokens_head] + parser.tokens_head++ + parser.tokens_parsed++ + parser.token_available = false + + if token.typ == yaml_STREAM_END_TOKEN { + parser.stream_end_produced = true + } + return true +} + +// Set the scanner error and return false. +func yaml_parser_set_scanner_error(parser *yaml_parser_t, context string, context_mark yaml_mark_t, problem string) bool { + parser.error = yaml_SCANNER_ERROR + parser.context = context + parser.context_mark = context_mark + parser.problem = problem + parser.problem_mark = parser.mark + return false +} + +func yaml_parser_set_scanner_tag_error(parser *yaml_parser_t, directive bool, context_mark yaml_mark_t, problem string) bool { + context := "while parsing a tag" + if directive { + context = "while parsing a %TAG directive" + } + return yaml_parser_set_scanner_error(parser, context, context_mark, problem) +} + +func trace(args ...interface{}) func() { + pargs := append([]interface{}{"+++"}, args...) + fmt.Println(pargs...) + pargs = append([]interface{}{"---"}, args...) + return func() { fmt.Println(pargs...) } +} + +// Ensure that the tokens queue contains at least one token which can be +// returned to the Parser. +func yaml_parser_fetch_more_tokens(parser *yaml_parser_t) bool { + // While we need more tokens to fetch, do it. + for { + // [Go] The comment parsing logic requires a lookahead of two tokens + // so that foot comments may be parsed in time of associating them + // with the tokens that are parsed before them, and also for line + // comments to be transformed into head comments in some edge cases. + if parser.tokens_head < len(parser.tokens)-2 { + // If a potential simple key is at the head position, we need to fetch + // the next token to disambiguate it. + head_tok_idx, ok := parser.simple_keys_by_tok[parser.tokens_parsed] + if !ok { + break + } else if valid, ok := yaml_simple_key_is_valid(parser, &parser.simple_keys[head_tok_idx]); !ok { + return false + } else if !valid { + break + } + } + // Fetch the next token. + if !yaml_parser_fetch_next_token(parser) { + return false + } + } + + parser.token_available = true + return true +} + +// The dispatcher for token fetchers. +func yaml_parser_fetch_next_token(parser *yaml_parser_t) (ok bool) { + // Ensure that the buffer is initialized. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we just started scanning. Fetch STREAM-START then. + if !parser.stream_start_produced { + return yaml_parser_fetch_stream_start(parser) + } + + scan_mark := parser.mark + + // Eat whitespaces and comments until we reach the next token. + if !yaml_parser_scan_to_next_token(parser) { + return false + } + + // [Go] While unrolling indents, transform the head comments of prior + // indentation levels observed after scan_start into foot comments at + // the respective indexes. + + // Check the indentation level against the current column. + if !yaml_parser_unroll_indent(parser, parser.mark.column, scan_mark) { + return false + } + + // Ensure that the buffer contains at least 4 characters. 4 is the length + // of the longest indicators ('--- ' and '... '). + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + // Is it the end of the stream? + if is_z(parser.buffer, parser.buffer_pos) { + return yaml_parser_fetch_stream_end(parser) + } + + // Is it a directive? + if parser.mark.column == 0 && parser.buffer[parser.buffer_pos] == '%' { + return yaml_parser_fetch_directive(parser) + } + + buf := parser.buffer + pos := parser.buffer_pos + + // Is it the document start indicator? + if parser.mark.column == 0 && buf[pos] == '-' && buf[pos+1] == '-' && buf[pos+2] == '-' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_START_TOKEN) + } + + // Is it the document end indicator? + if parser.mark.column == 0 && buf[pos] == '.' && buf[pos+1] == '.' && buf[pos+2] == '.' && is_blankz(buf, pos+3) { + return yaml_parser_fetch_document_indicator(parser, yaml_DOCUMENT_END_TOKEN) + } + + comment_mark := parser.mark + if len(parser.tokens) > 0 && (parser.flow_level == 0 && buf[pos] == ':' || parser.flow_level > 0 && buf[pos] == ',') { + // Associate any following comments with the prior token. + comment_mark = parser.tokens[len(parser.tokens)-1].start_mark + } + defer func() { + if !ok { + return + } + if len(parser.tokens) > 0 && parser.tokens[len(parser.tokens)-1].typ == yaml_BLOCK_ENTRY_TOKEN { + // Sequence indicators alone have no line comments. It becomes + // a head comment for whatever follows. + return + } + if !yaml_parser_scan_line_comment(parser, comment_mark) { + ok = false + return + } + }() + + // Is it the flow sequence start indicator? + if buf[pos] == '[' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_SEQUENCE_START_TOKEN) + } + + // Is it the flow mapping start indicator? + if parser.buffer[parser.buffer_pos] == '{' { + return yaml_parser_fetch_flow_collection_start(parser, yaml_FLOW_MAPPING_START_TOKEN) + } + + // Is it the flow sequence end indicator? + if parser.buffer[parser.buffer_pos] == ']' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_SEQUENCE_END_TOKEN) + } + + // Is it the flow mapping end indicator? + if parser.buffer[parser.buffer_pos] == '}' { + return yaml_parser_fetch_flow_collection_end(parser, + yaml_FLOW_MAPPING_END_TOKEN) + } + + // Is it the flow entry indicator? + if parser.buffer[parser.buffer_pos] == ',' { + return yaml_parser_fetch_flow_entry(parser) + } + + // Is it the block entry indicator? + if parser.buffer[parser.buffer_pos] == '-' && is_blankz(parser.buffer, parser.buffer_pos+1) { + return yaml_parser_fetch_block_entry(parser) + } + + // Is it the key indicator? + if parser.buffer[parser.buffer_pos] == '?' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_key(parser) + } + + // Is it the value indicator? + if parser.buffer[parser.buffer_pos] == ':' && (parser.flow_level > 0 || is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_value(parser) + } + + // Is it an alias? + if parser.buffer[parser.buffer_pos] == '*' { + return yaml_parser_fetch_anchor(parser, yaml_ALIAS_TOKEN) + } + + // Is it an anchor? + if parser.buffer[parser.buffer_pos] == '&' { + return yaml_parser_fetch_anchor(parser, yaml_ANCHOR_TOKEN) + } + + // Is it a tag? + if parser.buffer[parser.buffer_pos] == '!' { + return yaml_parser_fetch_tag(parser) + } + + // Is it a literal scalar? + if parser.buffer[parser.buffer_pos] == '|' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, true) + } + + // Is it a folded scalar? + if parser.buffer[parser.buffer_pos] == '>' && parser.flow_level == 0 { + return yaml_parser_fetch_block_scalar(parser, false) + } + + // Is it a single-quoted scalar? + if parser.buffer[parser.buffer_pos] == '\'' { + return yaml_parser_fetch_flow_scalar(parser, true) + } + + // Is it a double-quoted scalar? + if parser.buffer[parser.buffer_pos] == '"' { + return yaml_parser_fetch_flow_scalar(parser, false) + } + + // Is it a plain scalar? + // + // A plain scalar may start with any non-blank characters except + // + // '-', '?', ':', ',', '[', ']', '{', '}', + // '#', '&', '*', '!', '|', '>', '\'', '\"', + // '%', '@', '`'. + // + // In the block context (and, for the '-' indicator, in the flow context + // too), it may also start with the characters + // + // '-', '?', ':' + // + // if it is followed by a non-space character. + // + // The last rule is more restrictive than the specification requires. + // [Go] TODO Make this logic more reasonable. + //switch parser.buffer[parser.buffer_pos] { + //case '-', '?', ':', ',', '?', '-', ',', ':', ']', '[', '}', '{', '&', '#', '!', '*', '>', '|', '"', '\'', '@', '%', '-', '`': + //} + if !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '-' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}' || parser.buffer[parser.buffer_pos] == '#' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '*' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '|' || + parser.buffer[parser.buffer_pos] == '>' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '"' || parser.buffer[parser.buffer_pos] == '%' || + parser.buffer[parser.buffer_pos] == '@' || parser.buffer[parser.buffer_pos] == '`') || + (parser.buffer[parser.buffer_pos] == '-' && !is_blank(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level == 0 && + (parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == ':') && + !is_blankz(parser.buffer, parser.buffer_pos+1)) { + return yaml_parser_fetch_plain_scalar(parser) + } + + // If we don't determine the token type so far, it is an error. + return yaml_parser_set_scanner_error(parser, + "while scanning for the next token", parser.mark, + "found character that cannot start any token") +} + +func yaml_simple_key_is_valid(parser *yaml_parser_t, simple_key *yaml_simple_key_t) (valid, ok bool) { + if !simple_key.possible { + return false, true + } + + // The 1.2 specification says: + // + // "If the ? indicator is omitted, parsing needs to see past the + // implicit key to recognize it as such. To limit the amount of + // lookahead required, the “:” indicator must appear at most 1024 + // Unicode characters beyond the start of the key. In addition, the key + // is restricted to a single line." + // + if simple_key.mark.line < parser.mark.line || simple_key.mark.index+1024 < parser.mark.index { + // Check if the potential simple key to be removed is required. + if simple_key.required { + return false, yaml_parser_set_scanner_error(parser, + "while scanning a simple key", simple_key.mark, + "could not find expected ':'") + } + simple_key.possible = false + return false, true + } + return true, true +} + +// Check if a simple key may start at the current position and add it if +// needed. +func yaml_parser_save_simple_key(parser *yaml_parser_t) bool { + // A simple key is required at the current position if the scanner is in + // the block context and the current column coincides with the indentation + // level. + + required := parser.flow_level == 0 && parser.indent == parser.mark.column + + // + // If the current position may start a simple key, save it. + // + if parser.simple_key_allowed { + simple_key := yaml_simple_key_t{ + possible: true, + required: required, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + mark: parser.mark, + } + + if !yaml_parser_remove_simple_key(parser) { + return false + } + parser.simple_keys[len(parser.simple_keys)-1] = simple_key + parser.simple_keys_by_tok[simple_key.token_number] = len(parser.simple_keys) - 1 + } + return true +} + +// Remove a potential simple key at the current flow level. +func yaml_parser_remove_simple_key(parser *yaml_parser_t) bool { + i := len(parser.simple_keys) - 1 + if parser.simple_keys[i].possible { + // If the key is required, it is an error. + if parser.simple_keys[i].required { + return yaml_parser_set_scanner_error(parser, + "while scanning a simple key", parser.simple_keys[i].mark, + "could not find expected ':'") + } + // Remove the key from the stack. + parser.simple_keys[i].possible = false + delete(parser.simple_keys_by_tok, parser.simple_keys[i].token_number) + } + return true +} + +// max_flow_level limits the flow_level +const max_flow_level = 10000 + +// Increase the flow level and resize the simple key list if needed. +func yaml_parser_increase_flow_level(parser *yaml_parser_t) bool { + // Reset the simple key on the next level. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{ + possible: false, + required: false, + token_number: parser.tokens_parsed + (len(parser.tokens) - parser.tokens_head), + mark: parser.mark, + }) + + // Increase the flow level. + parser.flow_level++ + if parser.flow_level > max_flow_level { + return yaml_parser_set_scanner_error(parser, + "while increasing flow level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_flow_level)) + } + return true +} + +// Decrease the flow level. +func yaml_parser_decrease_flow_level(parser *yaml_parser_t) bool { + if parser.flow_level > 0 { + parser.flow_level-- + last := len(parser.simple_keys) - 1 + delete(parser.simple_keys_by_tok, parser.simple_keys[last].token_number) + parser.simple_keys = parser.simple_keys[:last] + } + return true +} + +// max_indents limits the indents stack size +const max_indents = 10000 + +// Push the current indentation level to the stack and set the new level +// the current column is greater than the indentation level. In this case, +// append or insert the specified token into the token queue. +func yaml_parser_roll_indent(parser *yaml_parser_t, column, number int, typ yaml_token_type_t, mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + if parser.indent < column { + // Push the current indentation level to the stack and set the new + // indentation level. + parser.indents = append(parser.indents, parser.indent) + parser.indent = column + if len(parser.indents) > max_indents { + return yaml_parser_set_scanner_error(parser, + "while increasing indent level", parser.simple_keys[len(parser.simple_keys)-1].mark, + fmt.Sprintf("exceeded max depth of %d", max_indents)) + } + + // Create a token and insert it into the queue. + token := yaml_token_t{ + typ: typ, + start_mark: mark, + end_mark: mark, + } + if number > -1 { + number -= parser.tokens_parsed + } + yaml_insert_token(parser, number, &token) + } + return true +} + +// Pop indentation levels from the indents stack until the current level +// becomes less or equal to the column. For each indentation level, append +// the BLOCK-END token. +func yaml_parser_unroll_indent(parser *yaml_parser_t, column int, scan_mark yaml_mark_t) bool { + // In the flow context, do nothing. + if parser.flow_level > 0 { + return true + } + + block_mark := scan_mark + block_mark.index-- + + // Loop through the indentation levels in the stack. + for parser.indent > column { + + // [Go] Reposition the end token before potential following + // foot comments of parent blocks. For that, search + // backwards for recent comments that were at the same + // indent as the block that is ending now. + stop_index := block_mark.index + for i := len(parser.comments) - 1; i >= 0; i-- { + comment := &parser.comments[i] + + if comment.end_mark.index < stop_index { + // Don't go back beyond the start of the comment/whitespace scan, unless column < 0. + // If requested indent column is < 0, then the document is over and everything else + // is a foot anyway. + break + } + if comment.start_mark.column == parser.indent+1 { + // This is a good match. But maybe there's a former comment + // at that same indent level, so keep searching. + block_mark = comment.start_mark + } + + // While the end of the former comment matches with + // the start of the following one, we know there's + // nothing in between and scanning is still safe. + stop_index = comment.scan_mark.index + } + + // Create a token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_END_TOKEN, + start_mark: block_mark, + end_mark: block_mark, + } + yaml_insert_token(parser, -1, &token) + + // Pop the indentation level. + parser.indent = parser.indents[len(parser.indents)-1] + parser.indents = parser.indents[:len(parser.indents)-1] + } + return true +} + +// Initialize the scanner and produce the STREAM-START token. +func yaml_parser_fetch_stream_start(parser *yaml_parser_t) bool { + + // Set the initial indentation. + parser.indent = -1 + + // Initialize the simple key stack. + parser.simple_keys = append(parser.simple_keys, yaml_simple_key_t{}) + + parser.simple_keys_by_tok = make(map[int]int) + + // A simple key is allowed at the beginning of the stream. + parser.simple_key_allowed = true + + // We have started. + parser.stream_start_produced = true + + // Create the STREAM-START token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_START_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + encoding: parser.encoding, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the STREAM-END token and shut down the scanner. +func yaml_parser_fetch_stream_end(parser *yaml_parser_t) bool { + + // Force new line. + if parser.mark.column != 0 { + parser.mark.column = 0 + parser.mark.line++ + } + + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1, parser.mark) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the STREAM-END token and append it to the queue. + token := yaml_token_t{ + typ: yaml_STREAM_END_TOKEN, + start_mark: parser.mark, + end_mark: parser.mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce a VERSION-DIRECTIVE or TAG-DIRECTIVE token. +func yaml_parser_fetch_directive(parser *yaml_parser_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1, parser.mark) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Create the YAML-DIRECTIVE or TAG-DIRECTIVE token. + token := yaml_token_t{} + if !yaml_parser_scan_directive(parser, &token) { + return false + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the DOCUMENT-START or DOCUMENT-END token. +func yaml_parser_fetch_document_indicator(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset the indentation level. + if !yaml_parser_unroll_indent(parser, -1, parser.mark) { + return false + } + + // Reset simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + parser.simple_key_allowed = false + + // Consume the token. + start_mark := parser.mark + + skip(parser) + skip(parser) + skip(parser) + + end_mark := parser.mark + + // Create the DOCUMENT-START or DOCUMENT-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. +func yaml_parser_fetch_flow_collection_start(parser *yaml_parser_t, typ yaml_token_type_t) bool { + + // The indicators '[' and '{' may start a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // Increase the flow level. + if !yaml_parser_increase_flow_level(parser) { + return false + } + + // A simple key may follow the indicators '[' and '{'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-START of FLOW-MAPPING-START token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. +func yaml_parser_fetch_flow_collection_end(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // Reset any potential simple key on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Decrease the flow level. + if !yaml_parser_decrease_flow_level(parser) { + return false + } + + // No simple keys after the indicators ']' and '}'. + parser.simple_key_allowed = false + + // Consume the token. + + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-SEQUENCE-END of FLOW-MAPPING-END token. + token := yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + } + // Append the token to the queue. + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the FLOW-ENTRY token. +func yaml_parser_fetch_flow_entry(parser *yaml_parser_t) bool { + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after ','. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the FLOW-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_FLOW_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the BLOCK-ENTRY token. +func yaml_parser_fetch_block_entry(parser *yaml_parser_t) bool { + // Check if the scanner is in the block context. + if parser.flow_level == 0 { + // Check if we are allowed to start a new entry. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "block sequence entries are not allowed in this context") + } + // Add the BLOCK-SEQUENCE-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_SEQUENCE_START_TOKEN, parser.mark) { + return false + } + } else { + // It is an error for the '-' indicator to occur in the flow context, + // but we let the Parser detect and report about it because the Parser + // is able to point to the context. + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '-'. + parser.simple_key_allowed = true + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the BLOCK-ENTRY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_BLOCK_ENTRY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the KEY token. +func yaml_parser_fetch_key(parser *yaml_parser_t) bool { + + // In the block context, additional checks are required. + if parser.flow_level == 0 { + // Check if we are allowed to start a new key (not nessesary simple). + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping keys are not allowed in this context") + } + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Reset any potential simple keys on the current flow level. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // Simple keys are allowed after '?' in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the KEY token and append it to the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the VALUE token. +func yaml_parser_fetch_value(parser *yaml_parser_t) bool { + + simple_key := &parser.simple_keys[len(parser.simple_keys)-1] + + // Have we found a simple key? + if valid, ok := yaml_simple_key_is_valid(parser, simple_key); !ok { + return false + + } else if valid { + + // Create the KEY token and insert it into the queue. + token := yaml_token_t{ + typ: yaml_KEY_TOKEN, + start_mark: simple_key.mark, + end_mark: simple_key.mark, + } + yaml_insert_token(parser, simple_key.token_number-parser.tokens_parsed, &token) + + // In the block context, we may need to add the BLOCK-MAPPING-START token. + if !yaml_parser_roll_indent(parser, simple_key.mark.column, + simple_key.token_number, + yaml_BLOCK_MAPPING_START_TOKEN, simple_key.mark) { + return false + } + + // Remove the simple key. + simple_key.possible = false + delete(parser.simple_keys_by_tok, simple_key.token_number) + + // A simple key cannot follow another simple key. + parser.simple_key_allowed = false + + } else { + // The ':' indicator follows a complex key. + + // In the block context, extra checks are required. + if parser.flow_level == 0 { + + // Check if we are allowed to start a complex value. + if !parser.simple_key_allowed { + return yaml_parser_set_scanner_error(parser, "", parser.mark, + "mapping values are not allowed in this context") + } + + // Add the BLOCK-MAPPING-START token if needed. + if !yaml_parser_roll_indent(parser, parser.mark.column, -1, yaml_BLOCK_MAPPING_START_TOKEN, parser.mark) { + return false + } + } + + // Simple keys after ':' are allowed in the block context. + parser.simple_key_allowed = parser.flow_level == 0 + } + + // Consume the token. + start_mark := parser.mark + skip(parser) + end_mark := parser.mark + + // Create the VALUE token and append it to the queue. + token := yaml_token_t{ + typ: yaml_VALUE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the ALIAS or ANCHOR token. +func yaml_parser_fetch_anchor(parser *yaml_parser_t, typ yaml_token_type_t) bool { + // An anchor or an alias could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow an anchor or an alias. + parser.simple_key_allowed = false + + // Create the ALIAS or ANCHOR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_anchor(parser, &token, typ) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the TAG token. +func yaml_parser_fetch_tag(parser *yaml_parser_t) bool { + // A tag could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a tag. + parser.simple_key_allowed = false + + // Create the TAG token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_tag(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. +func yaml_parser_fetch_block_scalar(parser *yaml_parser_t, literal bool) bool { + // Remove any potential simple keys. + if !yaml_parser_remove_simple_key(parser) { + return false + } + + // A simple key may follow a block scalar. + parser.simple_key_allowed = true + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_block_scalar(parser, &token, literal) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. +func yaml_parser_fetch_flow_scalar(parser *yaml_parser_t, single bool) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_flow_scalar(parser, &token, single) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Produce the SCALAR(...,plain) token. +func yaml_parser_fetch_plain_scalar(parser *yaml_parser_t) bool { + // A plain scalar could be a simple key. + if !yaml_parser_save_simple_key(parser) { + return false + } + + // A simple key cannot follow a flow scalar. + parser.simple_key_allowed = false + + // Create the SCALAR token and append it to the queue. + var token yaml_token_t + if !yaml_parser_scan_plain_scalar(parser, &token) { + return false + } + yaml_insert_token(parser, -1, &token) + return true +} + +// Eat whitespaces and comments until the next token is found. +func yaml_parser_scan_to_next_token(parser *yaml_parser_t) bool { + + scan_mark := parser.mark + + // Until the next token is not found. + for { + // Allow the BOM mark to start a line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.mark.column == 0 && is_bom(parser.buffer, parser.buffer_pos) { + skip(parser) + } + + // Eat whitespaces. + // Tabs are allowed: + // - in the flow context + // - in the block context, but not at the beginning of the line or + // after '-', '?', or ':' (complex value). + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for parser.buffer[parser.buffer_pos] == ' ' || ((parser.flow_level > 0 || !parser.simple_key_allowed) && parser.buffer[parser.buffer_pos] == '\t') { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if we just had a line comment under a sequence entry that + // looks more like a header to the following content. Similar to this: + // + // - # The comment + // - Some data + // + // If so, transform the line comment to a head comment and reposition. + if len(parser.comments) > 0 && len(parser.tokens) > 1 { + tokenA := parser.tokens[len(parser.tokens)-2] + tokenB := parser.tokens[len(parser.tokens)-1] + comment := &parser.comments[len(parser.comments)-1] + if tokenA.typ == yaml_BLOCK_SEQUENCE_START_TOKEN && tokenB.typ == yaml_BLOCK_ENTRY_TOKEN && len(comment.line) > 0 && !is_break(parser.buffer, parser.buffer_pos) { + // If it was in the prior line, reposition so it becomes a + // header of the follow up token. Otherwise, keep it in place + // so it becomes a header of the former. + comment.head = comment.line + comment.line = nil + if comment.start_mark.line == parser.mark.line-1 { + comment.token_mark = parser.mark + } + } + } + + // Eat a comment until a line break. + if parser.buffer[parser.buffer_pos] == '#' { + if !yaml_parser_scan_comments(parser, scan_mark) { + return false + } + } + + // If it is a line break, eat it. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + + // In the block context, a new line may start a simple key. + if parser.flow_level == 0 { + parser.simple_key_allowed = true + } + } else { + break // We have found a token. + } + } + + return true +} + +// Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. +// +// Scope: +// +// %YAML 1.1 # a comment \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +func yaml_parser_scan_directive(parser *yaml_parser_t, token *yaml_token_t) bool { + // Eat '%'. + start_mark := parser.mark + skip(parser) + + // Scan the directive name. + var name []byte + if !yaml_parser_scan_directive_name(parser, start_mark, &name) { + return false + } + + // Is it a YAML directive? + if bytes.Equal(name, []byte("YAML")) { + // Scan the VERSION directive value. + var major, minor int8 + if !yaml_parser_scan_version_directive_value(parser, start_mark, &major, &minor) { + return false + } + end_mark := parser.mark + + // Create a VERSION-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_VERSION_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + major: major, + minor: minor, + } + + // Is it a TAG directive? + } else if bytes.Equal(name, []byte("TAG")) { + // Scan the TAG directive value. + var handle, prefix []byte + if !yaml_parser_scan_tag_directive_value(parser, start_mark, &handle, &prefix) { + return false + } + end_mark := parser.mark + + // Create a TAG-DIRECTIVE token. + *token = yaml_token_t{ + typ: yaml_TAG_DIRECTIVE_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + prefix: prefix, + } + + // Unknown directive. + } else { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unknown directive name") + return false + } + + // Eat the rest of the line including any comments. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + if parser.buffer[parser.buffer_pos] == '#' { + // [Go] Discard this inline comment for the time being. + //if !yaml_parser_scan_line_comment(parser, start_mark) { + // return false + //} + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + return true +} + +// Scan the directive name. +// +// Scope: +// +// %YAML 1.1 # a comment \n +// ^^^^ +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^ +func yaml_parser_scan_directive_name(parser *yaml_parser_t, start_mark yaml_mark_t, name *[]byte) bool { + // Consume the directive name. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + var s []byte + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the name is empty. + if len(s) == 0 { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "could not find expected directive name") + return false + } + + // Check for an blank character after the name. + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a directive", + start_mark, "found unexpected non-alphabetical character") + return false + } + *name = s + return true +} + +// Scan the value of VERSION-DIRECTIVE. +// +// Scope: +// +// %YAML 1.1 # a comment \n +// ^^^^^^ +func yaml_parser_scan_version_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, major, minor *int8) bool { + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the major version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, major) { + return false + } + + // Eat '.'. + if parser.buffer[parser.buffer_pos] != '.' { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected digit or '.' character") + } + + skip(parser) + + // Consume the minor version number. + if !yaml_parser_scan_version_directive_number(parser, start_mark, minor) { + return false + } + return true +} + +const max_number_length = 2 + +// Scan the version number of VERSION-DIRECTIVE. +// +// Scope: +// +// %YAML 1.1 # a comment \n +// ^ +// %YAML 1.1 # a comment \n +// ^ +func yaml_parser_scan_version_directive_number(parser *yaml_parser_t, start_mark yaml_mark_t, number *int8) bool { + + // Repeat while the next character is digit. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var value, length int8 + for is_digit(parser.buffer, parser.buffer_pos) { + // Check if the number is too long. + length++ + if length > max_number_length { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "found extremely long version number") + } + value = value*10 + int8(as_digit(parser.buffer, parser.buffer_pos)) + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the number was present. + if length == 0 { + return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive", + start_mark, "did not find expected version number") + } + *number = value + return true +} + +// Scan the value of a TAG-DIRECTIVE token. +// +// Scope: +// +// %TAG !yaml! tag:yaml.org,2002: \n +// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +func yaml_parser_scan_tag_directive_value(parser *yaml_parser_t, start_mark yaml_mark_t, handle, prefix *[]byte) bool { + var handle_value, prefix_value []byte + + // Eat whitespaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a handle. + if !yaml_parser_scan_tag_handle(parser, true, start_mark, &handle_value) { + return false + } + + // Expect a whitespace. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blank(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace") + return false + } + + // Eat whitespaces. + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Scan a prefix. + if !yaml_parser_scan_tag_uri(parser, true, nil, start_mark, &prefix_value) { + return false + } + + // Expect a whitespace or line break. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a %TAG directive", + start_mark, "did not find expected whitespace or line break") + return false + } + + *handle = handle_value + *prefix = prefix_value + return true +} + +func yaml_parser_scan_anchor(parser *yaml_parser_t, token *yaml_token_t, typ yaml_token_type_t) bool { + var s []byte + + // Eat the indicator character. + start_mark := parser.mark + skip(parser) + + // Consume the value. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + end_mark := parser.mark + + /* + * Check if length of the anchor is greater than 0 and it is followed by + * a whitespace character or one of the indicators: + * + * '?', ':', ',', ']', '}', '%', '@', '`'. + */ + + if len(s) == 0 || + !(is_blankz(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '}' || + parser.buffer[parser.buffer_pos] == '%' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '`') { + context := "while scanning an alias" + if typ == yaml_ANCHOR_TOKEN { + context = "while scanning an anchor" + } + yaml_parser_set_scanner_error(parser, context, start_mark, + "did not find expected alphabetic or numeric character") + return false + } + + // Create a token. + *token = yaml_token_t{ + typ: typ, + start_mark: start_mark, + end_mark: end_mark, + value: s, + } + + return true +} + +/* + * Scan a TAG token. + */ + +func yaml_parser_scan_tag(parser *yaml_parser_t, token *yaml_token_t) bool { + var handle, suffix []byte + + start_mark := parser.mark + + // Check if the tag is in the canonical form. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + if parser.buffer[parser.buffer_pos+1] == '<' { + // Keep the handle as '' + + // Eat '!<' + skip(parser) + skip(parser) + + // Consume the tag value. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + + // Check for '>' and eat it. + if parser.buffer[parser.buffer_pos] != '>' { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find the expected '>'") + return false + } + + skip(parser) + } else { + // The tag has either the '!suffix' or the '!handle!suffix' form. + + // First, try to scan a handle. + if !yaml_parser_scan_tag_handle(parser, false, start_mark, &handle) { + return false + } + + // Check if it is, indeed, handle. + if handle[0] == '!' && len(handle) > 1 && handle[len(handle)-1] == '!' { + // Scan the suffix now. + if !yaml_parser_scan_tag_uri(parser, false, nil, start_mark, &suffix) { + return false + } + } else { + // It wasn't a handle after all. Scan the rest of the tag. + if !yaml_parser_scan_tag_uri(parser, false, handle, start_mark, &suffix) { + return false + } + + // Set the handle to '!'. + handle = []byte{'!'} + + // A special case: the '!' tag. Set the handle to '' and the + // suffix to '!'. + if len(suffix) == 0 { + handle, suffix = suffix, handle + } + } + } + + // Check the character which ends the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if !is_blankz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a tag", + start_mark, "did not find expected whitespace or line break") + return false + } + + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_TAG_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: handle, + suffix: suffix, + } + return true +} + +// Scan a tag handle. +func yaml_parser_scan_tag_handle(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, handle *[]byte) bool { + // Check the initial '!' character. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] != '!' { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + + var s []byte + + // Copy the '!' character. + s = read(parser, s) + + // Copy all subsequent alphabetical and numerical characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_alpha(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check if the trailing character is '!' and copy it. + if parser.buffer[parser.buffer_pos] == '!' { + s = read(parser, s) + } else { + // It's either the '!' tag or not really a tag handle. If it's a %TAG + // directive, it's an error. If it's a tag token, it must be a part of URI. + if directive && string(s) != "!" { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected '!'") + return false + } + } + + *handle = s + return true +} + +// Scan a tag. +func yaml_parser_scan_tag_uri(parser *yaml_parser_t, directive bool, head []byte, start_mark yaml_mark_t, uri *[]byte) bool { + //size_t length = head ? strlen((char *)head) : 0 + var s []byte + hasTag := len(head) > 0 + + // Copy the head if needed. + // + // Note that we don't copy the leading '!' character. + if len(head) > 1 { + s = append(s, head[1:]...) + } + + // Scan the tag. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // The set of characters that may appear in URI is as follows: + // + // '0'-'9', 'A'-'Z', 'a'-'z', '_', '-', ';', '/', '?', ':', '@', '&', + // '=', '+', '$', ',', '.', '!', '~', '*', '\'', '(', ')', '[', ']', + // '%'. + // [Go] TODO Convert this into more reasonable logic. + for is_alpha(parser.buffer, parser.buffer_pos) || parser.buffer[parser.buffer_pos] == ';' || + parser.buffer[parser.buffer_pos] == '/' || parser.buffer[parser.buffer_pos] == '?' || + parser.buffer[parser.buffer_pos] == ':' || parser.buffer[parser.buffer_pos] == '@' || + parser.buffer[parser.buffer_pos] == '&' || parser.buffer[parser.buffer_pos] == '=' || + parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '$' || + parser.buffer[parser.buffer_pos] == ',' || parser.buffer[parser.buffer_pos] == '.' || + parser.buffer[parser.buffer_pos] == '!' || parser.buffer[parser.buffer_pos] == '~' || + parser.buffer[parser.buffer_pos] == '*' || parser.buffer[parser.buffer_pos] == '\'' || + parser.buffer[parser.buffer_pos] == '(' || parser.buffer[parser.buffer_pos] == ')' || + parser.buffer[parser.buffer_pos] == '[' || parser.buffer[parser.buffer_pos] == ']' || + parser.buffer[parser.buffer_pos] == '%' { + // Check if it is a URI-escape sequence. + if parser.buffer[parser.buffer_pos] == '%' { + if !yaml_parser_scan_uri_escapes(parser, directive, start_mark, &s) { + return false + } + } else { + s = read(parser, s) + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + hasTag = true + } + + if !hasTag { + yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find expected tag URI") + return false + } + *uri = s + return true +} + +// Decode an URI-escape sequence corresponding to a single UTF-8 character. +func yaml_parser_scan_uri_escapes(parser *yaml_parser_t, directive bool, start_mark yaml_mark_t, s *[]byte) bool { + + // Decode the required number of characters. + w := 1024 + for w > 0 { + // Check for a URI-escaped octet. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + + if !(parser.buffer[parser.buffer_pos] == '%' && + is_hex(parser.buffer, parser.buffer_pos+1) && + is_hex(parser.buffer, parser.buffer_pos+2)) { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "did not find URI escaped octet") + } + + // Get the octet. + octet := byte((as_hex(parser.buffer, parser.buffer_pos+1) << 4) + as_hex(parser.buffer, parser.buffer_pos+2)) + + // If it is the leading octet, determine the length of the UTF-8 sequence. + if w == 1024 { + w = width(octet) + if w == 0 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect leading UTF-8 octet") + } + } else { + // Check if the trailing octet is correct. + if octet&0xC0 != 0x80 { + return yaml_parser_set_scanner_tag_error(parser, directive, + start_mark, "found an incorrect trailing UTF-8 octet") + } + } + + // Copy the octet and move the pointers. + *s = append(*s, octet) + skip(parser) + skip(parser) + skip(parser) + w-- + } + return true +} + +// Scan a block scalar. +func yaml_parser_scan_block_scalar(parser *yaml_parser_t, token *yaml_token_t, literal bool) bool { + // Eat the indicator '|' or '>'. + start_mark := parser.mark + skip(parser) + + // Scan the additional block scalar indicators. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check for a chomping indicator. + var chomping, increment int + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + // Set the chomping method and eat the indicator. + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + + // Check for an indentation indicator. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_digit(parser.buffer, parser.buffer_pos) { + // Check that the indentation is greater than 0. + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + + // Get the indentation level and eat the indicator. + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + } + + } else if is_digit(parser.buffer, parser.buffer_pos) { + // Do the same as above, but in the opposite order. + + if parser.buffer[parser.buffer_pos] == '0' { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found an indentation indicator equal to 0") + return false + } + increment = as_digit(parser.buffer, parser.buffer_pos) + skip(parser) + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if parser.buffer[parser.buffer_pos] == '+' || parser.buffer[parser.buffer_pos] == '-' { + if parser.buffer[parser.buffer_pos] == '+' { + chomping = +1 + } else { + chomping = -1 + } + skip(parser) + } + } + + // Eat whitespaces and comments to the end of the line. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for is_blank(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.buffer[parser.buffer_pos] == '#' { + if !yaml_parser_scan_line_comment(parser, start_mark) { + return false + } + for !is_breakz(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + } + + // Check if we are at the end of the line. + if !is_breakz(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "did not find expected comment or line break") + return false + } + + // Eat a line break. + if is_break(parser.buffer, parser.buffer_pos) { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } + + end_mark := parser.mark + + // Set the indentation level if it was specified. + var indent int + if increment > 0 { + if parser.indent >= 0 { + indent = parser.indent + increment + } else { + indent = increment + } + } + + // Scan the leading line breaks and determine the indentation level if needed. + var s, leading_break, trailing_breaks []byte + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + + // Scan the block scalar content. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + var leading_blank, trailing_blank bool + for parser.mark.column == indent && !is_z(parser.buffer, parser.buffer_pos) { + // We are at the beginning of a non-empty line. + + // Is it a trailing whitespace? + trailing_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Check if we need to fold the leading line break. + if !literal && !leading_blank && !trailing_blank && len(leading_break) > 0 && leading_break[0] == '\n' { + // Do we need to join the lines by space? + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } + } else { + s = append(s, leading_break...) + } + leading_break = leading_break[:0] + + // Append the remaining line breaks. + s = append(s, trailing_breaks...) + trailing_breaks = trailing_breaks[:0] + + // Is it a leading whitespace? + leading_blank = is_blank(parser.buffer, parser.buffer_pos) + + // Consume the current line. + for !is_breakz(parser.buffer, parser.buffer_pos) { + s = read(parser, s) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + leading_break = read_line(parser, leading_break) + + // Eat the following indentation spaces and line breaks. + if !yaml_parser_scan_block_scalar_breaks(parser, &indent, &trailing_breaks, start_mark, &end_mark) { + return false + } + } + + // Chomp the tail. + if chomping != -1 { + s = append(s, leading_break...) + } + if chomping == 1 { + s = append(s, trailing_breaks...) + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_LITERAL_SCALAR_STYLE, + } + if !literal { + token.style = yaml_FOLDED_SCALAR_STYLE + } + return true +} + +// Scan indentation spaces and line breaks for a block scalar. Determine the +// indentation level if needed. +func yaml_parser_scan_block_scalar_breaks(parser *yaml_parser_t, indent *int, breaks *[]byte, start_mark yaml_mark_t, end_mark *yaml_mark_t) bool { + *end_mark = parser.mark + + // Eat the indentation spaces and line breaks. + max_indent := 0 + for { + // Eat the indentation spaces. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + for (*indent == 0 || parser.mark.column < *indent) && is_space(parser.buffer, parser.buffer_pos) { + skip(parser) + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + if parser.mark.column > max_indent { + max_indent = parser.mark.column + } + + // Check for a tab character messing the indentation. + if (*indent == 0 || parser.mark.column < *indent) && is_tab(parser.buffer, parser.buffer_pos) { + return yaml_parser_set_scanner_error(parser, "while scanning a block scalar", + start_mark, "found a tab character where an indentation space is expected") + } + + // Have we found a non-empty line? + if !is_break(parser.buffer, parser.buffer_pos) { + break + } + + // Consume the line break. + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + // [Go] Should really be returning breaks instead. + *breaks = read_line(parser, *breaks) + *end_mark = parser.mark + } + + // Determine the indentation level if needed. + if *indent == 0 { + *indent = max_indent + if *indent < parser.indent+1 { + *indent = parser.indent + 1 + } + if *indent < 1 { + *indent = 1 + } + } + return true +} + +// Scan a quoted scalar. +func yaml_parser_scan_flow_scalar(parser *yaml_parser_t, token *yaml_token_t, single bool) bool { + // Eat the left quote. + start_mark := parser.mark + skip(parser) + + // Consume the content of the quoted scalar. + var s, leading_break, trailing_breaks, whitespaces []byte + for { + // Check that there are no document indicators at the beginning of the line. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected document indicator") + return false + } + + // Check for EOF. + if is_z(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a quoted scalar", + start_mark, "found unexpected end of stream") + return false + } + + // Consume non-blank characters. + leading_blanks := false + for !is_blankz(parser.buffer, parser.buffer_pos) { + if single && parser.buffer[parser.buffer_pos] == '\'' && parser.buffer[parser.buffer_pos+1] == '\'' { + // Is is an escaped single quote. + s = append(s, '\'') + skip(parser) + skip(parser) + + } else if single && parser.buffer[parser.buffer_pos] == '\'' { + // It is a right single quote. + break + } else if !single && parser.buffer[parser.buffer_pos] == '"' { + // It is a right double quote. + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' && is_break(parser.buffer, parser.buffer_pos+1) { + // It is an escaped line break. + if parser.unread < 3 && !yaml_parser_update_buffer(parser, 3) { + return false + } + skip(parser) + skip_line(parser) + leading_blanks = true + break + + } else if !single && parser.buffer[parser.buffer_pos] == '\\' { + // It is an escape sequence. + code_length := 0 + + // Check the escape character. + switch parser.buffer[parser.buffer_pos+1] { + case '0': + s = append(s, 0) + case 'a': + s = append(s, '\x07') + case 'b': + s = append(s, '\x08') + case 't', '\t': + s = append(s, '\x09') + case 'n': + s = append(s, '\x0A') + case 'v': + s = append(s, '\x0B') + case 'f': + s = append(s, '\x0C') + case 'r': + s = append(s, '\x0D') + case 'e': + s = append(s, '\x1B') + case ' ': + s = append(s, '\x20') + case '"': + s = append(s, '"') + case '\'': + s = append(s, '\'') + case '\\': + s = append(s, '\\') + case 'N': // NEL (#x85) + s = append(s, '\xC2') + s = append(s, '\x85') + case '_': // #xA0 + s = append(s, '\xC2') + s = append(s, '\xA0') + case 'L': // LS (#x2028) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA8') + case 'P': // PS (#x2029) + s = append(s, '\xE2') + s = append(s, '\x80') + s = append(s, '\xA9') + case 'x': + code_length = 2 + case 'u': + code_length = 4 + case 'U': + code_length = 8 + default: + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found unknown escape character") + return false + } + + skip(parser) + skip(parser) + + // Consume an arbitrary escape code. + if code_length > 0 { + var value int + + // Scan the character value. + if parser.unread < code_length && !yaml_parser_update_buffer(parser, code_length) { + return false + } + for k := 0; k < code_length; k++ { + if !is_hex(parser.buffer, parser.buffer_pos+k) { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "did not find expected hexdecimal number") + return false + } + value = (value << 4) + as_hex(parser.buffer, parser.buffer_pos+k) + } + + // Check the value and write the character. + if (value >= 0xD800 && value <= 0xDFFF) || value > 0x10FFFF { + yaml_parser_set_scanner_error(parser, "while parsing a quoted scalar", + start_mark, "found invalid Unicode character escape code") + return false + } + if value <= 0x7F { + s = append(s, byte(value)) + } else if value <= 0x7FF { + s = append(s, byte(0xC0+(value>>6))) + s = append(s, byte(0x80+(value&0x3F))) + } else if value <= 0xFFFF { + s = append(s, byte(0xE0+(value>>12))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } else { + s = append(s, byte(0xF0+(value>>18))) + s = append(s, byte(0x80+((value>>12)&0x3F))) + s = append(s, byte(0x80+((value>>6)&0x3F))) + s = append(s, byte(0x80+(value&0x3F))) + } + + // Advance the pointer. + for k := 0; k < code_length; k++ { + skip(parser) + } + } + } else { + // It is a non-escaped non-blank character. + s = read(parser, s) + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + // Check if we are at the end of the scalar. + if single { + if parser.buffer[parser.buffer_pos] == '\'' { + break + } + } else { + if parser.buffer[parser.buffer_pos] == '"' { + break + } + } + + // Consume blank characters. + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Join the whitespaces or fold line breaks. + if leading_blanks { + // Do we need to fold line breaks? + if len(leading_break) > 0 && leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Eat the right quote. + skip(parser) + end_mark := parser.mark + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_SINGLE_QUOTED_SCALAR_STYLE, + } + if !single { + token.style = yaml_DOUBLE_QUOTED_SCALAR_STYLE + } + return true +} + +// Scan a plain scalar. +func yaml_parser_scan_plain_scalar(parser *yaml_parser_t, token *yaml_token_t) bool { + + var s, leading_break, trailing_breaks, whitespaces []byte + var leading_blanks bool + var indent = parser.indent + 1 + + start_mark := parser.mark + end_mark := parser.mark + + // Consume the content of the plain scalar. + for { + // Check for a document indicator. + if parser.unread < 4 && !yaml_parser_update_buffer(parser, 4) { + return false + } + if parser.mark.column == 0 && + ((parser.buffer[parser.buffer_pos+0] == '-' && + parser.buffer[parser.buffer_pos+1] == '-' && + parser.buffer[parser.buffer_pos+2] == '-') || + (parser.buffer[parser.buffer_pos+0] == '.' && + parser.buffer[parser.buffer_pos+1] == '.' && + parser.buffer[parser.buffer_pos+2] == '.')) && + is_blankz(parser.buffer, parser.buffer_pos+3) { + break + } + + // Check for a comment. + if parser.buffer[parser.buffer_pos] == '#' { + break + } + + // Consume non-blank characters. + for !is_blankz(parser.buffer, parser.buffer_pos) { + + // Check for indicators that may end a plain scalar. + if (parser.buffer[parser.buffer_pos] == ':' && is_blankz(parser.buffer, parser.buffer_pos+1)) || + (parser.flow_level > 0 && + (parser.buffer[parser.buffer_pos] == ',' || + parser.buffer[parser.buffer_pos] == '?' || parser.buffer[parser.buffer_pos] == '[' || + parser.buffer[parser.buffer_pos] == ']' || parser.buffer[parser.buffer_pos] == '{' || + parser.buffer[parser.buffer_pos] == '}')) { + break + } + + // Check if we need to join whitespaces and breaks. + if leading_blanks || len(whitespaces) > 0 { + if leading_blanks { + // Do we need to fold line breaks? + if leading_break[0] == '\n' { + if len(trailing_breaks) == 0 { + s = append(s, ' ') + } else { + s = append(s, trailing_breaks...) + } + } else { + s = append(s, leading_break...) + s = append(s, trailing_breaks...) + } + trailing_breaks = trailing_breaks[:0] + leading_break = leading_break[:0] + leading_blanks = false + } else { + s = append(s, whitespaces...) + whitespaces = whitespaces[:0] + } + } + + // Copy the character. + s = read(parser, s) + + end_mark = parser.mark + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + } + + // Is it the end? + if !(is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos)) { + break + } + + // Consume blank characters. + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + + for is_blank(parser.buffer, parser.buffer_pos) || is_break(parser.buffer, parser.buffer_pos) { + if is_blank(parser.buffer, parser.buffer_pos) { + + // Check for tab characters that abuse indentation. + if leading_blanks && parser.mark.column < indent && is_tab(parser.buffer, parser.buffer_pos) { + yaml_parser_set_scanner_error(parser, "while scanning a plain scalar", + start_mark, "found a tab character that violates indentation") + return false + } + + // Consume a space or a tab character. + if !leading_blanks { + whitespaces = read(parser, whitespaces) + } else { + skip(parser) + } + } else { + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + + // Check if it is a first line break. + if !leading_blanks { + whitespaces = whitespaces[:0] + leading_break = read_line(parser, leading_break) + leading_blanks = true + } else { + trailing_breaks = read_line(parser, trailing_breaks) + } + } + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + } + + // Check indentation level. + if parser.flow_level == 0 && parser.mark.column < indent { + break + } + } + + // Create a token. + *token = yaml_token_t{ + typ: yaml_SCALAR_TOKEN, + start_mark: start_mark, + end_mark: end_mark, + value: s, + style: yaml_PLAIN_SCALAR_STYLE, + } + + // Note that we change the 'simple_key_allowed' flag. + if leading_blanks { + parser.simple_key_allowed = true + } + return true +} + +func yaml_parser_scan_line_comment(parser *yaml_parser_t, token_mark yaml_mark_t) bool { + if parser.newlines > 0 { + return true + } + + var start_mark yaml_mark_t + var text []byte + + for peek := 0; peek < 512; peek++ { + if parser.unread < peek+1 && !yaml_parser_update_buffer(parser, peek+1) { + break + } + if is_blank(parser.buffer, parser.buffer_pos+peek) { + continue + } + if parser.buffer[parser.buffer_pos+peek] == '#' { + seen := parser.mark.index + peek + for { + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_breakz(parser.buffer, parser.buffer_pos) { + if parser.mark.index >= seen { + break + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } else if parser.mark.index >= seen { + if len(text) == 0 { + start_mark = parser.mark + } + text = read(parser, text) + } else { + skip(parser) + } + } + } + break + } + if len(text) > 0 { + parser.comments = append(parser.comments, yaml_comment_t{ + token_mark: token_mark, + start_mark: start_mark, + line: text, + }) + } + return true +} + +func yaml_parser_scan_comments(parser *yaml_parser_t, scan_mark yaml_mark_t) bool { + token := parser.tokens[len(parser.tokens)-1] + + if token.typ == yaml_FLOW_ENTRY_TOKEN && len(parser.tokens) > 1 { + token = parser.tokens[len(parser.tokens)-2] + } + + var token_mark = token.start_mark + var start_mark yaml_mark_t + var next_indent = parser.indent + if next_indent < 0 { + next_indent = 0 + } + + var recent_empty = false + var first_empty = parser.newlines <= 1 + + var line = parser.mark.line + var column = parser.mark.column + + var text []byte + + // The foot line is the place where a comment must start to + // still be considered as a foot of the prior content. + // If there's some content in the currently parsed line, then + // the foot is the line below it. + var foot_line = -1 + if scan_mark.line > 0 { + foot_line = parser.mark.line - parser.newlines + 1 + if parser.newlines == 0 && parser.mark.column > 1 { + foot_line++ + } + } + + var peek = 0 + for ; peek < 512; peek++ { + if parser.unread < peek+1 && !yaml_parser_update_buffer(parser, peek+1) { + break + } + column++ + if is_blank(parser.buffer, parser.buffer_pos+peek) { + continue + } + c := parser.buffer[parser.buffer_pos+peek] + var close_flow = parser.flow_level > 0 && (c == ']' || c == '}') + if close_flow || is_breakz(parser.buffer, parser.buffer_pos+peek) { + // Got line break or terminator. + if close_flow || !recent_empty { + if close_flow || first_empty && (start_mark.line == foot_line && token.typ != yaml_VALUE_TOKEN || start_mark.column-1 < next_indent) { + // This is the first empty line and there were no empty lines before, + // so this initial part of the comment is a foot of the prior token + // instead of being a head for the following one. Split it up. + // Alternatively, this might also be the last comment inside a flow + // scope, so it must be a footer. + if len(text) > 0 { + if start_mark.column-1 < next_indent { + // If dedented it's unrelated to the prior token. + token_mark = start_mark + } + parser.comments = append(parser.comments, yaml_comment_t{ + scan_mark: scan_mark, + token_mark: token_mark, + start_mark: start_mark, + end_mark: yaml_mark_t{parser.mark.index + peek, line, column}, + foot: text, + }) + scan_mark = yaml_mark_t{parser.mark.index + peek, line, column} + token_mark = scan_mark + text = nil + } + } else { + if len(text) > 0 && parser.buffer[parser.buffer_pos+peek] != 0 { + text = append(text, '\n') + } + } + } + if !is_break(parser.buffer, parser.buffer_pos+peek) { + break + } + first_empty = false + recent_empty = true + column = 0 + line++ + continue + } + + if len(text) > 0 && (close_flow || column-1 < next_indent && column != start_mark.column) { + // The comment at the different indentation is a foot of the + // preceding data rather than a head of the upcoming one. + parser.comments = append(parser.comments, yaml_comment_t{ + scan_mark: scan_mark, + token_mark: token_mark, + start_mark: start_mark, + end_mark: yaml_mark_t{parser.mark.index + peek, line, column}, + foot: text, + }) + scan_mark = yaml_mark_t{parser.mark.index + peek, line, column} + token_mark = scan_mark + text = nil + } + + if parser.buffer[parser.buffer_pos+peek] != '#' { + break + } + + if len(text) == 0 { + start_mark = yaml_mark_t{parser.mark.index + peek, line, column} + } else { + text = append(text, '\n') + } + + recent_empty = false + + // Consume until after the consumed comment line. + seen := parser.mark.index + peek + for { + if parser.unread < 1 && !yaml_parser_update_buffer(parser, 1) { + return false + } + if is_breakz(parser.buffer, parser.buffer_pos) { + if parser.mark.index >= seen { + break + } + if parser.unread < 2 && !yaml_parser_update_buffer(parser, 2) { + return false + } + skip_line(parser) + } else if parser.mark.index >= seen { + text = read(parser, text) + } else { + skip(parser) + } + } + + peek = 0 + column = 0 + line = parser.mark.line + next_indent = parser.indent + if next_indent < 0 { + next_indent = 0 + } + } + + if len(text) > 0 { + parser.comments = append(parser.comments, yaml_comment_t{ + scan_mark: scan_mark, + token_mark: start_mark, + start_mark: start_mark, + end_mark: yaml_mark_t{parser.mark.index + peek - 1, line, column}, + head: text, + }) + } + return true +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/sorter.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/sorter.go new file mode 100644 index 00000000000..9210ece7e97 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/sorter.go @@ -0,0 +1,134 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package yaml + +import ( + "reflect" + "unicode" +) + +type keyList []reflect.Value + +func (l keyList) Len() int { return len(l) } +func (l keyList) Swap(i, j int) { l[i], l[j] = l[j], l[i] } +func (l keyList) Less(i, j int) bool { + a := l[i] + b := l[j] + ak := a.Kind() + bk := b.Kind() + for (ak == reflect.Interface || ak == reflect.Ptr) && !a.IsNil() { + a = a.Elem() + ak = a.Kind() + } + for (bk == reflect.Interface || bk == reflect.Ptr) && !b.IsNil() { + b = b.Elem() + bk = b.Kind() + } + af, aok := keyFloat(a) + bf, bok := keyFloat(b) + if aok && bok { + if af != bf { + return af < bf + } + if ak != bk { + return ak < bk + } + return numLess(a, b) + } + if ak != reflect.String || bk != reflect.String { + return ak < bk + } + ar, br := []rune(a.String()), []rune(b.String()) + digits := false + for i := 0; i < len(ar) && i < len(br); i++ { + if ar[i] == br[i] { + digits = unicode.IsDigit(ar[i]) + continue + } + al := unicode.IsLetter(ar[i]) + bl := unicode.IsLetter(br[i]) + if al && bl { + return ar[i] < br[i] + } + if al || bl { + if digits { + return al + } else { + return bl + } + } + var ai, bi int + var an, bn int64 + if ar[i] == '0' || br[i] == '0' { + for j := i - 1; j >= 0 && unicode.IsDigit(ar[j]); j-- { + if ar[j] != '0' { + an = 1 + bn = 1 + break + } + } + } + for ai = i; ai < len(ar) && unicode.IsDigit(ar[ai]); ai++ { + an = an*10 + int64(ar[ai]-'0') + } + for bi = i; bi < len(br) && unicode.IsDigit(br[bi]); bi++ { + bn = bn*10 + int64(br[bi]-'0') + } + if an != bn { + return an < bn + } + if ai != bi { + return ai < bi + } + return ar[i] < br[i] + } + return len(ar) < len(br) +} + +// keyFloat returns a float value for v if it is a number/bool +// and whether it is a number/bool or not. +func keyFloat(v reflect.Value) (f float64, ok bool) { + switch v.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return float64(v.Int()), true + case reflect.Float32, reflect.Float64: + return v.Float(), true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return float64(v.Uint()), true + case reflect.Bool: + if v.Bool() { + return 1, true + } + return 0, true + } + return 0, false +} + +// numLess returns whether a < b. +// a and b must necessarily have the same kind. +func numLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return a.Int() < b.Int() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Bool: + return !a.Bool() && b.Bool() + } + panic("not a number") +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/writerc.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/writerc.go new file mode 100644 index 00000000000..266d0b092c0 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/writerc.go @@ -0,0 +1,48 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +// Set the writer error and return false. +func yaml_emitter_set_writer_error(emitter *yaml_emitter_t, problem string) bool { + emitter.error = yaml_WRITER_ERROR + emitter.problem = problem + return false +} + +// Flush the output buffer. +func yaml_emitter_flush(emitter *yaml_emitter_t) bool { + if emitter.write_handler == nil { + panic("write handler not set") + } + + // Check if the buffer is empty. + if emitter.buffer_pos == 0 { + return true + } + + if err := emitter.write_handler(emitter, emitter.buffer[:emitter.buffer_pos]); err != nil { + return yaml_emitter_set_writer_error(emitter, "write error: "+err.Error()) + } + emitter.buffer_pos = 0 + return true +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yaml.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yaml.go new file mode 100644 index 00000000000..0b101cd20db --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yaml.go @@ -0,0 +1,703 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package yaml implements YAML support for the Go language. +// +// Source code and other details for the project are available at GitHub: +// +// https://github.com/yaml/go-yaml +package yaml + +import ( + "errors" + "fmt" + "io" + "reflect" + "strings" + "sync" + "unicode/utf8" +) + +// The Unmarshaler interface may be implemented by types to customize their +// behavior when being unmarshaled from a YAML document. +type Unmarshaler interface { + UnmarshalYAML(value *Node) error +} + +type obsoleteUnmarshaler interface { + UnmarshalYAML(unmarshal func(interface{}) error) error +} + +// The Marshaler interface may be implemented by types to customize their +// behavior when being marshaled into a YAML document. The returned value +// is marshaled in place of the original value implementing Marshaler. +// +// If an error is returned by MarshalYAML, the marshaling procedure stops +// and returns with the provided error. +type Marshaler interface { + MarshalYAML() (interface{}, error) +} + +// Unmarshal decodes the first document found within the in byte slice +// and assigns decoded values into the out value. +// +// Maps and pointers (to a struct, string, int, etc) are accepted as out +// values. If an internal pointer within a struct is not initialized, +// the yaml package will initialize it if necessary for unmarshalling +// the provided data. The out parameter must not be nil. +// +// The type of the decoded values should be compatible with the respective +// values in out. If one or more values cannot be decoded due to a type +// mismatches, decoding continues partially until the end of the YAML +// content, and a *yaml.TypeError is returned with details for all +// missed values. +// +// Struct fields are only unmarshalled if they are exported (have an +// upper case first letter), and are unmarshalled using the field name +// lowercased as the default key. Custom keys may be defined via the +// "yaml" name in the field tag: the content preceding the first comma +// is used as the key, and the following comma-separated options are +// used to tweak the marshalling process (see Marshal). +// Conflicting names result in a runtime error. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// var t T +// yaml.Unmarshal([]byte("a: 1\nb: 2"), &t) +// +// See the documentation of Marshal for the format of tags and a list of +// supported tag options. +func Unmarshal(in []byte, out interface{}) (err error) { + return unmarshal(in, out, false) +} + +// A Decoder reads and decodes YAML values from an input stream. +type Decoder struct { + parser *parser + knownFields bool +} + +// NewDecoder returns a new decoder that reads from r. +// +// The decoder introduces its own buffering and may read +// data from r beyond the YAML values requested. +func NewDecoder(r io.Reader) *Decoder { + return &Decoder{ + parser: newParserFromReader(r), + } +} + +// KnownFields ensures that the keys in decoded mappings to +// exist as fields in the struct being decoded into. +func (dec *Decoder) KnownFields(enable bool) { + dec.knownFields = enable +} + +// Decode reads the next YAML-encoded value from its input +// and stores it in the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (dec *Decoder) Decode(v interface{}) (err error) { + d := newDecoder() + d.knownFields = dec.knownFields + defer handleErr(&err) + node := dec.parser.parse() + if node == nil { + return io.EOF + } + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(node, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Decode decodes the node and stores its data into the value pointed to by v. +// +// See the documentation for Unmarshal for details about the +// conversion of YAML into a Go value. +func (n *Node) Decode(v interface{}) (err error) { + d := newDecoder() + defer handleErr(&err) + out := reflect.ValueOf(v) + if out.Kind() == reflect.Ptr && !out.IsNil() { + out = out.Elem() + } + d.unmarshal(n, out) + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +func unmarshal(in []byte, out interface{}, strict bool) (err error) { + defer handleErr(&err) + d := newDecoder() + p := newParser(in) + defer p.destroy() + node := p.parse() + if node != nil { + v := reflect.ValueOf(out) + if v.Kind() == reflect.Ptr && !v.IsNil() { + v = v.Elem() + } + d.unmarshal(node, v) + } + if len(d.terrors) > 0 { + return &TypeError{d.terrors} + } + return nil +} + +// Marshal serializes the value provided into a YAML document. The structure +// of the generated document will reflect the structure of the value itself. +// Maps and pointers (to struct, string, int, etc) are accepted as the in value. +// +// Struct fields are only marshalled if they are exported (have an upper case +// first letter), and are marshalled using the field name lowercased as the +// default key. Custom keys may be defined via the "yaml" name in the field +// tag: the content preceding the first comma is used as the key, and the +// following comma-separated options are used to tweak the marshalling process. +// Conflicting names result in a runtime error. +// +// The field tag format accepted is: +// +// `(...) yaml:"[][,[,]]" (...)` +// +// The following flags are currently supported: +// +// omitempty Only include the field if it's not set to the zero +// value for the type or to empty slices or maps. +// Zero valued structs will be omitted if all their public +// fields are zero, unless they implement an IsZero +// method (see the IsZeroer interface type), in which +// case the field will be excluded if IsZero returns true. +// +// flow Marshal using a flow style (useful for structs, +// sequences and maps). +// +// inline Inline the field, which must be a struct or a map, +// causing all of its fields or keys to be processed as if +// they were part of the outer struct. For maps, keys must +// not conflict with the yaml keys of other struct fields. +// +// In addition, if the key is "-", the field is ignored. +// +// For example: +// +// type T struct { +// F int `yaml:"a,omitempty"` +// B int +// } +// yaml.Marshal(&T{B: 2}) // Returns "b: 2\n" +// yaml.Marshal(&T{F: 1}} // Returns "a: 1\nb: 0\n" +func Marshal(in interface{}) (out []byte, err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(in)) + e.finish() + out = e.out + return +} + +// An Encoder writes YAML values to an output stream. +type Encoder struct { + encoder *encoder +} + +// NewEncoder returns a new encoder that writes to w. +// The Encoder should be closed after use to flush all data +// to w. +func NewEncoder(w io.Writer) *Encoder { + return &Encoder{ + encoder: newEncoderWithWriter(w), + } +} + +// Encode writes the YAML encoding of v to the stream. +// If multiple items are encoded to the stream, the +// second and subsequent document will be preceded +// with a "---" document separator, but the first will not. +// +// See the documentation for Marshal for details about the conversion of Go +// values to YAML. +func (e *Encoder) Encode(v interface{}) (err error) { + defer handleErr(&err) + e.encoder.marshalDoc("", reflect.ValueOf(v)) + return nil +} + +// Encode encodes value v and stores its representation in n. +// +// See the documentation for Marshal for details about the +// conversion of Go values into YAML. +func (n *Node) Encode(v interface{}) (err error) { + defer handleErr(&err) + e := newEncoder() + defer e.destroy() + e.marshalDoc("", reflect.ValueOf(v)) + e.finish() + p := newParser(e.out) + p.textless = true + defer p.destroy() + doc := p.parse() + *n = *doc.Content[0] + return nil +} + +// SetIndent changes the used indentation used when encoding. +func (e *Encoder) SetIndent(spaces int) { + if spaces < 0 { + panic("yaml: cannot indent to a negative number of spaces") + } + e.encoder.indent = spaces +} + +// CompactSeqIndent makes it so that '- ' is considered part of the indentation. +func (e *Encoder) CompactSeqIndent() { + e.encoder.emitter.compact_sequence_indent = true +} + +// DefaultSeqIndent makes it so that '- ' is not considered part of the indentation. +func (e *Encoder) DefaultSeqIndent() { + e.encoder.emitter.compact_sequence_indent = false +} + +// Close closes the encoder by writing any remaining data. +// It does not write a stream terminating string "...". +func (e *Encoder) Close() (err error) { + defer handleErr(&err) + e.encoder.finish() + return nil +} + +func handleErr(err *error) { + if v := recover(); v != nil { + if e, ok := v.(yamlError); ok { + *err = e.err + } else { + panic(v) + } + } +} + +type yamlError struct { + err error +} + +func fail(err error) { + panic(yamlError{err}) +} + +func failf(format string, args ...interface{}) { + panic(yamlError{fmt.Errorf("yaml: "+format, args...)}) +} + +// A TypeError is returned by Unmarshal when one or more fields in +// the YAML document cannot be properly decoded into the requested +// types. When this error is returned, the value is still +// unmarshaled partially. +type TypeError struct { + Errors []string +} + +func (e *TypeError) Error() string { + return fmt.Sprintf("yaml: unmarshal errors:\n %s", strings.Join(e.Errors, "\n ")) +} + +type Kind uint32 + +const ( + DocumentNode Kind = 1 << iota + SequenceNode + MappingNode + ScalarNode + AliasNode +) + +type Style uint32 + +const ( + TaggedStyle Style = 1 << iota + DoubleQuotedStyle + SingleQuotedStyle + LiteralStyle + FoldedStyle + FlowStyle +) + +// Node represents an element in the YAML document hierarchy. While documents +// are typically encoded and decoded into higher level types, such as structs +// and maps, Node is an intermediate representation that allows detailed +// control over the content being decoded or encoded. +// +// It's worth noting that although Node offers access into details such as +// line numbers, colums, and comments, the content when re-encoded will not +// have its original textual representation preserved. An effort is made to +// render the data plesantly, and to preserve comments near the data they +// describe, though. +// +// Values that make use of the Node type interact with the yaml package in the +// same way any other type would do, by encoding and decoding yaml data +// directly or indirectly into them. +// +// For example: +// +// var person struct { +// Name string +// Address yaml.Node +// } +// err := yaml.Unmarshal(data, &person) +// +// Or by itself: +// +// var person Node +// err := yaml.Unmarshal(data, &person) +type Node struct { + // Kind defines whether the node is a document, a mapping, a sequence, + // a scalar value, or an alias to another node. The specific data type of + // scalar nodes may be obtained via the ShortTag and LongTag methods. + Kind Kind + + // Style allows customizing the apperance of the node in the tree. + Style Style + + // Tag holds the YAML tag defining the data type for the value. + // When decoding, this field will always be set to the resolved tag, + // even when it wasn't explicitly provided in the YAML content. + // When encoding, if this field is unset the value type will be + // implied from the node properties, and if it is set, it will only + // be serialized into the representation if TaggedStyle is used or + // the implicit tag diverges from the provided one. + Tag string + + // Value holds the unescaped and unquoted represenation of the value. + Value string + + // Anchor holds the anchor name for this node, which allows aliases to point to it. + Anchor string + + // Alias holds the node that this alias points to. Only valid when Kind is AliasNode. + Alias *Node + + // Content holds contained nodes for documents, mappings, and sequences. + Content []*Node + + // HeadComment holds any comments in the lines preceding the node and + // not separated by an empty line. + HeadComment string + + // LineComment holds any comments at the end of the line where the node is in. + LineComment string + + // FootComment holds any comments following the node and before empty lines. + FootComment string + + // Line and Column hold the node position in the decoded YAML text. + // These fields are not respected when encoding the node. + Line int + Column int +} + +// IsZero returns whether the node has all of its fields unset. +func (n *Node) IsZero() bool { + return n.Kind == 0 && n.Style == 0 && n.Tag == "" && n.Value == "" && n.Anchor == "" && n.Alias == nil && n.Content == nil && + n.HeadComment == "" && n.LineComment == "" && n.FootComment == "" && n.Line == 0 && n.Column == 0 +} + +// LongTag returns the long form of the tag that indicates the data type for +// the node. If the Tag field isn't explicitly defined, one will be computed +// based on the node properties. +func (n *Node) LongTag() string { + return longTag(n.ShortTag()) +} + +// ShortTag returns the short form of the YAML tag that indicates data type for +// the node. If the Tag field isn't explicitly defined, one will be computed +// based on the node properties. +func (n *Node) ShortTag() string { + if n.indicatedString() { + return strTag + } + if n.Tag == "" || n.Tag == "!" { + switch n.Kind { + case MappingNode: + return mapTag + case SequenceNode: + return seqTag + case AliasNode: + if n.Alias != nil { + return n.Alias.ShortTag() + } + case ScalarNode: + tag, _ := resolve("", n.Value) + return tag + case 0: + // Special case to make the zero value convenient. + if n.IsZero() { + return nullTag + } + } + return "" + } + return shortTag(n.Tag) +} + +func (n *Node) indicatedString() bool { + return n.Kind == ScalarNode && + (shortTag(n.Tag) == strTag || + (n.Tag == "" || n.Tag == "!") && n.Style&(SingleQuotedStyle|DoubleQuotedStyle|LiteralStyle|FoldedStyle) != 0) +} + +// SetString is a convenience function that sets the node to a string value +// and defines its style in a pleasant way depending on its content. +func (n *Node) SetString(s string) { + n.Kind = ScalarNode + if utf8.ValidString(s) { + n.Value = s + n.Tag = strTag + } else { + n.Value = encodeBase64(s) + n.Tag = binaryTag + } + if strings.Contains(n.Value, "\n") { + n.Style = LiteralStyle + } +} + +// -------------------------------------------------------------------------- +// Maintain a mapping of keys to structure field indexes + +// The code in this section was copied from mgo/bson. + +// structInfo holds details for the serialization of fields of +// a given struct. +type structInfo struct { + FieldsMap map[string]fieldInfo + FieldsList []fieldInfo + + // InlineMap is the number of the field in the struct that + // contains an ,inline map, or -1 if there's none. + InlineMap int + + // InlineUnmarshalers holds indexes to inlined fields that + // contain unmarshaler values. + InlineUnmarshalers [][]int +} + +type fieldInfo struct { + Key string + Num int + OmitEmpty bool + Flow bool + // Id holds the unique field identifier, so we can cheaply + // check for field duplicates without maintaining an extra map. + Id int + + // Inline holds the field index if the field is part of an inlined struct. + Inline []int +} + +var structMap = make(map[reflect.Type]*structInfo) +var fieldMapMutex sync.RWMutex +var unmarshalerType reflect.Type + +func init() { + var v Unmarshaler + unmarshalerType = reflect.ValueOf(&v).Elem().Type() +} + +func getStructInfo(st reflect.Type) (*structInfo, error) { + fieldMapMutex.RLock() + sinfo, found := structMap[st] + fieldMapMutex.RUnlock() + if found { + return sinfo, nil + } + + n := st.NumField() + fieldsMap := make(map[string]fieldInfo) + fieldsList := make([]fieldInfo, 0, n) + inlineMap := -1 + inlineUnmarshalers := [][]int(nil) + for i := 0; i != n; i++ { + field := st.Field(i) + if field.PkgPath != "" && !field.Anonymous { + continue // Private field + } + + info := fieldInfo{Num: i} + + tag := field.Tag.Get("yaml") + if tag == "" && strings.Index(string(field.Tag), ":") < 0 { + tag = string(field.Tag) + } + if tag == "-" { + continue + } + + inline := false + fields := strings.Split(tag, ",") + if len(fields) > 1 { + for _, flag := range fields[1:] { + switch flag { + case "omitempty": + info.OmitEmpty = true + case "flow": + info.Flow = true + case "inline": + inline = true + default: + return nil, errors.New(fmt.Sprintf("unsupported flag %q in tag %q of type %s", flag, tag, st)) + } + } + tag = fields[0] + } + + if inline { + switch field.Type.Kind() { + case reflect.Map: + if inlineMap >= 0 { + return nil, errors.New("multiple ,inline maps in struct " + st.String()) + } + if field.Type.Key() != reflect.TypeOf("") { + return nil, errors.New("option ,inline needs a map with string keys in struct " + st.String()) + } + inlineMap = info.Num + case reflect.Struct, reflect.Ptr: + ftype := field.Type + for ftype.Kind() == reflect.Ptr { + ftype = ftype.Elem() + } + if ftype.Kind() != reflect.Struct { + return nil, errors.New("option ,inline may only be used on a struct or map field") + } + if reflect.PtrTo(ftype).Implements(unmarshalerType) { + inlineUnmarshalers = append(inlineUnmarshalers, []int{i}) + } else { + sinfo, err := getStructInfo(ftype) + if err != nil { + return nil, err + } + for _, index := range sinfo.InlineUnmarshalers { + inlineUnmarshalers = append(inlineUnmarshalers, append([]int{i}, index...)) + } + for _, finfo := range sinfo.FieldsList { + if _, found := fieldsMap[finfo.Key]; found { + msg := "duplicated key '" + finfo.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + if finfo.Inline == nil { + finfo.Inline = []int{i, finfo.Num} + } else { + finfo.Inline = append([]int{i}, finfo.Inline...) + } + finfo.Id = len(fieldsList) + fieldsMap[finfo.Key] = finfo + fieldsList = append(fieldsList, finfo) + } + } + default: + return nil, errors.New("option ,inline may only be used on a struct or map field") + } + continue + } + + if tag != "" { + info.Key = tag + } else { + info.Key = strings.ToLower(field.Name) + } + + if _, found = fieldsMap[info.Key]; found { + msg := "duplicated key '" + info.Key + "' in struct " + st.String() + return nil, errors.New(msg) + } + + info.Id = len(fieldsList) + fieldsList = append(fieldsList, info) + fieldsMap[info.Key] = info + } + + sinfo = &structInfo{ + FieldsMap: fieldsMap, + FieldsList: fieldsList, + InlineMap: inlineMap, + InlineUnmarshalers: inlineUnmarshalers, + } + + fieldMapMutex.Lock() + structMap[st] = sinfo + fieldMapMutex.Unlock() + return sinfo, nil +} + +// IsZeroer is used to check whether an object is zero to +// determine whether it should be omitted when marshaling +// with the omitempty flag. One notable implementation +// is time.Time. +type IsZeroer interface { + IsZero() bool +} + +func isZero(v reflect.Value) bool { + kind := v.Kind() + if z, ok := v.Interface().(IsZeroer); ok { + if (kind == reflect.Ptr || kind == reflect.Interface) && v.IsNil() { + return true + } + return z.IsZero() + } + switch kind { + case reflect.String: + return len(v.String()) == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflect.Slice: + return v.Len() == 0 + case reflect.Map: + return v.Len() == 0 + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Struct: + vt := v.Type() + for i := v.NumField() - 1; i >= 0; i-- { + if vt.Field(i).PkgPath != "" { + continue // Private field + } + if !isZero(v.Field(i)) { + return false + } + } + return true + } + return false +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yamlh.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yamlh.go new file mode 100644 index 00000000000..f59aa40f640 --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yamlh.go @@ -0,0 +1,811 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +import ( + "fmt" + "io" +) + +// The version directive data. +type yaml_version_directive_t struct { + major int8 // The major version number. + minor int8 // The minor version number. +} + +// The tag directive data. +type yaml_tag_directive_t struct { + handle []byte // The tag handle. + prefix []byte // The tag prefix. +} + +type yaml_encoding_t int + +// The stream encoding. +const ( + // Let the parser choose the encoding. + yaml_ANY_ENCODING yaml_encoding_t = iota + + yaml_UTF8_ENCODING // The default UTF-8 encoding. + yaml_UTF16LE_ENCODING // The UTF-16-LE encoding with BOM. + yaml_UTF16BE_ENCODING // The UTF-16-BE encoding with BOM. +) + +type yaml_break_t int + +// Line break types. +const ( + // Let the parser choose the break type. + yaml_ANY_BREAK yaml_break_t = iota + + yaml_CR_BREAK // Use CR for line breaks (Mac style). + yaml_LN_BREAK // Use LN for line breaks (Unix style). + yaml_CRLN_BREAK // Use CR LN for line breaks (DOS style). +) + +type yaml_error_type_t int + +// Many bad things could happen with the parser and emitter. +const ( + // No error is produced. + yaml_NO_ERROR yaml_error_type_t = iota + + yaml_MEMORY_ERROR // Cannot allocate or reallocate a block of memory. + yaml_READER_ERROR // Cannot read or decode the input stream. + yaml_SCANNER_ERROR // Cannot scan the input stream. + yaml_PARSER_ERROR // Cannot parse the input stream. + yaml_COMPOSER_ERROR // Cannot compose a YAML document. + yaml_WRITER_ERROR // Cannot write to the output stream. + yaml_EMITTER_ERROR // Cannot emit a YAML stream. +) + +// The pointer position. +type yaml_mark_t struct { + index int // The position index. + line int // The position line. + column int // The position column. +} + +// Node Styles + +type yaml_style_t int8 + +type yaml_scalar_style_t yaml_style_t + +// Scalar styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SCALAR_STYLE yaml_scalar_style_t = 0 + + yaml_PLAIN_SCALAR_STYLE yaml_scalar_style_t = 1 << iota // The plain scalar style. + yaml_SINGLE_QUOTED_SCALAR_STYLE // The single-quoted scalar style. + yaml_DOUBLE_QUOTED_SCALAR_STYLE // The double-quoted scalar style. + yaml_LITERAL_SCALAR_STYLE // The literal scalar style. + yaml_FOLDED_SCALAR_STYLE // The folded scalar style. +) + +type yaml_sequence_style_t yaml_style_t + +// Sequence styles. +const ( + // Let the emitter choose the style. + yaml_ANY_SEQUENCE_STYLE yaml_sequence_style_t = iota + + yaml_BLOCK_SEQUENCE_STYLE // The block sequence style. + yaml_FLOW_SEQUENCE_STYLE // The flow sequence style. +) + +type yaml_mapping_style_t yaml_style_t + +// Mapping styles. +const ( + // Let the emitter choose the style. + yaml_ANY_MAPPING_STYLE yaml_mapping_style_t = iota + + yaml_BLOCK_MAPPING_STYLE // The block mapping style. + yaml_FLOW_MAPPING_STYLE // The flow mapping style. +) + +// Tokens + +type yaml_token_type_t int + +// Token types. +const ( + // An empty token. + yaml_NO_TOKEN yaml_token_type_t = iota + + yaml_STREAM_START_TOKEN // A STREAM-START token. + yaml_STREAM_END_TOKEN // A STREAM-END token. + + yaml_VERSION_DIRECTIVE_TOKEN // A VERSION-DIRECTIVE token. + yaml_TAG_DIRECTIVE_TOKEN // A TAG-DIRECTIVE token. + yaml_DOCUMENT_START_TOKEN // A DOCUMENT-START token. + yaml_DOCUMENT_END_TOKEN // A DOCUMENT-END token. + + yaml_BLOCK_SEQUENCE_START_TOKEN // A BLOCK-SEQUENCE-START token. + yaml_BLOCK_MAPPING_START_TOKEN // A BLOCK-SEQUENCE-END token. + yaml_BLOCK_END_TOKEN // A BLOCK-END token. + + yaml_FLOW_SEQUENCE_START_TOKEN // A FLOW-SEQUENCE-START token. + yaml_FLOW_SEQUENCE_END_TOKEN // A FLOW-SEQUENCE-END token. + yaml_FLOW_MAPPING_START_TOKEN // A FLOW-MAPPING-START token. + yaml_FLOW_MAPPING_END_TOKEN // A FLOW-MAPPING-END token. + + yaml_BLOCK_ENTRY_TOKEN // A BLOCK-ENTRY token. + yaml_FLOW_ENTRY_TOKEN // A FLOW-ENTRY token. + yaml_KEY_TOKEN // A KEY token. + yaml_VALUE_TOKEN // A VALUE token. + + yaml_ALIAS_TOKEN // An ALIAS token. + yaml_ANCHOR_TOKEN // An ANCHOR token. + yaml_TAG_TOKEN // A TAG token. + yaml_SCALAR_TOKEN // A SCALAR token. +) + +func (tt yaml_token_type_t) String() string { + switch tt { + case yaml_NO_TOKEN: + return "yaml_NO_TOKEN" + case yaml_STREAM_START_TOKEN: + return "yaml_STREAM_START_TOKEN" + case yaml_STREAM_END_TOKEN: + return "yaml_STREAM_END_TOKEN" + case yaml_VERSION_DIRECTIVE_TOKEN: + return "yaml_VERSION_DIRECTIVE_TOKEN" + case yaml_TAG_DIRECTIVE_TOKEN: + return "yaml_TAG_DIRECTIVE_TOKEN" + case yaml_DOCUMENT_START_TOKEN: + return "yaml_DOCUMENT_START_TOKEN" + case yaml_DOCUMENT_END_TOKEN: + return "yaml_DOCUMENT_END_TOKEN" + case yaml_BLOCK_SEQUENCE_START_TOKEN: + return "yaml_BLOCK_SEQUENCE_START_TOKEN" + case yaml_BLOCK_MAPPING_START_TOKEN: + return "yaml_BLOCK_MAPPING_START_TOKEN" + case yaml_BLOCK_END_TOKEN: + return "yaml_BLOCK_END_TOKEN" + case yaml_FLOW_SEQUENCE_START_TOKEN: + return "yaml_FLOW_SEQUENCE_START_TOKEN" + case yaml_FLOW_SEQUENCE_END_TOKEN: + return "yaml_FLOW_SEQUENCE_END_TOKEN" + case yaml_FLOW_MAPPING_START_TOKEN: + return "yaml_FLOW_MAPPING_START_TOKEN" + case yaml_FLOW_MAPPING_END_TOKEN: + return "yaml_FLOW_MAPPING_END_TOKEN" + case yaml_BLOCK_ENTRY_TOKEN: + return "yaml_BLOCK_ENTRY_TOKEN" + case yaml_FLOW_ENTRY_TOKEN: + return "yaml_FLOW_ENTRY_TOKEN" + case yaml_KEY_TOKEN: + return "yaml_KEY_TOKEN" + case yaml_VALUE_TOKEN: + return "yaml_VALUE_TOKEN" + case yaml_ALIAS_TOKEN: + return "yaml_ALIAS_TOKEN" + case yaml_ANCHOR_TOKEN: + return "yaml_ANCHOR_TOKEN" + case yaml_TAG_TOKEN: + return "yaml_TAG_TOKEN" + case yaml_SCALAR_TOKEN: + return "yaml_SCALAR_TOKEN" + } + return "" +} + +// The token structure. +type yaml_token_t struct { + // The token type. + typ yaml_token_type_t + + // The start/end of the token. + start_mark, end_mark yaml_mark_t + + // The stream encoding (for yaml_STREAM_START_TOKEN). + encoding yaml_encoding_t + + // The alias/anchor/scalar value or tag/tag directive handle + // (for yaml_ALIAS_TOKEN, yaml_ANCHOR_TOKEN, yaml_SCALAR_TOKEN, yaml_TAG_TOKEN, yaml_TAG_DIRECTIVE_TOKEN). + value []byte + + // The tag suffix (for yaml_TAG_TOKEN). + suffix []byte + + // The tag directive prefix (for yaml_TAG_DIRECTIVE_TOKEN). + prefix []byte + + // The scalar style (for yaml_SCALAR_TOKEN). + style yaml_scalar_style_t + + // The version directive major/minor (for yaml_VERSION_DIRECTIVE_TOKEN). + major, minor int8 +} + +// Events + +type yaml_event_type_t int8 + +// Event types. +const ( + // An empty event. + yaml_NO_EVENT yaml_event_type_t = iota + + yaml_STREAM_START_EVENT // A STREAM-START event. + yaml_STREAM_END_EVENT // A STREAM-END event. + yaml_DOCUMENT_START_EVENT // A DOCUMENT-START event. + yaml_DOCUMENT_END_EVENT // A DOCUMENT-END event. + yaml_ALIAS_EVENT // An ALIAS event. + yaml_SCALAR_EVENT // A SCALAR event. + yaml_SEQUENCE_START_EVENT // A SEQUENCE-START event. + yaml_SEQUENCE_END_EVENT // A SEQUENCE-END event. + yaml_MAPPING_START_EVENT // A MAPPING-START event. + yaml_MAPPING_END_EVENT // A MAPPING-END event. + yaml_TAIL_COMMENT_EVENT +) + +var eventStrings = []string{ + yaml_NO_EVENT: "none", + yaml_STREAM_START_EVENT: "stream start", + yaml_STREAM_END_EVENT: "stream end", + yaml_DOCUMENT_START_EVENT: "document start", + yaml_DOCUMENT_END_EVENT: "document end", + yaml_ALIAS_EVENT: "alias", + yaml_SCALAR_EVENT: "scalar", + yaml_SEQUENCE_START_EVENT: "sequence start", + yaml_SEQUENCE_END_EVENT: "sequence end", + yaml_MAPPING_START_EVENT: "mapping start", + yaml_MAPPING_END_EVENT: "mapping end", + yaml_TAIL_COMMENT_EVENT: "tail comment", +} + +func (e yaml_event_type_t) String() string { + if e < 0 || int(e) >= len(eventStrings) { + return fmt.Sprintf("unknown event %d", e) + } + return eventStrings[e] +} + +// The event structure. +type yaml_event_t struct { + + // The event type. + typ yaml_event_type_t + + // The start and end of the event. + start_mark, end_mark yaml_mark_t + + // The document encoding (for yaml_STREAM_START_EVENT). + encoding yaml_encoding_t + + // The version directive (for yaml_DOCUMENT_START_EVENT). + version_directive *yaml_version_directive_t + + // The list of tag directives (for yaml_DOCUMENT_START_EVENT). + tag_directives []yaml_tag_directive_t + + // The comments + head_comment []byte + line_comment []byte + foot_comment []byte + tail_comment []byte + + // The anchor (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_ALIAS_EVENT). + anchor []byte + + // The tag (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + tag []byte + + // The scalar value (for yaml_SCALAR_EVENT). + value []byte + + // Is the document start/end indicator implicit, or the tag optional? + // (for yaml_DOCUMENT_START_EVENT, yaml_DOCUMENT_END_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT, yaml_SCALAR_EVENT). + implicit bool + + // Is the tag optional for any non-plain style? (for yaml_SCALAR_EVENT). + quoted_implicit bool + + // The style (for yaml_SCALAR_EVENT, yaml_SEQUENCE_START_EVENT, yaml_MAPPING_START_EVENT). + style yaml_style_t +} + +func (e *yaml_event_t) scalar_style() yaml_scalar_style_t { return yaml_scalar_style_t(e.style) } +func (e *yaml_event_t) sequence_style() yaml_sequence_style_t { return yaml_sequence_style_t(e.style) } +func (e *yaml_event_t) mapping_style() yaml_mapping_style_t { return yaml_mapping_style_t(e.style) } + +// Nodes + +const ( + yaml_NULL_TAG = "tag:yaml.org,2002:null" // The tag !!null with the only possible value: null. + yaml_BOOL_TAG = "tag:yaml.org,2002:bool" // The tag !!bool with the values: true and false. + yaml_STR_TAG = "tag:yaml.org,2002:str" // The tag !!str for string values. + yaml_INT_TAG = "tag:yaml.org,2002:int" // The tag !!int for integer values. + yaml_FLOAT_TAG = "tag:yaml.org,2002:float" // The tag !!float for float values. + yaml_TIMESTAMP_TAG = "tag:yaml.org,2002:timestamp" // The tag !!timestamp for date and time values. + + yaml_SEQ_TAG = "tag:yaml.org,2002:seq" // The tag !!seq is used to denote sequences. + yaml_MAP_TAG = "tag:yaml.org,2002:map" // The tag !!map is used to denote mapping. + + // Not in original libyaml. + yaml_BINARY_TAG = "tag:yaml.org,2002:binary" + yaml_MERGE_TAG = "tag:yaml.org,2002:merge" + + yaml_DEFAULT_SCALAR_TAG = yaml_STR_TAG // The default scalar tag is !!str. + yaml_DEFAULT_SEQUENCE_TAG = yaml_SEQ_TAG // The default sequence tag is !!seq. + yaml_DEFAULT_MAPPING_TAG = yaml_MAP_TAG // The default mapping tag is !!map. +) + +type yaml_node_type_t int + +// Node types. +const ( + // An empty node. + yaml_NO_NODE yaml_node_type_t = iota + + yaml_SCALAR_NODE // A scalar node. + yaml_SEQUENCE_NODE // A sequence node. + yaml_MAPPING_NODE // A mapping node. +) + +// An element of a sequence node. +type yaml_node_item_t int + +// An element of a mapping node. +type yaml_node_pair_t struct { + key int // The key of the element. + value int // The value of the element. +} + +// The node structure. +type yaml_node_t struct { + typ yaml_node_type_t // The node type. + tag []byte // The node tag. + + // The node data. + + // The scalar parameters (for yaml_SCALAR_NODE). + scalar struct { + value []byte // The scalar value. + length int // The length of the scalar value. + style yaml_scalar_style_t // The scalar style. + } + + // The sequence parameters (for YAML_SEQUENCE_NODE). + sequence struct { + items_data []yaml_node_item_t // The stack of sequence items. + style yaml_sequence_style_t // The sequence style. + } + + // The mapping parameters (for yaml_MAPPING_NODE). + mapping struct { + pairs_data []yaml_node_pair_t // The stack of mapping pairs (key, value). + pairs_start *yaml_node_pair_t // The beginning of the stack. + pairs_end *yaml_node_pair_t // The end of the stack. + pairs_top *yaml_node_pair_t // The top of the stack. + style yaml_mapping_style_t // The mapping style. + } + + start_mark yaml_mark_t // The beginning of the node. + end_mark yaml_mark_t // The end of the node. + +} + +// The document structure. +type yaml_document_t struct { + + // The document nodes. + nodes []yaml_node_t + + // The version directive. + version_directive *yaml_version_directive_t + + // The list of tag directives. + tag_directives_data []yaml_tag_directive_t + tag_directives_start int // The beginning of the tag directives list. + tag_directives_end int // The end of the tag directives list. + + start_implicit int // Is the document start indicator implicit? + end_implicit int // Is the document end indicator implicit? + + // The start/end of the document. + start_mark, end_mark yaml_mark_t +} + +// The prototype of a read handler. +// +// The read handler is called when the parser needs to read more bytes from the +// source. The handler should write not more than size bytes to the buffer. +// The number of written bytes should be set to the size_read variable. +// +// [in,out] data A pointer to an application data specified by +// +// yaml_parser_set_input(). +// +// [out] buffer The buffer to write the data from the source. +// [in] size The size of the buffer. +// [out] size_read The actual number of bytes read from the source. +// +// On success, the handler should return 1. If the handler failed, +// the returned value should be 0. On EOF, the handler should set the +// size_read to 0 and return 1. +type yaml_read_handler_t func(parser *yaml_parser_t, buffer []byte) (n int, err error) + +// This structure holds information about a potential simple key. +type yaml_simple_key_t struct { + possible bool // Is a simple key possible? + required bool // Is a simple key required? + token_number int // The number of the token. + mark yaml_mark_t // The position mark. +} + +// The states of the parser. +type yaml_parser_state_t int + +const ( + yaml_PARSE_STREAM_START_STATE yaml_parser_state_t = iota + + yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE // Expect the beginning of an implicit document. + yaml_PARSE_DOCUMENT_START_STATE // Expect DOCUMENT-START. + yaml_PARSE_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_PARSE_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_PARSE_BLOCK_NODE_STATE // Expect a block node. + yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE // Expect a block node or indentless sequence. + yaml_PARSE_FLOW_NODE_STATE // Expect a flow node. + yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a block sequence. + yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE // Expect an entry of a block sequence. + yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE // Expect an entry of an indentless sequence. + yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_PARSE_BLOCK_MAPPING_KEY_STATE // Expect a block mapping key. + yaml_PARSE_BLOCK_MAPPING_VALUE_STATE // Expect a block mapping value. + yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE // Expect the first entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE // Expect an entry of a flow sequence. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE // Expect a key of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE // Expect a value of an ordered mapping. + yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE // Expect the and of an ordered mapping entry. + yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_PARSE_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE // Expect an empty value of a flow mapping. + yaml_PARSE_END_STATE // Expect nothing. +) + +func (ps yaml_parser_state_t) String() string { + switch ps { + case yaml_PARSE_STREAM_START_STATE: + return "yaml_PARSE_STREAM_START_STATE" + case yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE: + return "yaml_PARSE_IMPLICIT_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_START_STATE: + return "yaml_PARSE_DOCUMENT_START_STATE" + case yaml_PARSE_DOCUMENT_CONTENT_STATE: + return "yaml_PARSE_DOCUMENT_CONTENT_STATE" + case yaml_PARSE_DOCUMENT_END_STATE: + return "yaml_PARSE_DOCUMENT_END_STATE" + case yaml_PARSE_BLOCK_NODE_STATE: + return "yaml_PARSE_BLOCK_NODE_STATE" + case yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE: + return "yaml_PARSE_BLOCK_NODE_OR_INDENTLESS_SEQUENCE_STATE" + case yaml_PARSE_FLOW_NODE_STATE: + return "yaml_PARSE_FLOW_NODE_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_BLOCK_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_INDENTLESS_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_KEY_STATE: + return "yaml_PARSE_BLOCK_MAPPING_KEY_STATE" + case yaml_PARSE_BLOCK_MAPPING_VALUE_STATE: + return "yaml_PARSE_BLOCK_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_FIRST_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE: + return "yaml_PARSE_FLOW_SEQUENCE_ENTRY_MAPPING_END_STATE" + case yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_FIRST_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_KEY_STATE: + return "yaml_PARSE_FLOW_MAPPING_KEY_STATE" + case yaml_PARSE_FLOW_MAPPING_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_VALUE_STATE" + case yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE: + return "yaml_PARSE_FLOW_MAPPING_EMPTY_VALUE_STATE" + case yaml_PARSE_END_STATE: + return "yaml_PARSE_END_STATE" + } + return "" +} + +// This structure holds aliases data. +type yaml_alias_data_t struct { + anchor []byte // The anchor. + index int // The node id. + mark yaml_mark_t // The anchor mark. +} + +// The parser structure. +// +// All members are internal. Manage the structure using the +// yaml_parser_ family of functions. +type yaml_parser_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + + problem string // Error description. + + // The byte about which the problem occurred. + problem_offset int + problem_value int + problem_mark yaml_mark_t + + // The error context. + context string + context_mark yaml_mark_t + + // Reader stuff + + read_handler yaml_read_handler_t // Read handler. + + input_reader io.Reader // File input data. + input []byte // String input data. + input_pos int + + eof bool // EOF flag + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + unread int // The number of unread characters in the buffer. + + newlines int // The number of line breaks since last non-break/non-blank character + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The input encoding. + + offset int // The offset of the current position (in bytes). + mark yaml_mark_t // The mark of the current position. + + // Comments + + head_comment []byte // The current head comments + line_comment []byte // The current line comments + foot_comment []byte // The current foot comments + tail_comment []byte // Foot comment that happens at the end of a block. + stem_comment []byte // Comment in item preceding a nested structure (list inside list item, etc) + + comments []yaml_comment_t // The folded comments for all parsed tokens + comments_head int + + // Scanner stuff + + stream_start_produced bool // Have we started to scan the input stream? + stream_end_produced bool // Have we reached the end of the input stream? + + flow_level int // The number of unclosed '[' and '{' indicators. + + tokens []yaml_token_t // The tokens queue. + tokens_head int // The head of the tokens queue. + tokens_parsed int // The number of tokens fetched from the queue. + token_available bool // Does the tokens queue contain a token ready for dequeueing. + + indent int // The current indentation level. + indents []int // The indentation levels stack. + + simple_key_allowed bool // May a simple key occur at the current position? + simple_keys []yaml_simple_key_t // The stack of simple keys. + simple_keys_by_tok map[int]int // possible simple_key indexes indexed by token_number + + // Parser stuff + + state yaml_parser_state_t // The current parser state. + states []yaml_parser_state_t // The parser states stack. + marks []yaml_mark_t // The stack of marks. + tag_directives []yaml_tag_directive_t // The list of TAG directives. + + // Dumper stuff + + aliases []yaml_alias_data_t // The alias data. + + document *yaml_document_t // The currently parsed document. +} + +type yaml_comment_t struct { + scan_mark yaml_mark_t // Position where scanning for comments started + token_mark yaml_mark_t // Position after which tokens will be associated with this comment + start_mark yaml_mark_t // Position of '#' comment mark + end_mark yaml_mark_t // Position where comment terminated + + head []byte + line []byte + foot []byte +} + +// Emitter Definitions + +// The prototype of a write handler. +// +// The write handler is called when the emitter needs to flush the accumulated +// characters to the output. The handler should write @a size bytes of the +// @a buffer to the output. +// +// @param[in,out] data A pointer to an application data specified by +// +// yaml_emitter_set_output(). +// +// @param[in] buffer The buffer with bytes to be written. +// @param[in] size The size of the buffer. +// +// @returns On success, the handler should return @c 1. If the handler failed, +// the returned value should be @c 0. +type yaml_write_handler_t func(emitter *yaml_emitter_t, buffer []byte) error + +type yaml_emitter_state_t int + +// The emitter states. +const ( + // Expect STREAM-START. + yaml_EMIT_STREAM_START_STATE yaml_emitter_state_t = iota + + yaml_EMIT_FIRST_DOCUMENT_START_STATE // Expect the first DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_START_STATE // Expect DOCUMENT-START or STREAM-END. + yaml_EMIT_DOCUMENT_CONTENT_STATE // Expect the content of a document. + yaml_EMIT_DOCUMENT_END_STATE // Expect DOCUMENT-END. + yaml_EMIT_FLOW_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a flow sequence. + yaml_EMIT_FLOW_SEQUENCE_TRAIL_ITEM_STATE // Expect the next item of a flow sequence, with the comma already written out + yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE // Expect an item of a flow sequence. + yaml_EMIT_FLOW_MAPPING_FIRST_KEY_STATE // Expect the first key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_TRAIL_KEY_STATE // Expect the next key of a flow mapping, with the comma already written out + yaml_EMIT_FLOW_MAPPING_KEY_STATE // Expect a key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a flow mapping. + yaml_EMIT_FLOW_MAPPING_VALUE_STATE // Expect a value of a flow mapping. + yaml_EMIT_BLOCK_SEQUENCE_FIRST_ITEM_STATE // Expect the first item of a block sequence. + yaml_EMIT_BLOCK_SEQUENCE_ITEM_STATE // Expect an item of a block sequence. + yaml_EMIT_BLOCK_MAPPING_FIRST_KEY_STATE // Expect the first key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_KEY_STATE // Expect the key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_SIMPLE_VALUE_STATE // Expect a value for a simple key of a block mapping. + yaml_EMIT_BLOCK_MAPPING_VALUE_STATE // Expect a value of a block mapping. + yaml_EMIT_END_STATE // Expect nothing. +) + +// The emitter structure. +// +// All members are internal. Manage the structure using the @c yaml_emitter_ +// family of functions. +type yaml_emitter_t struct { + + // Error handling + + error yaml_error_type_t // Error type. + problem string // Error description. + + // Writer stuff + + write_handler yaml_write_handler_t // Write handler. + + output_buffer *[]byte // String output data. + output_writer io.Writer // File output data. + + buffer []byte // The working buffer. + buffer_pos int // The current position of the buffer. + + raw_buffer []byte // The raw buffer. + raw_buffer_pos int // The current position of the buffer. + + encoding yaml_encoding_t // The stream encoding. + + // Emitter stuff + + canonical bool // If the output is in the canonical style? + best_indent int // The number of indentation spaces. + best_width int // The preferred width of the output lines. + unicode bool // Allow unescaped non-ASCII characters? + line_break yaml_break_t // The preferred line break. + + state yaml_emitter_state_t // The current emitter state. + states []yaml_emitter_state_t // The stack of states. + + events []yaml_event_t // The event queue. + events_head int // The head of the event queue. + + indents []int // The stack of indentation levels. + + tag_directives []yaml_tag_directive_t // The list of tag directives. + + indent int // The current indentation level. + + compact_sequence_indent bool // Is '- ' is considered part of the indentation for sequence elements? + + flow_level int // The current flow level. + + root_context bool // Is it the document root context? + sequence_context bool // Is it a sequence context? + mapping_context bool // Is it a mapping context? + simple_key_context bool // Is it a simple mapping key context? + + line int // The current line. + column int // The current column. + whitespace bool // If the last character was a whitespace? + indention bool // If the last character was an indentation character (' ', '-', '?', ':')? + open_ended bool // If an explicit document end is required? + + space_above bool // Is there's an empty line above? + foot_indent int // The indent used to write the foot comment above, or -1 if none. + + // Anchor analysis. + anchor_data struct { + anchor []byte // The anchor value. + alias bool // Is it an alias? + } + + // Tag analysis. + tag_data struct { + handle []byte // The tag handle. + suffix []byte // The tag suffix. + } + + // Scalar analysis. + scalar_data struct { + value []byte // The scalar value. + multiline bool // Does the scalar contain line breaks? + flow_plain_allowed bool // Can the scalar be expessed in the flow plain style? + block_plain_allowed bool // Can the scalar be expressed in the block plain style? + single_quoted_allowed bool // Can the scalar be expressed in the single quoted style? + block_allowed bool // Can the scalar be expressed in the literal or folded styles? + style yaml_scalar_style_t // The output style. + } + + // Comments + head_comment []byte + line_comment []byte + foot_comment []byte + tail_comment []byte + + key_line_comment []byte + + // Dumper stuff + + opened bool // If the stream was already opened? + closed bool // If the stream was already closed? + + // The information associated with the document nodes. + anchors *struct { + references int // The number of references. + anchor int // The anchor id. + serialized bool // If the node has been emitted? + } + + last_anchor_id int // The last assigned anchor id. + + document *yaml_document_t // The currently emitted document. +} diff --git a/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yamlprivateh.go b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yamlprivateh.go new file mode 100644 index 00000000000..dea1ba9610d --- /dev/null +++ b/cluster-api/providers/azure/vendor/go.yaml.in/yaml/v3/yamlprivateh.go @@ -0,0 +1,198 @@ +// +// Copyright (c) 2011-2019 Canonical Ltd +// Copyright (c) 2006-2010 Kirill Simonov +// +// Permission is hereby granted, free of charge, to any person obtaining a copy of +// this software and associated documentation files (the "Software"), to deal in +// the Software without restriction, including without limitation the rights to +// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +// of the Software, and to permit persons to whom the Software is furnished to do +// so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. + +package yaml + +const ( + // The size of the input raw buffer. + input_raw_buffer_size = 512 + + // The size of the input buffer. + // It should be possible to decode the whole raw buffer. + input_buffer_size = input_raw_buffer_size * 3 + + // The size of the output buffer. + output_buffer_size = 128 + + // The size of the output raw buffer. + // It should be possible to encode the whole output buffer. + output_raw_buffer_size = (output_buffer_size*2 + 2) + + // The size of other stacks and queues. + initial_stack_size = 16 + initial_queue_size = 16 + initial_string_size = 16 +) + +// Check if the character at the specified position is an alphabetical +// character, a digit, '_', or '-'. +func is_alpha(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'Z' || b[i] >= 'a' && b[i] <= 'z' || b[i] == '_' || b[i] == '-' +} + +// Check if the character at the specified position is a digit. +func is_digit(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' +} + +// Get the value of a digit. +func as_digit(b []byte, i int) int { + return int(b[i]) - '0' +} + +// Check if the character at the specified position is a hex-digit. +func is_hex(b []byte, i int) bool { + return b[i] >= '0' && b[i] <= '9' || b[i] >= 'A' && b[i] <= 'F' || b[i] >= 'a' && b[i] <= 'f' +} + +// Get the value of a hex-digit. +func as_hex(b []byte, i int) int { + bi := b[i] + if bi >= 'A' && bi <= 'F' { + return int(bi) - 'A' + 10 + } + if bi >= 'a' && bi <= 'f' { + return int(bi) - 'a' + 10 + } + return int(bi) - '0' +} + +// Check if the character is ASCII. +func is_ascii(b []byte, i int) bool { + return b[i] <= 0x7F +} + +// Check if the character at the start of the buffer can be printed unescaped. +func is_printable(b []byte, i int) bool { + return ((b[i] == 0x0A) || // . == #x0A + (b[i] >= 0x20 && b[i] <= 0x7E) || // #x20 <= . <= #x7E + (b[i] == 0xC2 && b[i+1] >= 0xA0) || // #0xA0 <= . <= #xD7FF + (b[i] > 0xC2 && b[i] < 0xED) || + (b[i] == 0xED && b[i+1] < 0xA0) || + (b[i] == 0xEE) || + (b[i] == 0xEF && // #xE000 <= . <= #xFFFD + !(b[i+1] == 0xBB && b[i+2] == 0xBF) && // && . != #xFEFF + !(b[i+1] == 0xBF && (b[i+2] == 0xBE || b[i+2] == 0xBF)))) +} + +// Check if the character at the specified position is NUL. +func is_z(b []byte, i int) bool { + return b[i] == 0x00 +} + +// Check if the beginning of the buffer is a BOM. +func is_bom(b []byte, i int) bool { + return b[0] == 0xEF && b[1] == 0xBB && b[2] == 0xBF +} + +// Check if the character at the specified position is space. +func is_space(b []byte, i int) bool { + return b[i] == ' ' +} + +// Check if the character at the specified position is tab. +func is_tab(b []byte, i int) bool { + return b[i] == '\t' +} + +// Check if the character at the specified position is blank (space or tab). +func is_blank(b []byte, i int) bool { + //return is_space(b, i) || is_tab(b, i) + return b[i] == ' ' || b[i] == '\t' +} + +// Check if the character at the specified position is a line break. +func is_break(b []byte, i int) bool { + return (b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9) // PS (#x2029) +} + +func is_crlf(b []byte, i int) bool { + return b[i] == '\r' && b[i+1] == '\n' +} + +// Check if the character is a line break or NUL. +func is_breakz(b []byte, i int) bool { + //return is_break(b, i) || is_z(b, i) + return ( + // is_break: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + // is_z: + b[i] == 0) +} + +// Check if the character is a line break, space, or NUL. +func is_spacez(b []byte, i int) bool { + //return is_space(b, i) || is_breakz(b, i) + return ( + // is_space: + b[i] == ' ' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Check if the character is a line break, space, tab, or NUL. +func is_blankz(b []byte, i int) bool { + //return is_blank(b, i) || is_breakz(b, i) + return ( + // is_blank: + b[i] == ' ' || b[i] == '\t' || + // is_breakz: + b[i] == '\r' || // CR (#xD) + b[i] == '\n' || // LF (#xA) + b[i] == 0xC2 && b[i+1] == 0x85 || // NEL (#x85) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA8 || // LS (#x2028) + b[i] == 0xE2 && b[i+1] == 0x80 && b[i+2] == 0xA9 || // PS (#x2029) + b[i] == 0) +} + +// Determine the width of the character. +func width(b byte) int { + // Don't replace these by a switch without first + // confirming that it is being inlined. + if b&0x80 == 0x00 { + return 1 + } + if b&0xE0 == 0xC0 { + return 2 + } + if b&0xF0 == 0xE0 { + return 3 + } + if b&0xF8 == 0xF0 { + return 4 + } + return 0 + +} diff --git a/cluster-api/providers/azure/vendor/golang.org/x/crypto/curve25519/curve25519.go b/cluster-api/providers/azure/vendor/golang.org/x/crypto/curve25519/curve25519.go index 21ca3b2ee4b..8ff087df4cc 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/crypto/curve25519/curve25519.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/crypto/curve25519/curve25519.go @@ -36,7 +36,7 @@ func ScalarBaseMult(dst, scalar *[32]byte) { curve := ecdh.X25519() priv, err := curve.NewPrivateKey(scalar[:]) if err != nil { - panic("curve25519: internal error: scalarBaseMult was not 32 bytes") + panic("curve25519: " + err.Error()) } copy(dst[:], priv.PublicKey().Bytes()) } diff --git a/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/common.go b/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/common.go index f2ec0896c29..8bfad16c413 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/common.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/common.go @@ -83,6 +83,7 @@ var ( // supportedKexAlgos specifies key-exchange algorithms implemented by this // package in preference order, excluding those with security issues. supportedKexAlgos = []string{ + KeyExchangeMLKEM768X25519, KeyExchangeCurve25519, KeyExchangeECDHP256, KeyExchangeECDHP384, @@ -94,6 +95,7 @@ var ( // defaultKexAlgos specifies the default preference for key-exchange // algorithms in preference order. defaultKexAlgos = []string{ + KeyExchangeMLKEM768X25519, KeyExchangeCurve25519, KeyExchangeECDHP256, KeyExchangeECDHP384, diff --git a/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/kex.go b/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/kex.go index cf388a92aa3..78aaf03103e 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/kex.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/kex.go @@ -9,7 +9,6 @@ import ( "crypto/ecdsa" "crypto/elliptic" "crypto/rand" - "crypto/subtle" "encoding/binary" "errors" "fmt" @@ -439,6 +438,7 @@ func init() { kexAlgoMap[keyExchangeCurve25519LibSSH] = &curve25519sha256{} kexAlgoMap[InsecureKeyExchangeDHGEXSHA1] = &dhGEXSHA{hashFunc: crypto.SHA1} kexAlgoMap[KeyExchangeDHGEXSHA256] = &dhGEXSHA{hashFunc: crypto.SHA256} + kexAlgoMap[KeyExchangeMLKEM768X25519] = &mlkem768WithCurve25519sha256{} } // curve25519sha256 implements the curve25519-sha256 (formerly known as @@ -454,15 +454,17 @@ func (kp *curve25519KeyPair) generate(rand io.Reader) error { if _, err := io.ReadFull(rand, kp.priv[:]); err != nil { return err } - curve25519.ScalarBaseMult(&kp.pub, &kp.priv) + p, err := curve25519.X25519(kp.priv[:], curve25519.Basepoint) + if err != nil { + return fmt.Errorf("curve25519: %w", err) + } + if len(p) != 32 { + return fmt.Errorf("curve25519: internal error: X25519 returned %d bytes, expected 32", len(p)) + } + copy(kp.pub[:], p) return nil } -// curve25519Zeros is just an array of 32 zero bytes so that we have something -// convenient to compare against in order to reject curve25519 points with the -// wrong order. -var curve25519Zeros [32]byte - func (kex *curve25519sha256) Client(c packetConn, rand io.Reader, magics *handshakeMagics) (*kexResult, error) { var kp curve25519KeyPair if err := kp.generate(rand); err != nil { @@ -485,11 +487,9 @@ func (kex *curve25519sha256) Client(c packetConn, rand io.Reader, magics *handsh return nil, errors.New("ssh: peer's curve25519 public value has wrong length") } - var servPub, secret [32]byte - copy(servPub[:], reply.EphemeralPubKey) - curve25519.ScalarMult(&secret, &kp.priv, &servPub) - if subtle.ConstantTimeCompare(secret[:], curve25519Zeros[:]) == 1 { - return nil, errors.New("ssh: peer's curve25519 public value has wrong order") + secret, err := curve25519.X25519(kp.priv[:], reply.EphemeralPubKey) + if err != nil { + return nil, fmt.Errorf("ssh: peer's curve25519 public value is not valid: %w", err) } h := crypto.SHA256.New() @@ -531,11 +531,9 @@ func (kex *curve25519sha256) Server(c packetConn, rand io.Reader, magics *handsh return nil, err } - var clientPub, secret [32]byte - copy(clientPub[:], kexInit.ClientPubKey) - curve25519.ScalarMult(&secret, &kp.priv, &clientPub) - if subtle.ConstantTimeCompare(secret[:], curve25519Zeros[:]) == 1 { - return nil, errors.New("ssh: peer's curve25519 public value has wrong order") + secret, err := curve25519.X25519(kp.priv[:], kexInit.ClientPubKey) + if err != nil { + return nil, fmt.Errorf("ssh: peer's curve25519 public value is not valid: %w", err) } hostKeyBytes := priv.PublicKey().Marshal() diff --git a/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/mlkem.go b/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/mlkem.go index 657e1079d4b..ddc0ed1fc0a 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/mlkem.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/crypto/ssh/mlkem.go @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build go1.24 - package ssh import ( @@ -13,23 +11,10 @@ import ( "errors" "fmt" "io" - "runtime" - "slices" "golang.org/x/crypto/curve25519" ) -func init() { - // After Go 1.24rc1 mlkem swapped the order of return values of Encapsulate. - // See #70950. - if runtime.Version() == "go1.24rc1" { - return - } - supportedKexAlgos = slices.Insert(supportedKexAlgos, 0, KeyExchangeMLKEM768X25519) - defaultKexAlgos = slices.Insert(defaultKexAlgos, 0, KeyExchangeMLKEM768X25519) - kexAlgoMap[KeyExchangeMLKEM768X25519] = &mlkem768WithCurve25519sha256{} -} - // mlkem768WithCurve25519sha256 implements the hybrid ML-KEM768 with // curve25519-sha256 key exchange method, as described by // draft-kampanakis-curdle-ssh-pq-ke-05 section 2.3.3. diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go deleted file mode 100644 index 73687de748a..00000000000 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build go1.5 - -package plan9 - -import "syscall" - -func fixwd() { - syscall.Fixwd() -} - -func Getwd() (wd string, err error) { - return syscall.Getwd() -} - -func Chdir(path string) error { - return syscall.Chdir(path) -} diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_plan9.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_plan9.go index fb945821847..7a76489db16 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_plan9.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/plan9/pwd_plan9.go @@ -2,22 +2,18 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !go1.5 - package plan9 +import "syscall" + func fixwd() { + syscall.Fixwd() } func Getwd() (wd string, err error) { - fd, err := open(".", O_RDONLY) - if err != nil { - return "", err - } - defer Close(fd) - return Fd2path(fd) + return syscall.Getwd() } func Chdir(path string) error { - return chdir(path) + return syscall.Chdir(path) } diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/affinity_linux.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/affinity_linux.go index 6e5c81acd04..3c7a6d6e2f1 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/affinity_linux.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/affinity_linux.go @@ -38,9 +38,7 @@ func SchedSetaffinity(pid int, set *CPUSet) error { // Zero clears the set s, so that it contains no CPUs. func (s *CPUSet) Zero() { - for i := range s { - s[i] = 0 - } + clear(s[:]) } func cpuBitsIndex(cpu int) int { diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/syscall_solaris.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/syscall_solaris.go index abc3955477c..18a3d9bdabc 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/syscall_solaris.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/syscall_solaris.go @@ -629,7 +629,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e //sys Kill(pid int, signum syscall.Signal) (err error) //sys Lchown(path string, uid int, gid int) (err error) //sys Link(path string, link string) (err error) -//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_llisten +//sys Listen(s int, backlog int) (err error) = libsocket.__xnet_listen //sys Lstat(path string, stat *Stat_t) (err error) //sys Madvise(b []byte, advice int) (err error) //sys Mkdir(path string, mode uint32) (err error) diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go index c6545413c45..b4609c20c24 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go @@ -72,7 +72,7 @@ import ( //go:cgo_import_dynamic libc_kill kill "libc.so" //go:cgo_import_dynamic libc_lchown lchown "libc.so" //go:cgo_import_dynamic libc_link link "libc.so" -//go:cgo_import_dynamic libc___xnet_llisten __xnet_llisten "libsocket.so" +//go:cgo_import_dynamic libc___xnet_listen __xnet_listen "libsocket.so" //go:cgo_import_dynamic libc_lstat lstat "libc.so" //go:cgo_import_dynamic libc_madvise madvise "libc.so" //go:cgo_import_dynamic libc_mkdir mkdir "libc.so" @@ -221,7 +221,7 @@ import ( //go:linkname procKill libc_kill //go:linkname procLchown libc_lchown //go:linkname procLink libc_link -//go:linkname proc__xnet_llisten libc___xnet_llisten +//go:linkname proc__xnet_listen libc___xnet_listen //go:linkname procLstat libc_lstat //go:linkname procMadvise libc_madvise //go:linkname procMkdir libc_mkdir @@ -371,7 +371,7 @@ var ( procKill, procLchown, procLink, - proc__xnet_llisten, + proc__xnet_listen, procLstat, procMadvise, procMkdir, @@ -1178,7 +1178,7 @@ func Link(path string, link string) (err error) { // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT func Listen(s int, backlog int) (err error) { - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_llisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proc__xnet_listen)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) if e1 != 0 { err = errnoErr(e1) } diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/ztypes_linux.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/ztypes_linux.go index cd236443f64..944e75a11cb 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -632,6 +632,8 @@ const ( IFA_FLAGS = 0x8 IFA_RT_PRIORITY = 0x9 IFA_TARGET_NETNSID = 0xa + IFAL_LABEL = 0x2 + IFAL_ADDRESS = 0x1 RT_SCOPE_UNIVERSE = 0x0 RT_SCOPE_SITE = 0xc8 RT_SCOPE_LINK = 0xfd @@ -689,6 +691,7 @@ const ( SizeofRtAttr = 0x4 SizeofIfInfomsg = 0x10 SizeofIfAddrmsg = 0x8 + SizeofIfAddrlblmsg = 0xc SizeofIfaCacheinfo = 0x10 SizeofRtMsg = 0xc SizeofRtNexthop = 0x8 @@ -740,6 +743,15 @@ type IfAddrmsg struct { Index uint32 } +type IfAddrlblmsg struct { + Family uint8 + _ uint8 + Prefixlen uint8 + Flags uint8 + Index uint32 + Seq uint32 +} + type IfaCacheinfo struct { Prefered uint32 Valid uint32 @@ -3052,6 +3064,23 @@ const ( ) const ( + TCA_UNSPEC = 0x0 + TCA_KIND = 0x1 + TCA_OPTIONS = 0x2 + TCA_STATS = 0x3 + TCA_XSTATS = 0x4 + TCA_RATE = 0x5 + TCA_FCNT = 0x6 + TCA_STATS2 = 0x7 + TCA_STAB = 0x8 + TCA_PAD = 0x9 + TCA_DUMP_INVISIBLE = 0xa + TCA_CHAIN = 0xb + TCA_HW_OFFLOAD = 0xc + TCA_INGRESS_BLOCK = 0xd + TCA_EGRESS_BLOCK = 0xe + TCA_DUMP_FLAGS = 0xf + TCA_EXT_WARN_MSG = 0x10 RTNLGRP_NONE = 0x0 RTNLGRP_LINK = 0x1 RTNLGRP_NOTIFY = 0x2 @@ -3086,6 +3115,18 @@ const ( RTNLGRP_IPV6_MROUTE_R = 0x1f RTNLGRP_NEXTHOP = 0x20 RTNLGRP_BRVLAN = 0x21 + RTNLGRP_MCTP_IFADDR = 0x22 + RTNLGRP_TUNNEL = 0x23 + RTNLGRP_STATS = 0x24 + RTNLGRP_IPV4_MCADDR = 0x25 + RTNLGRP_IPV6_MCADDR = 0x26 + RTNLGRP_IPV6_ACADDR = 0x27 + TCA_ROOT_UNSPEC = 0x0 + TCA_ROOT_TAB = 0x1 + TCA_ROOT_FLAGS = 0x2 + TCA_ROOT_COUNT = 0x3 + TCA_ROOT_TIME_DELTA = 0x4 + TCA_ROOT_EXT_WARN_MSG = 0x5 ) type CapUserHeader struct { diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go index fc1835d8a23..bc1ce4360b6 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/registry/zsyscall_windows.go @@ -52,7 +52,7 @@ var ( ) func regConnectRegistry(machinename *uint16, key syscall.Handle, result *syscall.Handle) (regerrno error) { - r0, _, _ := syscall.Syscall(procRegConnectRegistryW.Addr(), 3, uintptr(unsafe.Pointer(machinename)), uintptr(key), uintptr(unsafe.Pointer(result))) + r0, _, _ := syscall.SyscallN(procRegConnectRegistryW.Addr(), uintptr(unsafe.Pointer(machinename)), uintptr(key), uintptr(unsafe.Pointer(result))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -60,7 +60,7 @@ func regConnectRegistry(machinename *uint16, key syscall.Handle, result *syscall } func regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class *uint16, options uint32, desired uint32, sa *syscall.SecurityAttributes, result *syscall.Handle, disposition *uint32) (regerrno error) { - r0, _, _ := syscall.Syscall9(procRegCreateKeyExW.Addr(), 9, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(reserved), uintptr(unsafe.Pointer(class)), uintptr(options), uintptr(desired), uintptr(unsafe.Pointer(sa)), uintptr(unsafe.Pointer(result)), uintptr(unsafe.Pointer(disposition))) + r0, _, _ := syscall.SyscallN(procRegCreateKeyExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(reserved), uintptr(unsafe.Pointer(class)), uintptr(options), uintptr(desired), uintptr(unsafe.Pointer(sa)), uintptr(unsafe.Pointer(result)), uintptr(unsafe.Pointer(disposition))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -68,7 +68,7 @@ func regCreateKeyEx(key syscall.Handle, subkey *uint16, reserved uint32, class * } func regDeleteKey(key syscall.Handle, subkey *uint16) (regerrno error) { - r0, _, _ := syscall.Syscall(procRegDeleteKeyW.Addr(), 2, uintptr(key), uintptr(unsafe.Pointer(subkey)), 0) + r0, _, _ := syscall.SyscallN(procRegDeleteKeyW.Addr(), uintptr(key), uintptr(unsafe.Pointer(subkey))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -76,7 +76,7 @@ func regDeleteKey(key syscall.Handle, subkey *uint16) (regerrno error) { } func regDeleteValue(key syscall.Handle, name *uint16) (regerrno error) { - r0, _, _ := syscall.Syscall(procRegDeleteValueW.Addr(), 2, uintptr(key), uintptr(unsafe.Pointer(name)), 0) + r0, _, _ := syscall.SyscallN(procRegDeleteValueW.Addr(), uintptr(key), uintptr(unsafe.Pointer(name))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -84,7 +84,7 @@ func regDeleteValue(key syscall.Handle, name *uint16) (regerrno error) { } func regEnumValue(key syscall.Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { - r0, _, _ := syscall.Syscall9(procRegEnumValueW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen)), 0) + r0, _, _ := syscall.SyscallN(procRegEnumValueW.Addr(), uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -92,7 +92,7 @@ func regEnumValue(key syscall.Handle, index uint32, name *uint16, nameLen *uint3 } func regLoadMUIString(key syscall.Handle, name *uint16, buf *uint16, buflen uint32, buflenCopied *uint32, flags uint32, dir *uint16) (regerrno error) { - r0, _, _ := syscall.Syscall9(procRegLoadMUIStringW.Addr(), 7, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(unsafe.Pointer(buflenCopied)), uintptr(flags), uintptr(unsafe.Pointer(dir)), 0, 0) + r0, _, _ := syscall.SyscallN(procRegLoadMUIStringW.Addr(), uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(unsafe.Pointer(buflenCopied)), uintptr(flags), uintptr(unsafe.Pointer(dir))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -100,7 +100,7 @@ func regLoadMUIString(key syscall.Handle, name *uint16, buf *uint16, buflen uint } func regSetValueEx(key syscall.Handle, valueName *uint16, reserved uint32, vtype uint32, buf *byte, bufsize uint32) (regerrno error) { - r0, _, _ := syscall.Syscall6(procRegSetValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(valueName)), uintptr(reserved), uintptr(vtype), uintptr(unsafe.Pointer(buf)), uintptr(bufsize)) + r0, _, _ := syscall.SyscallN(procRegSetValueExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(valueName)), uintptr(reserved), uintptr(vtype), uintptr(unsafe.Pointer(buf)), uintptr(bufsize)) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -108,7 +108,7 @@ func regSetValueEx(key syscall.Handle, valueName *uint16, reserved uint32, vtype } func expandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) + r0, _, e1 := syscall.SyscallN(procExpandEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/types_windows.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/types_windows.go index 958bcf47a38..993a2297dbe 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/types_windows.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/types_windows.go @@ -1976,6 +1976,12 @@ const ( SYMBOLIC_LINK_FLAG_DIRECTORY = 0x1 ) +// FILE_ZERO_DATA_INFORMATION from winioctl.h +type FileZeroDataInformation struct { + FileOffset int64 + BeyondFinalZero int64 +} + const ( ComputerNameNetBIOS = 0 ComputerNameDnsHostname = 1 diff --git a/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/zsyscall_windows.go index a58bc48b8ed..641a5f4b775 100644 --- a/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/cluster-api/providers/azure/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -546,25 +546,25 @@ var ( ) func cm_Get_DevNode_Status(status *uint32, problemNumber *uint32, devInst DEVINST, flags uint32) (ret CONFIGRET) { - r0, _, _ := syscall.Syscall6(procCM_Get_DevNode_Status.Addr(), 4, uintptr(unsafe.Pointer(status)), uintptr(unsafe.Pointer(problemNumber)), uintptr(devInst), uintptr(flags), 0, 0) + r0, _, _ := syscall.SyscallN(procCM_Get_DevNode_Status.Addr(), uintptr(unsafe.Pointer(status)), uintptr(unsafe.Pointer(problemNumber)), uintptr(devInst), uintptr(flags)) ret = CONFIGRET(r0) return } func cm_Get_Device_Interface_List(interfaceClass *GUID, deviceID *uint16, buffer *uint16, bufferLen uint32, flags uint32) (ret CONFIGRET) { - r0, _, _ := syscall.Syscall6(procCM_Get_Device_Interface_ListW.Addr(), 5, uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(unsafe.Pointer(buffer)), uintptr(bufferLen), uintptr(flags), 0) + r0, _, _ := syscall.SyscallN(procCM_Get_Device_Interface_ListW.Addr(), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(unsafe.Pointer(buffer)), uintptr(bufferLen), uintptr(flags)) ret = CONFIGRET(r0) return } func cm_Get_Device_Interface_List_Size(len *uint32, interfaceClass *GUID, deviceID *uint16, flags uint32) (ret CONFIGRET) { - r0, _, _ := syscall.Syscall6(procCM_Get_Device_Interface_List_SizeW.Addr(), 4, uintptr(unsafe.Pointer(len)), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(flags), 0, 0) + r0, _, _ := syscall.SyscallN(procCM_Get_Device_Interface_List_SizeW.Addr(), uintptr(unsafe.Pointer(len)), uintptr(unsafe.Pointer(interfaceClass)), uintptr(unsafe.Pointer(deviceID)), uintptr(flags)) ret = CONFIGRET(r0) return } func cm_MapCrToWin32Err(configRet CONFIGRET, defaultWin32Error Errno) (ret Errno) { - r0, _, _ := syscall.Syscall(procCM_MapCrToWin32Err.Addr(), 2, uintptr(configRet), uintptr(defaultWin32Error), 0) + r0, _, _ := syscall.SyscallN(procCM_MapCrToWin32Err.Addr(), uintptr(configRet), uintptr(defaultWin32Error)) ret = Errno(r0) return } @@ -574,7 +574,7 @@ func AdjustTokenGroups(token Token, resetToDefault bool, newstate *Tokengroups, if resetToDefault { _p0 = 1 } - r1, _, e1 := syscall.Syscall6(procAdjustTokenGroups.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + r1, _, e1 := syscall.SyscallN(procAdjustTokenGroups.Addr(), uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) if r1 == 0 { err = errnoErr(e1) } @@ -586,7 +586,7 @@ func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tok if disableAllPrivileges { _p0 = 1 } - r1, _, e1 := syscall.Syscall6(procAdjustTokenPrivileges.Addr(), 6, uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) + r1, _, e1 := syscall.SyscallN(procAdjustTokenPrivileges.Addr(), uintptr(token), uintptr(_p0), uintptr(unsafe.Pointer(newstate)), uintptr(buflen), uintptr(unsafe.Pointer(prevstate)), uintptr(unsafe.Pointer(returnlen))) if r1 == 0 { err = errnoErr(e1) } @@ -594,7 +594,7 @@ func AdjustTokenPrivileges(token Token, disableAllPrivileges bool, newstate *Tok } func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, subAuth0 uint32, subAuth1 uint32, subAuth2 uint32, subAuth3 uint32, subAuth4 uint32, subAuth5 uint32, subAuth6 uint32, subAuth7 uint32, sid **SID) (err error) { - r1, _, e1 := syscall.Syscall12(procAllocateAndInitializeSid.Addr(), 11, uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid)), 0) + r1, _, e1 := syscall.SyscallN(procAllocateAndInitializeSid.Addr(), uintptr(unsafe.Pointer(identAuth)), uintptr(subAuth), uintptr(subAuth0), uintptr(subAuth1), uintptr(subAuth2), uintptr(subAuth3), uintptr(subAuth4), uintptr(subAuth5), uintptr(subAuth6), uintptr(subAuth7), uintptr(unsafe.Pointer(sid))) if r1 == 0 { err = errnoErr(e1) } @@ -602,7 +602,7 @@ func AllocateAndInitializeSid(identAuth *SidIdentifierAuthority, subAuth byte, s } func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries uint32, accessEntries *EXPLICIT_ACCESS, countAuditEntries uint32, auditEntries *EXPLICIT_ACCESS, oldSecurityDescriptor *SECURITY_DESCRIPTOR, sizeNewSecurityDescriptor *uint32, newSecurityDescriptor **SECURITY_DESCRIPTOR) (ret error) { - r0, _, _ := syscall.Syscall9(procBuildSecurityDescriptorW.Addr(), 9, uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) + r0, _, _ := syscall.SyscallN(procBuildSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(countAccessEntries), uintptr(unsafe.Pointer(accessEntries)), uintptr(countAuditEntries), uintptr(unsafe.Pointer(auditEntries)), uintptr(unsafe.Pointer(oldSecurityDescriptor)), uintptr(unsafe.Pointer(sizeNewSecurityDescriptor)), uintptr(unsafe.Pointer(newSecurityDescriptor))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -610,7 +610,7 @@ func buildSecurityDescriptor(owner *TRUSTEE, group *TRUSTEE, countAccessEntries } func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err error) { - r1, _, e1 := syscall.Syscall(procChangeServiceConfig2W.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) + r1, _, e1 := syscall.SyscallN(procChangeServiceConfig2W.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(info))) if r1 == 0 { err = errnoErr(e1) } @@ -618,7 +618,7 @@ func ChangeServiceConfig2(service Handle, infoLevel uint32, info *byte) (err err } func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, errorControl uint32, binaryPathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16, displayName *uint16) (err error) { - r1, _, e1 := syscall.Syscall12(procChangeServiceConfigW.Addr(), 11, uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName)), 0) + r1, _, e1 := syscall.SyscallN(procChangeServiceConfigW.Addr(), uintptr(service), uintptr(serviceType), uintptr(startType), uintptr(errorControl), uintptr(unsafe.Pointer(binaryPathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), uintptr(unsafe.Pointer(displayName))) if r1 == 0 { err = errnoErr(e1) } @@ -626,7 +626,7 @@ func ChangeServiceConfig(service Handle, serviceType uint32, startType uint32, e } func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) (err error) { - r1, _, e1 := syscall.Syscall(procCheckTokenMembership.Addr(), 3, uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) + r1, _, e1 := syscall.SyscallN(procCheckTokenMembership.Addr(), uintptr(tokenHandle), uintptr(unsafe.Pointer(sidToCheck)), uintptr(unsafe.Pointer(isMember))) if r1 == 0 { err = errnoErr(e1) } @@ -634,7 +634,7 @@ func checkTokenMembership(tokenHandle Token, sidToCheck *SID, isMember *int32) ( } func CloseServiceHandle(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procCloseServiceHandle.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procCloseServiceHandle.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -642,7 +642,7 @@ func CloseServiceHandle(handle Handle) (err error) { } func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err error) { - r1, _, e1 := syscall.Syscall(procControlService.Addr(), 3, uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) + r1, _, e1 := syscall.SyscallN(procControlService.Addr(), uintptr(service), uintptr(control), uintptr(unsafe.Pointer(status))) if r1 == 0 { err = errnoErr(e1) } @@ -650,7 +650,7 @@ func ControlService(service Handle, control uint32, status *SERVICE_STATUS) (err } func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR, revision uint32, securityInformation SECURITY_INFORMATION, str **uint16, strLen *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), 5, uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen)), 0) + r1, _, e1 := syscall.SyscallN(procConvertSecurityDescriptorToStringSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(revision), uintptr(securityInformation), uintptr(unsafe.Pointer(str)), uintptr(unsafe.Pointer(strLen))) if r1 == 0 { err = errnoErr(e1) } @@ -658,7 +658,7 @@ func convertSecurityDescriptorToStringSecurityDescriptor(sd *SECURITY_DESCRIPTOR } func ConvertSidToStringSid(sid *SID, stringSid **uint16) (err error) { - r1, _, e1 := syscall.Syscall(procConvertSidToStringSidW.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid)), 0) + r1, _, e1 := syscall.SyscallN(procConvertSidToStringSidW.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(stringSid))) if r1 == 0 { err = errnoErr(e1) } @@ -675,7 +675,7 @@ func convertStringSecurityDescriptorToSecurityDescriptor(str string, revision ui } func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision uint32, sd **SECURITY_DESCRIPTOR, size *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), 4, uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size)), 0, 0) + r1, _, e1 := syscall.SyscallN(procConvertStringSecurityDescriptorToSecurityDescriptorW.Addr(), uintptr(unsafe.Pointer(str)), uintptr(revision), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(size))) if r1 == 0 { err = errnoErr(e1) } @@ -683,7 +683,7 @@ func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, revision } func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { - r1, _, e1 := syscall.Syscall(procConvertStringSidToSidW.Addr(), 2, uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid)), 0) + r1, _, e1 := syscall.SyscallN(procConvertStringSidToSidW.Addr(), uintptr(unsafe.Pointer(stringSid)), uintptr(unsafe.Pointer(sid))) if r1 == 0 { err = errnoErr(e1) } @@ -691,7 +691,7 @@ func ConvertStringSidToSid(stringSid *uint16, sid **SID) (err error) { } func CopySid(destSidLen uint32, destSid *SID, srcSid *SID) (err error) { - r1, _, e1 := syscall.Syscall(procCopySid.Addr(), 3, uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) + r1, _, e1 := syscall.SyscallN(procCopySid.Addr(), uintptr(destSidLen), uintptr(unsafe.Pointer(destSid)), uintptr(unsafe.Pointer(srcSid))) if r1 == 0 { err = errnoErr(e1) } @@ -703,7 +703,7 @@ func CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, proc if inheritHandles { _p0 = 1 } - r1, _, e1 := syscall.Syscall12(procCreateProcessAsUserW.Addr(), 11, uintptr(token), uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0) + r1, _, e1 := syscall.SyscallN(procCreateProcessAsUserW.Addr(), uintptr(token), uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo))) if r1 == 0 { err = errnoErr(e1) } @@ -711,7 +711,7 @@ func CreateProcessAsUser(token Token, appName *uint16, commandLine *uint16, proc } func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access uint32, srvType uint32, startType uint32, errCtl uint32, pathName *uint16, loadOrderGroup *uint16, tagId *uint32, dependencies *uint16, serviceStartName *uint16, password *uint16) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall15(procCreateServiceW.Addr(), 13, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password)), 0, 0) + r0, _, e1 := syscall.SyscallN(procCreateServiceW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(unsafe.Pointer(displayName)), uintptr(access), uintptr(srvType), uintptr(startType), uintptr(errCtl), uintptr(unsafe.Pointer(pathName)), uintptr(unsafe.Pointer(loadOrderGroup)), uintptr(unsafe.Pointer(tagId)), uintptr(unsafe.Pointer(dependencies)), uintptr(unsafe.Pointer(serviceStartName)), uintptr(unsafe.Pointer(password))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -720,7 +720,7 @@ func CreateService(mgr Handle, serviceName *uint16, displayName *uint16, access } func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, sizeSid *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procCreateWellKnownSid.Addr(), 4, uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCreateWellKnownSid.Addr(), uintptr(sidType), uintptr(unsafe.Pointer(domainSid)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sizeSid))) if r1 == 0 { err = errnoErr(e1) } @@ -728,7 +728,7 @@ func createWellKnownSid(sidType WELL_KNOWN_SID_TYPE, domainSid *SID, sid *SID, s } func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16, provtype uint32, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procCryptAcquireContextW.Addr(), 5, uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags), 0) + r1, _, e1 := syscall.SyscallN(procCryptAcquireContextW.Addr(), uintptr(unsafe.Pointer(provhandle)), uintptr(unsafe.Pointer(container)), uintptr(unsafe.Pointer(provider)), uintptr(provtype), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -736,7 +736,7 @@ func CryptAcquireContext(provhandle *Handle, container *uint16, provider *uint16 } func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { - r1, _, e1 := syscall.Syscall(procCryptGenRandom.Addr(), 3, uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) + r1, _, e1 := syscall.SyscallN(procCryptGenRandom.Addr(), uintptr(provhandle), uintptr(buflen), uintptr(unsafe.Pointer(buf))) if r1 == 0 { err = errnoErr(e1) } @@ -744,7 +744,7 @@ func CryptGenRandom(provhandle Handle, buflen uint32, buf *byte) (err error) { } func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procCryptReleaseContext.Addr(), 2, uintptr(provhandle), uintptr(flags), 0) + r1, _, e1 := syscall.SyscallN(procCryptReleaseContext.Addr(), uintptr(provhandle), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -752,7 +752,7 @@ func CryptReleaseContext(provhandle Handle, flags uint32) (err error) { } func DeleteService(service Handle) (err error) { - r1, _, e1 := syscall.Syscall(procDeleteService.Addr(), 1, uintptr(service), 0, 0) + r1, _, e1 := syscall.SyscallN(procDeleteService.Addr(), uintptr(service)) if r1 == 0 { err = errnoErr(e1) } @@ -760,7 +760,7 @@ func DeleteService(service Handle) (err error) { } func DeregisterEventSource(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procDeregisterEventSource.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procDeregisterEventSource.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -768,7 +768,7 @@ func DeregisterEventSource(handle Handle) (err error) { } func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes *SecurityAttributes, impersonationLevel uint32, tokenType uint32, newToken *Token) (err error) { - r1, _, e1 := syscall.Syscall6(procDuplicateTokenEx.Addr(), 6, uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) + r1, _, e1 := syscall.SyscallN(procDuplicateTokenEx.Addr(), uintptr(existingToken), uintptr(desiredAccess), uintptr(unsafe.Pointer(tokenAttributes)), uintptr(impersonationLevel), uintptr(tokenType), uintptr(unsafe.Pointer(newToken))) if r1 == 0 { err = errnoErr(e1) } @@ -776,7 +776,7 @@ func DuplicateTokenEx(existingToken Token, desiredAccess uint32, tokenAttributes } func EnumDependentServices(service Handle, activityState uint32, services *ENUM_SERVICE_STATUS, buffSize uint32, bytesNeeded *uint32, servicesReturned *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procEnumDependentServicesW.Addr(), 6, uintptr(service), uintptr(activityState), uintptr(unsafe.Pointer(services)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned))) + r1, _, e1 := syscall.SyscallN(procEnumDependentServicesW.Addr(), uintptr(service), uintptr(activityState), uintptr(unsafe.Pointer(services)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned))) if r1 == 0 { err = errnoErr(e1) } @@ -784,7 +784,7 @@ func EnumDependentServices(service Handle, activityState uint32, services *ENUM_ } func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serviceState uint32, services *byte, bufSize uint32, bytesNeeded *uint32, servicesReturned *uint32, resumeHandle *uint32, groupName *uint16) (err error) { - r1, _, e1 := syscall.Syscall12(procEnumServicesStatusExW.Addr(), 10, uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName)), 0, 0) + r1, _, e1 := syscall.SyscallN(procEnumServicesStatusExW.Addr(), uintptr(mgr), uintptr(infoLevel), uintptr(serviceType), uintptr(serviceState), uintptr(unsafe.Pointer(services)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), uintptr(unsafe.Pointer(servicesReturned)), uintptr(unsafe.Pointer(resumeHandle)), uintptr(unsafe.Pointer(groupName))) if r1 == 0 { err = errnoErr(e1) } @@ -792,13 +792,13 @@ func EnumServicesStatusEx(mgr Handle, infoLevel uint32, serviceType uint32, serv } func EqualSid(sid1 *SID, sid2 *SID) (isEqual bool) { - r0, _, _ := syscall.Syscall(procEqualSid.Addr(), 2, uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2)), 0) + r0, _, _ := syscall.SyscallN(procEqualSid.Addr(), uintptr(unsafe.Pointer(sid1)), uintptr(unsafe.Pointer(sid2))) isEqual = r0 != 0 return } func FreeSid(sid *SID) (err error) { - r1, _, e1 := syscall.Syscall(procFreeSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + r1, _, e1 := syscall.SyscallN(procFreeSid.Addr(), uintptr(unsafe.Pointer(sid))) if r1 != 0 { err = errnoErr(e1) } @@ -806,7 +806,7 @@ func FreeSid(sid *SID) (err error) { } func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) { - r1, _, e1 := syscall.Syscall(procGetAce.Addr(), 3, uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) + r1, _, e1 := syscall.SyscallN(procGetAce.Addr(), uintptr(unsafe.Pointer(acl)), uintptr(aceIndex), uintptr(unsafe.Pointer(pAce))) if r1 == 0 { err = errnoErr(e1) } @@ -814,7 +814,7 @@ func GetAce(acl *ACL, aceIndex uint32, pAce **ACCESS_ALLOWED_ACE) (err error) { } func GetLengthSid(sid *SID) (len uint32) { - r0, _, _ := syscall.Syscall(procGetLengthSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetLengthSid.Addr(), uintptr(unsafe.Pointer(sid))) len = uint32(r0) return } @@ -829,7 +829,7 @@ func getNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, security } func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { - r0, _, _ := syscall.Syscall9(procGetNamedSecurityInfoW.Addr(), 8, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) + r0, _, _ := syscall.SyscallN(procGetNamedSecurityInfoW.Addr(), uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -837,7 +837,7 @@ func _getNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securi } func getSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, control *SECURITY_DESCRIPTOR_CONTROL, revision *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) + r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(control)), uintptr(unsafe.Pointer(revision))) if r1 == 0 { err = errnoErr(e1) } @@ -853,7 +853,7 @@ func getSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent *bool, dacl if *daclDefaulted { _p1 = 1 } - r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorDacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(&_p1))) *daclPresent = _p0 != 0 *daclDefaulted = _p1 != 0 if r1 == 0 { @@ -867,7 +867,7 @@ func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefau if *groupDefaulted { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) + r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorGroup.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(&_p0))) *groupDefaulted = _p0 != 0 if r1 == 0 { err = errnoErr(e1) @@ -876,7 +876,7 @@ func getSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group **SID, groupDefau } func getSecurityDescriptorLength(sd *SECURITY_DESCRIPTOR) (len uint32) { - r0, _, _ := syscall.Syscall(procGetSecurityDescriptorLength.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetSecurityDescriptorLength.Addr(), uintptr(unsafe.Pointer(sd))) len = uint32(r0) return } @@ -886,7 +886,7 @@ func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefau if *ownerDefaulted { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procGetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) + r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorOwner.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(&_p0))) *ownerDefaulted = _p0 != 0 if r1 == 0 { err = errnoErr(e1) @@ -895,7 +895,7 @@ func getSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner **SID, ownerDefau } func getSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) (ret error) { - r0, _, _ := syscall.Syscall(procGetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) + r0, _, _ := syscall.SyscallN(procGetSecurityDescriptorRMControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -911,7 +911,7 @@ func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl if *saclDefaulted { _p1 = 1 } - r1, _, e1 := syscall.Syscall6(procGetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetSecurityDescriptorSacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(&_p0)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(&_p1))) *saclPresent = _p0 != 0 *saclDefaulted = _p1 != 0 if r1 == 0 { @@ -921,7 +921,7 @@ func getSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent *bool, sacl } func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner **SID, group **SID, dacl **ACL, sacl **ACL, sd **SECURITY_DESCRIPTOR) (ret error) { - r0, _, _ := syscall.Syscall9(procGetSecurityInfo.Addr(), 8, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd)), 0) + r0, _, _ := syscall.SyscallN(procGetSecurityInfo.Addr(), uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(sd))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -929,25 +929,25 @@ func getSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformati } func getSidIdentifierAuthority(sid *SID) (authority *SidIdentifierAuthority) { - r0, _, _ := syscall.Syscall(procGetSidIdentifierAuthority.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetSidIdentifierAuthority.Addr(), uintptr(unsafe.Pointer(sid))) authority = (*SidIdentifierAuthority)(unsafe.Pointer(r0)) return } func getSidSubAuthority(sid *SID, index uint32) (subAuthority *uint32) { - r0, _, _ := syscall.Syscall(procGetSidSubAuthority.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(index), 0) + r0, _, _ := syscall.SyscallN(procGetSidSubAuthority.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(index)) subAuthority = (*uint32)(unsafe.Pointer(r0)) return } func getSidSubAuthorityCount(sid *SID) (count *uint8) { - r0, _, _ := syscall.Syscall(procGetSidSubAuthorityCount.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetSidSubAuthorityCount.Addr(), uintptr(unsafe.Pointer(sid))) count = (*uint8)(unsafe.Pointer(r0)) return } func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetTokenInformation.Addr(), 5, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen)), 0) + r1, _, e1 := syscall.SyscallN(procGetTokenInformation.Addr(), uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), uintptr(unsafe.Pointer(returnedLen))) if r1 == 0 { err = errnoErr(e1) } @@ -955,7 +955,7 @@ func GetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint } func ImpersonateSelf(impersonationlevel uint32) (err error) { - r1, _, e1 := syscall.Syscall(procImpersonateSelf.Addr(), 1, uintptr(impersonationlevel), 0, 0) + r1, _, e1 := syscall.SyscallN(procImpersonateSelf.Addr(), uintptr(impersonationlevel)) if r1 == 0 { err = errnoErr(e1) } @@ -963,7 +963,7 @@ func ImpersonateSelf(impersonationlevel uint32) (err error) { } func initializeSecurityDescriptor(absoluteSD *SECURITY_DESCRIPTOR, revision uint32) (err error) { - r1, _, e1 := syscall.Syscall(procInitializeSecurityDescriptor.Addr(), 2, uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision), 0) + r1, _, e1 := syscall.SyscallN(procInitializeSecurityDescriptor.Addr(), uintptr(unsafe.Pointer(absoluteSD)), uintptr(revision)) if r1 == 0 { err = errnoErr(e1) } @@ -979,7 +979,7 @@ func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint if rebootAfterShutdown { _p1 = 1 } - r1, _, e1 := syscall.Syscall6(procInitiateSystemShutdownExW.Addr(), 6, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) + r1, _, e1 := syscall.SyscallN(procInitiateSystemShutdownExW.Addr(), uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(message)), uintptr(timeout), uintptr(_p0), uintptr(_p1), uintptr(reason)) if r1 == 0 { err = errnoErr(e1) } @@ -987,7 +987,7 @@ func InitiateSystemShutdownEx(machineName *uint16, message *uint16, timeout uint } func isTokenRestricted(tokenHandle Token) (ret bool, err error) { - r0, _, e1 := syscall.Syscall(procIsTokenRestricted.Addr(), 1, uintptr(tokenHandle), 0, 0) + r0, _, e1 := syscall.SyscallN(procIsTokenRestricted.Addr(), uintptr(tokenHandle)) ret = r0 != 0 if !ret { err = errnoErr(e1) @@ -996,25 +996,25 @@ func isTokenRestricted(tokenHandle Token) (ret bool, err error) { } func isValidSecurityDescriptor(sd *SECURITY_DESCRIPTOR) (isValid bool) { - r0, _, _ := syscall.Syscall(procIsValidSecurityDescriptor.Addr(), 1, uintptr(unsafe.Pointer(sd)), 0, 0) + r0, _, _ := syscall.SyscallN(procIsValidSecurityDescriptor.Addr(), uintptr(unsafe.Pointer(sd))) isValid = r0 != 0 return } func isValidSid(sid *SID) (isValid bool) { - r0, _, _ := syscall.Syscall(procIsValidSid.Addr(), 1, uintptr(unsafe.Pointer(sid)), 0, 0) + r0, _, _ := syscall.SyscallN(procIsValidSid.Addr(), uintptr(unsafe.Pointer(sid))) isValid = r0 != 0 return } func isWellKnownSid(sid *SID, sidType WELL_KNOWN_SID_TYPE) (isWellKnown bool) { - r0, _, _ := syscall.Syscall(procIsWellKnownSid.Addr(), 2, uintptr(unsafe.Pointer(sid)), uintptr(sidType), 0) + r0, _, _ := syscall.SyscallN(procIsWellKnownSid.Addr(), uintptr(unsafe.Pointer(sid)), uintptr(sidType)) isWellKnown = r0 != 0 return } func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procLookupAccountNameW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) + r1, _, e1 := syscall.SyscallN(procLookupAccountNameW.Addr(), uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(accountName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(sidLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use))) if r1 == 0 { err = errnoErr(e1) } @@ -1022,7 +1022,7 @@ func LookupAccountName(systemName *uint16, accountName *uint16, sid *SID, sidLen } func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint32, refdDomainName *uint16, refdDomainNameLen *uint32, use *uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procLookupAccountSidW.Addr(), 7, uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use)), 0, 0) + r1, _, e1 := syscall.SyscallN(procLookupAccountSidW.Addr(), uintptr(unsafe.Pointer(systemName)), uintptr(unsafe.Pointer(sid)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(refdDomainName)), uintptr(unsafe.Pointer(refdDomainNameLen)), uintptr(unsafe.Pointer(use))) if r1 == 0 { err = errnoErr(e1) } @@ -1030,7 +1030,7 @@ func LookupAccountSid(systemName *uint16, sid *SID, name *uint16, nameLen *uint3 } func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err error) { - r1, _, e1 := syscall.Syscall(procLookupPrivilegeValueW.Addr(), 3, uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) + r1, _, e1 := syscall.SyscallN(procLookupPrivilegeValueW.Addr(), uintptr(unsafe.Pointer(systemname)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(luid))) if r1 == 0 { err = errnoErr(e1) } @@ -1038,7 +1038,7 @@ func LookupPrivilegeValue(systemname *uint16, name *uint16, luid *LUID) (err err } func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DESCRIPTOR, absoluteSDSize *uint32, dacl *ACL, daclSize *uint32, sacl *ACL, saclSize *uint32, owner *SID, ownerSize *uint32, group *SID, groupSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall12(procMakeAbsoluteSD.Addr(), 11, uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize)), 0) + r1, _, e1 := syscall.SyscallN(procMakeAbsoluteSD.Addr(), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(absoluteSDSize)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(daclSize)), uintptr(unsafe.Pointer(sacl)), uintptr(unsafe.Pointer(saclSize)), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(ownerSize)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(groupSize))) if r1 == 0 { err = errnoErr(e1) } @@ -1046,7 +1046,7 @@ func makeAbsoluteSD(selfRelativeSD *SECURITY_DESCRIPTOR, absoluteSD *SECURITY_DE } func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURITY_DESCRIPTOR, selfRelativeSDSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procMakeSelfRelativeSD.Addr(), 3, uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) + r1, _, e1 := syscall.SyscallN(procMakeSelfRelativeSD.Addr(), uintptr(unsafe.Pointer(absoluteSD)), uintptr(unsafe.Pointer(selfRelativeSD)), uintptr(unsafe.Pointer(selfRelativeSDSize))) if r1 == 0 { err = errnoErr(e1) } @@ -1054,7 +1054,7 @@ func makeSelfRelativeSD(absoluteSD *SECURITY_DESCRIPTOR, selfRelativeSD *SECURIT } func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERVICE_NOTIFY) (ret error) { - r0, _, _ := syscall.Syscall(procNotifyServiceStatusChangeW.Addr(), 3, uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) + r0, _, _ := syscall.SyscallN(procNotifyServiceStatusChangeW.Addr(), uintptr(service), uintptr(notifyMask), uintptr(unsafe.Pointer(notifier))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -1062,7 +1062,7 @@ func NotifyServiceStatusChange(service Handle, notifyMask uint32, notifier *SERV } func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { - r1, _, e1 := syscall.Syscall(procOpenProcessToken.Addr(), 3, uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) + r1, _, e1 := syscall.SyscallN(procOpenProcessToken.Addr(), uintptr(process), uintptr(access), uintptr(unsafe.Pointer(token))) if r1 == 0 { err = errnoErr(e1) } @@ -1070,7 +1070,7 @@ func OpenProcessToken(process Handle, access uint32, token *Token) (err error) { } func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procOpenSCManagerW.Addr(), 3, uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) + r0, _, e1 := syscall.SyscallN(procOpenSCManagerW.Addr(), uintptr(unsafe.Pointer(machineName)), uintptr(unsafe.Pointer(databaseName)), uintptr(access)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1079,7 +1079,7 @@ func OpenSCManager(machineName *uint16, databaseName *uint16, access uint32) (ha } func OpenService(mgr Handle, serviceName *uint16, access uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procOpenServiceW.Addr(), 3, uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) + r0, _, e1 := syscall.SyscallN(procOpenServiceW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(serviceName)), uintptr(access)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1092,7 +1092,7 @@ func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token if openAsSelf { _p0 = 1 } - r1, _, e1 := syscall.Syscall6(procOpenThreadToken.Addr(), 4, uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token)), 0, 0) + r1, _, e1 := syscall.SyscallN(procOpenThreadToken.Addr(), uintptr(thread), uintptr(access), uintptr(_p0), uintptr(unsafe.Pointer(token))) if r1 == 0 { err = errnoErr(e1) } @@ -1100,7 +1100,7 @@ func OpenThreadToken(thread Handle, access uint32, openAsSelf bool, token *Token } func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procQueryServiceConfig2W.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + r1, _, e1 := syscall.SyscallN(procQueryServiceConfig2W.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded))) if r1 == 0 { err = errnoErr(e1) } @@ -1108,7 +1108,7 @@ func QueryServiceConfig2(service Handle, infoLevel uint32, buff *byte, buffSize } func QueryServiceConfig(service Handle, serviceConfig *QUERY_SERVICE_CONFIG, bufSize uint32, bytesNeeded *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procQueryServiceConfigW.Addr(), 4, uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) + r1, _, e1 := syscall.SyscallN(procQueryServiceConfigW.Addr(), uintptr(service), uintptr(unsafe.Pointer(serviceConfig)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded))) if r1 == 0 { err = errnoErr(e1) } @@ -1120,7 +1120,7 @@ func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInf if err != nil { return } - r1, _, e1 := syscall.Syscall(procQueryServiceDynamicInformation.Addr(), 3, uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo)) + r1, _, e1 := syscall.SyscallN(procQueryServiceDynamicInformation.Addr(), uintptr(service), uintptr(infoLevel), uintptr(dynamicInfo)) if r1 == 0 { err = errnoErr(e1) } @@ -1128,7 +1128,7 @@ func QueryServiceDynamicInformation(service Handle, infoLevel uint32, dynamicInf } func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, bufSize uint32, bytesNeeded *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procQueryServiceLockStatusW.Addr(), 4, uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded)), 0, 0) + r1, _, e1 := syscall.SyscallN(procQueryServiceLockStatusW.Addr(), uintptr(mgr), uintptr(unsafe.Pointer(lockStatus)), uintptr(bufSize), uintptr(unsafe.Pointer(bytesNeeded))) if r1 == 0 { err = errnoErr(e1) } @@ -1136,7 +1136,7 @@ func QueryServiceLockStatus(mgr Handle, lockStatus *QUERY_SERVICE_LOCK_STATUS, b } func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { - r1, _, e1 := syscall.Syscall(procQueryServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(status)), 0) + r1, _, e1 := syscall.SyscallN(procQueryServiceStatus.Addr(), uintptr(service), uintptr(unsafe.Pointer(status))) if r1 == 0 { err = errnoErr(e1) } @@ -1144,7 +1144,7 @@ func QueryServiceStatus(service Handle, status *SERVICE_STATUS) (err error) { } func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize uint32, bytesNeeded *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procQueryServiceStatusEx.Addr(), 5, uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded)), 0) + r1, _, e1 := syscall.SyscallN(procQueryServiceStatusEx.Addr(), uintptr(service), uintptr(infoLevel), uintptr(unsafe.Pointer(buff)), uintptr(buffSize), uintptr(unsafe.Pointer(bytesNeeded))) if r1 == 0 { err = errnoErr(e1) } @@ -1152,7 +1152,7 @@ func QueryServiceStatusEx(service Handle, infoLevel uint32, buff *byte, buffSize } func RegCloseKey(key Handle) (regerrno error) { - r0, _, _ := syscall.Syscall(procRegCloseKey.Addr(), 1, uintptr(key), 0, 0) + r0, _, _ := syscall.SyscallN(procRegCloseKey.Addr(), uintptr(key)) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -1160,7 +1160,7 @@ func RegCloseKey(key Handle) (regerrno error) { } func RegEnumKeyEx(key Handle, index uint32, name *uint16, nameLen *uint32, reserved *uint32, class *uint16, classLen *uint32, lastWriteTime *Filetime) (regerrno error) { - r0, _, _ := syscall.Syscall9(procRegEnumKeyExW.Addr(), 8, uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime)), 0) + r0, _, _ := syscall.SyscallN(procRegEnumKeyExW.Addr(), uintptr(key), uintptr(index), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(nameLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(lastWriteTime))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -1176,7 +1176,7 @@ func RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, if asynchronous { _p1 = 1 } - r0, _, _ := syscall.Syscall6(procRegNotifyChangeKeyValue.Addr(), 5, uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1), 0) + r0, _, _ := syscall.SyscallN(procRegNotifyChangeKeyValue.Addr(), uintptr(key), uintptr(_p0), uintptr(notifyFilter), uintptr(event), uintptr(_p1)) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -1184,7 +1184,7 @@ func RegNotifyChangeKeyValue(key Handle, watchSubtree bool, notifyFilter uint32, } func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint32, result *Handle) (regerrno error) { - r0, _, _ := syscall.Syscall6(procRegOpenKeyExW.Addr(), 5, uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result)), 0) + r0, _, _ := syscall.SyscallN(procRegOpenKeyExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(subkey)), uintptr(options), uintptr(desiredAccess), uintptr(unsafe.Pointer(result))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -1192,7 +1192,7 @@ func RegOpenKeyEx(key Handle, subkey *uint16, options uint32, desiredAccess uint } func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint32, subkeysLen *uint32, maxSubkeyLen *uint32, maxClassLen *uint32, valuesLen *uint32, maxValueNameLen *uint32, maxValueLen *uint32, saLen *uint32, lastWriteTime *Filetime) (regerrno error) { - r0, _, _ := syscall.Syscall12(procRegQueryInfoKeyW.Addr(), 12, uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) + r0, _, _ := syscall.SyscallN(procRegQueryInfoKeyW.Addr(), uintptr(key), uintptr(unsafe.Pointer(class)), uintptr(unsafe.Pointer(classLen)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(subkeysLen)), uintptr(unsafe.Pointer(maxSubkeyLen)), uintptr(unsafe.Pointer(maxClassLen)), uintptr(unsafe.Pointer(valuesLen)), uintptr(unsafe.Pointer(maxValueNameLen)), uintptr(unsafe.Pointer(maxValueLen)), uintptr(unsafe.Pointer(saLen)), uintptr(unsafe.Pointer(lastWriteTime))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -1200,7 +1200,7 @@ func RegQueryInfoKey(key Handle, class *uint16, classLen *uint32, reserved *uint } func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32, buf *byte, buflen *uint32) (regerrno error) { - r0, _, _ := syscall.Syscall6(procRegQueryValueExW.Addr(), 6, uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) + r0, _, _ := syscall.SyscallN(procRegQueryValueExW.Addr(), uintptr(key), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(reserved)), uintptr(unsafe.Pointer(valtype)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(buflen))) if r0 != 0 { regerrno = syscall.Errno(r0) } @@ -1208,7 +1208,7 @@ func RegQueryValueEx(key Handle, name *uint16, reserved *uint32, valtype *uint32 } func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procRegisterEventSourceW.Addr(), 2, uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName)), 0) + r0, _, e1 := syscall.SyscallN(procRegisterEventSourceW.Addr(), uintptr(unsafe.Pointer(uncServerName)), uintptr(unsafe.Pointer(sourceName))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1217,7 +1217,7 @@ func RegisterEventSource(uncServerName *uint16, sourceName *uint16) (handle Hand } func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, context uintptr) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procRegisterServiceCtrlHandlerExW.Addr(), 3, uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context)) + r0, _, e1 := syscall.SyscallN(procRegisterServiceCtrlHandlerExW.Addr(), uintptr(unsafe.Pointer(serviceName)), uintptr(handlerProc), uintptr(context)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1226,7 +1226,7 @@ func RegisterServiceCtrlHandlerEx(serviceName *uint16, handlerProc uintptr, cont } func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrSId uintptr, numStrings uint16, dataSize uint32, strings **uint16, rawData *byte) (err error) { - r1, _, e1 := syscall.Syscall9(procReportEventW.Addr(), 9, uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) + r1, _, e1 := syscall.SyscallN(procReportEventW.Addr(), uintptr(log), uintptr(etype), uintptr(category), uintptr(eventId), uintptr(usrSId), uintptr(numStrings), uintptr(dataSize), uintptr(unsafe.Pointer(strings)), uintptr(unsafe.Pointer(rawData))) if r1 == 0 { err = errnoErr(e1) } @@ -1234,7 +1234,7 @@ func ReportEvent(log Handle, etype uint16, category uint16, eventId uint32, usrS } func RevertToSelf() (err error) { - r1, _, e1 := syscall.Syscall(procRevertToSelf.Addr(), 0, 0, 0, 0) + r1, _, e1 := syscall.SyscallN(procRevertToSelf.Addr()) if r1 == 0 { err = errnoErr(e1) } @@ -1242,7 +1242,7 @@ func RevertToSelf() (err error) { } func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCESS, oldACL *ACL, newACL **ACL) (ret error) { - r0, _, _ := syscall.Syscall6(procSetEntriesInAclW.Addr(), 4, uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL)), 0, 0) + r0, _, _ := syscall.SyscallN(procSetEntriesInAclW.Addr(), uintptr(countExplicitEntries), uintptr(unsafe.Pointer(explicitEntries)), uintptr(unsafe.Pointer(oldACL)), uintptr(unsafe.Pointer(newACL))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -1250,7 +1250,7 @@ func setEntriesInAcl(countExplicitEntries uint32, explicitEntries *EXPLICIT_ACCE } func SetKernelObjectSecurity(handle Handle, securityInformation SECURITY_INFORMATION, securityDescriptor *SECURITY_DESCRIPTOR) (err error) { - r1, _, e1 := syscall.Syscall(procSetKernelObjectSecurity.Addr(), 3, uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) + r1, _, e1 := syscall.SyscallN(procSetKernelObjectSecurity.Addr(), uintptr(handle), uintptr(securityInformation), uintptr(unsafe.Pointer(securityDescriptor))) if r1 == 0 { err = errnoErr(e1) } @@ -1267,7 +1267,7 @@ func SetNamedSecurityInfo(objectName string, objectType SE_OBJECT_TYPE, security } func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { - r0, _, _ := syscall.Syscall9(procSetNamedSecurityInfoW.Addr(), 7, uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) + r0, _, _ := syscall.SyscallN(procSetNamedSecurityInfoW.Addr(), uintptr(unsafe.Pointer(objectName)), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -1275,7 +1275,7 @@ func _SetNamedSecurityInfo(objectName *uint16, objectType SE_OBJECT_TYPE, securi } func setSecurityDescriptorControl(sd *SECURITY_DESCRIPTOR, controlBitsOfInterest SECURITY_DESCRIPTOR_CONTROL, controlBitsToSet SECURITY_DESCRIPTOR_CONTROL) (err error) { - r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorControl.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) + r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(controlBitsOfInterest), uintptr(controlBitsToSet)) if r1 == 0 { err = errnoErr(e1) } @@ -1291,7 +1291,7 @@ func setSecurityDescriptorDacl(sd *SECURITY_DESCRIPTOR, daclPresent bool, dacl * if daclDefaulted { _p1 = 1 } - r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorDacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorDacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(dacl)), uintptr(_p1)) if r1 == 0 { err = errnoErr(e1) } @@ -1303,7 +1303,7 @@ func setSecurityDescriptorGroup(sd *SECURITY_DESCRIPTOR, group *SID, groupDefaul if groupDefaulted { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorGroup.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) + r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorGroup.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(group)), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } @@ -1315,7 +1315,7 @@ func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaul if ownerDefaulted { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procSetSecurityDescriptorOwner.Addr(), 3, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) + r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorOwner.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(owner)), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } @@ -1323,7 +1323,7 @@ func setSecurityDescriptorOwner(sd *SECURITY_DESCRIPTOR, owner *SID, ownerDefaul } func setSecurityDescriptorRMControl(sd *SECURITY_DESCRIPTOR, rmControl *uint8) { - syscall.Syscall(procSetSecurityDescriptorRMControl.Addr(), 2, uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl)), 0) + syscall.SyscallN(procSetSecurityDescriptorRMControl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(unsafe.Pointer(rmControl))) return } @@ -1336,7 +1336,7 @@ func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl * if saclDefaulted { _p1 = 1 } - r1, _, e1 := syscall.Syscall6(procSetSecurityDescriptorSacl.Addr(), 4, uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetSecurityDescriptorSacl.Addr(), uintptr(unsafe.Pointer(sd)), uintptr(_p0), uintptr(unsafe.Pointer(sacl)), uintptr(_p1)) if r1 == 0 { err = errnoErr(e1) } @@ -1344,7 +1344,7 @@ func setSecurityDescriptorSacl(sd *SECURITY_DESCRIPTOR, saclPresent bool, sacl * } func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformation SECURITY_INFORMATION, owner *SID, group *SID, dacl *ACL, sacl *ACL) (ret error) { - r0, _, _ := syscall.Syscall9(procSetSecurityInfo.Addr(), 7, uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl)), 0, 0) + r0, _, _ := syscall.SyscallN(procSetSecurityInfo.Addr(), uintptr(handle), uintptr(objectType), uintptr(securityInformation), uintptr(unsafe.Pointer(owner)), uintptr(unsafe.Pointer(group)), uintptr(unsafe.Pointer(dacl)), uintptr(unsafe.Pointer(sacl))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -1352,7 +1352,7 @@ func SetSecurityInfo(handle Handle, objectType SE_OBJECT_TYPE, securityInformati } func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) { - r1, _, e1 := syscall.Syscall(procSetServiceStatus.Addr(), 2, uintptr(service), uintptr(unsafe.Pointer(serviceStatus)), 0) + r1, _, e1 := syscall.SyscallN(procSetServiceStatus.Addr(), uintptr(service), uintptr(unsafe.Pointer(serviceStatus))) if r1 == 0 { err = errnoErr(e1) } @@ -1360,7 +1360,7 @@ func SetServiceStatus(service Handle, serviceStatus *SERVICE_STATUS) (err error) } func SetThreadToken(thread *Handle, token Token) (err error) { - r1, _, e1 := syscall.Syscall(procSetThreadToken.Addr(), 2, uintptr(unsafe.Pointer(thread)), uintptr(token), 0) + r1, _, e1 := syscall.SyscallN(procSetThreadToken.Addr(), uintptr(unsafe.Pointer(thread)), uintptr(token)) if r1 == 0 { err = errnoErr(e1) } @@ -1368,7 +1368,7 @@ func SetThreadToken(thread *Handle, token Token) (err error) { } func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetTokenInformation.Addr(), 4, uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetTokenInformation.Addr(), uintptr(token), uintptr(infoClass), uintptr(unsafe.Pointer(info)), uintptr(infoLen)) if r1 == 0 { err = errnoErr(e1) } @@ -1376,7 +1376,7 @@ func SetTokenInformation(token Token, infoClass uint32, info *byte, infoLen uint } func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { - r1, _, e1 := syscall.Syscall(procStartServiceCtrlDispatcherW.Addr(), 1, uintptr(unsafe.Pointer(serviceTable)), 0, 0) + r1, _, e1 := syscall.SyscallN(procStartServiceCtrlDispatcherW.Addr(), uintptr(unsafe.Pointer(serviceTable))) if r1 == 0 { err = errnoErr(e1) } @@ -1384,7 +1384,7 @@ func StartServiceCtrlDispatcher(serviceTable *SERVICE_TABLE_ENTRY) (err error) { } func StartService(service Handle, numArgs uint32, argVectors **uint16) (err error) { - r1, _, e1 := syscall.Syscall(procStartServiceW.Addr(), 3, uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) + r1, _, e1 := syscall.SyscallN(procStartServiceW.Addr(), uintptr(service), uintptr(numArgs), uintptr(unsafe.Pointer(argVectors))) if r1 == 0 { err = errnoErr(e1) } @@ -1392,7 +1392,7 @@ func StartService(service Handle, numArgs uint32, argVectors **uint16) (err erro } func CertAddCertificateContextToStore(store Handle, certContext *CertContext, addDisposition uint32, storeContext **CertContext) (err error) { - r1, _, e1 := syscall.Syscall6(procCertAddCertificateContextToStore.Addr(), 4, uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCertAddCertificateContextToStore.Addr(), uintptr(store), uintptr(unsafe.Pointer(certContext)), uintptr(addDisposition), uintptr(unsafe.Pointer(storeContext))) if r1 == 0 { err = errnoErr(e1) } @@ -1400,7 +1400,7 @@ func CertAddCertificateContextToStore(store Handle, certContext *CertContext, ad } func CertCloseStore(store Handle, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procCertCloseStore.Addr(), 2, uintptr(store), uintptr(flags), 0) + r1, _, e1 := syscall.SyscallN(procCertCloseStore.Addr(), uintptr(store), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -1408,7 +1408,7 @@ func CertCloseStore(store Handle, flags uint32) (err error) { } func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, encodedLen uint32) (context *CertContext, err error) { - r0, _, e1 := syscall.Syscall(procCertCreateCertificateContext.Addr(), 3, uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) + r0, _, e1 := syscall.SyscallN(procCertCreateCertificateContext.Addr(), uintptr(certEncodingType), uintptr(unsafe.Pointer(certEncoded)), uintptr(encodedLen)) context = (*CertContext)(unsafe.Pointer(r0)) if context == nil { err = errnoErr(e1) @@ -1417,7 +1417,7 @@ func CertCreateCertificateContext(certEncodingType uint32, certEncoded *byte, en } func CertDeleteCertificateFromStore(certContext *CertContext) (err error) { - r1, _, e1 := syscall.Syscall(procCertDeleteCertificateFromStore.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCertDeleteCertificateFromStore.Addr(), uintptr(unsafe.Pointer(certContext))) if r1 == 0 { err = errnoErr(e1) } @@ -1425,13 +1425,13 @@ func CertDeleteCertificateFromStore(certContext *CertContext) (err error) { } func CertDuplicateCertificateContext(certContext *CertContext) (dupContext *CertContext) { - r0, _, _ := syscall.Syscall(procCertDuplicateCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(certContext)), 0, 0) + r0, _, _ := syscall.SyscallN(procCertDuplicateCertificateContext.Addr(), uintptr(unsafe.Pointer(certContext))) dupContext = (*CertContext)(unsafe.Pointer(r0)) return } func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (context *CertContext, err error) { - r0, _, e1 := syscall.Syscall(procCertEnumCertificatesInStore.Addr(), 2, uintptr(store), uintptr(unsafe.Pointer(prevContext)), 0) + r0, _, e1 := syscall.SyscallN(procCertEnumCertificatesInStore.Addr(), uintptr(store), uintptr(unsafe.Pointer(prevContext))) context = (*CertContext)(unsafe.Pointer(r0)) if context == nil { err = errnoErr(e1) @@ -1440,7 +1440,7 @@ func CertEnumCertificatesInStore(store Handle, prevContext *CertContext) (contex } func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevCertContext *CertContext) (cert *CertContext, err error) { - r0, _, e1 := syscall.Syscall6(procCertFindCertificateInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext))) + r0, _, e1 := syscall.SyscallN(procCertFindCertificateInStore.Addr(), uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevCertContext))) cert = (*CertContext)(unsafe.Pointer(r0)) if cert == nil { err = errnoErr(e1) @@ -1449,7 +1449,7 @@ func CertFindCertificateInStore(store Handle, certEncodingType uint32, findFlags } func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint32, findType uint32, findPara unsafe.Pointer, prevChainContext *CertChainContext) (certchain *CertChainContext, err error) { - r0, _, e1 := syscall.Syscall6(procCertFindChainInStore.Addr(), 6, uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext))) + r0, _, e1 := syscall.SyscallN(procCertFindChainInStore.Addr(), uintptr(store), uintptr(certEncodingType), uintptr(findFlags), uintptr(findType), uintptr(findPara), uintptr(unsafe.Pointer(prevChainContext))) certchain = (*CertChainContext)(unsafe.Pointer(r0)) if certchain == nil { err = errnoErr(e1) @@ -1458,18 +1458,18 @@ func CertFindChainInStore(store Handle, certEncodingType uint32, findFlags uint3 } func CertFindExtension(objId *byte, countExtensions uint32, extensions *CertExtension) (ret *CertExtension) { - r0, _, _ := syscall.Syscall(procCertFindExtension.Addr(), 3, uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions))) + r0, _, _ := syscall.SyscallN(procCertFindExtension.Addr(), uintptr(unsafe.Pointer(objId)), uintptr(countExtensions), uintptr(unsafe.Pointer(extensions))) ret = (*CertExtension)(unsafe.Pointer(r0)) return } func CertFreeCertificateChain(ctx *CertChainContext) { - syscall.Syscall(procCertFreeCertificateChain.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + syscall.SyscallN(procCertFreeCertificateChain.Addr(), uintptr(unsafe.Pointer(ctx))) return } func CertFreeCertificateContext(ctx *CertContext) (err error) { - r1, _, e1 := syscall.Syscall(procCertFreeCertificateContext.Addr(), 1, uintptr(unsafe.Pointer(ctx)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCertFreeCertificateContext.Addr(), uintptr(unsafe.Pointer(ctx))) if r1 == 0 { err = errnoErr(e1) } @@ -1477,7 +1477,7 @@ func CertFreeCertificateContext(ctx *CertContext) (err error) { } func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, additionalStore Handle, para *CertChainPara, flags uint32, reserved uintptr, chainCtx **CertChainContext) (err error) { - r1, _, e1 := syscall.Syscall9(procCertGetCertificateChain.Addr(), 8, uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx)), 0) + r1, _, e1 := syscall.SyscallN(procCertGetCertificateChain.Addr(), uintptr(engine), uintptr(unsafe.Pointer(leaf)), uintptr(unsafe.Pointer(time)), uintptr(additionalStore), uintptr(unsafe.Pointer(para)), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(chainCtx))) if r1 == 0 { err = errnoErr(e1) } @@ -1485,13 +1485,13 @@ func CertGetCertificateChain(engine Handle, leaf *CertContext, time *Filetime, a } func CertGetNameString(certContext *CertContext, nameType uint32, flags uint32, typePara unsafe.Pointer, name *uint16, size uint32) (chars uint32) { - r0, _, _ := syscall.Syscall6(procCertGetNameStringW.Addr(), 6, uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size)) + r0, _, _ := syscall.SyscallN(procCertGetNameStringW.Addr(), uintptr(unsafe.Pointer(certContext)), uintptr(nameType), uintptr(flags), uintptr(typePara), uintptr(unsafe.Pointer(name)), uintptr(size)) chars = uint32(r0) return } func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptProv uintptr, flags uint32, para uintptr) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procCertOpenStore.Addr(), 5, uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para), 0) + r0, _, e1 := syscall.SyscallN(procCertOpenStore.Addr(), uintptr(storeProvider), uintptr(msgAndCertEncodingType), uintptr(cryptProv), uintptr(flags), uintptr(para)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1500,7 +1500,7 @@ func CertOpenStore(storeProvider uintptr, msgAndCertEncodingType uint32, cryptPr } func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { - r0, _, e1 := syscall.Syscall(procCertOpenSystemStoreW.Addr(), 2, uintptr(hprov), uintptr(unsafe.Pointer(name)), 0) + r0, _, e1 := syscall.SyscallN(procCertOpenSystemStoreW.Addr(), uintptr(hprov), uintptr(unsafe.Pointer(name))) store = Handle(r0) if store == 0 { err = errnoErr(e1) @@ -1509,7 +1509,7 @@ func CertOpenSystemStore(hprov Handle, name *uint16) (store Handle, err error) { } func CertVerifyCertificateChainPolicy(policyOID uintptr, chain *CertChainContext, para *CertChainPolicyPara, status *CertChainPolicyStatus) (err error) { - r1, _, e1 := syscall.Syscall6(procCertVerifyCertificateChainPolicy.Addr(), 4, uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCertVerifyCertificateChainPolicy.Addr(), uintptr(policyOID), uintptr(unsafe.Pointer(chain)), uintptr(unsafe.Pointer(para)), uintptr(unsafe.Pointer(status))) if r1 == 0 { err = errnoErr(e1) } @@ -1521,7 +1521,7 @@ func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, paramete if *callerFreeProvOrNCryptKey { _p0 = 1 } - r1, _, e1 := syscall.Syscall6(procCryptAcquireCertificatePrivateKey.Addr(), 6, uintptr(unsafe.Pointer(cert)), uintptr(flags), uintptr(parameters), uintptr(unsafe.Pointer(cryptProvOrNCryptKey)), uintptr(unsafe.Pointer(keySpec)), uintptr(unsafe.Pointer(&_p0))) + r1, _, e1 := syscall.SyscallN(procCryptAcquireCertificatePrivateKey.Addr(), uintptr(unsafe.Pointer(cert)), uintptr(flags), uintptr(parameters), uintptr(unsafe.Pointer(cryptProvOrNCryptKey)), uintptr(unsafe.Pointer(keySpec)), uintptr(unsafe.Pointer(&_p0))) *callerFreeProvOrNCryptKey = _p0 != 0 if r1 == 0 { err = errnoErr(e1) @@ -1530,7 +1530,7 @@ func CryptAcquireCertificatePrivateKey(cert *CertContext, flags uint32, paramete } func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte, lenEncodedBytes uint32, flags uint32, decoded unsafe.Pointer, decodedLen *uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procCryptDecodeObject.Addr(), 7, uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCryptDecodeObject.Addr(), uintptr(encodingType), uintptr(unsafe.Pointer(structType)), uintptr(unsafe.Pointer(encodedBytes)), uintptr(lenEncodedBytes), uintptr(flags), uintptr(decoded), uintptr(unsafe.Pointer(decodedLen))) if r1 == 0 { err = errnoErr(e1) } @@ -1538,7 +1538,7 @@ func CryptDecodeObject(encodingType uint32, structType *byte, encodedBytes *byte } func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { - r1, _, e1 := syscall.Syscall9(procCryptProtectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCryptProtectData.Addr(), uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut))) if r1 == 0 { err = errnoErr(e1) } @@ -1546,7 +1546,7 @@ func CryptProtectData(dataIn *DataBlob, name *uint16, optionalEntropy *DataBlob, } func CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentTypeFlags uint32, expectedFormatTypeFlags uint32, flags uint32, msgAndCertEncodingType *uint32, contentType *uint32, formatType *uint32, certStore *Handle, msg *Handle, context *unsafe.Pointer) (err error) { - r1, _, e1 := syscall.Syscall12(procCryptQueryObject.Addr(), 11, uintptr(objectType), uintptr(object), uintptr(expectedContentTypeFlags), uintptr(expectedFormatTypeFlags), uintptr(flags), uintptr(unsafe.Pointer(msgAndCertEncodingType)), uintptr(unsafe.Pointer(contentType)), uintptr(unsafe.Pointer(formatType)), uintptr(unsafe.Pointer(certStore)), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(context)), 0) + r1, _, e1 := syscall.SyscallN(procCryptQueryObject.Addr(), uintptr(objectType), uintptr(object), uintptr(expectedContentTypeFlags), uintptr(expectedFormatTypeFlags), uintptr(flags), uintptr(unsafe.Pointer(msgAndCertEncodingType)), uintptr(unsafe.Pointer(contentType)), uintptr(unsafe.Pointer(formatType)), uintptr(unsafe.Pointer(certStore)), uintptr(unsafe.Pointer(msg)), uintptr(unsafe.Pointer(context))) if r1 == 0 { err = errnoErr(e1) } @@ -1554,7 +1554,7 @@ func CryptQueryObject(objectType uint32, object unsafe.Pointer, expectedContentT } func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBlob, reserved uintptr, promptStruct *CryptProtectPromptStruct, flags uint32, dataOut *DataBlob) (err error) { - r1, _, e1 := syscall.Syscall9(procCryptUnprotectData.Addr(), 7, uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCryptUnprotectData.Addr(), uintptr(unsafe.Pointer(dataIn)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(optionalEntropy)), uintptr(reserved), uintptr(unsafe.Pointer(promptStruct)), uintptr(flags), uintptr(unsafe.Pointer(dataOut))) if r1 == 0 { err = errnoErr(e1) } @@ -1562,7 +1562,7 @@ func CryptUnprotectData(dataIn *DataBlob, name **uint16, optionalEntropy *DataBl } func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (store Handle, err error) { - r0, _, e1 := syscall.Syscall(procPFXImportCertStore.Addr(), 3, uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags)) + r0, _, e1 := syscall.SyscallN(procPFXImportCertStore.Addr(), uintptr(unsafe.Pointer(pfx)), uintptr(unsafe.Pointer(password)), uintptr(flags)) store = Handle(r0) if store == 0 { err = errnoErr(e1) @@ -1571,7 +1571,7 @@ func PFXImportCertStore(pfx *CryptDataBlob, password *uint16, flags uint32) (sto } func DnsNameCompare(name1 *uint16, name2 *uint16) (same bool) { - r0, _, _ := syscall.Syscall(procDnsNameCompare_W.Addr(), 2, uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2)), 0) + r0, _, _ := syscall.SyscallN(procDnsNameCompare_W.Addr(), uintptr(unsafe.Pointer(name1)), uintptr(unsafe.Pointer(name2))) same = r0 != 0 return } @@ -1586,7 +1586,7 @@ func DnsQuery(name string, qtype uint16, options uint32, extra *byte, qrs **DNSR } func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DNSRecord, pr *byte) (status error) { - r0, _, _ := syscall.Syscall6(procDnsQuery_W.Addr(), 6, uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) + r0, _, _ := syscall.SyscallN(procDnsQuery_W.Addr(), uintptr(unsafe.Pointer(name)), uintptr(qtype), uintptr(options), uintptr(unsafe.Pointer(extra)), uintptr(unsafe.Pointer(qrs)), uintptr(unsafe.Pointer(pr))) if r0 != 0 { status = syscall.Errno(r0) } @@ -1594,12 +1594,12 @@ func _DnsQuery(name *uint16, qtype uint16, options uint32, extra *byte, qrs **DN } func DnsRecordListFree(rl *DNSRecord, freetype uint32) { - syscall.Syscall(procDnsRecordListFree.Addr(), 2, uintptr(unsafe.Pointer(rl)), uintptr(freetype), 0) + syscall.SyscallN(procDnsRecordListFree.Addr(), uintptr(unsafe.Pointer(rl)), uintptr(freetype)) return } func DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) { - r0, _, _ := syscall.Syscall6(procDwmGetWindowAttribute.Addr(), 4, uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size), 0, 0) + r0, _, _ := syscall.SyscallN(procDwmGetWindowAttribute.Addr(), uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size)) if r0 != 0 { ret = syscall.Errno(r0) } @@ -1607,7 +1607,7 @@ func DwmGetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, si } func DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, size uint32) (ret error) { - r0, _, _ := syscall.Syscall6(procDwmSetWindowAttribute.Addr(), 4, uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size), 0, 0) + r0, _, _ := syscall.SyscallN(procDwmSetWindowAttribute.Addr(), uintptr(hwnd), uintptr(attribute), uintptr(value), uintptr(size)) if r0 != 0 { ret = syscall.Errno(r0) } @@ -1615,7 +1615,7 @@ func DwmSetWindowAttribute(hwnd HWND, attribute uint32, value unsafe.Pointer, si } func CancelMibChangeNotify2(notificationHandle Handle) (errcode error) { - r0, _, _ := syscall.Syscall(procCancelMibChangeNotify2.Addr(), 1, uintptr(notificationHandle), 0, 0) + r0, _, _ := syscall.SyscallN(procCancelMibChangeNotify2.Addr(), uintptr(notificationHandle)) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1623,7 +1623,7 @@ func CancelMibChangeNotify2(notificationHandle Handle) (errcode error) { } func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { - r0, _, _ := syscall.Syscall6(procGetAdaptersAddresses.Addr(), 5, uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer)), 0) + r0, _, _ := syscall.SyscallN(procGetAdaptersAddresses.Addr(), uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1631,7 +1631,7 @@ func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapter } func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { - r0, _, _ := syscall.Syscall(procGetAdaptersInfo.Addr(), 2, uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol)), 0) + r0, _, _ := syscall.SyscallN(procGetAdaptersInfo.Addr(), uintptr(unsafe.Pointer(ai)), uintptr(unsafe.Pointer(ol))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1639,7 +1639,7 @@ func GetAdaptersInfo(ai *IpAdapterInfo, ol *uint32) (errcode error) { } func getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) { - r0, _, _ := syscall.Syscall(procGetBestInterfaceEx.Addr(), 2, uintptr(sockaddr), uintptr(unsafe.Pointer(pdwBestIfIndex)), 0) + r0, _, _ := syscall.SyscallN(procGetBestInterfaceEx.Addr(), uintptr(sockaddr), uintptr(unsafe.Pointer(pdwBestIfIndex))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1647,7 +1647,7 @@ func getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcod } func GetIfEntry(pIfRow *MibIfRow) (errcode error) { - r0, _, _ := syscall.Syscall(procGetIfEntry.Addr(), 1, uintptr(unsafe.Pointer(pIfRow)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetIfEntry.Addr(), uintptr(unsafe.Pointer(pIfRow))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1655,7 +1655,7 @@ func GetIfEntry(pIfRow *MibIfRow) (errcode error) { } func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) { - r0, _, _ := syscall.Syscall(procGetIfEntry2Ex.Addr(), 2, uintptr(level), uintptr(unsafe.Pointer(row)), 0) + r0, _, _ := syscall.SyscallN(procGetIfEntry2Ex.Addr(), uintptr(level), uintptr(unsafe.Pointer(row))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1663,7 +1663,7 @@ func GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) { } func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) { - r0, _, _ := syscall.Syscall(procGetUnicastIpAddressEntry.Addr(), 1, uintptr(unsafe.Pointer(row)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1675,7 +1675,7 @@ func NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsa if initialNotification { _p0 = 1 } - r0, _, _ := syscall.Syscall6(procNotifyIpInterfaceChange.Addr(), 5, uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle)), 0) + r0, _, _ := syscall.SyscallN(procNotifyIpInterfaceChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1687,7 +1687,7 @@ func NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext if initialNotification { _p0 = 1 } - r0, _, _ := syscall.Syscall6(procNotifyUnicastIpAddressChange.Addr(), 5, uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle)), 0) + r0, _, _ := syscall.SyscallN(procNotifyUnicastIpAddressChange.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) if r0 != 0 { errcode = syscall.Errno(r0) } @@ -1695,7 +1695,7 @@ func NotifyUnicastIpAddressChange(family uint16, callback uintptr, callerContext } func AddDllDirectory(path *uint16) (cookie uintptr, err error) { - r0, _, e1 := syscall.Syscall(procAddDllDirectory.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + r0, _, e1 := syscall.SyscallN(procAddDllDirectory.Addr(), uintptr(unsafe.Pointer(path))) cookie = uintptr(r0) if cookie == 0 { err = errnoErr(e1) @@ -1704,7 +1704,7 @@ func AddDllDirectory(path *uint16) (cookie uintptr, err error) { } func AssignProcessToJobObject(job Handle, process Handle) (err error) { - r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0) + r1, _, e1 := syscall.SyscallN(procAssignProcessToJobObject.Addr(), uintptr(job), uintptr(process)) if r1 == 0 { err = errnoErr(e1) } @@ -1712,7 +1712,7 @@ func AssignProcessToJobObject(job Handle, process Handle) (err error) { } func CancelIo(s Handle) (err error) { - r1, _, e1 := syscall.Syscall(procCancelIo.Addr(), 1, uintptr(s), 0, 0) + r1, _, e1 := syscall.SyscallN(procCancelIo.Addr(), uintptr(s)) if r1 == 0 { err = errnoErr(e1) } @@ -1720,7 +1720,7 @@ func CancelIo(s Handle) (err error) { } func CancelIoEx(s Handle, o *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall(procCancelIoEx.Addr(), 2, uintptr(s), uintptr(unsafe.Pointer(o)), 0) + r1, _, e1 := syscall.SyscallN(procCancelIoEx.Addr(), uintptr(s), uintptr(unsafe.Pointer(o))) if r1 == 0 { err = errnoErr(e1) } @@ -1728,7 +1728,7 @@ func CancelIoEx(s Handle, o *Overlapped) (err error) { } func ClearCommBreak(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procClearCommBreak.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procClearCommBreak.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -1736,7 +1736,7 @@ func ClearCommBreak(handle Handle) (err error) { } func ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error) { - r1, _, e1 := syscall.Syscall(procClearCommError.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(lpErrors)), uintptr(unsafe.Pointer(lpStat))) + r1, _, e1 := syscall.SyscallN(procClearCommError.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpErrors)), uintptr(unsafe.Pointer(lpStat))) if r1 == 0 { err = errnoErr(e1) } @@ -1744,7 +1744,7 @@ func ClearCommError(handle Handle, lpErrors *uint32, lpStat *ComStat) (err error } func CloseHandle(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procCloseHandle.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procCloseHandle.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -1752,12 +1752,12 @@ func CloseHandle(handle Handle) (err error) { } func ClosePseudoConsole(console Handle) { - syscall.Syscall(procClosePseudoConsole.Addr(), 1, uintptr(console), 0, 0) + syscall.SyscallN(procClosePseudoConsole.Addr(), uintptr(console)) return } func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall(procConnectNamedPipe.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(overlapped)), 0) + r1, _, e1 := syscall.SyscallN(procConnectNamedPipe.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -1765,7 +1765,7 @@ func ConnectNamedPipe(pipe Handle, overlapped *Overlapped) (err error) { } func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { - r1, _, e1 := syscall.Syscall(procCreateDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa)), 0) + r1, _, e1 := syscall.SyscallN(procCreateDirectoryW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(sa))) if r1 == 0 { err = errnoErr(e1) } @@ -1773,7 +1773,7 @@ func CreateDirectory(path *uint16, sa *SecurityAttributes) (err error) { } func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procCreateEventExW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + r0, _, e1 := syscall.SyscallN(procCreateEventExW.Addr(), uintptr(unsafe.Pointer(eventAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess)) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) @@ -1782,7 +1782,7 @@ func CreateEventEx(eventAttrs *SecurityAttributes, name *uint16, flags uint32, d } func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialState uint32, name *uint16) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procCreateEventW.Addr(), 4, uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name)), 0, 0) + r0, _, e1 := syscall.SyscallN(procCreateEventW.Addr(), uintptr(unsafe.Pointer(eventAttrs)), uintptr(manualReset), uintptr(initialState), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) @@ -1791,7 +1791,7 @@ func CreateEvent(eventAttrs *SecurityAttributes, manualReset uint32, initialStat } func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxSizeHigh uint32, maxSizeLow uint32, name *uint16) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procCreateFileMappingW.Addr(), 6, uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) + r0, _, e1 := syscall.SyscallN(procCreateFileMappingW.Addr(), uintptr(fhandle), uintptr(unsafe.Pointer(sa)), uintptr(prot), uintptr(maxSizeHigh), uintptr(maxSizeLow), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) @@ -1800,7 +1800,7 @@ func CreateFileMapping(fhandle Handle, sa *SecurityAttributes, prot uint32, maxS } func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes, createmode uint32, attrs uint32, templatefile Handle) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall9(procCreateFileW.Addr(), 7, uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile), 0, 0) + r0, _, e1 := syscall.SyscallN(procCreateFileW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(access), uintptr(mode), uintptr(unsafe.Pointer(sa)), uintptr(createmode), uintptr(attrs), uintptr(templatefile)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -1809,7 +1809,7 @@ func CreateFile(name *uint16, access uint32, mode uint32, sa *SecurityAttributes } func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procCreateHardLinkW.Addr(), 3, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) + r1, _, e1 := syscall.SyscallN(procCreateHardLinkW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(existingfilename)), uintptr(reserved)) if r1&0xff == 0 { err = errnoErr(e1) } @@ -1817,7 +1817,7 @@ func CreateHardLink(filename *uint16, existingfilename *uint16, reserved uintptr } func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, threadcnt uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procCreateIoCompletionPort.Addr(), 4, uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt), 0, 0) + r0, _, e1 := syscall.SyscallN(procCreateIoCompletionPort.Addr(), uintptr(filehandle), uintptr(cphandle), uintptr(key), uintptr(threadcnt)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1826,7 +1826,7 @@ func CreateIoCompletionPort(filehandle Handle, cphandle Handle, key uintptr, thr } func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procCreateJobObjectW.Addr(), 2, uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name)), 0) + r0, _, e1 := syscall.SyscallN(procCreateJobObjectW.Addr(), uintptr(unsafe.Pointer(jobAttr)), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -1835,7 +1835,7 @@ func CreateJobObject(jobAttr *SecurityAttributes, name *uint16) (handle Handle, } func CreateMutexEx(mutexAttrs *SecurityAttributes, name *uint16, flags uint32, desiredAccess uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procCreateMutexExW.Addr(), 4, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess), 0, 0) + r0, _, e1 := syscall.SyscallN(procCreateMutexExW.Addr(), uintptr(unsafe.Pointer(mutexAttrs)), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(desiredAccess)) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) @@ -1848,7 +1848,7 @@ func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16 if initialOwner { _p0 = 1 } - r0, _, e1 := syscall.Syscall(procCreateMutexW.Addr(), 3, uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) + r0, _, e1 := syscall.SyscallN(procCreateMutexW.Addr(), uintptr(unsafe.Pointer(mutexAttrs)), uintptr(_p0), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 || e1 == ERROR_ALREADY_EXISTS { err = errnoErr(e1) @@ -1857,7 +1857,7 @@ func CreateMutex(mutexAttrs *SecurityAttributes, initialOwner bool, name *uint16 } func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances uint32, outSize uint32, inSize uint32, defaultTimeout uint32, sa *SecurityAttributes) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall9(procCreateNamedPipeW.Addr(), 8, uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(pipeMode), uintptr(maxInstances), uintptr(outSize), uintptr(inSize), uintptr(defaultTimeout), uintptr(unsafe.Pointer(sa)), 0) + r0, _, e1 := syscall.SyscallN(procCreateNamedPipeW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(flags), uintptr(pipeMode), uintptr(maxInstances), uintptr(outSize), uintptr(inSize), uintptr(defaultTimeout), uintptr(unsafe.Pointer(sa))) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -1866,7 +1866,7 @@ func CreateNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxInstances u } func CreatePipe(readhandle *Handle, writehandle *Handle, sa *SecurityAttributes, size uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procCreatePipe.Addr(), 4, uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size), 0, 0) + r1, _, e1 := syscall.SyscallN(procCreatePipe.Addr(), uintptr(unsafe.Pointer(readhandle)), uintptr(unsafe.Pointer(writehandle)), uintptr(unsafe.Pointer(sa)), uintptr(size)) if r1 == 0 { err = errnoErr(e1) } @@ -1878,7 +1878,7 @@ func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityA if inheritHandles { _p0 = 1 } - r1, _, e1 := syscall.Syscall12(procCreateProcessW.Addr(), 10, uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo)), 0, 0) + r1, _, e1 := syscall.SyscallN(procCreateProcessW.Addr(), uintptr(unsafe.Pointer(appName)), uintptr(unsafe.Pointer(commandLine)), uintptr(unsafe.Pointer(procSecurity)), uintptr(unsafe.Pointer(threadSecurity)), uintptr(_p0), uintptr(creationFlags), uintptr(unsafe.Pointer(env)), uintptr(unsafe.Pointer(currentDir)), uintptr(unsafe.Pointer(startupInfo)), uintptr(unsafe.Pointer(outProcInfo))) if r1 == 0 { err = errnoErr(e1) } @@ -1886,7 +1886,7 @@ func CreateProcess(appName *uint16, commandLine *uint16, procSecurity *SecurityA } func createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pconsole *Handle) (hr error) { - r0, _, _ := syscall.Syscall6(procCreatePseudoConsole.Addr(), 5, uintptr(size), uintptr(in), uintptr(out), uintptr(flags), uintptr(unsafe.Pointer(pconsole)), 0) + r0, _, _ := syscall.SyscallN(procCreatePseudoConsole.Addr(), uintptr(size), uintptr(in), uintptr(out), uintptr(flags), uintptr(unsafe.Pointer(pconsole))) if r0 != 0 { hr = syscall.Errno(r0) } @@ -1894,7 +1894,7 @@ func createPseudoConsole(size uint32, in Handle, out Handle, flags uint32, pcons } func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procCreateSymbolicLinkW.Addr(), 3, uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) + r1, _, e1 := syscall.SyscallN(procCreateSymbolicLinkW.Addr(), uintptr(unsafe.Pointer(symlinkfilename)), uintptr(unsafe.Pointer(targetfilename)), uintptr(flags)) if r1&0xff == 0 { err = errnoErr(e1) } @@ -1902,7 +1902,7 @@ func CreateSymbolicLink(symlinkfilename *uint16, targetfilename *uint16, flags u } func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procCreateToolhelp32Snapshot.Addr(), 2, uintptr(flags), uintptr(processId), 0) + r0, _, e1 := syscall.SyscallN(procCreateToolhelp32Snapshot.Addr(), uintptr(flags), uintptr(processId)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -1911,7 +1911,7 @@ func CreateToolhelp32Snapshot(flags uint32, processId uint32) (handle Handle, er } func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procDefineDosDeviceW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) + r1, _, e1 := syscall.SyscallN(procDefineDosDeviceW.Addr(), uintptr(flags), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath))) if r1 == 0 { err = errnoErr(e1) } @@ -1919,7 +1919,7 @@ func DefineDosDevice(flags uint32, deviceName *uint16, targetPath *uint16) (err } func DeleteFile(path *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procDeleteFileW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + r1, _, e1 := syscall.SyscallN(procDeleteFileW.Addr(), uintptr(unsafe.Pointer(path))) if r1 == 0 { err = errnoErr(e1) } @@ -1927,12 +1927,12 @@ func DeleteFile(path *uint16) (err error) { } func deleteProcThreadAttributeList(attrlist *ProcThreadAttributeList) { - syscall.Syscall(procDeleteProcThreadAttributeList.Addr(), 1, uintptr(unsafe.Pointer(attrlist)), 0, 0) + syscall.SyscallN(procDeleteProcThreadAttributeList.Addr(), uintptr(unsafe.Pointer(attrlist))) return } func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procDeleteVolumeMountPointW.Addr(), 1, uintptr(unsafe.Pointer(volumeMountPoint)), 0, 0) + r1, _, e1 := syscall.SyscallN(procDeleteVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint))) if r1 == 0 { err = errnoErr(e1) } @@ -1940,7 +1940,7 @@ func DeleteVolumeMountPoint(volumeMountPoint *uint16) (err error) { } func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBufferSize uint32, outBuffer *byte, outBufferSize uint32, bytesReturned *uint32, overlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall9(procDeviceIoControl.Addr(), 8, uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped)), 0) + r1, _, e1 := syscall.SyscallN(procDeviceIoControl.Addr(), uintptr(handle), uintptr(ioControlCode), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferSize), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferSize), uintptr(unsafe.Pointer(bytesReturned)), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -1948,7 +1948,7 @@ func DeviceIoControl(handle Handle, ioControlCode uint32, inBuffer *byte, inBuff } func DisconnectNamedPipe(pipe Handle) (err error) { - r1, _, e1 := syscall.Syscall(procDisconnectNamedPipe.Addr(), 1, uintptr(pipe), 0, 0) + r1, _, e1 := syscall.SyscallN(procDisconnectNamedPipe.Addr(), uintptr(pipe)) if r1 == 0 { err = errnoErr(e1) } @@ -1960,7 +1960,7 @@ func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetP if bInheritHandle { _p0 = 1 } - r1, _, e1 := syscall.Syscall9(procDuplicateHandle.Addr(), 7, uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions), 0, 0) + r1, _, e1 := syscall.SyscallN(procDuplicateHandle.Addr(), uintptr(hSourceProcessHandle), uintptr(hSourceHandle), uintptr(hTargetProcessHandle), uintptr(unsafe.Pointer(lpTargetHandle)), uintptr(dwDesiredAccess), uintptr(_p0), uintptr(dwOptions)) if r1 == 0 { err = errnoErr(e1) } @@ -1968,7 +1968,7 @@ func DuplicateHandle(hSourceProcessHandle Handle, hSourceHandle Handle, hTargetP } func EscapeCommFunction(handle Handle, dwFunc uint32) (err error) { - r1, _, e1 := syscall.Syscall(procEscapeCommFunction.Addr(), 2, uintptr(handle), uintptr(dwFunc), 0) + r1, _, e1 := syscall.SyscallN(procEscapeCommFunction.Addr(), uintptr(handle), uintptr(dwFunc)) if r1 == 0 { err = errnoErr(e1) } @@ -1976,12 +1976,12 @@ func EscapeCommFunction(handle Handle, dwFunc uint32) (err error) { } func ExitProcess(exitcode uint32) { - syscall.Syscall(procExitProcess.Addr(), 1, uintptr(exitcode), 0, 0) + syscall.SyscallN(procExitProcess.Addr(), uintptr(exitcode)) return } func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procExpandEnvironmentStringsW.Addr(), 3, uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) + r0, _, e1 := syscall.SyscallN(procExpandEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(src)), uintptr(unsafe.Pointer(dst)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -1990,7 +1990,7 @@ func ExpandEnvironmentStrings(src *uint16, dst *uint16, size uint32) (n uint32, } func FindClose(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFindClose.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procFindClose.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -1998,7 +1998,7 @@ func FindClose(handle Handle) (err error) { } func FindCloseChangeNotification(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFindCloseChangeNotification.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procFindCloseChangeNotification.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -2019,7 +2019,7 @@ func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter if watchSubtree { _p1 = 1 } - r0, _, e1 := syscall.Syscall(procFindFirstChangeNotificationW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter)) + r0, _, e1 := syscall.SyscallN(procFindFirstChangeNotificationW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(_p1), uintptr(notifyFilter)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -2028,7 +2028,7 @@ func _FindFirstChangeNotification(path *uint16, watchSubtree bool, notifyFilter } func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procFindFirstFileW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data)), 0) + r0, _, e1 := syscall.SyscallN(procFindFirstFileW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(data))) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -2037,7 +2037,7 @@ func findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err erro } func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, bufferLength uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procFindFirstVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + r0, _, e1 := syscall.SyscallN(procFindFirstVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -2046,7 +2046,7 @@ func FindFirstVolumeMountPoint(rootPathName *uint16, volumeMountPoint *uint16, b } func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procFindFirstVolumeW.Addr(), 2, uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength), 0) + r0, _, e1 := syscall.SyscallN(procFindFirstVolumeW.Addr(), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -2055,7 +2055,7 @@ func FindFirstVolume(volumeName *uint16, bufferLength uint32) (handle Handle, er } func FindNextChangeNotification(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFindNextChangeNotification.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procFindNextChangeNotification.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -2063,7 +2063,7 @@ func FindNextChangeNotification(handle Handle) (err error) { } func findNextFile1(handle Handle, data *win32finddata1) (err error) { - r1, _, e1 := syscall.Syscall(procFindNextFileW.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + r1, _, e1 := syscall.SyscallN(procFindNextFileW.Addr(), uintptr(handle), uintptr(unsafe.Pointer(data))) if r1 == 0 { err = errnoErr(e1) } @@ -2071,7 +2071,7 @@ func findNextFile1(handle Handle, data *win32finddata1) (err error) { } func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uint16, bufferLength uint32) (err error) { - r1, _, e1 := syscall.Syscall(procFindNextVolumeMountPointW.Addr(), 3, uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) + r1, _, e1 := syscall.SyscallN(procFindNextVolumeMountPointW.Addr(), uintptr(findVolumeMountPoint), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(bufferLength)) if r1 == 0 { err = errnoErr(e1) } @@ -2079,7 +2079,7 @@ func FindNextVolumeMountPoint(findVolumeMountPoint Handle, volumeMountPoint *uin } func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) (err error) { - r1, _, e1 := syscall.Syscall(procFindNextVolumeW.Addr(), 3, uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) + r1, _, e1 := syscall.SyscallN(procFindNextVolumeW.Addr(), uintptr(findVolume), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferLength)) if r1 == 0 { err = errnoErr(e1) } @@ -2087,7 +2087,7 @@ func FindNextVolume(findVolume Handle, volumeName *uint16, bufferLength uint32) } func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, err error) { - r0, _, e1 := syscall.Syscall(procFindResourceW.Addr(), 3, uintptr(module), uintptr(name), uintptr(resType)) + r0, _, e1 := syscall.SyscallN(procFindResourceW.Addr(), uintptr(module), uintptr(name), uintptr(resType)) resInfo = Handle(r0) if resInfo == 0 { err = errnoErr(e1) @@ -2096,7 +2096,7 @@ func findResource(module Handle, name uintptr, resType uintptr) (resInfo Handle, } func FindVolumeClose(findVolume Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFindVolumeClose.Addr(), 1, uintptr(findVolume), 0, 0) + r1, _, e1 := syscall.SyscallN(procFindVolumeClose.Addr(), uintptr(findVolume)) if r1 == 0 { err = errnoErr(e1) } @@ -2104,7 +2104,7 @@ func FindVolumeClose(findVolume Handle) (err error) { } func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFindVolumeMountPointClose.Addr(), 1, uintptr(findVolumeMountPoint), 0, 0) + r1, _, e1 := syscall.SyscallN(procFindVolumeMountPointClose.Addr(), uintptr(findVolumeMountPoint)) if r1 == 0 { err = errnoErr(e1) } @@ -2112,7 +2112,7 @@ func FindVolumeMountPointClose(findVolumeMountPoint Handle) (err error) { } func FlushFileBuffers(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFlushFileBuffers.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procFlushFileBuffers.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -2120,7 +2120,7 @@ func FlushFileBuffers(handle Handle) (err error) { } func FlushViewOfFile(addr uintptr, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procFlushViewOfFile.Addr(), 2, uintptr(addr), uintptr(length), 0) + r1, _, e1 := syscall.SyscallN(procFlushViewOfFile.Addr(), uintptr(addr), uintptr(length)) if r1 == 0 { err = errnoErr(e1) } @@ -2132,7 +2132,7 @@ func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, bu if len(buf) > 0 { _p0 = &buf[0] } - r0, _, e1 := syscall.Syscall9(procFormatMessageW.Addr(), 7, uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args)), 0, 0) + r0, _, e1 := syscall.SyscallN(procFormatMessageW.Addr(), uintptr(flags), uintptr(msgsrc), uintptr(msgid), uintptr(langid), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(args))) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2141,7 +2141,7 @@ func FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, bu } func FreeEnvironmentStrings(envs *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procFreeEnvironmentStringsW.Addr(), 1, uintptr(unsafe.Pointer(envs)), 0, 0) + r1, _, e1 := syscall.SyscallN(procFreeEnvironmentStringsW.Addr(), uintptr(unsafe.Pointer(envs))) if r1 == 0 { err = errnoErr(e1) } @@ -2149,7 +2149,7 @@ func FreeEnvironmentStrings(envs *uint16) (err error) { } func FreeLibrary(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procFreeLibrary.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procFreeLibrary.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -2157,7 +2157,7 @@ func FreeLibrary(handle Handle) (err error) { } func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGenerateConsoleCtrlEvent.Addr(), 2, uintptr(ctrlEvent), uintptr(processGroupID), 0) + r1, _, e1 := syscall.SyscallN(procGenerateConsoleCtrlEvent.Addr(), uintptr(ctrlEvent), uintptr(processGroupID)) if r1 == 0 { err = errnoErr(e1) } @@ -2165,19 +2165,19 @@ func GenerateConsoleCtrlEvent(ctrlEvent uint32, processGroupID uint32) (err erro } func GetACP() (acp uint32) { - r0, _, _ := syscall.Syscall(procGetACP.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetACP.Addr()) acp = uint32(r0) return } func GetActiveProcessorCount(groupNumber uint16) (ret uint32) { - r0, _, _ := syscall.Syscall(procGetActiveProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) + r0, _, _ := syscall.SyscallN(procGetActiveProcessorCount.Addr(), uintptr(groupNumber)) ret = uint32(r0) return } func GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetCommModemStatus.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpModemStat)), 0) + r1, _, e1 := syscall.SyscallN(procGetCommModemStatus.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpModemStat))) if r1 == 0 { err = errnoErr(e1) } @@ -2185,7 +2185,7 @@ func GetCommModemStatus(handle Handle, lpModemStat *uint32) (err error) { } func GetCommState(handle Handle, lpDCB *DCB) (err error) { - r1, _, e1 := syscall.Syscall(procGetCommState.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpDCB)), 0) + r1, _, e1 := syscall.SyscallN(procGetCommState.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpDCB))) if r1 == 0 { err = errnoErr(e1) } @@ -2193,7 +2193,7 @@ func GetCommState(handle Handle, lpDCB *DCB) (err error) { } func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { - r1, _, e1 := syscall.Syscall(procGetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) + r1, _, e1 := syscall.SyscallN(procGetCommTimeouts.Addr(), uintptr(handle), uintptr(unsafe.Pointer(timeouts))) if r1 == 0 { err = errnoErr(e1) } @@ -2201,13 +2201,13 @@ func GetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { } func GetCommandLine() (cmd *uint16) { - r0, _, _ := syscall.Syscall(procGetCommandLineW.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetCommandLineW.Addr()) cmd = (*uint16)(unsafe.Pointer(r0)) return } func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetComputerNameExW.Addr(), 3, uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) + r1, _, e1 := syscall.SyscallN(procGetComputerNameExW.Addr(), uintptr(nametype), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) if r1 == 0 { err = errnoErr(e1) } @@ -2215,7 +2215,7 @@ func GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) { } func GetComputerName(buf *uint16, n *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetComputerNameW.Addr(), 2, uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n)), 0) + r1, _, e1 := syscall.SyscallN(procGetComputerNameW.Addr(), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(n))) if r1 == 0 { err = errnoErr(e1) } @@ -2223,7 +2223,7 @@ func GetComputerName(buf *uint16, n *uint32) (err error) { } func GetConsoleCP() (cp uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetConsoleCP.Addr(), 0, 0, 0, 0) + r0, _, e1 := syscall.SyscallN(procGetConsoleCP.Addr()) cp = uint32(r0) if cp == 0 { err = errnoErr(e1) @@ -2232,7 +2232,7 @@ func GetConsoleCP() (cp uint32, err error) { } func GetConsoleMode(console Handle, mode *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(mode)), 0) + r1, _, e1 := syscall.SyscallN(procGetConsoleMode.Addr(), uintptr(console), uintptr(unsafe.Pointer(mode))) if r1 == 0 { err = errnoErr(e1) } @@ -2240,7 +2240,7 @@ func GetConsoleMode(console Handle, mode *uint32) (err error) { } func GetConsoleOutputCP() (cp uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetConsoleOutputCP.Addr(), 0, 0, 0, 0) + r0, _, e1 := syscall.SyscallN(procGetConsoleOutputCP.Addr()) cp = uint32(r0) if cp == 0 { err = errnoErr(e1) @@ -2249,7 +2249,7 @@ func GetConsoleOutputCP() (cp uint32, err error) { } func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) (err error) { - r1, _, e1 := syscall.Syscall(procGetConsoleScreenBufferInfo.Addr(), 2, uintptr(console), uintptr(unsafe.Pointer(info)), 0) + r1, _, e1 := syscall.SyscallN(procGetConsoleScreenBufferInfo.Addr(), uintptr(console), uintptr(unsafe.Pointer(info))) if r1 == 0 { err = errnoErr(e1) } @@ -2257,7 +2257,7 @@ func GetConsoleScreenBufferInfo(console Handle, info *ConsoleScreenBufferInfo) ( } func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetCurrentDirectoryW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + r0, _, e1 := syscall.SyscallN(procGetCurrentDirectoryW.Addr(), uintptr(buflen), uintptr(unsafe.Pointer(buf))) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2266,19 +2266,19 @@ func GetCurrentDirectory(buflen uint32, buf *uint16) (n uint32, err error) { } func GetCurrentProcessId() (pid uint32) { - r0, _, _ := syscall.Syscall(procGetCurrentProcessId.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetCurrentProcessId.Addr()) pid = uint32(r0) return } func GetCurrentThreadId() (id uint32) { - r0, _, _ := syscall.Syscall(procGetCurrentThreadId.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetCurrentThreadId.Addr()) id = uint32(r0) return } func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint64, totalNumberOfBytes *uint64, totalNumberOfFreeBytes *uint64) (err error) { - r1, _, e1 := syscall.Syscall6(procGetDiskFreeSpaceExW.Addr(), 4, uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetDiskFreeSpaceExW.Addr(), uintptr(unsafe.Pointer(directoryName)), uintptr(unsafe.Pointer(freeBytesAvailableToCaller)), uintptr(unsafe.Pointer(totalNumberOfBytes)), uintptr(unsafe.Pointer(totalNumberOfFreeBytes))) if r1 == 0 { err = errnoErr(e1) } @@ -2286,13 +2286,13 @@ func GetDiskFreeSpaceEx(directoryName *uint16, freeBytesAvailableToCaller *uint6 } func GetDriveType(rootPathName *uint16) (driveType uint32) { - r0, _, _ := syscall.Syscall(procGetDriveTypeW.Addr(), 1, uintptr(unsafe.Pointer(rootPathName)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetDriveTypeW.Addr(), uintptr(unsafe.Pointer(rootPathName))) driveType = uint32(r0) return } func GetEnvironmentStrings() (envs *uint16, err error) { - r0, _, e1 := syscall.Syscall(procGetEnvironmentStringsW.Addr(), 0, 0, 0, 0) + r0, _, e1 := syscall.SyscallN(procGetEnvironmentStringsW.Addr()) envs = (*uint16)(unsafe.Pointer(r0)) if envs == nil { err = errnoErr(e1) @@ -2301,7 +2301,7 @@ func GetEnvironmentStrings() (envs *uint16, err error) { } func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetEnvironmentVariableW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) + r0, _, e1 := syscall.SyscallN(procGetEnvironmentVariableW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(buffer)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2310,7 +2310,7 @@ func GetEnvironmentVariable(name *uint16, buffer *uint16, size uint32) (n uint32 } func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetExitCodeProcess.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(exitcode)), 0) + r1, _, e1 := syscall.SyscallN(procGetExitCodeProcess.Addr(), uintptr(handle), uintptr(unsafe.Pointer(exitcode))) if r1 == 0 { err = errnoErr(e1) } @@ -2318,7 +2318,7 @@ func GetExitCodeProcess(handle Handle, exitcode *uint32) (err error) { } func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { - r1, _, e1 := syscall.Syscall(procGetFileAttributesExW.Addr(), 3, uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) + r1, _, e1 := syscall.SyscallN(procGetFileAttributesExW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(level), uintptr(unsafe.Pointer(info))) if r1 == 0 { err = errnoErr(e1) } @@ -2326,7 +2326,7 @@ func GetFileAttributesEx(name *uint16, level uint32, info *byte) (err error) { } func GetFileAttributes(name *uint16) (attrs uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetFileAttributesW.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetFileAttributesW.Addr(), uintptr(unsafe.Pointer(name))) attrs = uint32(r0) if attrs == INVALID_FILE_ATTRIBUTES { err = errnoErr(e1) @@ -2335,7 +2335,7 @@ func GetFileAttributes(name *uint16) (attrs uint32, err error) { } func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (err error) { - r1, _, e1 := syscall.Syscall(procGetFileInformationByHandle.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(data)), 0) + r1, _, e1 := syscall.SyscallN(procGetFileInformationByHandle.Addr(), uintptr(handle), uintptr(unsafe.Pointer(data))) if r1 == 0 { err = errnoErr(e1) } @@ -2343,7 +2343,7 @@ func GetFileInformationByHandle(handle Handle, data *ByHandleFileInformation) (e } func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, outBufferLen uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetFileInformationByHandleEx.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetFileInformationByHandleEx.Addr(), uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(outBuffer)), uintptr(outBufferLen)) if r1 == 0 { err = errnoErr(e1) } @@ -2351,7 +2351,7 @@ func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte, } func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { - r1, _, e1 := syscall.Syscall6(procGetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetFileTime.Addr(), uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime))) if r1 == 0 { err = errnoErr(e1) } @@ -2359,7 +2359,7 @@ func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetim } func GetFileType(filehandle Handle) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetFileType.Addr(), uintptr(filehandle)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2368,7 +2368,7 @@ func GetFileType(filehandle Handle) (n uint32, err error) { } func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32, flags uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall6(procGetFinalPathNameByHandleW.Addr(), 4, uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetFinalPathNameByHandleW.Addr(), uintptr(file), uintptr(unsafe.Pointer(filePath)), uintptr(filePathSize), uintptr(flags)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2377,7 +2377,7 @@ func GetFinalPathNameByHandle(file Handle, filePath *uint16, filePathSize uint32 } func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) (n uint32, err error) { - r0, _, e1 := syscall.Syscall6(procGetFullPathNameW.Addr(), 4, uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname)), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetFullPathNameW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(buflen), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(fname))) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2386,13 +2386,13 @@ func GetFullPathName(path *uint16, buflen uint32, buf *uint16, fname **uint16) ( } func GetLargePageMinimum() (size uintptr) { - r0, _, _ := syscall.Syscall(procGetLargePageMinimum.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetLargePageMinimum.Addr()) size = uintptr(r0) return } func GetLastError() (lasterr error) { - r0, _, _ := syscall.Syscall(procGetLastError.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetLastError.Addr()) if r0 != 0 { lasterr = syscall.Errno(r0) } @@ -2400,7 +2400,7 @@ func GetLastError() (lasterr error) { } func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetLogicalDriveStringsW.Addr(), 2, uintptr(bufferLength), uintptr(unsafe.Pointer(buffer)), 0) + r0, _, e1 := syscall.SyscallN(procGetLogicalDriveStringsW.Addr(), uintptr(bufferLength), uintptr(unsafe.Pointer(buffer))) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2409,7 +2409,7 @@ func GetLogicalDriveStrings(bufferLength uint32, buffer *uint16) (n uint32, err } func GetLogicalDrives() (drivesBitMask uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetLogicalDrives.Addr(), 0, 0, 0, 0) + r0, _, e1 := syscall.SyscallN(procGetLogicalDrives.Addr()) drivesBitMask = uint32(r0) if drivesBitMask == 0 { err = errnoErr(e1) @@ -2418,7 +2418,7 @@ func GetLogicalDrives() (drivesBitMask uint32, err error) { } func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetLongPathNameW.Addr(), 3, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) + r0, _, e1 := syscall.SyscallN(procGetLongPathNameW.Addr(), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(buf)), uintptr(buflen)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2427,13 +2427,13 @@ func GetLongPathName(path *uint16, buf *uint16, buflen uint32) (n uint32, err er } func GetMaximumProcessorCount(groupNumber uint16) (ret uint32) { - r0, _, _ := syscall.Syscall(procGetMaximumProcessorCount.Addr(), 1, uintptr(groupNumber), 0, 0) + r0, _, _ := syscall.SyscallN(procGetMaximumProcessorCount.Addr(), uintptr(groupNumber)) ret = uint32(r0) return } func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetModuleFileNameW.Addr(), 3, uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) + r0, _, e1 := syscall.SyscallN(procGetModuleFileNameW.Addr(), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2442,7 +2442,7 @@ func GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, } func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) { - r1, _, e1 := syscall.Syscall(procGetModuleHandleExW.Addr(), 3, uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) + r1, _, e1 := syscall.SyscallN(procGetModuleHandleExW.Addr(), uintptr(flags), uintptr(unsafe.Pointer(moduleName)), uintptr(unsafe.Pointer(module))) if r1 == 0 { err = errnoErr(e1) } @@ -2450,7 +2450,7 @@ func GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err er } func GetNamedPipeClientProcessId(pipe Handle, clientProcessID *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetNamedPipeClientProcessId.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(clientProcessID)), 0) + r1, _, e1 := syscall.SyscallN(procGetNamedPipeClientProcessId.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(clientProcessID))) if r1 == 0 { err = errnoErr(e1) } @@ -2458,7 +2458,7 @@ func GetNamedPipeClientProcessId(pipe Handle, clientProcessID *uint32) (err erro } func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procGetNamedPipeHandleStateW.Addr(), 7, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetNamedPipeHandleStateW.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(curInstances)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), uintptr(unsafe.Pointer(userName)), uintptr(maxUserNameSize)) if r1 == 0 { err = errnoErr(e1) } @@ -2466,7 +2466,7 @@ func GetNamedPipeHandleState(pipe Handle, state *uint32, curInstances *uint32, m } func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetNamedPipeInfo.Addr(), 5, uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)), 0) + r1, _, e1 := syscall.SyscallN(procGetNamedPipeInfo.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances))) if r1 == 0 { err = errnoErr(e1) } @@ -2474,7 +2474,7 @@ func GetNamedPipeInfo(pipe Handle, flags *uint32, outSize *uint32, inSize *uint3 } func GetNamedPipeServerProcessId(pipe Handle, serverProcessID *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetNamedPipeServerProcessId.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(serverProcessID)), 0) + r1, _, e1 := syscall.SyscallN(procGetNamedPipeServerProcessId.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(serverProcessID))) if r1 == 0 { err = errnoErr(e1) } @@ -2486,7 +2486,7 @@ func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wa if wait { _p0 = 1 } - r1, _, e1 := syscall.Syscall6(procGetOverlappedResult.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetOverlappedResult.Addr(), uintptr(handle), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(done)), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } @@ -2494,7 +2494,7 @@ func GetOverlappedResult(handle Handle, overlapped *Overlapped, done *uint32, wa } func GetPriorityClass(process Handle) (ret uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetPriorityClass.Addr(), 1, uintptr(process), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetPriorityClass.Addr(), uintptr(process)) ret = uint32(r0) if ret == 0 { err = errnoErr(e1) @@ -2512,7 +2512,7 @@ func GetProcAddress(module Handle, procname string) (proc uintptr, err error) { } func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { - r0, _, e1 := syscall.Syscall(procGetProcAddress.Addr(), 2, uintptr(module), uintptr(unsafe.Pointer(procname)), 0) + r0, _, e1 := syscall.SyscallN(procGetProcAddress.Addr(), uintptr(module), uintptr(unsafe.Pointer(procname))) proc = uintptr(r0) if proc == 0 { err = errnoErr(e1) @@ -2521,7 +2521,7 @@ func _GetProcAddress(module Handle, procname *byte) (proc uintptr, err error) { } func GetProcessId(process Handle) (id uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetProcessId.Addr(), 1, uintptr(process), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetProcessId.Addr(), uintptr(process)) id = uint32(r0) if id == 0 { err = errnoErr(e1) @@ -2530,7 +2530,7 @@ func GetProcessId(process Handle) (id uint32, err error) { } func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetProcessPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetProcessPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) if r1 == 0 { err = errnoErr(e1) } @@ -2538,7 +2538,7 @@ func getProcessPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uin } func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetProcessShutdownParameters.Addr(), 2, uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags)), 0) + r1, _, e1 := syscall.SyscallN(procGetProcessShutdownParameters.Addr(), uintptr(unsafe.Pointer(level)), uintptr(unsafe.Pointer(flags))) if r1 == 0 { err = errnoErr(e1) } @@ -2546,7 +2546,7 @@ func GetProcessShutdownParameters(level *uint32, flags *uint32) (err error) { } func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, kernelTime *Filetime, userTime *Filetime) (err error) { - r1, _, e1 := syscall.Syscall6(procGetProcessTimes.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime)), 0) + r1, _, e1 := syscall.SyscallN(procGetProcessTimes.Addr(), uintptr(handle), uintptr(unsafe.Pointer(creationTime)), uintptr(unsafe.Pointer(exitTime)), uintptr(unsafe.Pointer(kernelTime)), uintptr(unsafe.Pointer(userTime))) if r1 == 0 { err = errnoErr(e1) } @@ -2554,12 +2554,12 @@ func GetProcessTimes(handle Handle, creationTime *Filetime, exitTime *Filetime, } func GetProcessWorkingSetSizeEx(hProcess Handle, lpMinimumWorkingSetSize *uintptr, lpMaximumWorkingSetSize *uintptr, flags *uint32) { - syscall.Syscall6(procGetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags)), 0, 0) + syscall.SyscallN(procGetProcessWorkingSetSizeEx.Addr(), uintptr(hProcess), uintptr(unsafe.Pointer(lpMinimumWorkingSetSize)), uintptr(unsafe.Pointer(lpMaximumWorkingSetSize)), uintptr(unsafe.Pointer(flags))) return } func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overlapped **Overlapped, timeout uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetQueuedCompletionStatus.Addr(), 5, uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout), 0) + r1, _, e1 := syscall.SyscallN(procGetQueuedCompletionStatus.Addr(), uintptr(cphandle), uintptr(unsafe.Pointer(qty)), uintptr(unsafe.Pointer(key)), uintptr(unsafe.Pointer(overlapped)), uintptr(timeout)) if r1 == 0 { err = errnoErr(e1) } @@ -2567,7 +2567,7 @@ func GetQueuedCompletionStatus(cphandle Handle, qty *uint32, key *uintptr, overl } func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetShortPathNameW.Addr(), 3, uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) + r0, _, e1 := syscall.SyscallN(procGetShortPathNameW.Addr(), uintptr(unsafe.Pointer(longpath)), uintptr(unsafe.Pointer(shortpath)), uintptr(buflen)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2576,12 +2576,12 @@ func GetShortPathName(longpath *uint16, shortpath *uint16, buflen uint32) (n uin } func getStartupInfo(startupInfo *StartupInfo) { - syscall.Syscall(procGetStartupInfoW.Addr(), 1, uintptr(unsafe.Pointer(startupInfo)), 0, 0) + syscall.SyscallN(procGetStartupInfoW.Addr(), uintptr(unsafe.Pointer(startupInfo))) return } func GetStdHandle(stdhandle uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetStdHandle.Addr(), uintptr(stdhandle)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -2590,7 +2590,7 @@ func GetStdHandle(stdhandle uint32) (handle Handle, err error) { } func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + r0, _, e1 := syscall.SyscallN(procGetSystemDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen)) len = uint32(r0) if len == 0 { err = errnoErr(e1) @@ -2599,7 +2599,7 @@ func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { } func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetSystemPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetSystemPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) if r1 == 0 { err = errnoErr(e1) } @@ -2607,17 +2607,17 @@ func getSystemPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint } func GetSystemTimeAsFileTime(time *Filetime) { - syscall.Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + syscall.SyscallN(procGetSystemTimeAsFileTime.Addr(), uintptr(unsafe.Pointer(time))) return } func GetSystemTimePreciseAsFileTime(time *Filetime) { - syscall.Syscall(procGetSystemTimePreciseAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) + syscall.SyscallN(procGetSystemTimePreciseAsFileTime.Addr(), uintptr(unsafe.Pointer(time))) return } func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetSystemWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + r0, _, e1 := syscall.SyscallN(procGetSystemWindowsDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen)) len = uint32(r0) if len == 0 { err = errnoErr(e1) @@ -2626,7 +2626,7 @@ func getSystemWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err erro } func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetTempPathW.Addr(), 2, uintptr(buflen), uintptr(unsafe.Pointer(buf)), 0) + r0, _, e1 := syscall.SyscallN(procGetTempPathW.Addr(), uintptr(buflen), uintptr(unsafe.Pointer(buf))) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2635,7 +2635,7 @@ func GetTempPath(buflen uint32, buf *uint16) (n uint32, err error) { } func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetThreadPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetThreadPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) if r1 == 0 { err = errnoErr(e1) } @@ -2643,13 +2643,13 @@ func getThreadPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint } func getTickCount64() (ms uint64) { - r0, _, _ := syscall.Syscall(procGetTickCount64.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetTickCount64.Addr()) ms = uint64(r0) return } func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetTimeZoneInformation.Addr(), 1, uintptr(unsafe.Pointer(tzi)), 0, 0) + r0, _, e1 := syscall.SyscallN(procGetTimeZoneInformation.Addr(), uintptr(unsafe.Pointer(tzi))) rc = uint32(r0) if rc == 0xffffffff { err = errnoErr(e1) @@ -2658,7 +2658,7 @@ func GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) { } func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16, bufSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetUserPreferredUILanguages.Addr(), 4, uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetUserPreferredUILanguages.Addr(), uintptr(flags), uintptr(unsafe.Pointer(numLanguages)), uintptr(unsafe.Pointer(buf)), uintptr(unsafe.Pointer(bufSize))) if r1 == 0 { err = errnoErr(e1) } @@ -2666,7 +2666,7 @@ func getUserPreferredUILanguages(flags uint32, numLanguages *uint32, buf *uint16 } func GetVersion() (ver uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetVersion.Addr(), 0, 0, 0, 0) + r0, _, e1 := syscall.SyscallN(procGetVersion.Addr()) ver = uint32(r0) if ver == 0 { err = errnoErr(e1) @@ -2675,7 +2675,7 @@ func GetVersion() (ver uint32, err error) { } func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procGetVolumeInformationByHandleW.Addr(), 8, uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + r1, _, e1 := syscall.SyscallN(procGetVolumeInformationByHandleW.Addr(), uintptr(file), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize)) if r1 == 0 { err = errnoErr(e1) } @@ -2683,7 +2683,7 @@ func GetVolumeInformationByHandle(file Handle, volumeNameBuffer *uint16, volumeN } func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volumeNameSize uint32, volumeNameSerialNumber *uint32, maximumComponentLength *uint32, fileSystemFlags *uint32, fileSystemNameBuffer *uint16, fileSystemNameSize uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procGetVolumeInformationW.Addr(), 8, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize), 0) + r1, _, e1 := syscall.SyscallN(procGetVolumeInformationW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeNameBuffer)), uintptr(volumeNameSize), uintptr(unsafe.Pointer(volumeNameSerialNumber)), uintptr(unsafe.Pointer(maximumComponentLength)), uintptr(unsafe.Pointer(fileSystemFlags)), uintptr(unsafe.Pointer(fileSystemNameBuffer)), uintptr(fileSystemNameSize)) if r1 == 0 { err = errnoErr(e1) } @@ -2691,7 +2691,7 @@ func GetVolumeInformation(rootPathName *uint16, volumeNameBuffer *uint16, volume } func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16, bufferlength uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetVolumeNameForVolumeMountPointW.Addr(), 3, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) + r1, _, e1 := syscall.SyscallN(procGetVolumeNameForVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), uintptr(bufferlength)) if r1 == 0 { err = errnoErr(e1) } @@ -2699,7 +2699,7 @@ func GetVolumeNameForVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint } func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetVolumePathNameW.Addr(), 3, uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) + r1, _, e1 := syscall.SyscallN(procGetVolumePathNameW.Addr(), uintptr(unsafe.Pointer(fileName)), uintptr(unsafe.Pointer(volumePathName)), uintptr(bufferLength)) if r1 == 0 { err = errnoErr(e1) } @@ -2707,7 +2707,7 @@ func GetVolumePathName(fileName *uint16, volumePathName *uint16, bufferLength ui } func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16, bufferLength uint32, returnLength *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetVolumePathNamesForVolumeNameW.Addr(), 4, uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength)), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetVolumePathNamesForVolumeNameW.Addr(), uintptr(unsafe.Pointer(volumeName)), uintptr(unsafe.Pointer(volumePathNames)), uintptr(bufferLength), uintptr(unsafe.Pointer(returnLength))) if r1 == 0 { err = errnoErr(e1) } @@ -2715,7 +2715,7 @@ func GetVolumePathNamesForVolumeName(volumeName *uint16, volumePathNames *uint16 } func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetWindowsDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) + r0, _, e1 := syscall.SyscallN(procGetWindowsDirectoryW.Addr(), uintptr(unsafe.Pointer(dir)), uintptr(dirLen)) len = uint32(r0) if len == 0 { err = errnoErr(e1) @@ -2724,7 +2724,7 @@ func getWindowsDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { } func initializeProcThreadAttributeList(attrlist *ProcThreadAttributeList, attrcount uint32, flags uint32, size *uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procInitializeProcThreadAttributeList.Addr(), 4, uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size)), 0, 0) + r1, _, e1 := syscall.SyscallN(procInitializeProcThreadAttributeList.Addr(), uintptr(unsafe.Pointer(attrlist)), uintptr(attrcount), uintptr(flags), uintptr(unsafe.Pointer(size))) if r1 == 0 { err = errnoErr(e1) } @@ -2736,7 +2736,7 @@ func IsWow64Process(handle Handle, isWow64 *bool) (err error) { if *isWow64 { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procIsWow64Process.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(&_p0)), 0) + r1, _, e1 := syscall.SyscallN(procIsWow64Process.Addr(), uintptr(handle), uintptr(unsafe.Pointer(&_p0))) *isWow64 = _p0 != 0 if r1 == 0 { err = errnoErr(e1) @@ -2749,7 +2749,7 @@ func IsWow64Process2(handle Handle, processMachine *uint16, nativeMachine *uint1 if err != nil { return } - r1, _, e1 := syscall.Syscall(procIsWow64Process2.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) + r1, _, e1 := syscall.SyscallN(procIsWow64Process2.Addr(), uintptr(handle), uintptr(unsafe.Pointer(processMachine)), uintptr(unsafe.Pointer(nativeMachine))) if r1 == 0 { err = errnoErr(e1) } @@ -2766,7 +2766,7 @@ func LoadLibraryEx(libname string, zero Handle, flags uintptr) (handle Handle, e } func _LoadLibraryEx(libname *uint16, zero Handle, flags uintptr) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procLoadLibraryExW.Addr(), 3, uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) + r0, _, e1 := syscall.SyscallN(procLoadLibraryExW.Addr(), uintptr(unsafe.Pointer(libname)), uintptr(zero), uintptr(flags)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -2784,7 +2784,7 @@ func LoadLibrary(libname string) (handle Handle, err error) { } func _LoadLibrary(libname *uint16) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procLoadLibraryW.Addr(), 1, uintptr(unsafe.Pointer(libname)), 0, 0) + r0, _, e1 := syscall.SyscallN(procLoadLibraryW.Addr(), uintptr(unsafe.Pointer(libname))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -2793,7 +2793,7 @@ func _LoadLibrary(libname *uint16) (handle Handle, err error) { } func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) { - r0, _, e1 := syscall.Syscall(procLoadResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) + r0, _, e1 := syscall.SyscallN(procLoadResource.Addr(), uintptr(module), uintptr(resInfo)) resData = Handle(r0) if resData == 0 { err = errnoErr(e1) @@ -2802,7 +2802,7 @@ func LoadResource(module Handle, resInfo Handle) (resData Handle, err error) { } func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) { - r0, _, e1 := syscall.Syscall(procLocalAlloc.Addr(), 2, uintptr(flags), uintptr(length), 0) + r0, _, e1 := syscall.SyscallN(procLocalAlloc.Addr(), uintptr(flags), uintptr(length)) ptr = uintptr(r0) if ptr == 0 { err = errnoErr(e1) @@ -2811,7 +2811,7 @@ func LocalAlloc(flags uint32, length uint32) (ptr uintptr, err error) { } func LocalFree(hmem Handle) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procLocalFree.Addr(), 1, uintptr(hmem), 0, 0) + r0, _, e1 := syscall.SyscallN(procLocalFree.Addr(), uintptr(hmem)) handle = Handle(r0) if handle != 0 { err = errnoErr(e1) @@ -2820,7 +2820,7 @@ func LocalFree(hmem Handle) (handle Handle, err error) { } func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall6(procLockFileEx.Addr(), 6, uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) + r1, _, e1 := syscall.SyscallN(procLockFileEx.Addr(), uintptr(file), uintptr(flags), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -2828,7 +2828,7 @@ func LockFileEx(file Handle, flags uint32, reserved uint32, bytesLow uint32, byt } func LockResource(resData Handle) (addr uintptr, err error) { - r0, _, e1 := syscall.Syscall(procLockResource.Addr(), 1, uintptr(resData), 0, 0) + r0, _, e1 := syscall.SyscallN(procLockResource.Addr(), uintptr(resData)) addr = uintptr(r0) if addr == 0 { err = errnoErr(e1) @@ -2837,7 +2837,7 @@ func LockResource(resData Handle) (addr uintptr, err error) { } func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow uint32, length uintptr) (addr uintptr, err error) { - r0, _, e1 := syscall.Syscall6(procMapViewOfFile.Addr(), 5, uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length), 0) + r0, _, e1 := syscall.SyscallN(procMapViewOfFile.Addr(), uintptr(handle), uintptr(access), uintptr(offsetHigh), uintptr(offsetLow), uintptr(length)) addr = uintptr(r0) if addr == 0 { err = errnoErr(e1) @@ -2846,7 +2846,7 @@ func MapViewOfFile(handle Handle, access uint32, offsetHigh uint32, offsetLow ui } func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procModule32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) + r1, _, e1 := syscall.SyscallN(procModule32FirstW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry))) if r1 == 0 { err = errnoErr(e1) } @@ -2854,7 +2854,7 @@ func Module32First(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { } func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procModule32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry)), 0) + r1, _, e1 := syscall.SyscallN(procModule32NextW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(moduleEntry))) if r1 == 0 { err = errnoErr(e1) } @@ -2862,7 +2862,7 @@ func Module32Next(snapshot Handle, moduleEntry *ModuleEntry32) (err error) { } func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procMoveFileExW.Addr(), 3, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) + r1, _, e1 := syscall.SyscallN(procMoveFileExW.Addr(), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -2870,7 +2870,7 @@ func MoveFileEx(from *uint16, to *uint16, flags uint32) (err error) { } func MoveFile(from *uint16, to *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procMoveFileW.Addr(), 2, uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to)), 0) + r1, _, e1 := syscall.SyscallN(procMoveFileW.Addr(), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(to))) if r1 == 0 { err = errnoErr(e1) } @@ -2878,7 +2878,7 @@ func MoveFile(from *uint16, to *uint16) (err error) { } func MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) { - r0, _, e1 := syscall.Syscall6(procMultiByteToWideChar.Addr(), 6, uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) + r0, _, e1 := syscall.SyscallN(procMultiByteToWideChar.Addr(), uintptr(codePage), uintptr(dwFlags), uintptr(unsafe.Pointer(str)), uintptr(nstr), uintptr(unsafe.Pointer(wchar)), uintptr(nwchar)) nwrite = int32(r0) if nwrite == 0 { err = errnoErr(e1) @@ -2891,7 +2891,7 @@ func OpenEvent(desiredAccess uint32, inheritHandle bool, name *uint16) (handle H if inheritHandle { _p0 = 1 } - r0, _, e1 := syscall.Syscall(procOpenEventW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + r0, _, e1 := syscall.SyscallN(procOpenEventW.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -2904,7 +2904,7 @@ func OpenMutex(desiredAccess uint32, inheritHandle bool, name *uint16) (handle H if inheritHandle { _p0 = 1 } - r0, _, e1 := syscall.Syscall(procOpenMutexW.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) + r0, _, e1 := syscall.SyscallN(procOpenMutexW.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(unsafe.Pointer(name))) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -2917,7 +2917,7 @@ func OpenProcess(desiredAccess uint32, inheritHandle bool, processId uint32) (ha if inheritHandle { _p0 = 1 } - r0, _, e1 := syscall.Syscall(procOpenProcess.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) + r0, _, e1 := syscall.SyscallN(procOpenProcess.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(processId)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -2930,7 +2930,7 @@ func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (hand if inheritHandle { _p0 = 1 } - r0, _, e1 := syscall.Syscall(procOpenThread.Addr(), 3, uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) + r0, _, e1 := syscall.SyscallN(procOpenThread.Addr(), uintptr(desiredAccess), uintptr(_p0), uintptr(threadId)) handle = Handle(r0) if handle == 0 { err = errnoErr(e1) @@ -2939,7 +2939,7 @@ func OpenThread(desiredAccess uint32, inheritHandle bool, threadId uint32) (hand } func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall6(procPostQueuedCompletionStatus.Addr(), 4, uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped)), 0, 0) + r1, _, e1 := syscall.SyscallN(procPostQueuedCompletionStatus.Addr(), uintptr(cphandle), uintptr(qty), uintptr(key), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -2947,7 +2947,7 @@ func PostQueuedCompletionStatus(cphandle Handle, qty uint32, key uintptr, overla } func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procProcess32FirstW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + r1, _, e1 := syscall.SyscallN(procProcess32FirstW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(procEntry))) if r1 == 0 { err = errnoErr(e1) } @@ -2955,7 +2955,7 @@ func Process32First(snapshot Handle, procEntry *ProcessEntry32) (err error) { } func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procProcess32NextW.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(procEntry)), 0) + r1, _, e1 := syscall.SyscallN(procProcess32NextW.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(procEntry))) if r1 == 0 { err = errnoErr(e1) } @@ -2963,7 +2963,7 @@ func Process32Next(snapshot Handle, procEntry *ProcessEntry32) (err error) { } func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procProcessIdToSessionId.Addr(), 2, uintptr(pid), uintptr(unsafe.Pointer(sessionid)), 0) + r1, _, e1 := syscall.SyscallN(procProcessIdToSessionId.Addr(), uintptr(pid), uintptr(unsafe.Pointer(sessionid))) if r1 == 0 { err = errnoErr(e1) } @@ -2971,7 +2971,7 @@ func ProcessIdToSessionId(pid uint32, sessionid *uint32) (err error) { } func PulseEvent(event Handle) (err error) { - r1, _, e1 := syscall.Syscall(procPulseEvent.Addr(), 1, uintptr(event), 0, 0) + r1, _, e1 := syscall.SyscallN(procPulseEvent.Addr(), uintptr(event)) if r1 == 0 { err = errnoErr(e1) } @@ -2979,7 +2979,7 @@ func PulseEvent(event Handle) (err error) { } func PurgeComm(handle Handle, dwFlags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procPurgeComm.Addr(), 2, uintptr(handle), uintptr(dwFlags), 0) + r1, _, e1 := syscall.SyscallN(procPurgeComm.Addr(), uintptr(handle), uintptr(dwFlags)) if r1 == 0 { err = errnoErr(e1) } @@ -2987,7 +2987,7 @@ func PurgeComm(handle Handle, dwFlags uint32) (err error) { } func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint32, err error) { - r0, _, e1 := syscall.Syscall(procQueryDosDeviceW.Addr(), 3, uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) + r0, _, e1 := syscall.SyscallN(procQueryDosDeviceW.Addr(), uintptr(unsafe.Pointer(deviceName)), uintptr(unsafe.Pointer(targetPath)), uintptr(max)) n = uint32(r0) if n == 0 { err = errnoErr(e1) @@ -2996,7 +2996,7 @@ func QueryDosDevice(deviceName *uint16, targetPath *uint16, max uint32) (n uint3 } func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procQueryFullProcessImageNameW.Addr(), 4, uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size)), 0, 0) + r1, _, e1 := syscall.SyscallN(procQueryFullProcessImageNameW.Addr(), uintptr(proc), uintptr(flags), uintptr(unsafe.Pointer(exeName)), uintptr(unsafe.Pointer(size))) if r1 == 0 { err = errnoErr(e1) } @@ -3004,7 +3004,7 @@ func QueryFullProcessImageName(proc Handle, flags uint32, exeName *uint16, size } func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobObjectInformation uintptr, JobObjectInformationLength uint32, retlen *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procQueryInformationJobObject.Addr(), 5, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen)), 0) + r1, _, e1 := syscall.SyscallN(procQueryInformationJobObject.Addr(), uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), uintptr(unsafe.Pointer(retlen))) if r1 == 0 { err = errnoErr(e1) } @@ -3012,7 +3012,7 @@ func QueryInformationJobObject(job Handle, JobObjectInformationClass int32, JobO } func ReadConsole(console Handle, buf *uint16, toread uint32, read *uint32, inputControl *byte) (err error) { - r1, _, e1 := syscall.Syscall6(procReadConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl)), 0) + r1, _, e1 := syscall.SyscallN(procReadConsoleW.Addr(), uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(toread), uintptr(unsafe.Pointer(read)), uintptr(unsafe.Pointer(inputControl))) if r1 == 0 { err = errnoErr(e1) } @@ -3024,7 +3024,7 @@ func ReadDirectoryChanges(handle Handle, buf *byte, buflen uint32, watchSubTree if watchSubTree { _p0 = 1 } - r1, _, e1 := syscall.Syscall9(procReadDirectoryChangesW.Addr(), 8, uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine), 0) + r1, _, e1 := syscall.SyscallN(procReadDirectoryChangesW.Addr(), uintptr(handle), uintptr(unsafe.Pointer(buf)), uintptr(buflen), uintptr(_p0), uintptr(mask), uintptr(unsafe.Pointer(retlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) if r1 == 0 { err = errnoErr(e1) } @@ -3036,7 +3036,7 @@ func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) ( if len(buf) > 0 { _p0 = &buf[0] } - r1, _, e1 := syscall.Syscall6(procReadFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + r1, _, e1 := syscall.SyscallN(procReadFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -3044,7 +3044,7 @@ func readFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) ( } func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesRead *uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procReadProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead)), 0) + r1, _, e1 := syscall.SyscallN(procReadProcessMemory.Addr(), uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesRead))) if r1 == 0 { err = errnoErr(e1) } @@ -3052,7 +3052,7 @@ func ReadProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size u } func ReleaseMutex(mutex Handle) (err error) { - r1, _, e1 := syscall.Syscall(procReleaseMutex.Addr(), 1, uintptr(mutex), 0, 0) + r1, _, e1 := syscall.SyscallN(procReleaseMutex.Addr(), uintptr(mutex)) if r1 == 0 { err = errnoErr(e1) } @@ -3060,7 +3060,7 @@ func ReleaseMutex(mutex Handle) (err error) { } func RemoveDirectory(path *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procRemoveDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + r1, _, e1 := syscall.SyscallN(procRemoveDirectoryW.Addr(), uintptr(unsafe.Pointer(path))) if r1 == 0 { err = errnoErr(e1) } @@ -3068,7 +3068,7 @@ func RemoveDirectory(path *uint16) (err error) { } func RemoveDllDirectory(cookie uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procRemoveDllDirectory.Addr(), 1, uintptr(cookie), 0, 0) + r1, _, e1 := syscall.SyscallN(procRemoveDllDirectory.Addr(), uintptr(cookie)) if r1 == 0 { err = errnoErr(e1) } @@ -3076,7 +3076,7 @@ func RemoveDllDirectory(cookie uintptr) (err error) { } func ResetEvent(event Handle) (err error) { - r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0) + r1, _, e1 := syscall.SyscallN(procResetEvent.Addr(), uintptr(event)) if r1 == 0 { err = errnoErr(e1) } @@ -3084,7 +3084,7 @@ func ResetEvent(event Handle) (err error) { } func resizePseudoConsole(pconsole Handle, size uint32) (hr error) { - r0, _, _ := syscall.Syscall(procResizePseudoConsole.Addr(), 2, uintptr(pconsole), uintptr(size), 0) + r0, _, _ := syscall.SyscallN(procResizePseudoConsole.Addr(), uintptr(pconsole), uintptr(size)) if r0 != 0 { hr = syscall.Errno(r0) } @@ -3092,7 +3092,7 @@ func resizePseudoConsole(pconsole Handle, size uint32) (hr error) { } func ResumeThread(thread Handle) (ret uint32, err error) { - r0, _, e1 := syscall.Syscall(procResumeThread.Addr(), 1, uintptr(thread), 0, 0) + r0, _, e1 := syscall.SyscallN(procResumeThread.Addr(), uintptr(thread)) ret = uint32(r0) if ret == 0xffffffff { err = errnoErr(e1) @@ -3101,7 +3101,7 @@ func ResumeThread(thread Handle) (ret uint32, err error) { } func SetCommBreak(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procSetCommBreak.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetCommBreak.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -3109,7 +3109,7 @@ func SetCommBreak(handle Handle) (err error) { } func SetCommMask(handle Handle, dwEvtMask uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetCommMask.Addr(), 2, uintptr(handle), uintptr(dwEvtMask), 0) + r1, _, e1 := syscall.SyscallN(procSetCommMask.Addr(), uintptr(handle), uintptr(dwEvtMask)) if r1 == 0 { err = errnoErr(e1) } @@ -3117,7 +3117,7 @@ func SetCommMask(handle Handle, dwEvtMask uint32) (err error) { } func SetCommState(handle Handle, lpDCB *DCB) (err error) { - r1, _, e1 := syscall.Syscall(procSetCommState.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(lpDCB)), 0) + r1, _, e1 := syscall.SyscallN(procSetCommState.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpDCB))) if r1 == 0 { err = errnoErr(e1) } @@ -3125,7 +3125,7 @@ func SetCommState(handle Handle, lpDCB *DCB) (err error) { } func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { - r1, _, e1 := syscall.Syscall(procSetCommTimeouts.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(timeouts)), 0) + r1, _, e1 := syscall.SyscallN(procSetCommTimeouts.Addr(), uintptr(handle), uintptr(unsafe.Pointer(timeouts))) if r1 == 0 { err = errnoErr(e1) } @@ -3133,7 +3133,7 @@ func SetCommTimeouts(handle Handle, timeouts *CommTimeouts) (err error) { } func SetConsoleCP(cp uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetConsoleCP.Addr(), 1, uintptr(cp), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetConsoleCP.Addr(), uintptr(cp)) if r1 == 0 { err = errnoErr(e1) } @@ -3141,7 +3141,7 @@ func SetConsoleCP(cp uint32) (err error) { } func setConsoleCursorPosition(console Handle, position uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetConsoleCursorPosition.Addr(), 2, uintptr(console), uintptr(position), 0) + r1, _, e1 := syscall.SyscallN(procSetConsoleCursorPosition.Addr(), uintptr(console), uintptr(position)) if r1 == 0 { err = errnoErr(e1) } @@ -3149,7 +3149,7 @@ func setConsoleCursorPosition(console Handle, position uint32) (err error) { } func SetConsoleMode(console Handle, mode uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetConsoleMode.Addr(), 2, uintptr(console), uintptr(mode), 0) + r1, _, e1 := syscall.SyscallN(procSetConsoleMode.Addr(), uintptr(console), uintptr(mode)) if r1 == 0 { err = errnoErr(e1) } @@ -3157,7 +3157,7 @@ func SetConsoleMode(console Handle, mode uint32) (err error) { } func SetConsoleOutputCP(cp uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetConsoleOutputCP.Addr(), 1, uintptr(cp), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetConsoleOutputCP.Addr(), uintptr(cp)) if r1 == 0 { err = errnoErr(e1) } @@ -3165,7 +3165,7 @@ func SetConsoleOutputCP(cp uint32) (err error) { } func SetCurrentDirectory(path *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procSetCurrentDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetCurrentDirectoryW.Addr(), uintptr(unsafe.Pointer(path))) if r1 == 0 { err = errnoErr(e1) } @@ -3173,7 +3173,7 @@ func SetCurrentDirectory(path *uint16) (err error) { } func SetDefaultDllDirectories(directoryFlags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetDefaultDllDirectories.Addr(), 1, uintptr(directoryFlags), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetDefaultDllDirectories.Addr(), uintptr(directoryFlags)) if r1 == 0 { err = errnoErr(e1) } @@ -3190,7 +3190,7 @@ func SetDllDirectory(path string) (err error) { } func _SetDllDirectory(path *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procSetDllDirectoryW.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetDllDirectoryW.Addr(), uintptr(unsafe.Pointer(path))) if r1 == 0 { err = errnoErr(e1) } @@ -3198,7 +3198,7 @@ func _SetDllDirectory(path *uint16) (err error) { } func SetEndOfFile(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procSetEndOfFile.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetEndOfFile.Addr(), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -3206,7 +3206,7 @@ func SetEndOfFile(handle Handle) (err error) { } func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0) + r1, _, e1 := syscall.SyscallN(procSetEnvironmentVariableW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value))) if r1 == 0 { err = errnoErr(e1) } @@ -3214,13 +3214,13 @@ func SetEnvironmentVariable(name *uint16, value *uint16) (err error) { } func SetErrorMode(mode uint32) (ret uint32) { - r0, _, _ := syscall.Syscall(procSetErrorMode.Addr(), 1, uintptr(mode), 0, 0) + r0, _, _ := syscall.SyscallN(procSetErrorMode.Addr(), uintptr(mode)) ret = uint32(r0) return } func SetEvent(event Handle) (err error) { - r1, _, e1 := syscall.Syscall(procSetEvent.Addr(), 1, uintptr(event), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetEvent.Addr(), uintptr(event)) if r1 == 0 { err = errnoErr(e1) } @@ -3228,7 +3228,7 @@ func SetEvent(event Handle) (err error) { } func SetFileAttributes(name *uint16, attrs uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetFileAttributesW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(attrs), 0) + r1, _, e1 := syscall.SyscallN(procSetFileAttributesW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(attrs)) if r1 == 0 { err = errnoErr(e1) } @@ -3236,7 +3236,7 @@ func SetFileAttributes(name *uint16, attrs uint32) (err error) { } func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) { - r1, _, e1 := syscall.Syscall(procSetFileCompletionNotificationModes.Addr(), 2, uintptr(handle), uintptr(flags), 0) + r1, _, e1 := syscall.SyscallN(procSetFileCompletionNotificationModes.Addr(), uintptr(handle), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -3244,7 +3244,7 @@ func SetFileCompletionNotificationModes(handle Handle, flags uint8) (err error) } func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inBufferLen uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetFileInformationByHandle.Addr(), 4, uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetFileInformationByHandle.Addr(), uintptr(handle), uintptr(class), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen)) if r1 == 0 { err = errnoErr(e1) } @@ -3252,7 +3252,7 @@ func SetFileInformationByHandle(handle Handle, class uint32, inBuffer *byte, inB } func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) { - r0, _, e1 := syscall.Syscall6(procSetFilePointer.Addr(), 4, uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence), 0, 0) + r0, _, e1 := syscall.SyscallN(procSetFilePointer.Addr(), uintptr(handle), uintptr(lowoffset), uintptr(unsafe.Pointer(highoffsetptr)), uintptr(whence)) newlowoffset = uint32(r0) if newlowoffset == 0xffffffff { err = errnoErr(e1) @@ -3261,7 +3261,7 @@ func SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence } func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) { - r1, _, e1 := syscall.Syscall6(procSetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetFileTime.Addr(), uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime))) if r1 == 0 { err = errnoErr(e1) } @@ -3269,7 +3269,7 @@ func SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetim } func SetFileValidData(handle Handle, validDataLength int64) (err error) { - r1, _, e1 := syscall.Syscall(procSetFileValidData.Addr(), 2, uintptr(handle), uintptr(validDataLength), 0) + r1, _, e1 := syscall.SyscallN(procSetFileValidData.Addr(), uintptr(handle), uintptr(validDataLength)) if r1 == 0 { err = errnoErr(e1) } @@ -3277,7 +3277,7 @@ func SetFileValidData(handle Handle, validDataLength int64) (err error) { } func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetHandleInformation.Addr(), 3, uintptr(handle), uintptr(mask), uintptr(flags)) + r1, _, e1 := syscall.SyscallN(procSetHandleInformation.Addr(), uintptr(handle), uintptr(mask), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -3285,7 +3285,7 @@ func SetHandleInformation(handle Handle, mask uint32, flags uint32) (err error) } func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobObjectInformation uintptr, JobObjectInformationLength uint32) (ret int, err error) { - r0, _, e1 := syscall.Syscall6(procSetInformationJobObject.Addr(), 4, uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength), 0, 0) + r0, _, e1 := syscall.SyscallN(procSetInformationJobObject.Addr(), uintptr(job), uintptr(JobObjectInformationClass), uintptr(JobObjectInformation), uintptr(JobObjectInformationLength)) ret = int(r0) if ret == 0 { err = errnoErr(e1) @@ -3294,7 +3294,7 @@ func SetInformationJobObject(job Handle, JobObjectInformationClass uint32, JobOb } func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetNamedPipeHandleState.Addr(), 4, uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout)), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetNamedPipeHandleState.Addr(), uintptr(pipe), uintptr(unsafe.Pointer(state)), uintptr(unsafe.Pointer(maxCollectionCount)), uintptr(unsafe.Pointer(collectDataTimeout))) if r1 == 0 { err = errnoErr(e1) } @@ -3302,7 +3302,7 @@ func SetNamedPipeHandleState(pipe Handle, state *uint32, maxCollectionCount *uin } func SetPriorityClass(process Handle, priorityClass uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetPriorityClass.Addr(), 2, uintptr(process), uintptr(priorityClass), 0) + r1, _, e1 := syscall.SyscallN(procSetPriorityClass.Addr(), uintptr(process), uintptr(priorityClass)) if r1 == 0 { err = errnoErr(e1) } @@ -3314,7 +3314,7 @@ func SetProcessPriorityBoost(process Handle, disable bool) (err error) { if disable { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procSetProcessPriorityBoost.Addr(), 2, uintptr(process), uintptr(_p0), 0) + r1, _, e1 := syscall.SyscallN(procSetProcessPriorityBoost.Addr(), uintptr(process), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } @@ -3322,7 +3322,7 @@ func SetProcessPriorityBoost(process Handle, disable bool) (err error) { } func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetProcessShutdownParameters.Addr(), 2, uintptr(level), uintptr(flags), 0) + r1, _, e1 := syscall.SyscallN(procSetProcessShutdownParameters.Addr(), uintptr(level), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -3330,7 +3330,7 @@ func SetProcessShutdownParameters(level uint32, flags uint32) (err error) { } func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr, dwMaximumWorkingSetSize uintptr, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetProcessWorkingSetSizeEx.Addr(), 4, uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetProcessWorkingSetSizeEx.Addr(), uintptr(hProcess), uintptr(dwMinimumWorkingSetSize), uintptr(dwMaximumWorkingSetSize), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -3338,7 +3338,7 @@ func SetProcessWorkingSetSizeEx(hProcess Handle, dwMinimumWorkingSetSize uintptr } func SetStdHandle(stdhandle uint32, handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procSetStdHandle.Addr(), 2, uintptr(stdhandle), uintptr(handle), 0) + r1, _, e1 := syscall.SyscallN(procSetStdHandle.Addr(), uintptr(stdhandle), uintptr(handle)) if r1 == 0 { err = errnoErr(e1) } @@ -3346,7 +3346,7 @@ func SetStdHandle(stdhandle uint32, handle Handle) (err error) { } func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procSetVolumeLabelW.Addr(), 2, uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName)), 0) + r1, _, e1 := syscall.SyscallN(procSetVolumeLabelW.Addr(), uintptr(unsafe.Pointer(rootPathName)), uintptr(unsafe.Pointer(volumeName))) if r1 == 0 { err = errnoErr(e1) } @@ -3354,7 +3354,7 @@ func SetVolumeLabel(rootPathName *uint16, volumeName *uint16) (err error) { } func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procSetVolumeMountPointW.Addr(), 2, uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName)), 0) + r1, _, e1 := syscall.SyscallN(procSetVolumeMountPointW.Addr(), uintptr(unsafe.Pointer(volumeMountPoint)), uintptr(unsafe.Pointer(volumeName))) if r1 == 0 { err = errnoErr(e1) } @@ -3362,7 +3362,7 @@ func SetVolumeMountPoint(volumeMountPoint *uint16, volumeName *uint16) (err erro } func SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) { - r1, _, e1 := syscall.Syscall(procSetupComm.Addr(), 3, uintptr(handle), uintptr(dwInQueue), uintptr(dwOutQueue)) + r1, _, e1 := syscall.SyscallN(procSetupComm.Addr(), uintptr(handle), uintptr(dwInQueue), uintptr(dwOutQueue)) if r1 == 0 { err = errnoErr(e1) } @@ -3370,7 +3370,7 @@ func SetupComm(handle Handle, dwInQueue uint32, dwOutQueue uint32) (err error) { } func SizeofResource(module Handle, resInfo Handle) (size uint32, err error) { - r0, _, e1 := syscall.Syscall(procSizeofResource.Addr(), 2, uintptr(module), uintptr(resInfo), 0) + r0, _, e1 := syscall.SyscallN(procSizeofResource.Addr(), uintptr(module), uintptr(resInfo)) size = uint32(r0) if size == 0 { err = errnoErr(e1) @@ -3383,13 +3383,13 @@ func SleepEx(milliseconds uint32, alertable bool) (ret uint32) { if alertable { _p0 = 1 } - r0, _, _ := syscall.Syscall(procSleepEx.Addr(), 2, uintptr(milliseconds), uintptr(_p0), 0) + r0, _, _ := syscall.SyscallN(procSleepEx.Addr(), uintptr(milliseconds), uintptr(_p0)) ret = uint32(r0) return } func TerminateJobObject(job Handle, exitCode uint32) (err error) { - r1, _, e1 := syscall.Syscall(procTerminateJobObject.Addr(), 2, uintptr(job), uintptr(exitCode), 0) + r1, _, e1 := syscall.SyscallN(procTerminateJobObject.Addr(), uintptr(job), uintptr(exitCode)) if r1 == 0 { err = errnoErr(e1) } @@ -3397,7 +3397,7 @@ func TerminateJobObject(job Handle, exitCode uint32) (err error) { } func TerminateProcess(handle Handle, exitcode uint32) (err error) { - r1, _, e1 := syscall.Syscall(procTerminateProcess.Addr(), 2, uintptr(handle), uintptr(exitcode), 0) + r1, _, e1 := syscall.SyscallN(procTerminateProcess.Addr(), uintptr(handle), uintptr(exitcode)) if r1 == 0 { err = errnoErr(e1) } @@ -3405,7 +3405,7 @@ func TerminateProcess(handle Handle, exitcode uint32) (err error) { } func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procThread32First.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + r1, _, e1 := syscall.SyscallN(procThread32First.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry))) if r1 == 0 { err = errnoErr(e1) } @@ -3413,7 +3413,7 @@ func Thread32First(snapshot Handle, threadEntry *ThreadEntry32) (err error) { } func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { - r1, _, e1 := syscall.Syscall(procThread32Next.Addr(), 2, uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry)), 0) + r1, _, e1 := syscall.SyscallN(procThread32Next.Addr(), uintptr(snapshot), uintptr(unsafe.Pointer(threadEntry))) if r1 == 0 { err = errnoErr(e1) } @@ -3421,7 +3421,7 @@ func Thread32Next(snapshot Handle, threadEntry *ThreadEntry32) (err error) { } func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint32, overlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall6(procUnlockFileEx.Addr(), 5, uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped)), 0) + r1, _, e1 := syscall.SyscallN(procUnlockFileEx.Addr(), uintptr(file), uintptr(reserved), uintptr(bytesLow), uintptr(bytesHigh), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -3429,7 +3429,7 @@ func UnlockFileEx(file Handle, reserved uint32, bytesLow uint32, bytesHigh uint3 } func UnmapViewOfFile(addr uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procUnmapViewOfFile.Addr(), 1, uintptr(addr), 0, 0) + r1, _, e1 := syscall.SyscallN(procUnmapViewOfFile.Addr(), uintptr(addr)) if r1 == 0 { err = errnoErr(e1) } @@ -3437,7 +3437,7 @@ func UnmapViewOfFile(addr uintptr) (err error) { } func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, attr uintptr, value unsafe.Pointer, size uintptr, prevvalue unsafe.Pointer, returnedsize *uintptr) (err error) { - r1, _, e1 := syscall.Syscall9(procUpdateProcThreadAttribute.Addr(), 7, uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procUpdateProcThreadAttribute.Addr(), uintptr(unsafe.Pointer(attrlist)), uintptr(flags), uintptr(attr), uintptr(value), uintptr(size), uintptr(prevvalue), uintptr(unsafe.Pointer(returnedsize))) if r1 == 0 { err = errnoErr(e1) } @@ -3445,7 +3445,7 @@ func updateProcThreadAttribute(attrlist *ProcThreadAttributeList, flags uint32, } func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint32) (value uintptr, err error) { - r0, _, e1 := syscall.Syscall6(procVirtualAlloc.Addr(), 4, uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect), 0, 0) + r0, _, e1 := syscall.SyscallN(procVirtualAlloc.Addr(), uintptr(address), uintptr(size), uintptr(alloctype), uintptr(protect)) value = uintptr(r0) if value == 0 { err = errnoErr(e1) @@ -3454,7 +3454,7 @@ func VirtualAlloc(address uintptr, size uintptr, alloctype uint32, protect uint3 } func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { - r1, _, e1 := syscall.Syscall(procVirtualFree.Addr(), 3, uintptr(address), uintptr(size), uintptr(freetype)) + r1, _, e1 := syscall.SyscallN(procVirtualFree.Addr(), uintptr(address), uintptr(size), uintptr(freetype)) if r1 == 0 { err = errnoErr(e1) } @@ -3462,7 +3462,7 @@ func VirtualFree(address uintptr, size uintptr, freetype uint32) (err error) { } func VirtualLock(addr uintptr, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procVirtualLock.Addr(), 2, uintptr(addr), uintptr(length), 0) + r1, _, e1 := syscall.SyscallN(procVirtualLock.Addr(), uintptr(addr), uintptr(length)) if r1 == 0 { err = errnoErr(e1) } @@ -3470,7 +3470,7 @@ func VirtualLock(addr uintptr, length uintptr) (err error) { } func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procVirtualProtect.Addr(), 4, uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect)), 0, 0) + r1, _, e1 := syscall.SyscallN(procVirtualProtect.Addr(), uintptr(address), uintptr(size), uintptr(newprotect), uintptr(unsafe.Pointer(oldprotect))) if r1 == 0 { err = errnoErr(e1) } @@ -3478,7 +3478,7 @@ func VirtualProtect(address uintptr, size uintptr, newprotect uint32, oldprotect } func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect uint32, oldProtect *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procVirtualProtectEx.Addr(), 5, uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect)), 0) + r1, _, e1 := syscall.SyscallN(procVirtualProtectEx.Addr(), uintptr(process), uintptr(address), uintptr(size), uintptr(newProtect), uintptr(unsafe.Pointer(oldProtect))) if r1 == 0 { err = errnoErr(e1) } @@ -3486,7 +3486,7 @@ func VirtualProtectEx(process Handle, address uintptr, size uintptr, newProtect } func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procVirtualQuery.Addr(), 3, uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) + r1, _, e1 := syscall.SyscallN(procVirtualQuery.Addr(), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) if r1 == 0 { err = errnoErr(e1) } @@ -3494,7 +3494,7 @@ func VirtualQuery(address uintptr, buffer *MemoryBasicInformation, length uintpt } func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformation, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procVirtualQueryEx.Addr(), 4, uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length), 0, 0) + r1, _, e1 := syscall.SyscallN(procVirtualQueryEx.Addr(), uintptr(process), uintptr(address), uintptr(unsafe.Pointer(buffer)), uintptr(length)) if r1 == 0 { err = errnoErr(e1) } @@ -3502,7 +3502,7 @@ func VirtualQueryEx(process Handle, address uintptr, buffer *MemoryBasicInformat } func VirtualUnlock(addr uintptr, length uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procVirtualUnlock.Addr(), 2, uintptr(addr), uintptr(length), 0) + r1, _, e1 := syscall.SyscallN(procVirtualUnlock.Addr(), uintptr(addr), uintptr(length)) if r1 == 0 { err = errnoErr(e1) } @@ -3510,13 +3510,13 @@ func VirtualUnlock(addr uintptr, length uintptr) (err error) { } func WTSGetActiveConsoleSessionId() (sessionID uint32) { - r0, _, _ := syscall.Syscall(procWTSGetActiveConsoleSessionId.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procWTSGetActiveConsoleSessionId.Addr()) sessionID = uint32(r0) return } func WaitCommEvent(handle Handle, lpEvtMask *uint32, lpOverlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall(procWaitCommEvent.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(lpEvtMask)), uintptr(unsafe.Pointer(lpOverlapped))) + r1, _, e1 := syscall.SyscallN(procWaitCommEvent.Addr(), uintptr(handle), uintptr(unsafe.Pointer(lpEvtMask)), uintptr(unsafe.Pointer(lpOverlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -3528,7 +3528,7 @@ func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMil if waitAll { _p0 = 1 } - r0, _, e1 := syscall.Syscall6(procWaitForMultipleObjects.Addr(), 4, uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds), 0, 0) + r0, _, e1 := syscall.SyscallN(procWaitForMultipleObjects.Addr(), uintptr(count), uintptr(handles), uintptr(_p0), uintptr(waitMilliseconds)) event = uint32(r0) if event == 0xffffffff { err = errnoErr(e1) @@ -3537,7 +3537,7 @@ func waitForMultipleObjects(count uint32, handles uintptr, waitAll bool, waitMil } func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, err error) { - r0, _, e1 := syscall.Syscall(procWaitForSingleObject.Addr(), 2, uintptr(handle), uintptr(waitMilliseconds), 0) + r0, _, e1 := syscall.SyscallN(procWaitForSingleObject.Addr(), uintptr(handle), uintptr(waitMilliseconds)) event = uint32(r0) if event == 0xffffffff { err = errnoErr(e1) @@ -3546,7 +3546,7 @@ func WaitForSingleObject(handle Handle, waitMilliseconds uint32) (event uint32, } func WriteConsole(console Handle, buf *uint16, towrite uint32, written *uint32, reserved *byte) (err error) { - r1, _, e1 := syscall.Syscall6(procWriteConsoleW.Addr(), 5, uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved)), 0) + r1, _, e1 := syscall.SyscallN(procWriteConsoleW.Addr(), uintptr(console), uintptr(unsafe.Pointer(buf)), uintptr(towrite), uintptr(unsafe.Pointer(written)), uintptr(unsafe.Pointer(reserved))) if r1 == 0 { err = errnoErr(e1) } @@ -3558,7 +3558,7 @@ func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) if len(buf) > 0 { _p0 = &buf[0] } - r1, _, e1 := syscall.Syscall6(procWriteFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped)), 0) + r1, _, e1 := syscall.SyscallN(procWriteFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(done)), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -3566,7 +3566,7 @@ func writeFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) } func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size uintptr, numberOfBytesWritten *uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procWriteProcessMemory.Addr(), 5, uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten)), 0) + r1, _, e1 := syscall.SyscallN(procWriteProcessMemory.Addr(), uintptr(process), uintptr(baseAddress), uintptr(unsafe.Pointer(buffer)), uintptr(size), uintptr(unsafe.Pointer(numberOfBytesWritten))) if r1 == 0 { err = errnoErr(e1) } @@ -3574,7 +3574,7 @@ func WriteProcessMemory(process Handle, baseAddress uintptr, buffer *byte, size } func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, recvd *uint32, overlapped *Overlapped) (err error) { - r1, _, e1 := syscall.Syscall9(procAcceptEx.Addr(), 8, uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped)), 0) + r1, _, e1 := syscall.SyscallN(procAcceptEx.Addr(), uintptr(ls), uintptr(as), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(overlapped))) if r1 == 0 { err = errnoErr(e1) } @@ -3582,12 +3582,12 @@ func AcceptEx(ls Handle, as Handle, buf *byte, rxdatalen uint32, laddrlen uint32 } func GetAcceptExSockaddrs(buf *byte, rxdatalen uint32, laddrlen uint32, raddrlen uint32, lrsa **RawSockaddrAny, lrsalen *int32, rrsa **RawSockaddrAny, rrsalen *int32) { - syscall.Syscall9(procGetAcceptExSockaddrs.Addr(), 8, uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen)), 0) + syscall.SyscallN(procGetAcceptExSockaddrs.Addr(), uintptr(unsafe.Pointer(buf)), uintptr(rxdatalen), uintptr(laddrlen), uintptr(raddrlen), uintptr(unsafe.Pointer(lrsa)), uintptr(unsafe.Pointer(lrsalen)), uintptr(unsafe.Pointer(rrsa)), uintptr(unsafe.Pointer(rrsalen))) return } func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint32, overlapped *Overlapped, transmitFileBuf *TransmitFileBuffers, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procTransmitFile.Addr(), 7, uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags), 0, 0) + r1, _, e1 := syscall.SyscallN(procTransmitFile.Addr(), uintptr(s), uintptr(handle), uintptr(bytesToWrite), uintptr(bytsPerSend), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(transmitFileBuf)), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -3595,7 +3595,7 @@ func TransmitFile(s Handle, handle Handle, bytesToWrite uint32, bytsPerSend uint } func NetApiBufferFree(buf *byte) (neterr error) { - r0, _, _ := syscall.Syscall(procNetApiBufferFree.Addr(), 1, uintptr(unsafe.Pointer(buf)), 0, 0) + r0, _, _ := syscall.SyscallN(procNetApiBufferFree.Addr(), uintptr(unsafe.Pointer(buf))) if r0 != 0 { neterr = syscall.Errno(r0) } @@ -3603,7 +3603,7 @@ func NetApiBufferFree(buf *byte) (neterr error) { } func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) { - r0, _, _ := syscall.Syscall(procNetGetJoinInformation.Addr(), 3, uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) + r0, _, _ := syscall.SyscallN(procNetGetJoinInformation.Addr(), uintptr(unsafe.Pointer(server)), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bufType))) if r0 != 0 { neterr = syscall.Errno(r0) } @@ -3611,7 +3611,7 @@ func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (nete } func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) { - r0, _, _ := syscall.Syscall9(procNetUserEnum.Addr(), 8, uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(filter), uintptr(unsafe.Pointer(buf)), uintptr(prefMaxLen), uintptr(unsafe.Pointer(entriesRead)), uintptr(unsafe.Pointer(totalEntries)), uintptr(unsafe.Pointer(resumeHandle)), 0) + r0, _, _ := syscall.SyscallN(procNetUserEnum.Addr(), uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(filter), uintptr(unsafe.Pointer(buf)), uintptr(prefMaxLen), uintptr(unsafe.Pointer(entriesRead)), uintptr(unsafe.Pointer(totalEntries)), uintptr(unsafe.Pointer(resumeHandle))) if r0 != 0 { neterr = syscall.Errno(r0) } @@ -3619,7 +3619,7 @@ func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, pr } func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { - r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) + r0, _, _ := syscall.SyscallN(procNetUserGetInfo.Addr(), uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf))) if r0 != 0 { neterr = syscall.Errno(r0) } @@ -3627,7 +3627,7 @@ func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **by } func NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, allocationSize *int64, attributes uint32, share uint32, disposition uint32, options uint32, eabuffer uintptr, ealength uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall12(procNtCreateFile.Addr(), 11, uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength), 0) + r0, _, _ := syscall.SyscallN(procNtCreateFile.Addr(), uintptr(unsafe.Pointer(handle)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(allocationSize)), uintptr(attributes), uintptr(share), uintptr(disposition), uintptr(options), uintptr(eabuffer), uintptr(ealength)) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3635,7 +3635,7 @@ func NtCreateFile(handle *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO } func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, iosb *IO_STATUS_BLOCK, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (ntstatus error) { - r0, _, _ := syscall.Syscall15(procNtCreateNamedPipeFile.Addr(), 14, uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout)), 0) + r0, _, _ := syscall.SyscallN(procNtCreateNamedPipeFile.Addr(), uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3643,7 +3643,7 @@ func NtCreateNamedPipeFile(pipe *Handle, access uint32, oa *OBJECT_ATTRIBUTES, i } func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32, retLen *uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procNtQueryInformationProcess.Addr(), 5, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen)), 0) + r0, _, _ := syscall.SyscallN(procNtQueryInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), uintptr(unsafe.Pointer(retLen))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3651,7 +3651,7 @@ func NtQueryInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe } func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32, retLen *uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procNtQuerySystemInformation.Addr(), 4, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen)), 0, 0) + r0, _, _ := syscall.SyscallN(procNtQuerySystemInformation.Addr(), uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen), uintptr(unsafe.Pointer(retLen))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3659,7 +3659,7 @@ func NtQuerySystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInf } func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, inBufferLen uint32, class uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procNtSetInformationFile.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class), 0) + r0, _, _ := syscall.SyscallN(procNtSetInformationFile.Addr(), uintptr(handle), uintptr(unsafe.Pointer(iosb)), uintptr(unsafe.Pointer(inBuffer)), uintptr(inBufferLen), uintptr(class)) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3667,7 +3667,7 @@ func NtSetInformationFile(handle Handle, iosb *IO_STATUS_BLOCK, inBuffer *byte, } func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.Pointer, procInfoLen uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procNtSetInformationProcess.Addr(), 4, uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen), 0, 0) + r0, _, _ := syscall.SyscallN(procNtSetInformationProcess.Addr(), uintptr(proc), uintptr(procInfoClass), uintptr(procInfo), uintptr(procInfoLen)) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3675,7 +3675,7 @@ func NtSetInformationProcess(proc Handle, procInfoClass int32, procInfo unsafe.P } func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoLen uint32) (ntstatus error) { - r0, _, _ := syscall.Syscall(procNtSetSystemInformation.Addr(), 3, uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen)) + r0, _, _ := syscall.SyscallN(procNtSetSystemInformation.Addr(), uintptr(sysInfoClass), uintptr(sysInfo), uintptr(sysInfoLen)) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3683,13 +3683,13 @@ func NtSetSystemInformation(sysInfoClass int32, sysInfo unsafe.Pointer, sysInfoL } func RtlAddFunctionTable(functionTable *RUNTIME_FUNCTION, entryCount uint32, baseAddress uintptr) (ret bool) { - r0, _, _ := syscall.Syscall(procRtlAddFunctionTable.Addr(), 3, uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress)) + r0, _, _ := syscall.SyscallN(procRtlAddFunctionTable.Addr(), uintptr(unsafe.Pointer(functionTable)), uintptr(entryCount), uintptr(baseAddress)) ret = r0 != 0 return } func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { - r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(acl)), 0, 0) + r0, _, _ := syscall.SyscallN(procRtlDefaultNpAcl.Addr(), uintptr(unsafe.Pointer(acl))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3697,13 +3697,13 @@ func RtlDefaultNpAcl(acl **ACL) (ntstatus error) { } func RtlDeleteFunctionTable(functionTable *RUNTIME_FUNCTION) (ret bool) { - r0, _, _ := syscall.Syscall(procRtlDeleteFunctionTable.Addr(), 1, uintptr(unsafe.Pointer(functionTable)), 0, 0) + r0, _, _ := syscall.SyscallN(procRtlDeleteFunctionTable.Addr(), uintptr(unsafe.Pointer(functionTable))) ret = r0 != 0 return } func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) + r0, _, _ := syscall.SyscallN(procRtlDosPathNameToNtPathName_U_WithStatus.Addr(), uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3711,7 +3711,7 @@ func RtlDosPathNameToNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFile } func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString, ntFileNamePart *uint16, relativeName *RTL_RELATIVE_NAME) (ntstatus error) { - r0, _, _ := syscall.Syscall6(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), 4, uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName)), 0, 0) + r0, _, _ := syscall.SyscallN(procRtlDosPathNameToRelativeNtPathName_U_WithStatus.Addr(), uintptr(unsafe.Pointer(dosName)), uintptr(unsafe.Pointer(ntName)), uintptr(unsafe.Pointer(ntFileNamePart)), uintptr(unsafe.Pointer(relativeName))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3719,18 +3719,18 @@ func RtlDosPathNameToRelativeNtPathName(dosName *uint16, ntName *NTUnicodeString } func RtlGetCurrentPeb() (peb *PEB) { - r0, _, _ := syscall.Syscall(procRtlGetCurrentPeb.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procRtlGetCurrentPeb.Addr()) peb = (*PEB)(unsafe.Pointer(r0)) return } func rtlGetNtVersionNumbers(majorVersion *uint32, minorVersion *uint32, buildNumber *uint32) { - syscall.Syscall(procRtlGetNtVersionNumbers.Addr(), 3, uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) + syscall.SyscallN(procRtlGetNtVersionNumbers.Addr(), uintptr(unsafe.Pointer(majorVersion)), uintptr(unsafe.Pointer(minorVersion)), uintptr(unsafe.Pointer(buildNumber))) return } func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) { - r0, _, _ := syscall.Syscall(procRtlGetVersion.Addr(), 1, uintptr(unsafe.Pointer(info)), 0, 0) + r0, _, _ := syscall.SyscallN(procRtlGetVersion.Addr(), uintptr(unsafe.Pointer(info))) if r0 != 0 { ntstatus = NTStatus(r0) } @@ -3738,23 +3738,23 @@ func rtlGetVersion(info *OsVersionInfoEx) (ntstatus error) { } func RtlInitString(destinationString *NTString, sourceString *byte) { - syscall.Syscall(procRtlInitString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) + syscall.SyscallN(procRtlInitString.Addr(), uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString))) return } func RtlInitUnicodeString(destinationString *NTUnicodeString, sourceString *uint16) { - syscall.Syscall(procRtlInitUnicodeString.Addr(), 2, uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString)), 0) + syscall.SyscallN(procRtlInitUnicodeString.Addr(), uintptr(unsafe.Pointer(destinationString)), uintptr(unsafe.Pointer(sourceString))) return } func rtlNtStatusToDosErrorNoTeb(ntstatus NTStatus) (ret syscall.Errno) { - r0, _, _ := syscall.Syscall(procRtlNtStatusToDosErrorNoTeb.Addr(), 1, uintptr(ntstatus), 0, 0) + r0, _, _ := syscall.SyscallN(procRtlNtStatusToDosErrorNoTeb.Addr(), uintptr(ntstatus)) ret = syscall.Errno(r0) return } func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { - r0, _, _ := syscall.Syscall(procCLSIDFromString.Addr(), 2, uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid)), 0) + r0, _, _ := syscall.SyscallN(procCLSIDFromString.Addr(), uintptr(unsafe.Pointer(lpsz)), uintptr(unsafe.Pointer(pclsid))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -3762,7 +3762,7 @@ func clsidFromString(lpsz *uint16, pclsid *GUID) (ret error) { } func coCreateGuid(pguid *GUID) (ret error) { - r0, _, _ := syscall.Syscall(procCoCreateGuid.Addr(), 1, uintptr(unsafe.Pointer(pguid)), 0, 0) + r0, _, _ := syscall.SyscallN(procCoCreateGuid.Addr(), uintptr(unsafe.Pointer(pguid))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -3770,7 +3770,7 @@ func coCreateGuid(pguid *GUID) (ret error) { } func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable **uintptr) (ret error) { - r0, _, _ := syscall.Syscall6(procCoGetObject.Addr(), 4, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable)), 0, 0) + r0, _, _ := syscall.SyscallN(procCoGetObject.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(bindOpts)), uintptr(unsafe.Pointer(guid)), uintptr(unsafe.Pointer(functionTable))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -3778,7 +3778,7 @@ func CoGetObject(name *uint16, bindOpts *BIND_OPTS3, guid *GUID, functionTable * } func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) { - r0, _, _ := syscall.Syscall(procCoInitializeEx.Addr(), 2, uintptr(reserved), uintptr(coInit), 0) + r0, _, _ := syscall.SyscallN(procCoInitializeEx.Addr(), uintptr(reserved), uintptr(coInit)) if r0 != 0 { ret = syscall.Errno(r0) } @@ -3786,23 +3786,23 @@ func CoInitializeEx(reserved uintptr, coInit uint32) (ret error) { } func CoTaskMemFree(address unsafe.Pointer) { - syscall.Syscall(procCoTaskMemFree.Addr(), 1, uintptr(address), 0, 0) + syscall.SyscallN(procCoTaskMemFree.Addr(), uintptr(address)) return } func CoUninitialize() { - syscall.Syscall(procCoUninitialize.Addr(), 0, 0, 0, 0) + syscall.SyscallN(procCoUninitialize.Addr()) return } func stringFromGUID2(rguid *GUID, lpsz *uint16, cchMax int32) (chars int32) { - r0, _, _ := syscall.Syscall(procStringFromGUID2.Addr(), 3, uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) + r0, _, _ := syscall.SyscallN(procStringFromGUID2.Addr(), uintptr(unsafe.Pointer(rguid)), uintptr(unsafe.Pointer(lpsz)), uintptr(cchMax)) chars = int32(r0) return } func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procEnumProcessModules.Addr(), 4, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), 0, 0) + r1, _, e1 := syscall.SyscallN(procEnumProcessModules.Addr(), uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded))) if r1 == 0 { err = errnoErr(e1) } @@ -3810,7 +3810,7 @@ func EnumProcessModules(process Handle, module *Handle, cb uint32, cbNeeded *uin } func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *uint32, filterFlag uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procEnumProcessModulesEx.Addr(), 5, uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag), 0) + r1, _, e1 := syscall.SyscallN(procEnumProcessModulesEx.Addr(), uintptr(process), uintptr(unsafe.Pointer(module)), uintptr(cb), uintptr(unsafe.Pointer(cbNeeded)), uintptr(filterFlag)) if r1 == 0 { err = errnoErr(e1) } @@ -3818,7 +3818,7 @@ func EnumProcessModulesEx(process Handle, module *Handle, cb uint32, cbNeeded *u } func enumProcesses(processIds *uint32, nSize uint32, bytesReturned *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procEnumProcesses.Addr(), 3, uintptr(unsafe.Pointer(processIds)), uintptr(nSize), uintptr(unsafe.Pointer(bytesReturned))) + r1, _, e1 := syscall.SyscallN(procEnumProcesses.Addr(), uintptr(unsafe.Pointer(processIds)), uintptr(nSize), uintptr(unsafe.Pointer(bytesReturned))) if r1 == 0 { err = errnoErr(e1) } @@ -3826,7 +3826,7 @@ func enumProcesses(processIds *uint32, nSize uint32, bytesReturned *uint32) (err } func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetModuleBaseNameW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetModuleBaseNameW.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(baseName)), uintptr(size)) if r1 == 0 { err = errnoErr(e1) } @@ -3834,7 +3834,7 @@ func GetModuleBaseName(process Handle, module Handle, baseName *uint16, size uin } func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetModuleFileNameExW.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetModuleFileNameExW.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(filename)), uintptr(size)) if r1 == 0 { err = errnoErr(e1) } @@ -3842,7 +3842,7 @@ func GetModuleFileNameEx(process Handle, module Handle, filename *uint16, size u } func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procGetModuleInformation.Addr(), 4, uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetModuleInformation.Addr(), uintptr(process), uintptr(module), uintptr(unsafe.Pointer(modinfo)), uintptr(cb)) if r1 == 0 { err = errnoErr(e1) } @@ -3850,7 +3850,7 @@ func GetModuleInformation(process Handle, module Handle, modinfo *ModuleInfo, cb } func QueryWorkingSetEx(process Handle, pv uintptr, cb uint32) (err error) { - r1, _, e1 := syscall.Syscall(procQueryWorkingSetEx.Addr(), 3, uintptr(process), uintptr(pv), uintptr(cb)) + r1, _, e1 := syscall.SyscallN(procQueryWorkingSetEx.Addr(), uintptr(process), uintptr(pv), uintptr(cb)) if r1 == 0 { err = errnoErr(e1) } @@ -3862,7 +3862,7 @@ func SubscribeServiceChangeNotifications(service Handle, eventType uint32, callb if ret != nil { return } - r0, _, _ := syscall.Syscall6(procSubscribeServiceChangeNotifications.Addr(), 5, uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription)), 0) + r0, _, _ := syscall.SyscallN(procSubscribeServiceChangeNotifications.Addr(), uintptr(service), uintptr(eventType), uintptr(callback), uintptr(callbackCtx), uintptr(unsafe.Pointer(subscription))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -3874,12 +3874,12 @@ func UnsubscribeServiceChangeNotifications(subscription uintptr) (err error) { if err != nil { return } - syscall.Syscall(procUnsubscribeServiceChangeNotifications.Addr(), 1, uintptr(subscription), 0, 0) + syscall.SyscallN(procUnsubscribeServiceChangeNotifications.Addr(), uintptr(subscription)) return } func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetUserNameExW.Addr(), 3, uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) + r1, _, e1 := syscall.SyscallN(procGetUserNameExW.Addr(), uintptr(nameFormat), uintptr(unsafe.Pointer(nameBuffre)), uintptr(unsafe.Pointer(nSize))) if r1&0xff == 0 { err = errnoErr(e1) } @@ -3887,7 +3887,7 @@ func GetUserNameEx(nameFormat uint32, nameBuffre *uint16, nSize *uint32) (err er } func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint32, translatedName *uint16, nSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procTranslateNameW.Addr(), 5, uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize)), 0) + r1, _, e1 := syscall.SyscallN(procTranslateNameW.Addr(), uintptr(unsafe.Pointer(accName)), uintptr(accNameFormat), uintptr(desiredNameFormat), uintptr(unsafe.Pointer(translatedName)), uintptr(unsafe.Pointer(nSize))) if r1&0xff == 0 { err = errnoErr(e1) } @@ -3895,7 +3895,7 @@ func TranslateName(accName *uint16, accNameFormat uint32, desiredNameFormat uint } func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiBuildDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) + r1, _, e1 := syscall.SyscallN(procSetupDiBuildDriverInfoList.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) if r1 == 0 { err = errnoErr(e1) } @@ -3903,7 +3903,7 @@ func SetupDiBuildDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoDa } func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiCallClassInstaller.Addr(), 3, uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) + r1, _, e1 := syscall.SyscallN(procSetupDiCallClassInstaller.Addr(), uintptr(installFunction), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -3911,7 +3911,7 @@ func SetupDiCallClassInstaller(installFunction DI_FUNCTION, deviceInfoSet DevInf } func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiCancelDriverInfoSearch.Addr(), 1, uintptr(deviceInfoSet), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetupDiCancelDriverInfoSearch.Addr(), uintptr(deviceInfoSet)) if r1 == 0 { err = errnoErr(e1) } @@ -3919,7 +3919,7 @@ func SetupDiCancelDriverInfoSearch(deviceInfoSet DevInfo) (err error) { } func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGuidListSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiClassGuidsFromNameExW.Addr(), 6, uintptr(unsafe.Pointer(className)), uintptr(unsafe.Pointer(classGuidList)), uintptr(classGuidListSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) + r1, _, e1 := syscall.SyscallN(procSetupDiClassGuidsFromNameExW.Addr(), uintptr(unsafe.Pointer(className)), uintptr(unsafe.Pointer(classGuidList)), uintptr(classGuidListSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) if r1 == 0 { err = errnoErr(e1) } @@ -3927,7 +3927,7 @@ func setupDiClassGuidsFromNameEx(className *uint16, classGuidList *GUID, classGu } func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSize uint32, requiredSize *uint32, machineName *uint16, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiClassNameFromGuidExW.Addr(), 6, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(className)), uintptr(classNameSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) + r1, _, e1 := syscall.SyscallN(procSetupDiClassNameFromGuidExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(className)), uintptr(classNameSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) if r1 == 0 { err = errnoErr(e1) } @@ -3935,7 +3935,7 @@ func setupDiClassNameFromGuidEx(classGUID *GUID, className *uint16, classNameSiz } func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { - r0, _, e1 := syscall.Syscall6(procSetupDiCreateDeviceInfoListExW.Addr(), 4, uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) + r0, _, e1 := syscall.SyscallN(procSetupDiCreateDeviceInfoListExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(hwndParent), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) handle = DevInfo(r0) if handle == DevInfo(InvalidHandle) { err = errnoErr(e1) @@ -3944,7 +3944,7 @@ func setupDiCreateDeviceInfoListEx(classGUID *GUID, hwndParent uintptr, machineN } func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUID *GUID, DeviceDescription *uint16, hwndParent uintptr, CreationFlags DICD, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall9(procSetupDiCreateDeviceInfoW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(DeviceName)), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(DeviceDescription)), uintptr(hwndParent), uintptr(CreationFlags), uintptr(unsafe.Pointer(deviceInfoData)), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetupDiCreateDeviceInfoW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(DeviceName)), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(DeviceDescription)), uintptr(hwndParent), uintptr(CreationFlags), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -3952,7 +3952,7 @@ func setupDiCreateDeviceInfo(deviceInfoSet DevInfo, DeviceName *uint16, classGUI } func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiDestroyDeviceInfoList.Addr(), 1, uintptr(deviceInfoSet), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetupDiDestroyDeviceInfoList.Addr(), uintptr(deviceInfoSet)) if r1 == 0 { err = errnoErr(e1) } @@ -3960,7 +3960,7 @@ func SetupDiDestroyDeviceInfoList(deviceInfoSet DevInfo) (err error) { } func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiDestroyDriverInfoList.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) + r1, _, e1 := syscall.SyscallN(procSetupDiDestroyDriverInfoList.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType)) if r1 == 0 { err = errnoErr(e1) } @@ -3968,7 +3968,7 @@ func SetupDiDestroyDriverInfoList(deviceInfoSet DevInfo, deviceInfoData *DevInfo } func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiEnumDeviceInfo.Addr(), 3, uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData))) + r1, _, e1 := syscall.SyscallN(procSetupDiEnumDeviceInfo.Addr(), uintptr(deviceInfoSet), uintptr(memberIndex), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -3976,7 +3976,7 @@ func setupDiEnumDeviceInfo(deviceInfoSet DevInfo, memberIndex uint32, deviceInfo } func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverType SPDIT, memberIndex uint32, driverInfoData *DrvInfoData) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiEnumDriverInfoW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData)), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiEnumDriverInfoW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(driverType), uintptr(memberIndex), uintptr(unsafe.Pointer(driverInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -3984,7 +3984,7 @@ func setupDiEnumDriverInfo(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, d } func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintptr, Flags DIGCF, deviceInfoSet DevInfo, machineName *uint16, reserved uintptr) (handle DevInfo, err error) { - r0, _, e1 := syscall.Syscall9(procSetupDiGetClassDevsExW.Addr(), 7, uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(Enumerator)), uintptr(hwndParent), uintptr(Flags), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(machineName)), uintptr(reserved), 0, 0) + r0, _, e1 := syscall.SyscallN(procSetupDiGetClassDevsExW.Addr(), uintptr(unsafe.Pointer(classGUID)), uintptr(unsafe.Pointer(Enumerator)), uintptr(hwndParent), uintptr(Flags), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(machineName)), uintptr(reserved)) handle = DevInfo(r0) if handle == DevInfo(InvalidHandle) { err = errnoErr(e1) @@ -3993,7 +3993,7 @@ func setupDiGetClassDevsEx(classGUID *GUID, Enumerator *uint16, hwndParent uintp } func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32, requiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiGetClassInstallParamsW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize)), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiGetClassInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), uintptr(unsafe.Pointer(requiredSize))) if r1 == 0 { err = errnoErr(e1) } @@ -4001,7 +4001,7 @@ func SetupDiGetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfo } func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailData *DevInfoListDetailData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInfoListDetailW.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData)), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInfoListDetailW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoSetDetailData))) if r1 == 0 { err = errnoErr(e1) } @@ -4009,7 +4009,7 @@ func setupDiGetDeviceInfoListDetail(deviceInfoSet DevInfo, deviceInfoSetDetailDa } func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) + r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) if r1 == 0 { err = errnoErr(e1) } @@ -4017,7 +4017,7 @@ func setupDiGetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInf } func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, instanceId *uint16, instanceIdSize uint32, instanceIdRequiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiGetDeviceInstanceIdW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize)), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceInstanceIdW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(instanceId)), uintptr(instanceIdSize), uintptr(unsafe.Pointer(instanceIdRequiredSize))) if r1 == 0 { err = errnoErr(e1) } @@ -4025,7 +4025,7 @@ func setupDiGetDeviceInstanceId(deviceInfoSet DevInfo, deviceInfoData *DevInfoDa } func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, propertyKey *DEVPROPKEY, propertyType *DEVPROPTYPE, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32, flags uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procSetupDiGetDevicePropertyW.Addr(), 8, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(flags), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiGetDevicePropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(propertyKey)), uintptr(unsafe.Pointer(propertyType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), uintptr(flags)) if r1 == 0 { err = errnoErr(e1) } @@ -4033,7 +4033,7 @@ func setupDiGetDeviceProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData } func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyRegDataType *uint32, propertyBuffer *byte, propertyBufferSize uint32, requiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall9(procSetupDiGetDeviceRegistryPropertyW.Addr(), 7, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyRegDataType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetupDiGetDeviceRegistryPropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyRegDataType)), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), uintptr(unsafe.Pointer(requiredSize))) if r1 == 0 { err = errnoErr(e1) } @@ -4041,7 +4041,7 @@ func setupDiGetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *Dev } func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData, driverInfoDetailData *DrvInfoDetailData, driverInfoDetailDataSize uint32, requiredSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiGetDriverInfoDetailW.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)), uintptr(unsafe.Pointer(driverInfoDetailData)), uintptr(driverInfoDetailDataSize), uintptr(unsafe.Pointer(requiredSize))) + r1, _, e1 := syscall.SyscallN(procSetupDiGetDriverInfoDetailW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData)), uintptr(unsafe.Pointer(driverInfoDetailData)), uintptr(driverInfoDetailDataSize), uintptr(unsafe.Pointer(requiredSize))) if r1 == 0 { err = errnoErr(e1) } @@ -4049,7 +4049,7 @@ func setupDiGetDriverInfoDetail(deviceInfoSet DevInfo, deviceInfoData *DevInfoDa } func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiGetSelectedDevice.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -4057,7 +4057,7 @@ func setupDiGetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData } func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiGetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) + r1, _, e1 := syscall.SyscallN(procSetupDiGetSelectedDriverW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -4065,7 +4065,7 @@ func setupDiGetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData } func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Scope DICS_FLAG, HwProfile uint32, KeyType DIREG, samDesired uint32) (key Handle, err error) { - r0, _, e1 := syscall.Syscall6(procSetupDiOpenDevRegKey.Addr(), 6, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired)) + r0, _, e1 := syscall.SyscallN(procSetupDiOpenDevRegKey.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(Scope), uintptr(HwProfile), uintptr(KeyType), uintptr(samDesired)) key = Handle(r0) if key == InvalidHandle { err = errnoErr(e1) @@ -4074,7 +4074,7 @@ func SetupDiOpenDevRegKey(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, Sc } func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, classInstallParams *ClassInstallHeader, classInstallParamsSize uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiSetClassInstallParamsW.Addr(), 4, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize), 0, 0) + r1, _, e1 := syscall.SyscallN(procSetupDiSetClassInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(classInstallParams)), uintptr(classInstallParamsSize)) if r1 == 0 { err = errnoErr(e1) } @@ -4082,7 +4082,7 @@ func SetupDiSetClassInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfo } func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, deviceInstallParams *DevInstallParams) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiSetDeviceInstallParamsW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) + r1, _, e1 := syscall.SyscallN(procSetupDiSetDeviceInstallParamsW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(deviceInstallParams))) if r1 == 0 { err = errnoErr(e1) } @@ -4090,7 +4090,7 @@ func SetupDiSetDeviceInstallParams(deviceInfoSet DevInfo, deviceInfoData *DevInf } func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, property SPDRP, propertyBuffer *byte, propertyBufferSize uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procSetupDiSetDeviceRegistryPropertyW.Addr(), 5, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiSetDeviceRegistryPropertyW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(property), uintptr(unsafe.Pointer(propertyBuffer)), uintptr(propertyBufferSize)) if r1 == 0 { err = errnoErr(e1) } @@ -4098,7 +4098,7 @@ func setupDiSetDeviceRegistryProperty(deviceInfoSet DevInfo, deviceInfoData *Dev } func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDevice.Addr(), 2, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), 0) + r1, _, e1 := syscall.SyscallN(procSetupDiSetSelectedDevice.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -4106,7 +4106,7 @@ func SetupDiSetSelectedDevice(deviceInfoSet DevInfo, deviceInfoData *DevInfoData } func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData, driverInfoData *DrvInfoData) (err error) { - r1, _, e1 := syscall.Syscall(procSetupDiSetSelectedDriverW.Addr(), 3, uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) + r1, _, e1 := syscall.SyscallN(procSetupDiSetSelectedDriverW.Addr(), uintptr(deviceInfoSet), uintptr(unsafe.Pointer(deviceInfoData)), uintptr(unsafe.Pointer(driverInfoData))) if r1 == 0 { err = errnoErr(e1) } @@ -4114,7 +4114,7 @@ func SetupDiSetSelectedDriver(deviceInfoSet DevInfo, deviceInfoData *DevInfoData } func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (err error) { - r1, _, e1 := syscall.Syscall(procSetupUninstallOEMInfW.Addr(), 3, uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved)) + r1, _, e1 := syscall.SyscallN(procSetupUninstallOEMInfW.Addr(), uintptr(unsafe.Pointer(infFileName)), uintptr(flags), uintptr(reserved)) if r1 == 0 { err = errnoErr(e1) } @@ -4122,7 +4122,7 @@ func setupUninstallOEMInf(infFileName *uint16, flags SUOI, reserved uintptr) (er } func commandLineToArgv(cmd *uint16, argc *int32) (argv **uint16, err error) { - r0, _, e1 := syscall.Syscall(procCommandLineToArgvW.Addr(), 2, uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc)), 0) + r0, _, e1 := syscall.SyscallN(procCommandLineToArgvW.Addr(), uintptr(unsafe.Pointer(cmd)), uintptr(unsafe.Pointer(argc))) argv = (**uint16)(unsafe.Pointer(r0)) if argv == nil { err = errnoErr(e1) @@ -4131,7 +4131,7 @@ func commandLineToArgv(cmd *uint16, argc *int32) (argv **uint16, err error) { } func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **uint16) (ret error) { - r0, _, _ := syscall.Syscall6(procSHGetKnownFolderPath.Addr(), 4, uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path)), 0, 0) + r0, _, _ := syscall.SyscallN(procSHGetKnownFolderPath.Addr(), uintptr(unsafe.Pointer(id)), uintptr(flags), uintptr(token), uintptr(unsafe.Pointer(path))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -4139,7 +4139,7 @@ func shGetKnownFolderPath(id *KNOWNFOLDERID, flags uint32, token Token, path **u } func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *uint16, showCmd int32) (err error) { - r1, _, e1 := syscall.Syscall6(procShellExecuteW.Addr(), 6, uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) + r1, _, e1 := syscall.SyscallN(procShellExecuteW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(verb)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(args)), uintptr(unsafe.Pointer(cwd)), uintptr(showCmd)) if r1 <= 32 { err = errnoErr(e1) } @@ -4147,12 +4147,12 @@ func ShellExecute(hwnd Handle, verb *uint16, file *uint16, args *uint16, cwd *ui } func EnumChildWindows(hwnd HWND, enumFunc uintptr, param unsafe.Pointer) { - syscall.Syscall(procEnumChildWindows.Addr(), 3, uintptr(hwnd), uintptr(enumFunc), uintptr(param)) + syscall.SyscallN(procEnumChildWindows.Addr(), uintptr(hwnd), uintptr(enumFunc), uintptr(param)) return } func EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) { - r1, _, e1 := syscall.Syscall(procEnumWindows.Addr(), 2, uintptr(enumFunc), uintptr(param), 0) + r1, _, e1 := syscall.SyscallN(procEnumWindows.Addr(), uintptr(enumFunc), uintptr(param)) if r1 == 0 { err = errnoErr(e1) } @@ -4160,7 +4160,7 @@ func EnumWindows(enumFunc uintptr, param unsafe.Pointer) (err error) { } func ExitWindowsEx(flags uint32, reason uint32) (err error) { - r1, _, e1 := syscall.Syscall(procExitWindowsEx.Addr(), 2, uintptr(flags), uintptr(reason), 0) + r1, _, e1 := syscall.SyscallN(procExitWindowsEx.Addr(), uintptr(flags), uintptr(reason)) if r1 == 0 { err = errnoErr(e1) } @@ -4168,7 +4168,7 @@ func ExitWindowsEx(flags uint32, reason uint32) (err error) { } func GetClassName(hwnd HWND, className *uint16, maxCount int32) (copied int32, err error) { - r0, _, e1 := syscall.Syscall(procGetClassNameW.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(className)), uintptr(maxCount)) + r0, _, e1 := syscall.SyscallN(procGetClassNameW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(className)), uintptr(maxCount)) copied = int32(r0) if copied == 0 { err = errnoErr(e1) @@ -4177,19 +4177,19 @@ func GetClassName(hwnd HWND, className *uint16, maxCount int32) (copied int32, e } func GetDesktopWindow() (hwnd HWND) { - r0, _, _ := syscall.Syscall(procGetDesktopWindow.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetDesktopWindow.Addr()) hwnd = HWND(r0) return } func GetForegroundWindow() (hwnd HWND) { - r0, _, _ := syscall.Syscall(procGetForegroundWindow.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetForegroundWindow.Addr()) hwnd = HWND(r0) return } func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) { - r1, _, e1 := syscall.Syscall(procGetGUIThreadInfo.Addr(), 2, uintptr(thread), uintptr(unsafe.Pointer(info)), 0) + r1, _, e1 := syscall.SyscallN(procGetGUIThreadInfo.Addr(), uintptr(thread), uintptr(unsafe.Pointer(info))) if r1 == 0 { err = errnoErr(e1) } @@ -4197,19 +4197,19 @@ func GetGUIThreadInfo(thread uint32, info *GUIThreadInfo) (err error) { } func GetKeyboardLayout(tid uint32) (hkl Handle) { - r0, _, _ := syscall.Syscall(procGetKeyboardLayout.Addr(), 1, uintptr(tid), 0, 0) + r0, _, _ := syscall.SyscallN(procGetKeyboardLayout.Addr(), uintptr(tid)) hkl = Handle(r0) return } func GetShellWindow() (shellWindow HWND) { - r0, _, _ := syscall.Syscall(procGetShellWindow.Addr(), 0, 0, 0, 0) + r0, _, _ := syscall.SyscallN(procGetShellWindow.Addr()) shellWindow = HWND(r0) return } func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetWindowThreadProcessId.Addr(), 2, uintptr(hwnd), uintptr(unsafe.Pointer(pid)), 0) + r0, _, e1 := syscall.SyscallN(procGetWindowThreadProcessId.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(pid))) tid = uint32(r0) if tid == 0 { err = errnoErr(e1) @@ -4218,25 +4218,25 @@ func GetWindowThreadProcessId(hwnd HWND, pid *uint32) (tid uint32, err error) { } func IsWindow(hwnd HWND) (isWindow bool) { - r0, _, _ := syscall.Syscall(procIsWindow.Addr(), 1, uintptr(hwnd), 0, 0) + r0, _, _ := syscall.SyscallN(procIsWindow.Addr(), uintptr(hwnd)) isWindow = r0 != 0 return } func IsWindowUnicode(hwnd HWND) (isUnicode bool) { - r0, _, _ := syscall.Syscall(procIsWindowUnicode.Addr(), 1, uintptr(hwnd), 0, 0) + r0, _, _ := syscall.SyscallN(procIsWindowUnicode.Addr(), uintptr(hwnd)) isUnicode = r0 != 0 return } func IsWindowVisible(hwnd HWND) (isVisible bool) { - r0, _, _ := syscall.Syscall(procIsWindowVisible.Addr(), 1, uintptr(hwnd), 0, 0) + r0, _, _ := syscall.SyscallN(procIsWindowVisible.Addr(), uintptr(hwnd)) isVisible = r0 != 0 return } func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) { - r0, _, e1 := syscall.Syscall(procLoadKeyboardLayoutW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(flags), 0) + r0, _, e1 := syscall.SyscallN(procLoadKeyboardLayoutW.Addr(), uintptr(unsafe.Pointer(name)), uintptr(flags)) hkl = Handle(r0) if hkl == 0 { err = errnoErr(e1) @@ -4245,7 +4245,7 @@ func LoadKeyboardLayout(name *uint16, flags uint32) (hkl Handle, err error) { } func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret int32, err error) { - r0, _, e1 := syscall.Syscall6(procMessageBoxW.Addr(), 4, uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype), 0, 0) + r0, _, e1 := syscall.SyscallN(procMessageBoxW.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(text)), uintptr(unsafe.Pointer(caption)), uintptr(boxtype)) ret = int32(r0) if ret == 0 { err = errnoErr(e1) @@ -4254,13 +4254,13 @@ func MessageBox(hwnd HWND, text *uint16, caption *uint16, boxtype uint32) (ret i } func ToUnicodeEx(vkey uint32, scancode uint32, keystate *byte, pwszBuff *uint16, cchBuff int32, flags uint32, hkl Handle) (ret int32) { - r0, _, _ := syscall.Syscall9(procToUnicodeEx.Addr(), 7, uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl), 0, 0) + r0, _, _ := syscall.SyscallN(procToUnicodeEx.Addr(), uintptr(vkey), uintptr(scancode), uintptr(unsafe.Pointer(keystate)), uintptr(unsafe.Pointer(pwszBuff)), uintptr(cchBuff), uintptr(flags), uintptr(hkl)) ret = int32(r0) return } func UnloadKeyboardLayout(hkl Handle) (err error) { - r1, _, e1 := syscall.Syscall(procUnloadKeyboardLayout.Addr(), 1, uintptr(hkl), 0, 0) + r1, _, e1 := syscall.SyscallN(procUnloadKeyboardLayout.Addr(), uintptr(hkl)) if r1 == 0 { err = errnoErr(e1) } @@ -4272,7 +4272,7 @@ func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) ( if inheritExisting { _p0 = 1 } - r1, _, e1 := syscall.Syscall(procCreateEnvironmentBlock.Addr(), 3, uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) + r1, _, e1 := syscall.SyscallN(procCreateEnvironmentBlock.Addr(), uintptr(unsafe.Pointer(block)), uintptr(token), uintptr(_p0)) if r1 == 0 { err = errnoErr(e1) } @@ -4280,7 +4280,7 @@ func CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) ( } func DestroyEnvironmentBlock(block *uint16) (err error) { - r1, _, e1 := syscall.Syscall(procDestroyEnvironmentBlock.Addr(), 1, uintptr(unsafe.Pointer(block)), 0, 0) + r1, _, e1 := syscall.SyscallN(procDestroyEnvironmentBlock.Addr(), uintptr(unsafe.Pointer(block))) if r1 == 0 { err = errnoErr(e1) } @@ -4288,7 +4288,7 @@ func DestroyEnvironmentBlock(block *uint16) (err error) { } func GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) { - r1, _, e1 := syscall.Syscall(procGetUserProfileDirectoryW.Addr(), 3, uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) + r1, _, e1 := syscall.SyscallN(procGetUserProfileDirectoryW.Addr(), uintptr(t), uintptr(unsafe.Pointer(dir)), uintptr(unsafe.Pointer(dirLen))) if r1 == 0 { err = errnoErr(e1) } @@ -4305,7 +4305,7 @@ func GetFileVersionInfoSize(filename string, zeroHandle *Handle) (bufSize uint32 } func _GetFileVersionInfoSize(filename *uint16, zeroHandle *Handle) (bufSize uint32, err error) { - r0, _, e1 := syscall.Syscall(procGetFileVersionInfoSizeW.Addr(), 2, uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle)), 0) + r0, _, e1 := syscall.SyscallN(procGetFileVersionInfoSizeW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(unsafe.Pointer(zeroHandle))) bufSize = uint32(r0) if bufSize == 0 { err = errnoErr(e1) @@ -4323,7 +4323,7 @@ func GetFileVersionInfo(filename string, handle uint32, bufSize uint32, buffer u } func _GetFileVersionInfo(filename *uint16, handle uint32, bufSize uint32, buffer unsafe.Pointer) (err error) { - r1, _, e1 := syscall.Syscall6(procGetFileVersionInfoW.Addr(), 4, uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer), 0, 0) + r1, _, e1 := syscall.SyscallN(procGetFileVersionInfoW.Addr(), uintptr(unsafe.Pointer(filename)), uintptr(handle), uintptr(bufSize), uintptr(buffer)) if r1 == 0 { err = errnoErr(e1) } @@ -4340,7 +4340,7 @@ func VerQueryValue(block unsafe.Pointer, subBlock string, pointerToBufferPointer } func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPointer unsafe.Pointer, bufSize *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procVerQueryValueW.Addr(), 4, uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize)), 0, 0) + r1, _, e1 := syscall.SyscallN(procVerQueryValueW.Addr(), uintptr(block), uintptr(unsafe.Pointer(subBlock)), uintptr(pointerToBufferPointer), uintptr(unsafe.Pointer(bufSize))) if r1 == 0 { err = errnoErr(e1) } @@ -4348,7 +4348,7 @@ func _VerQueryValue(block unsafe.Pointer, subBlock *uint16, pointerToBufferPoint } func TimeBeginPeriod(period uint32) (err error) { - r1, _, e1 := syscall.Syscall(proctimeBeginPeriod.Addr(), 1, uintptr(period), 0, 0) + r1, _, e1 := syscall.SyscallN(proctimeBeginPeriod.Addr(), uintptr(period)) if r1 != 0 { err = errnoErr(e1) } @@ -4356,7 +4356,7 @@ func TimeBeginPeriod(period uint32) (err error) { } func TimeEndPeriod(period uint32) (err error) { - r1, _, e1 := syscall.Syscall(proctimeEndPeriod.Addr(), 1, uintptr(period), 0, 0) + r1, _, e1 := syscall.SyscallN(proctimeEndPeriod.Addr(), uintptr(period)) if r1 != 0 { err = errnoErr(e1) } @@ -4364,7 +4364,7 @@ func TimeEndPeriod(period uint32) (err error) { } func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) { - r0, _, _ := syscall.Syscall(procWinVerifyTrustEx.Addr(), 3, uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) + r0, _, _ := syscall.SyscallN(procWinVerifyTrustEx.Addr(), uintptr(hwnd), uintptr(unsafe.Pointer(actionId)), uintptr(unsafe.Pointer(data))) if r0 != 0 { ret = syscall.Errno(r0) } @@ -4372,12 +4372,12 @@ func WinVerifyTrustEx(hwnd HWND, actionId *GUID, data *WinTrustData) (ret error) } func FreeAddrInfoW(addrinfo *AddrinfoW) { - syscall.Syscall(procFreeAddrInfoW.Addr(), 1, uintptr(unsafe.Pointer(addrinfo)), 0, 0) + syscall.SyscallN(procFreeAddrInfoW.Addr(), uintptr(unsafe.Pointer(addrinfo))) return } func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, result **AddrinfoW) (sockerr error) { - r0, _, _ := syscall.Syscall6(procGetAddrInfoW.Addr(), 4, uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result)), 0, 0) + r0, _, _ := syscall.SyscallN(procGetAddrInfoW.Addr(), uintptr(unsafe.Pointer(nodename)), uintptr(unsafe.Pointer(servicename)), uintptr(unsafe.Pointer(hints)), uintptr(unsafe.Pointer(result))) if r0 != 0 { sockerr = syscall.Errno(r0) } @@ -4385,7 +4385,7 @@ func GetAddrInfoW(nodename *uint16, servicename *uint16, hints *AddrinfoW, resul } func WSACleanup() (err error) { - r1, _, e1 := syscall.Syscall(procWSACleanup.Addr(), 0, 0, 0, 0) + r1, _, e1 := syscall.SyscallN(procWSACleanup.Addr()) if r1 == socket_error { err = errnoErr(e1) } @@ -4393,7 +4393,7 @@ func WSACleanup() (err error) { } func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err error) { - r1, _, e1 := syscall.Syscall(procWSADuplicateSocketW.Addr(), 3, uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info))) + r1, _, e1 := syscall.SyscallN(procWSADuplicateSocketW.Addr(), uintptr(s), uintptr(processID), uintptr(unsafe.Pointer(info))) if r1 != 0 { err = errnoErr(e1) } @@ -4401,7 +4401,7 @@ func WSADuplicateSocket(s Handle, processID uint32, info *WSAProtocolInfo) (err } func WSAEnumProtocols(protocols *int32, protocolBuffer *WSAProtocolInfo, bufferLength *uint32) (n int32, err error) { - r0, _, e1 := syscall.Syscall(procWSAEnumProtocolsW.Addr(), 3, uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) + r0, _, e1 := syscall.SyscallN(procWSAEnumProtocolsW.Addr(), uintptr(unsafe.Pointer(protocols)), uintptr(unsafe.Pointer(protocolBuffer)), uintptr(unsafe.Pointer(bufferLength))) n = int32(r0) if n == -1 { err = errnoErr(e1) @@ -4414,7 +4414,7 @@ func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, f if wait { _p0 = 1 } - r1, _, e1 := syscall.Syscall6(procWSAGetOverlappedResult.Addr(), 5, uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)), 0) + r1, _, e1 := syscall.SyscallN(procWSAGetOverlappedResult.Addr(), uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags))) if r1 == 0 { err = errnoErr(e1) } @@ -4422,7 +4422,7 @@ func WSAGetOverlappedResult(h Handle, o *Overlapped, bytes *uint32, wait bool, f } func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbob uint32, cbbr *uint32, overlapped *Overlapped, completionRoutine uintptr) (err error) { - r1, _, e1 := syscall.Syscall9(procWSAIoctl.Addr(), 9, uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) + r1, _, e1 := syscall.SyscallN(procWSAIoctl.Addr(), uintptr(s), uintptr(iocc), uintptr(unsafe.Pointer(inbuf)), uintptr(cbif), uintptr(unsafe.Pointer(outbuf)), uintptr(cbob), uintptr(unsafe.Pointer(cbbr)), uintptr(unsafe.Pointer(overlapped)), uintptr(completionRoutine)) if r1 == socket_error { err = errnoErr(e1) } @@ -4430,7 +4430,7 @@ func WSAIoctl(s Handle, iocc uint32, inbuf *byte, cbif uint32, outbuf *byte, cbo } func WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) (err error) { - r1, _, e1 := syscall.Syscall(procWSALookupServiceBeginW.Addr(), 3, uintptr(unsafe.Pointer(querySet)), uintptr(flags), uintptr(unsafe.Pointer(handle))) + r1, _, e1 := syscall.SyscallN(procWSALookupServiceBeginW.Addr(), uintptr(unsafe.Pointer(querySet)), uintptr(flags), uintptr(unsafe.Pointer(handle))) if r1 == socket_error { err = errnoErr(e1) } @@ -4438,7 +4438,7 @@ func WSALookupServiceBegin(querySet *WSAQUERYSET, flags uint32, handle *Handle) } func WSALookupServiceEnd(handle Handle) (err error) { - r1, _, e1 := syscall.Syscall(procWSALookupServiceEnd.Addr(), 1, uintptr(handle), 0, 0) + r1, _, e1 := syscall.SyscallN(procWSALookupServiceEnd.Addr(), uintptr(handle)) if r1 == socket_error { err = errnoErr(e1) } @@ -4446,7 +4446,7 @@ func WSALookupServiceEnd(handle Handle) (err error) { } func WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WSAQUERYSET) (err error) { - r1, _, e1 := syscall.Syscall6(procWSALookupServiceNextW.Addr(), 4, uintptr(handle), uintptr(flags), uintptr(unsafe.Pointer(size)), uintptr(unsafe.Pointer(querySet)), 0, 0) + r1, _, e1 := syscall.SyscallN(procWSALookupServiceNextW.Addr(), uintptr(handle), uintptr(flags), uintptr(unsafe.Pointer(size)), uintptr(unsafe.Pointer(querySet))) if r1 == socket_error { err = errnoErr(e1) } @@ -4454,7 +4454,7 @@ func WSALookupServiceNext(handle Handle, flags uint32, size *int32, querySet *WS } func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, overlapped *Overlapped, croutine *byte) (err error) { - r1, _, e1 := syscall.Syscall9(procWSARecv.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) + r1, _, e1 := syscall.SyscallN(procWSARecv.Addr(), uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } @@ -4462,7 +4462,7 @@ func WSARecv(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32 } func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *uint32, from *RawSockaddrAny, fromlen *int32, overlapped *Overlapped, croutine *byte) (err error) { - r1, _, e1 := syscall.Syscall9(procWSARecvFrom.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + r1, _, e1 := syscall.SyscallN(procWSARecvFrom.Addr(), uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(recvd)), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } @@ -4470,7 +4470,7 @@ func WSARecvFrom(s Handle, bufs *WSABuf, bufcnt uint32, recvd *uint32, flags *ui } func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, overlapped *Overlapped, croutine *byte) (err error) { - r1, _, e1 := syscall.Syscall9(procWSASend.Addr(), 7, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine)), 0, 0) + r1, _, e1 := syscall.SyscallN(procWSASend.Addr(), uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } @@ -4478,7 +4478,7 @@ func WSASend(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, } func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32, to *RawSockaddrAny, tolen int32, overlapped *Overlapped, croutine *byte) (err error) { - r1, _, e1 := syscall.Syscall9(procWSASendTo.Addr(), 9, uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) + r1, _, e1 := syscall.SyscallN(procWSASendTo.Addr(), uintptr(s), uintptr(unsafe.Pointer(bufs)), uintptr(bufcnt), uintptr(unsafe.Pointer(sent)), uintptr(flags), uintptr(unsafe.Pointer(to)), uintptr(tolen), uintptr(unsafe.Pointer(overlapped)), uintptr(unsafe.Pointer(croutine))) if r1 == socket_error { err = errnoErr(e1) } @@ -4486,7 +4486,7 @@ func WSASendTo(s Handle, bufs *WSABuf, bufcnt uint32, sent *uint32, flags uint32 } func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, group uint32, flags uint32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall6(procWSASocketW.Addr(), 6, uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags)) + r0, _, e1 := syscall.SyscallN(procWSASocketW.Addr(), uintptr(af), uintptr(typ), uintptr(protocol), uintptr(unsafe.Pointer(protoInfo)), uintptr(group), uintptr(flags)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -4495,7 +4495,7 @@ func WSASocket(af int32, typ int32, protocol int32, protoInfo *WSAProtocolInfo, } func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { - r0, _, _ := syscall.Syscall(procWSAStartup.Addr(), 2, uintptr(verreq), uintptr(unsafe.Pointer(data)), 0) + r0, _, _ := syscall.SyscallN(procWSAStartup.Addr(), uintptr(verreq), uintptr(unsafe.Pointer(data))) if r0 != 0 { sockerr = syscall.Errno(r0) } @@ -4503,7 +4503,7 @@ func WSAStartup(verreq uint32, data *WSAData) (sockerr error) { } func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { - r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + r1, _, e1 := syscall.SyscallN(procbind.Addr(), uintptr(s), uintptr(name), uintptr(namelen)) if r1 == socket_error { err = errnoErr(e1) } @@ -4511,7 +4511,7 @@ func bind(s Handle, name unsafe.Pointer, namelen int32) (err error) { } func Closesocket(s Handle) (err error) { - r1, _, e1 := syscall.Syscall(procclosesocket.Addr(), 1, uintptr(s), 0, 0) + r1, _, e1 := syscall.SyscallN(procclosesocket.Addr(), uintptr(s)) if r1 == socket_error { err = errnoErr(e1) } @@ -4519,7 +4519,7 @@ func Closesocket(s Handle) (err error) { } func connect(s Handle, name unsafe.Pointer, namelen int32) (err error) { - r1, _, e1 := syscall.Syscall(procconnect.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + r1, _, e1 := syscall.SyscallN(procconnect.Addr(), uintptr(s), uintptr(name), uintptr(namelen)) if r1 == socket_error { err = errnoErr(e1) } @@ -4536,7 +4536,7 @@ func GetHostByName(name string) (h *Hostent, err error) { } func _GetHostByName(name *byte) (h *Hostent, err error) { - r0, _, e1 := syscall.Syscall(procgethostbyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + r0, _, e1 := syscall.SyscallN(procgethostbyname.Addr(), uintptr(unsafe.Pointer(name))) h = (*Hostent)(unsafe.Pointer(r0)) if h == nil { err = errnoErr(e1) @@ -4545,7 +4545,7 @@ func _GetHostByName(name *byte) (h *Hostent, err error) { } func getpeername(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { - r1, _, e1 := syscall.Syscall(procgetpeername.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + r1, _, e1 := syscall.SyscallN(procgetpeername.Addr(), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if r1 == socket_error { err = errnoErr(e1) } @@ -4562,7 +4562,7 @@ func GetProtoByName(name string) (p *Protoent, err error) { } func _GetProtoByName(name *byte) (p *Protoent, err error) { - r0, _, e1 := syscall.Syscall(procgetprotobyname.Addr(), 1, uintptr(unsafe.Pointer(name)), 0, 0) + r0, _, e1 := syscall.SyscallN(procgetprotobyname.Addr(), uintptr(unsafe.Pointer(name))) p = (*Protoent)(unsafe.Pointer(r0)) if p == nil { err = errnoErr(e1) @@ -4585,7 +4585,7 @@ func GetServByName(name string, proto string) (s *Servent, err error) { } func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { - r0, _, e1 := syscall.Syscall(procgetservbyname.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto)), 0) + r0, _, e1 := syscall.SyscallN(procgetservbyname.Addr(), uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(proto))) s = (*Servent)(unsafe.Pointer(r0)) if s == nil { err = errnoErr(e1) @@ -4594,7 +4594,7 @@ func _GetServByName(name *byte, proto *byte) (s *Servent, err error) { } func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { - r1, _, e1 := syscall.Syscall(procgetsockname.Addr(), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) + r1, _, e1 := syscall.SyscallN(procgetsockname.Addr(), uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) if r1 == socket_error { err = errnoErr(e1) } @@ -4602,7 +4602,7 @@ func getsockname(s Handle, rsa *RawSockaddrAny, addrlen *int32) (err error) { } func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int32) (err error) { - r1, _, e1 := syscall.Syscall6(procgetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen)), 0) + r1, _, e1 := syscall.SyscallN(procgetsockopt.Addr(), uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(unsafe.Pointer(optlen))) if r1 == socket_error { err = errnoErr(e1) } @@ -4610,7 +4610,7 @@ func Getsockopt(s Handle, level int32, optname int32, optval *byte, optlen *int3 } func listen(s Handle, backlog int32) (err error) { - r1, _, e1 := syscall.Syscall(proclisten.Addr(), 2, uintptr(s), uintptr(backlog), 0) + r1, _, e1 := syscall.SyscallN(proclisten.Addr(), uintptr(s), uintptr(backlog)) if r1 == socket_error { err = errnoErr(e1) } @@ -4618,7 +4618,7 @@ func listen(s Handle, backlog int32) (err error) { } func Ntohs(netshort uint16) (u uint16) { - r0, _, _ := syscall.Syscall(procntohs.Addr(), 1, uintptr(netshort), 0, 0) + r0, _, _ := syscall.SyscallN(procntohs.Addr(), uintptr(netshort)) u = uint16(r0) return } @@ -4628,7 +4628,7 @@ func recvfrom(s Handle, buf []byte, flags int32, from *RawSockaddrAny, fromlen * if len(buf) > 0 { _p0 = &buf[0] } - r0, _, e1 := syscall.Syscall6(procrecvfrom.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) + r0, _, e1 := syscall.SyscallN(procrecvfrom.Addr(), uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) n = int32(r0) if n == -1 { err = errnoErr(e1) @@ -4641,7 +4641,7 @@ func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) ( if len(buf) > 0 { _p0 = &buf[0] } - r1, _, e1 := syscall.Syscall6(procsendto.Addr(), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) + r1, _, e1 := syscall.SyscallN(procsendto.Addr(), uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(tolen)) if r1 == socket_error { err = errnoErr(e1) } @@ -4649,7 +4649,7 @@ func sendto(s Handle, buf []byte, flags int32, to unsafe.Pointer, tolen int32) ( } func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32) (err error) { - r1, _, e1 := syscall.Syscall6(procsetsockopt.Addr(), 5, uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen), 0) + r1, _, e1 := syscall.SyscallN(procsetsockopt.Addr(), uintptr(s), uintptr(level), uintptr(optname), uintptr(unsafe.Pointer(optval)), uintptr(optlen)) if r1 == socket_error { err = errnoErr(e1) } @@ -4657,7 +4657,7 @@ func Setsockopt(s Handle, level int32, optname int32, optval *byte, optlen int32 } func shutdown(s Handle, how int32) (err error) { - r1, _, e1 := syscall.Syscall(procshutdown.Addr(), 2, uintptr(s), uintptr(how), 0) + r1, _, e1 := syscall.SyscallN(procshutdown.Addr(), uintptr(s), uintptr(how)) if r1 == socket_error { err = errnoErr(e1) } @@ -4665,7 +4665,7 @@ func shutdown(s Handle, how int32) (err error) { } func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { - r0, _, e1 := syscall.Syscall(procsocket.Addr(), 3, uintptr(af), uintptr(typ), uintptr(protocol)) + r0, _, e1 := syscall.SyscallN(procsocket.Addr(), uintptr(af), uintptr(typ), uintptr(protocol)) handle = Handle(r0) if handle == InvalidHandle { err = errnoErr(e1) @@ -4674,7 +4674,7 @@ func socket(af int32, typ int32, protocol int32) (handle Handle, err error) { } func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessions **WTS_SESSION_INFO, count *uint32) (err error) { - r1, _, e1 := syscall.Syscall6(procWTSEnumerateSessionsW.Addr(), 5, uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count)), 0) + r1, _, e1 := syscall.SyscallN(procWTSEnumerateSessionsW.Addr(), uintptr(handle), uintptr(reserved), uintptr(version), uintptr(unsafe.Pointer(sessions)), uintptr(unsafe.Pointer(count))) if r1 == 0 { err = errnoErr(e1) } @@ -4682,12 +4682,12 @@ func WTSEnumerateSessions(handle Handle, reserved uint32, version uint32, sessio } func WTSFreeMemory(ptr uintptr) { - syscall.Syscall(procWTSFreeMemory.Addr(), 1, uintptr(ptr), 0, 0) + syscall.SyscallN(procWTSFreeMemory.Addr(), uintptr(ptr)) return } func WTSQueryUserToken(session uint32, token *Token) (err error) { - r1, _, e1 := syscall.Syscall(procWTSQueryUserToken.Addr(), 2, uintptr(session), uintptr(unsafe.Pointer(token)), 0) + r1, _, e1 := syscall.SyscallN(procWTSQueryUserToken.Addr(), uintptr(session), uintptr(unsafe.Pointer(token))) if r1 == 0 { err = errnoErr(e1) } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/MAINTAINERS.md b/cluster-api/providers/azure/vendor/google.golang.org/grpc/MAINTAINERS.md index 5d4096d46a0..df35bb9a882 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/MAINTAINERS.md +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/MAINTAINERS.md @@ -9,21 +9,19 @@ for general contribution guidelines. ## Maintainers (in alphabetical order) -- [aranjans](https://github.com/aranjans), Google LLC - [arjan-bal](https://github.com/arjan-bal), Google LLC - [arvindbr8](https://github.com/arvindbr8), Google LLC - [atollena](https://github.com/atollena), Datadog, Inc. - [dfawley](https://github.com/dfawley), Google LLC - [easwars](https://github.com/easwars), Google LLC -- [erm-g](https://github.com/erm-g), Google LLC - [gtcooke94](https://github.com/gtcooke94), Google LLC -- [purnesh42h](https://github.com/purnesh42h), Google LLC -- [zasweq](https://github.com/zasweq), Google LLC ## Emeritus Maintainers (in alphabetical order) - [adelez](https://github.com/adelez) +- [aranjans](https://github.com/aranjans) - [canguler](https://github.com/canguler) - [cesarghali](https://github.com/cesarghali) +- [erm-g](https://github.com/erm-g) - [iamqizhao](https://github.com/iamqizhao) - [jeanbza](https://github.com/jeanbza) - [jtattermusch](https://github.com/jtattermusch) @@ -32,5 +30,7 @@ for general contribution guidelines. - [matt-kwong](https://github.com/matt-kwong) - [menghanl](https://github.com/menghanl) - [nicolasnoble](https://github.com/nicolasnoble) +- [purnesh42h](https://github.com/purnesh42h) - [srini100](https://github.com/srini100) - [yongni](https://github.com/yongni) +- [zasweq](https://github.com/zasweq) diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/balancer.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/balancer.go index c9b343c7156..b1264017db1 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/balancer.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/balancer.go @@ -360,6 +360,10 @@ type Balancer interface { // call SubConn.Shutdown for its existing SubConns; however, this will be // required in a future release, so it is recommended. Close() + // ExitIdle instructs the LB policy to reconnect to backends / exit the + // IDLE state, if appropriate and possible. Note that SubConns that enter + // the IDLE state will not reconnect until SubConn.Connect is called. + ExitIdle() } // ExitIdler is an optional interface for balancers to implement. If @@ -367,8 +371,8 @@ type Balancer interface { // the ClientConn is idle. If unimplemented, ClientConn.Connect will cause // all SubConns to connect. // -// Notice: it will be required for all balancers to implement this in a future -// release. +// Deprecated: All balancers must implement this interface. This interface will +// be removed in a future release. type ExitIdler interface { // ExitIdle instructs the LB policy to reconnect to backends / exit the // IDLE state, if appropriate and possible. Note that SubConns that enter diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go index cc606f4dae4..360db08ebc1 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/endpointsharding/endpointsharding.go @@ -37,6 +37,8 @@ import ( "google.golang.org/grpc/resolver" ) +var randIntN = rand.IntN + // ChildState is the balancer state of a child along with the endpoint which // identifies the child balancer. type ChildState struct { @@ -45,7 +47,15 @@ type ChildState struct { // Balancer exposes only the ExitIdler interface of the child LB policy. // Other methods of the child policy are called only by endpointsharding. - Balancer balancer.ExitIdler + Balancer ExitIdler +} + +// ExitIdler provides access to only the ExitIdle method of the child balancer. +type ExitIdler interface { + // ExitIdle instructs the LB policy to reconnect to backends / exit the + // IDLE state, if appropriate and possible. Note that SubConns that enter + // the IDLE state will not reconnect until SubConn.Connect is called. + ExitIdle() } // Options are the options to configure the behaviour of the @@ -104,6 +114,21 @@ type endpointSharding struct { mu sync.Mutex } +// rotateEndpoints returns a slice of all the input endpoints rotated a random +// amount. +func rotateEndpoints(es []resolver.Endpoint) []resolver.Endpoint { + les := len(es) + if les == 0 { + return es + } + r := randIntN(les) + // Make a copy to avoid mutating data beyond the end of es. + ret := make([]resolver.Endpoint, les) + copy(ret, es[r:]) + copy(ret[les-r:], es[:r]) + return ret +} + // UpdateClientConnState creates a child for new endpoints and deletes children // for endpoints that are no longer present. It also updates all the children, // and sends a single synchronous update of the childrens' aggregated state at @@ -125,7 +150,7 @@ func (es *endpointSharding) UpdateClientConnState(state balancer.ClientConnState newChildren := resolver.NewEndpointMap[*balancerWrapper]() // Update/Create new children. - for _, endpoint := range state.ResolverState.Endpoints { + for _, endpoint := range rotateEndpoints(state.ResolverState.Endpoints) { if _, ok := newChildren.Get(endpoint); ok { // Endpoint child was already created, continue to avoid duplicate // update. @@ -205,6 +230,16 @@ func (es *endpointSharding) Close() { } } +func (es *endpointSharding) ExitIdle() { + es.childMu.Lock() + defer es.childMu.Unlock() + for _, bw := range es.children.Load().Values() { + if !bw.isClosed { + bw.child.ExitIdle() + } + } +} + // updateState updates this component's state. It sends the aggregated state, // and a picker with round robin behavior with all the child states present if // needed. @@ -261,7 +296,7 @@ func (es *endpointSharding) updateState() { p := &pickerWithChildStates{ pickers: pickers, childStates: childStates, - next: uint32(rand.IntN(len(pickers))), + next: uint32(randIntN(len(pickers))), } es.cc.UpdateState(balancer.State{ ConnectivityState: aggState, @@ -326,15 +361,13 @@ func (bw *balancerWrapper) UpdateState(state balancer.State) { // ExitIdle pings an IDLE child balancer to exit idle in a new goroutine to // avoid deadlocks due to synchronous balancer state updates. func (bw *balancerWrapper) ExitIdle() { - if ei, ok := bw.child.(balancer.ExitIdler); ok { - go func() { - bw.es.childMu.Lock() - if !bw.isClosed { - ei.ExitIdle() - } - bw.es.childMu.Unlock() - }() - } + go func() { + bw.es.childMu.Lock() + if !bw.isClosed { + bw.child.ExitIdle() + } + bw.es.childMu.Unlock() + }() } // updateClientConnStateLocked delivers the ClientConnState to the child diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go index 494314f2358..67f315a0dbc 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go @@ -54,18 +54,9 @@ func init() { balancer.Register(pickfirstBuilder{}) } -type ( - // enableHealthListenerKeyType is a unique key type used in resolver - // attributes to indicate whether the health listener usage is enabled. - enableHealthListenerKeyType struct{} - // managedByPickfirstKeyType is an attribute key type to inform Outlier - // Detection that the generic health listener is being used. - // TODO: https://github.com/grpc/grpc-go/issues/7915 - Remove this when - // implementing the dualstack design. This is a hack. Once Dualstack is - // completed, outlier detection will stop sending ejection updates through - // the connectivity listener. - managedByPickfirstKeyType struct{} -) +// enableHealthListenerKeyType is a unique key type used in resolver +// attributes to indicate whether the health listener usage is enabled. +type enableHealthListenerKeyType struct{} var ( logger = grpclog.Component("pick-first-leaf-lb") @@ -76,21 +67,21 @@ var ( disconnectionsMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{ Name: "grpc.lb.pick_first.disconnections", Description: "EXPERIMENTAL. Number of times the selected subchannel becomes disconnected.", - Unit: "disconnection", + Unit: "{disconnection}", Labels: []string{"grpc.target"}, Default: false, }) connectionAttemptsSucceededMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{ Name: "grpc.lb.pick_first.connection_attempts_succeeded", Description: "EXPERIMENTAL. Number of successful connection attempts.", - Unit: "attempt", + Unit: "{attempt}", Labels: []string{"grpc.target"}, Default: false, }) connectionAttemptsFailedMetric = expstats.RegisterInt64Count(expstats.MetricDescriptor{ Name: "grpc.lb.pick_first.connection_attempts_failed", Description: "EXPERIMENTAL. Number of failed connection attempts.", - Unit: "attempt", + Unit: "{attempt}", Labels: []string{"grpc.target"}, Default: false, }) @@ -149,17 +140,6 @@ func EnableHealthListener(state resolver.State) resolver.State { return state } -// IsManagedByPickfirst returns whether an address belongs to a SubConn -// managed by the pickfirst LB policy. -// TODO: https://github.com/grpc/grpc-go/issues/7915 - This is a hack to disable -// outlier_detection via the with connectivity listener when using pick_first. -// Once Dualstack changes are complete, all SubConns will be created by -// pick_first and outlier detection will only use the health listener for -// ejection. This hack can then be removed. -func IsManagedByPickfirst(addr resolver.Address) bool { - return addr.BalancerAttributes.Value(managedByPickfirstKeyType{}) != nil -} - type pfConfig struct { serviceconfig.LoadBalancingConfig `json:"-"` @@ -186,7 +166,6 @@ type scData struct { } func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) { - addr.BalancerAttributes = addr.BalancerAttributes.WithValue(managedByPickfirstKeyType{}, true) sd := &scData{ rawConnectivityState: connectivity.Idle, effectiveState: connectivity.Idle, diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go index 35da5d1ec9d..22045bf3946 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go @@ -70,10 +70,3 @@ func (b *rrBalancer) UpdateClientConnState(ccs balancer.ClientConnState) error { ResolverState: pickfirstleaf.EnableHealthListener(ccs.ResolverState), }) } - -func (b *rrBalancer) ExitIdle() { - // Should always be ok, as child is endpoint sharding. - if ei, ok := b.Balancer.(balancer.ExitIdler); ok { - ei.ExitIdle() - } -} diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/clientconn.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/clientconn.go index cd3eaf8ddcb..3f762285db7 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/clientconn.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/clientconn.go @@ -208,7 +208,7 @@ func NewClient(target string, opts ...DialOption) (conn *ClientConn, err error) channelz.Infof(logger, cc.channelz, "Channel authority set to %q", cc.authority) cc.csMgr = newConnectivityStateManager(cc.ctx, cc.channelz) - cc.pickerWrapper = newPickerWrapper(cc.dopts.copts.StatsHandlers) + cc.pickerWrapper = newPickerWrapper() cc.metricsRecorderList = stats.NewMetricsRecorderList(cc.dopts.copts.StatsHandlers) @@ -1076,13 +1076,6 @@ func (cc *ClientConn) healthCheckConfig() *healthCheckConfig { return cc.sc.healthCheckConfig } -func (cc *ClientConn) getTransport(ctx context.Context, failfast bool, method string) (transport.ClientTransport, balancer.PickResult, error) { - return cc.pickerWrapper.pick(ctx, failfast, balancer.PickInfo{ - Ctx: ctx, - FullMethodName: method, - }) -} - func (cc *ClientConn) applyServiceConfigAndBalancer(sc *ServiceConfig, configSelector iresolver.ConfigSelector) { if sc == nil { // should never reach here. @@ -1831,7 +1824,7 @@ func (cc *ClientConn) initAuthority() error { } else if auth, ok := cc.resolverBuilder.(resolver.AuthorityOverrider); ok { cc.authority = auth.OverrideAuthority(cc.parsedTarget) } else if strings.HasPrefix(endpoint, ":") { - cc.authority = "localhost" + endpoint + cc.authority = "localhost" + encodeAuthority(endpoint) } else { cc.authority = encodeAuthority(endpoint) } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/credentials.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/credentials.go index a63ab606e66..c8e337cdda0 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/credentials.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/credentials.go @@ -96,10 +96,11 @@ func (c CommonAuthInfo) GetCommonAuthInfo() CommonAuthInfo { return c } -// ProtocolInfo provides information regarding the gRPC wire protocol version, -// security protocol, security protocol version in use, server name, etc. +// ProtocolInfo provides static information regarding transport credentials. type ProtocolInfo struct { // ProtocolVersion is the gRPC wire protocol version. + // + // Deprecated: this is unused by gRPC. ProtocolVersion string // SecurityProtocol is the security protocol in use. SecurityProtocol string @@ -109,7 +110,16 @@ type ProtocolInfo struct { // // Deprecated: please use Peer.AuthInfo. SecurityVersion string - // ServerName is the user-configured server name. + // ServerName is the user-configured server name. If set, this overrides + // the default :authority header used for all RPCs on the channel using the + // containing credentials, unless grpc.WithAuthority is set on the channel, + // in which case that setting will take precedence. + // + // This must be a valid `:authority` header according to + // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2). + // + // Deprecated: Users should use grpc.WithAuthority to override the authority + // on a channel instead of configuring the credentials. ServerName string } @@ -173,12 +183,17 @@ type TransportCredentials interface { // Clone makes a copy of this TransportCredentials. Clone() TransportCredentials // OverrideServerName specifies the value used for the following: + // // - verifying the hostname on the returned certificates // - as SNI in the client's handshake to support virtual hosting // - as the value for `:authority` header at stream creation time // - // Deprecated: use grpc.WithAuthority instead. Will be supported - // throughout 1.x. + // The provided string should be a valid `:authority` header according to + // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2). + // + // Deprecated: this method is unused by gRPC. Users should use + // grpc.WithAuthority to override the authority on a channel instead of + // configuring the credentials. OverrideServerName(string) error } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/tls.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/tls.go index 20f65f7bd95..8277be7d6f8 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/tls.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/credentials/tls.go @@ -110,14 +110,14 @@ func (c tlsCreds) Info() ProtocolInfo { func (c *tlsCreds) ClientHandshake(ctx context.Context, authority string, rawConn net.Conn) (_ net.Conn, _ AuthInfo, err error) { // use local cfg to avoid clobbering ServerName if using multiple endpoints cfg := credinternal.CloneTLSConfig(c.config) - if cfg.ServerName == "" { - serverName, _, err := net.SplitHostPort(authority) - if err != nil { - // If the authority had no host port or if the authority cannot be parsed, use it as-is. - serverName = authority - } - cfg.ServerName = serverName + + serverName, _, err := net.SplitHostPort(authority) + if err != nil { + // If the authority had no host port or if the authority cannot be parsed, use it as-is. + serverName = authority } + cfg.ServerName = serverName + conn := tls.Client(rawConn, cfg) errChannel := make(chan error, 1) go func() { @@ -259,9 +259,11 @@ func applyDefaults(c *tls.Config) *tls.Config { // certificates to establish the identity of the client need to be included in // the credentials (eg: for mTLS), use NewTLS instead, where a complete // tls.Config can be specified. -// serverNameOverride is for testing only. If set to a non empty string, -// it will override the virtual host name of authority (e.g. :authority header -// field) in requests. +// +// serverNameOverride is for testing only. If set to a non empty string, it will +// override the virtual host name of authority (e.g. :authority header field) in +// requests. Users should use grpc.WithAuthority passed to grpc.NewClient to +// override the authority of the client instead. func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) TransportCredentials { return NewTLS(&tls.Config{ServerName: serverNameOverride, RootCAs: cp}) } @@ -271,9 +273,11 @@ func NewClientTLSFromCert(cp *x509.CertPool, serverNameOverride string) Transpor // certificates to establish the identity of the client need to be included in // the credentials (eg: for mTLS), use NewTLS instead, where a complete // tls.Config can be specified. -// serverNameOverride is for testing only. If set to a non empty string, -// it will override the virtual host name of authority (e.g. :authority header -// field) in requests. +// +// serverNameOverride is for testing only. If set to a non empty string, it will +// override the virtual host name of authority (e.g. :authority header field) in +// requests. Users should use grpc.WithAuthority passed to grpc.NewClient to +// override the authority of the client instead. func NewClientTLSFromFile(certFile, serverNameOverride string) (TransportCredentials, error) { b, err := os.ReadFile(certFile) if err != nil { diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/dialoptions.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/dialoptions.go index 050ba0f1611..7a5ac2e7c49 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/dialoptions.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/dialoptions.go @@ -213,6 +213,7 @@ func WithReadBufferSize(s int) DialOption { func WithInitialWindowSize(s int32) DialOption { return newFuncDialOption(func(o *dialOptions) { o.copts.InitialWindowSize = s + o.copts.StaticWindowSize = true }) } @@ -222,6 +223,26 @@ func WithInitialWindowSize(s int32) DialOption { func WithInitialConnWindowSize(s int32) DialOption { return newFuncDialOption(func(o *dialOptions) { o.copts.InitialConnWindowSize = s + o.copts.StaticWindowSize = true + }) +} + +// WithStaticStreamWindowSize returns a DialOption which sets the initial +// stream window size to the value provided and disables dynamic flow control. +func WithStaticStreamWindowSize(s int32) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.InitialWindowSize = s + o.copts.StaticWindowSize = true + }) +} + +// WithStaticConnWindowSize returns a DialOption which sets the initial +// connection window size to the value provided and disables dynamic flow +// control. +func WithStaticConnWindowSize(s int32) DialOption { + return newFuncDialOption(func(o *dialOptions) { + o.copts.InitialConnWindowSize = s + o.copts.StaticWindowSize = true }) } @@ -587,6 +608,8 @@ func WithChainStreamInterceptor(interceptors ...StreamClientInterceptor) DialOpt // WithAuthority returns a DialOption that specifies the value to be used as the // :authority pseudo-header and as the server name in authentication handshake. +// This overrides all other ways of setting authority on the channel, but can be +// overridden per-call by using grpc.CallAuthority. func WithAuthority(a string) DialOption { return newFuncDialOption(func(o *dialOptions) { o.authority = a diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go index 93136610ec6..f2c01f296ac 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go @@ -188,13 +188,13 @@ type HealthServer interface { type UnimplementedHealthServer struct{} func (UnimplementedHealthServer) Check(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Check not implemented") + return nil, status.Error(codes.Unimplemented, "method Check not implemented") } func (UnimplementedHealthServer) List(context.Context, *HealthListRequest) (*HealthListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method List not implemented") + return nil, status.Error(codes.Unimplemented, "method List not implemented") } func (UnimplementedHealthServer) Watch(*HealthCheckRequest, grpc.ServerStreamingServer[HealthCheckResponse]) error { - return status.Errorf(codes.Unimplemented, "method Watch not implemented") + return status.Error(codes.Unimplemented, "method Watch not implemented") } func (UnimplementedHealthServer) testEmbeddedByValue() {} diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go index fbc1ca356ab..ba25b898871 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go @@ -223,15 +223,7 @@ func (gsb *Balancer) ExitIdle() { // There is no need to protect this read with a mutex, as the write to the // Balancer field happens in SwitchTo, which completes before this can be // called. - if ei, ok := balToUpdate.Balancer.(balancer.ExitIdler); ok { - ei.ExitIdle() - return - } - gsb.mu.Lock() - defer gsb.mu.Unlock() - for sc := range balToUpdate.subconns { - sc.Connect() - } + balToUpdate.ExitIdle() } // updateSubConnState forwards the update to the appropriate child. diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go index f5f2bdeb864..7e060f5ed13 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go @@ -26,30 +26,32 @@ import ( ) var ( - // TXTErrIgnore is set if TXT errors should be ignored ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false"). + // EnableTXTServiceConfig is set if the DNS resolver should perform TXT + // lookups for service config ("GRPC_ENABLE_TXT_SERVICE_CONFIG" is not + // "false"). + EnableTXTServiceConfig = boolFromEnv("GRPC_ENABLE_TXT_SERVICE_CONFIG", true) + + // TXTErrIgnore is set if TXT errors should be ignored + // ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false"). TXTErrIgnore = boolFromEnv("GRPC_GO_IGNORE_TXT_ERRORS", true) + // RingHashCap indicates the maximum ring size which defaults to 4096 // entries but may be overridden by setting the environment variable // "GRPC_RING_HASH_CAP". This does not override the default bounds // checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M). RingHashCap = uint64FromEnv("GRPC_RING_HASH_CAP", 4096, 1, 8*1024*1024) - // LeastRequestLB is set if we should support the least_request_experimental - // LB policy, which can be enabled by setting the environment variable - // "GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST" to "true". - LeastRequestLB = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST", true) + // ALTSMaxConcurrentHandshakes is the maximum number of concurrent ALTS // handshakes that can be performed. ALTSMaxConcurrentHandshakes = uint64FromEnv("GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES", 100, 1, 100) + // EnforceALPNEnabled is set if TLS connections to servers with ALPN disabled // should be rejected. The HTTP/2 protocol requires ALPN to be enabled, this // option is present for backward compatibility. This option may be overridden // by setting the environment variable "GRPC_ENFORCE_ALPN_ENABLED" to "true" // or "false". EnforceALPNEnabled = boolFromEnv("GRPC_ENFORCE_ALPN_ENABLED", true) - // XDSFallbackSupport is the env variable that controls whether support for - // xDS fallback is turned on. If this is unset or is false, only the first - // xDS server in the list of server configs will be used. - XDSFallbackSupport = boolFromEnv("GRPC_EXPERIMENTAL_XDS_FALLBACK", true) + // NewPickFirstEnabled is set if the new pickfirst leaf policy is to be used // instead of the exiting pickfirst implementation. This can be disabled by // setting the environment variable "GRPC_EXPERIMENTAL_ENABLE_NEW_PICK_FIRST" diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/internal.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/internal.go index 3ac798e8e60..2699223a27f 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/internal.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/internal.go @@ -182,35 +182,6 @@ var ( // other features, including the CSDS service. NewXDSResolverWithClientForTesting any // func(xdsclient.XDSClient) (resolver.Builder, error) - // RegisterRLSClusterSpecifierPluginForTesting registers the RLS Cluster - // Specifier Plugin for testing purposes, regardless of the XDSRLS environment - // variable. - // - // TODO: Remove this function once the RLS env var is removed. - RegisterRLSClusterSpecifierPluginForTesting func() - - // UnregisterRLSClusterSpecifierPluginForTesting unregisters the RLS Cluster - // Specifier Plugin for testing purposes. This is needed because there is no way - // to unregister the RLS Cluster Specifier Plugin after registering it solely - // for testing purposes using RegisterRLSClusterSpecifierPluginForTesting(). - // - // TODO: Remove this function once the RLS env var is removed. - UnregisterRLSClusterSpecifierPluginForTesting func() - - // RegisterRBACHTTPFilterForTesting registers the RBAC HTTP Filter for testing - // purposes, regardless of the RBAC environment variable. - // - // TODO: Remove this function once the RBAC env var is removed. - RegisterRBACHTTPFilterForTesting func() - - // UnregisterRBACHTTPFilterForTesting unregisters the RBAC HTTP Filter for - // testing purposes. This is needed because there is no way to unregister the - // HTTP Filter after registering it solely for testing purposes using - // RegisterRBACHTTPFilterForTesting(). - // - // TODO: Remove this function once the RBAC env var is removed. - UnregisterRBACHTTPFilterForTesting func() - // ORCAAllowAnyMinReportingInterval is for examples/orca use ONLY. ORCAAllowAnyMinReportingInterval any // func(so *orca.ServiceOptions) diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go index ba5c5a95d0d..ada5251cff3 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go @@ -132,13 +132,13 @@ func (b *dnsBuilder) Build(target resolver.Target, cc resolver.ClientConn, opts // DNS address (non-IP). ctx, cancel := context.WithCancel(context.Background()) d := &dnsResolver{ - host: host, - port: port, - ctx: ctx, - cancel: cancel, - cc: cc, - rn: make(chan struct{}, 1), - disableServiceConfig: opts.DisableServiceConfig, + host: host, + port: port, + ctx: ctx, + cancel: cancel, + cc: cc, + rn: make(chan struct{}, 1), + enableServiceConfig: envconfig.EnableTXTServiceConfig && !opts.DisableServiceConfig, } d.resolver, err = internal.NewNetResolver(target.URL.Host) @@ -181,8 +181,8 @@ type dnsResolver struct { // finishes, race detector sometimes will warn lookup (READ the lookup // function pointers) inside watcher() goroutine has data race with // replaceNetFunc (WRITE the lookup function pointers). - wg sync.WaitGroup - disableServiceConfig bool + wg sync.WaitGroup + enableServiceConfig bool } // ResolveNow invoke an immediate resolution of the target that this @@ -346,7 +346,7 @@ func (d *dnsResolver) lookup() (*resolver.State, error) { if len(srv) > 0 { state = grpclbstate.Set(state, &grpclbstate.State{BalancerAddresses: srv}) } - if !d.disableServiceConfig { + if d.enableServiceConfig { state.ServiceConfig = d.lookupTXT(ctx) } return &state, nil diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/controlbuf.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/controlbuf.go index ef72fbb3a01..a2831e5d01f 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/controlbuf.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/controlbuf.go @@ -40,6 +40,13 @@ var updateHeaderTblSize = func(e *hpack.Encoder, v uint32) { e.SetMaxDynamicTableSizeLimit(v) } +// itemNodePool is used to reduce heap allocations. +var itemNodePool = sync.Pool{ + New: func() any { + return &itemNode{} + }, +} + type itemNode struct { it any next *itemNode @@ -51,7 +58,9 @@ type itemList struct { } func (il *itemList) enqueue(i any) { - n := &itemNode{it: i} + n := itemNodePool.Get().(*itemNode) + n.next = nil + n.it = i if il.tail == nil { il.head, il.tail = n, n return @@ -71,7 +80,9 @@ func (il *itemList) dequeue() any { return nil } i := il.head.it + temp := il.head il.head = il.head.next + itemNodePool.Put(temp) if il.head == nil { il.tail = nil } @@ -146,10 +157,11 @@ type earlyAbortStream struct { func (*earlyAbortStream) isTransportResponseFrame() bool { return false } type dataFrame struct { - streamID uint32 - endStream bool - h []byte - reader mem.Reader + streamID uint32 + endStream bool + h []byte + data mem.BufferSlice + processing bool // onEachWrite is called every time // a part of data is written out. onEachWrite func() @@ -234,6 +246,7 @@ type outStream struct { itl *itemList bytesOutStanding int wq *writeQuota + reader mem.Reader next *outStream prev *outStream @@ -461,7 +474,9 @@ func (c *controlBuffer) finish() { v.onOrphaned(ErrConnClosing) } case *dataFrame: - _ = v.reader.Close() + if !v.processing { + v.data.Free() + } } } @@ -650,10 +665,11 @@ func (l *loopyWriter) incomingSettingsHandler(s *incomingSettings) error { func (l *loopyWriter) registerStreamHandler(h *registerStream) { str := &outStream{ - id: h.streamID, - state: empty, - itl: &itemList{}, - wq: h.wq, + id: h.streamID, + state: empty, + itl: &itemList{}, + wq: h.wq, + reader: mem.BufferSlice{}.Reader(), } l.estdStreams[h.streamID] = str } @@ -685,10 +701,11 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error { } // Case 2: Client wants to originate stream. str := &outStream{ - id: h.streamID, - state: empty, - itl: &itemList{}, - wq: h.wq, + id: h.streamID, + state: empty, + itl: &itemList{}, + wq: h.wq, + reader: mem.BufferSlice{}.Reader(), } return l.originateStream(str, h) } @@ -790,10 +807,13 @@ func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error { // a RST_STREAM before stream initialization thus the stream might // not be established yet. delete(l.estdStreams, c.streamID) + str.reader.Close() str.deleteSelf() for head := str.itl.dequeueAll(); head != nil; head = head.next { if df, ok := head.it.(*dataFrame); ok { - _ = df.reader.Close() + if !df.processing { + df.data.Free() + } } } } @@ -928,7 +948,13 @@ func (l *loopyWriter) processData() (bool, error) { if str == nil { return true, nil } + reader := str.reader dataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream. + if !dataItem.processing { + dataItem.processing = true + str.reader.Reset(dataItem.data) + dataItem.data.Free() + } // A data item is represented by a dataFrame, since it later translates into // multiple HTTP2 data frames. // Every dataFrame has two buffers; h that keeps grpc-message header and data @@ -936,13 +962,13 @@ func (l *loopyWriter) processData() (bool, error) { // from data is copied to h to make as big as the maximum possible HTTP2 frame // size. - if len(dataItem.h) == 0 && dataItem.reader.Remaining() == 0 { // Empty data frame + if len(dataItem.h) == 0 && reader.Remaining() == 0 { // Empty data frame // Client sends out empty data frame with endStream = true if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil { return false, err } str.itl.dequeue() // remove the empty data item from stream - _ = dataItem.reader.Close() + _ = reader.Close() if str.itl.isEmpty() { str.state = empty } else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers. @@ -971,8 +997,8 @@ func (l *loopyWriter) processData() (bool, error) { } // Compute how much of the header and data we can send within quota and max frame length hSize := min(maxSize, len(dataItem.h)) - dSize := min(maxSize-hSize, dataItem.reader.Remaining()) - remainingBytes := len(dataItem.h) + dataItem.reader.Remaining() - hSize - dSize + dSize := min(maxSize-hSize, reader.Remaining()) + remainingBytes := len(dataItem.h) + reader.Remaining() - hSize - dSize size := hSize + dSize var buf *[]byte @@ -993,7 +1019,7 @@ func (l *loopyWriter) processData() (bool, error) { defer pool.Put(buf) copy((*buf)[:hSize], dataItem.h) - _, _ = dataItem.reader.Read((*buf)[hSize:]) + _, _ = reader.Read((*buf)[hSize:]) } // Now that outgoing flow controls are checked we can replenish str's write quota @@ -1014,7 +1040,7 @@ func (l *loopyWriter) processData() (bool, error) { dataItem.h = dataItem.h[hSize:] if remainingBytes == 0 { // All the data from that message was written out. - _ = dataItem.reader.Close() + _ = reader.Close() str.itl.dequeue() } if str.itl.isEmpty() { diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_client.go index ef56592b944..5467fe9715a 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_client.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_client.go @@ -309,11 +309,9 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts scheme = "https" } } - dynamicWindow := true icwz := int32(initialWindowSize) if opts.InitialConnWindowSize >= defaultWindowSize { icwz = opts.InitialConnWindowSize - dynamicWindow = false } writeBufSize := opts.WriteBufferSize readBufSize := opts.ReadBufferSize @@ -381,9 +379,8 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts t.controlBuf = newControlBuffer(t.ctxDone) if opts.InitialWindowSize >= defaultWindowSize { t.initialWindowSize = opts.InitialWindowSize - dynamicWindow = false } - if dynamicWindow { + if !opts.StaticWindowSize { t.bdpEst = &bdpEstimator{ bdp: initialWindowSize, updateFlowControl: t.updateFlowControl, @@ -1091,32 +1088,29 @@ func (t *http2Client) GracefulClose() { // Write formats the data into HTTP2 data frame(s) and sends it out. The caller // should proceed only if Write returns nil. func (t *http2Client) write(s *ClientStream, hdr []byte, data mem.BufferSlice, opts *WriteOptions) error { - reader := data.Reader() - if opts.Last { // If it's the last message, update stream state. if !s.compareAndSwapState(streamActive, streamWriteDone) { - _ = reader.Close() return errStreamDone } } else if s.getState() != streamActive { - _ = reader.Close() return errStreamDone } df := &dataFrame{ streamID: s.id, endStream: opts.Last, h: hdr, - reader: reader, + data: data, } - if hdr != nil || df.reader.Remaining() != 0 { // If it's not an empty data frame, check quota. - if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil { - _ = reader.Close() + dataLen := data.Len() + if hdr != nil || dataLen != 0 { // If it's not an empty data frame, check quota. + if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil { return err } } + data.Ref() if err := t.controlBuf.put(df); err != nil { - _ = reader.Close() + data.Free() return err } t.incrMsgSent() diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_server.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_server.go index e4c3731bdb0..9f725e15a81 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_server.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http2_server.go @@ -132,6 +132,10 @@ type http2Server struct { maxStreamID uint32 // max stream ID ever seen logger *grpclog.PrefixLogger + // setResetPingStrikes is stored as a closure instead of making this a + // method on http2Server to avoid a heap allocation when converting a method + // to a closure for passing to frames objects. + setResetPingStrikes func() } // NewServerTransport creates a http2 transport with conn and configuration @@ -176,16 +180,13 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport, Val: config.MaxStreams, }) } - dynamicWindow := true iwz := int32(initialWindowSize) if config.InitialWindowSize >= defaultWindowSize { iwz = config.InitialWindowSize - dynamicWindow = false } icwz := int32(initialWindowSize) if config.InitialConnWindowSize >= defaultWindowSize { icwz = config.InitialConnWindowSize - dynamicWindow = false } if iwz != defaultWindowSize { isettings = append(isettings, http2.Setting{ @@ -266,6 +267,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport, initialWindowSize: iwz, bufferPool: config.BufferPool, } + t.setResetPingStrikes = func() { + atomic.StoreUint32(&t.resetPingStrikes, 1) + } var czSecurity credentials.ChannelzSecurityValue if au, ok := authInfo.(credentials.ChannelzSecurityInfo); ok { czSecurity = au.GetSecurityValue() @@ -285,7 +289,7 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport, t.logger = prefixLoggerForServerTransport(t) t.controlBuf = newControlBuffer(t.done) - if dynamicWindow { + if !config.StaticWindowSize { t.bdpEst = &bdpEstimator{ bdp: initialWindowSize, updateFlowControl: t.updateFlowControl, @@ -596,10 +600,25 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade return nil } } + + if s.ctx.Err() != nil { + t.mu.Unlock() + // Early abort in case the timeout was zero or so low it already fired. + t.controlBuf.put(&earlyAbortStream{ + httpStatus: http.StatusOK, + streamID: s.id, + contentSubtype: s.contentSubtype, + status: status.New(codes.DeadlineExceeded, context.DeadlineExceeded.Error()), + rst: !frame.StreamEnded(), + }) + return nil + } + t.activeStreams[streamID] = s if len(t.activeStreams) == 1 { t.idle = time.Time{} } + // Start a timer to close the stream on reaching the deadline. if timeoutSet { // We need to wait for s.cancel to be updated before calling @@ -1016,10 +1035,6 @@ func (t *http2Server) writeHeader(s *ServerStream, md metadata.MD) error { return nil } -func (t *http2Server) setResetPingStrikes() { - atomic.StoreUint32(&t.resetPingStrikes, 1) -} - func (t *http2Server) writeHeaderLocked(s *ServerStream) error { // TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields // first and create a slice of that exact size. @@ -1132,17 +1147,13 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error { // Write converts the data into HTTP2 data frame and sends it out. Non-nil error // is returns if it fails (e.g., framing error, transport error). func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _ *WriteOptions) error { - reader := data.Reader() - if !s.isHeaderSent() { // Headers haven't been written yet. if err := t.writeHeader(s, nil); err != nil { - _ = reader.Close() return err } } else { // Writing headers checks for this condition. if s.getState() == streamDone { - _ = reader.Close() return t.streamContextErr(s) } } @@ -1150,15 +1161,16 @@ func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _ df := &dataFrame{ streamID: s.id, h: hdr, - reader: reader, + data: data, onEachWrite: t.setResetPingStrikes, } - if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil { - _ = reader.Close() + dataLen := data.Len() + if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil { return t.streamContextErr(s) } + data.Ref() if err := t.controlBuf.put(df); err != nil { - _ = reader.Close() + data.Free() return err } t.incrMsgSent() diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http_util.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http_util.go index 607d2c4cee0..e3663f87f39 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http_util.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/http_util.go @@ -200,9 +200,6 @@ func decodeTimeout(s string) (time.Duration, error) { if err != nil { return 0, err } - if t == 0 { - return 0, fmt.Errorf("transport: timeout must be positive: %q", s) - } const maxHours = math.MaxInt64 / uint64(time.Hour) if d == time.Hour && t > maxHours { // This timeout would overflow math.MaxInt64; clamp it. diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/transport.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/transport.go index 1730a639f9d..7dd53e80a75 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/transport.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/internal/transport/transport.go @@ -466,6 +466,7 @@ type ServerConfig struct { MaxHeaderListSize *uint32 HeaderTableSize *uint32 BufferPool mem.BufferPool + StaticWindowSize bool } // ConnectOptions covers all relevant options for communicating with the server. @@ -504,6 +505,8 @@ type ConnectOptions struct { MaxHeaderListSize *uint32 // The mem.BufferPool to use when reading/writing to the wire. BufferPool mem.BufferPool + // StaticWindowSize controls whether dynamic window sizing is enabled. + StaticWindowSize bool } // WriteOptions provides additional hints and information for message diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/mem/buffer_slice.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/mem/buffer_slice.go index 65002e2cc85..af510d20c5a 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/mem/buffer_slice.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/mem/buffer_slice.go @@ -137,6 +137,9 @@ type Reader interface { Close() error // Remaining returns the number of unread bytes remaining in the slice. Remaining() int + // Reset frees the currently held buffer slice and starts reading from the + // provided slice. This allows reusing the reader object. + Reset(s BufferSlice) } type sliceReader struct { @@ -150,6 +153,14 @@ func (r *sliceReader) Remaining() int { return r.len } +func (r *sliceReader) Reset(s BufferSlice) { + r.data.Free() + s.Ref() + r.data = s + r.len = s.Len() + r.bufferIdx = 0 +} + func (r *sliceReader) Close() error { r.data.Free() r.data = nil diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/picker_wrapper.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/picker_wrapper.go index a2d2a798d48..aa52bfe95fd 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/picker_wrapper.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/picker_wrapper.go @@ -29,7 +29,6 @@ import ( "google.golang.org/grpc/internal/channelz" istatus "google.golang.org/grpc/internal/status" "google.golang.org/grpc/internal/transport" - "google.golang.org/grpc/stats" "google.golang.org/grpc/status" ) @@ -48,14 +47,11 @@ type pickerGeneration struct { // actions and unblock when there's a picker update. type pickerWrapper struct { // If pickerGen holds a nil pointer, the pickerWrapper is closed. - pickerGen atomic.Pointer[pickerGeneration] - statsHandlers []stats.Handler // to record blocking picker calls + pickerGen atomic.Pointer[pickerGeneration] } -func newPickerWrapper(statsHandlers []stats.Handler) *pickerWrapper { - pw := &pickerWrapper{ - statsHandlers: statsHandlers, - } +func newPickerWrapper() *pickerWrapper { + pw := &pickerWrapper{} pw.pickerGen.Store(&pickerGeneration{ blockingCh: make(chan struct{}), }) @@ -93,6 +89,12 @@ func doneChannelzWrapper(acbw *acBalancerWrapper, result *balancer.PickResult) { } } +type pick struct { + transport transport.ClientTransport // the selected transport + result balancer.PickResult // the contents of the pick from the LB policy + blocked bool // set if a picker call queued for a new picker +} + // pick returns the transport that will be used for the RPC. // It may block in the following cases: // - there's no picker @@ -100,15 +102,16 @@ func doneChannelzWrapper(acbw *acBalancerWrapper, result *balancer.PickResult) { // - the current picker returns other errors and failfast is false. // - the subConn returned by the current picker is not READY // When one of these situations happens, pick blocks until the picker gets updated. -func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.PickInfo) (transport.ClientTransport, balancer.PickResult, error) { +func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.PickInfo) (pick, error) { var ch chan struct{} var lastPickErr error + pickBlocked := false for { pg := pw.pickerGen.Load() if pg == nil { - return nil, balancer.PickResult{}, ErrClientConnClosing + return pick{}, ErrClientConnClosing } if pg.picker == nil { ch = pg.blockingCh @@ -127,9 +130,9 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer. } switch ctx.Err() { case context.DeadlineExceeded: - return nil, balancer.PickResult{}, status.Error(codes.DeadlineExceeded, errStr) + return pick{}, status.Error(codes.DeadlineExceeded, errStr) case context.Canceled: - return nil, balancer.PickResult{}, status.Error(codes.Canceled, errStr) + return pick{}, status.Error(codes.Canceled, errStr) } case <-ch: } @@ -145,9 +148,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer. // In the second case, the only way it will get to this conditional is // if there is a new picker. if ch != nil { - for _, sh := range pw.statsHandlers { - sh.HandleRPC(ctx, &stats.PickerUpdated{}) - } + pickBlocked = true } ch = pg.blockingCh @@ -164,7 +165,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer. if istatus.IsRestrictedControlPlaneCode(st) { err = status.Errorf(codes.Internal, "received picker error with illegal status: %v", err) } - return nil, balancer.PickResult{}, dropError{error: err} + return pick{}, dropError{error: err} } // For all other errors, wait for ready RPCs should block and other // RPCs should fail with unavailable. @@ -172,7 +173,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer. lastPickErr = err continue } - return nil, balancer.PickResult{}, status.Error(codes.Unavailable, err.Error()) + return pick{}, status.Error(codes.Unavailable, err.Error()) } acbw, ok := pickResult.SubConn.(*acBalancerWrapper) @@ -183,9 +184,8 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer. if t := acbw.ac.getReadyTransport(); t != nil { if channelz.IsOn() { doneChannelzWrapper(acbw, &pickResult) - return t, pickResult, nil } - return t, pickResult, nil + return pick{transport: t, result: pickResult, blocked: pickBlocked}, nil } if pickResult.Done != nil { // Calling done with nil error, no bytes sent and no bytes received. diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/resolver/resolver.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/resolver/resolver.go index b84ef26d46d..8e6af9514b6 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/resolver/resolver.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/resolver/resolver.go @@ -332,6 +332,11 @@ type AuthorityOverrider interface { // OverrideAuthority returns the authority to use for a ClientConn with the // given target. The implementation must generate it without blocking, // typically in line, and must keep it unchanged. + // + // The returned string must be a valid ":authority" header value, i.e. be + // encoded according to + // [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#section-3.2) as + // necessary. OverrideAuthority(Target) string } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/server.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/server.go index 976e70ae068..1da2a542acd 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/server.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/server.go @@ -179,6 +179,7 @@ type serverOptions struct { numServerWorkers uint32 bufferPool mem.BufferPool waitForHandlers bool + staticWindowSize bool } var defaultServerOptions = serverOptions{ @@ -279,6 +280,7 @@ func ReadBufferSize(s int) ServerOption { func InitialWindowSize(s int32) ServerOption { return newFuncServerOption(func(o *serverOptions) { o.initialWindowSize = s + o.staticWindowSize = true }) } @@ -287,6 +289,29 @@ func InitialWindowSize(s int32) ServerOption { func InitialConnWindowSize(s int32) ServerOption { return newFuncServerOption(func(o *serverOptions) { o.initialConnWindowSize = s + o.staticWindowSize = true + }) +} + +// StaticStreamWindowSize returns a ServerOption to set the initial stream +// window size to the value provided and disables dynamic flow control. +// The lower bound for window size is 64K and any value smaller than that +// will be ignored. +func StaticStreamWindowSize(s int32) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.initialWindowSize = s + o.staticWindowSize = true + }) +} + +// StaticConnWindowSize returns a ServerOption to set the initial connection +// window size to the value provided and disables dynamic flow control. +// The lower bound for window size is 64K and any value smaller than that +// will be ignored. +func StaticConnWindowSize(s int32) ServerOption { + return newFuncServerOption(func(o *serverOptions) { + o.initialConnWindowSize = s + o.staticWindowSize = true }) } @@ -986,6 +1011,7 @@ func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport { MaxHeaderListSize: s.opts.maxHeaderListSize, HeaderTableSize: s.opts.headerTableSize, BufferPool: s.opts.bufferPool, + StaticWindowSize: s.opts.staticWindowSize, } st, err := transport.NewServerTransport(c, config) if err != nil { @@ -1572,6 +1598,7 @@ func (s *Server) processStreamingRPC(ctx context.Context, stream *transport.Serv s: stream, p: &parser{r: stream, bufferPool: s.opts.bufferPool}, codec: s.getCodec(stream.ContentSubtype()), + desc: sd, maxReceiveMessageSize: s.opts.maxReceiveMessageSize, maxSendMessageSize: s.opts.maxSendMessageSize, trInfo: trInfo, diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/stats/stats.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/stats/stats.go index baf7740efba..10bf998aa5b 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/stats/stats.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/stats/stats.go @@ -64,15 +64,21 @@ func (s *Begin) IsClient() bool { return s.Client } func (s *Begin) isRPCStats() {} -// PickerUpdated indicates that the LB policy provided a new picker while the -// RPC was waiting for one. -type PickerUpdated struct{} +// DelayedPickComplete indicates that the RPC is unblocked following a delay in +// selecting a connection for the call. +type DelayedPickComplete struct{} -// IsClient indicates if the stats information is from client side. Only Client -// Side interfaces with a Picker, thus always returns true. -func (*PickerUpdated) IsClient() bool { return true } +// IsClient indicates DelayedPickComplete is available on the client. +func (*DelayedPickComplete) IsClient() bool { return true } -func (*PickerUpdated) isRPCStats() {} +func (*DelayedPickComplete) isRPCStats() {} + +// PickerUpdated indicates that the RPC is unblocked following a delay in +// selecting a connection for the call. +// +// Deprecated: will be removed in a future release; use DelayedPickComplete +// instead. +type PickerUpdated = DelayedPickComplete // InPayload contains stats about an incoming payload. type InPayload struct { diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/stream.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/stream.go index d58bb6471a8..d9bbd4c57cf 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/stream.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/stream.go @@ -469,8 +469,9 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error) func (a *csAttempt) getTransport() error { cs := a.cs - var err error - a.transport, a.pickResult, err = cs.cc.getTransport(a.ctx, cs.callInfo.failFast, cs.callHdr.Method) + pickInfo := balancer.PickInfo{Ctx: a.ctx, FullMethodName: cs.callHdr.Method} + pick, err := cs.cc.pickerWrapper.pick(a.ctx, cs.callInfo.failFast, pickInfo) + a.transport, a.pickResult = pick.transport, pick.result if err != nil { if de, ok := err.(dropError); ok { err = de.error @@ -481,6 +482,11 @@ func (a *csAttempt) getTransport() error { if a.trInfo != nil { a.trInfo.firstLine.SetRemoteAddr(a.transport.RemoteAddr()) } + if pick.blocked { + for _, sh := range a.statsHandlers { + sh.HandleRPC(a.ctx, &stats.DelayedPickComplete{}) + } + } return nil } @@ -1171,7 +1177,7 @@ func (a *csAttempt) recvMsg(m any, payInfo *payloadInfo) (err error) { } else if err != nil { return toRPCErr(err) } - return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want ")) + return status.Errorf(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message") } func (a *csAttempt) finish(err error) { @@ -1495,7 +1501,7 @@ func (as *addrConnStream) RecvMsg(m any) (err error) { } else if err != nil { return toRPCErr(err) } - return toRPCErr(errors.New("grpc: client streaming protocol violation: get , want ")) + return status.Errorf(codes.Internal, "cardinality violation: expected for non server-streaming RPCs, but received another message") } func (as *addrConnStream) finish(err error) { @@ -1580,6 +1586,7 @@ type serverStream struct { s *transport.ServerStream p *parser codec baseCodec + desc *StreamDesc compressorV0 Compressor compressorV1 encoding.Compressor @@ -1588,6 +1595,8 @@ type serverStream struct { sendCompressorName string + recvFirstMsg bool // set after the first message is received + maxReceiveMessageSize int maxSendMessageSize int trInfo *traceInfo @@ -1774,6 +1783,10 @@ func (ss *serverStream) RecvMsg(m any) (err error) { binlog.Log(ss.ctx, chc) } } + // Received no request msg for non-client streaming rpcs. + if !ss.desc.ClientStreams && !ss.recvFirstMsg { + return status.Error(codes.Internal, "cardinality violation: received no request message from non-client-streaming RPC") + } return err } if err == io.ErrUnexpectedEOF { @@ -1781,6 +1794,7 @@ func (ss *serverStream) RecvMsg(m any) (err error) { } return toRPCErr(err) } + ss.recvFirstMsg = true if len(ss.statsHandler) != 0 { for _, sh := range ss.statsHandler { sh.HandleRPC(ss.s.Context(), &stats.InPayload{ @@ -1800,7 +1814,19 @@ func (ss *serverStream) RecvMsg(m any) (err error) { binlog.Log(ss.ctx, cm) } } - return nil + + if ss.desc.ClientStreams { + // Subsequent messages should be received by subsequent RecvMsg calls. + return nil + } + // Special handling for non-client-stream rpcs. + // This recv expects EOF or errors, so we don't collect inPayload. + if err := recv(ss.p, ss.codec, ss.s, ss.decompressorV0, m, ss.maxReceiveMessageSize, nil, ss.decompressorV1, true); err == io.EOF { + return nil + } else if err != nil { + return err + } + return status.Error(codes.Internal, "cardinality violation: received multiple request messages for non-client-streaming RPC") } // MethodFromServerStream returns the method string for the input stream. diff --git a/cluster-api/providers/azure/vendor/google.golang.org/grpc/version.go b/cluster-api/providers/azure/vendor/google.golang.org/grpc/version.go index bd82673dc9f..bc1eb290f69 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/grpc/version.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/grpc/version.go @@ -19,4 +19,4 @@ package grpc // Version is the current grpc version. -const Version = "1.73.0" +const Version = "1.75.0" diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/encoding/protowire/wire.go index e942bc983ee..743bfb81d6c 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/encoding/protowire/wire.go @@ -371,7 +371,31 @@ func ConsumeVarint(b []byte) (v uint64, n int) { func SizeVarint(v uint64) int { // This computes 1 + (bits.Len64(v)-1)/7. // 9/64 is a good enough approximation of 1/7 - return int(9*uint32(bits.Len64(v))+64) / 64 + // + // The Go compiler can translate the bits.LeadingZeros64 call into the LZCNT + // instruction, which is very fast on CPUs from the last few years. The + // specific way of expressing the calculation matches C++ Protobuf, see + // https://godbolt.org/z/4P3h53oM4 for the C++ code and how gcc/clang + // optimize that function for GOAMD64=v1 and GOAMD64=v3 (-march=haswell). + + // By OR'ing v with 1, we guarantee that v is never 0, without changing the + // result of SizeVarint. LZCNT is not defined for 0, meaning the compiler + // needs to add extra instructions to handle that case. + // + // The Go compiler currently (go1.24.4) does not make use of this knowledge. + // This opportunity (removing the XOR instruction, which handles the 0 case) + // results in a small (1%) performance win across CPU architectures. + // + // Independently of avoiding the 0 case, we need the v |= 1 line because + // it allows the Go compiler to eliminate an extra XCHGL barrier. + v |= 1 + + // It would be clearer to write log2value := 63 - uint32(...), but + // writing uint32(...) ^ 63 is much more efficient (-14% ARM, -20% Intel). + // Proof of identity for our value range [0..63]: + // https://go.dev/play/p/Pdn9hEWYakX + log2value := uint32(bits.LeadingZeros64(v)) ^ 63 + return int((log2value*9 + (64 + 9)) / 64) } // AppendFixed32 appends v to b as a little-endian uint32. diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb index 323829da147..04696351eee 100644 Binary files a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb and b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb differ diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/editions.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/editions.go index b08b71830c6..a0aad2777f3 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/editions.go @@ -72,6 +72,9 @@ func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures { case genid.FeatureSet_EnforceNamingStyle_field_number: // EnforceNamingStyle is enforced in protoc, languages other than C++ // are not supposed to do anything with this feature. + case genid.FeatureSet_DefaultSymbolVisibility_field_number: + // DefaultSymbolVisibility is enforced in protoc, runtimes should not + // inspect this value. default: panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num)) } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/presence.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/presence.go new file mode 100644 index 00000000000..a12ec9791cb --- /dev/null +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/filedesc/presence.go @@ -0,0 +1,33 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package filedesc + +import "google.golang.org/protobuf/reflect/protoreflect" + +// UsePresenceForField reports whether the presence bitmap should be used for +// the specified field. +func UsePresenceForField(fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) { + switch { + case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): + // Oneof fields never use the presence bitmap. + // + // Synthetic oneofs are an exception: Those are used to implement proto3 + // optional fields and hence should follow non-oneof field semantics. + return false, false + + case fd.IsMap(): + // Map-typed fields never use the presence bitmap. + return false, false + + case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind: + // Lazy fields always use the presence bitmap (only messages can be lazy). + isLazy := fd.(interface{ IsLazy() bool }).IsLazy() + return isLazy, isLazy + + default: + // If the field has presence, use the presence bitmap. + return fd.HasPresence(), false + } +} diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/api_gen.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/api_gen.go index df8f9185013..3ceb6fa7f5e 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/api_gen.go @@ -27,6 +27,7 @@ const ( Api_SourceContext_field_name protoreflect.Name = "source_context" Api_Mixins_field_name protoreflect.Name = "mixins" Api_Syntax_field_name protoreflect.Name = "syntax" + Api_Edition_field_name protoreflect.Name = "edition" Api_Name_field_fullname protoreflect.FullName = "google.protobuf.Api.name" Api_Methods_field_fullname protoreflect.FullName = "google.protobuf.Api.methods" @@ -35,6 +36,7 @@ const ( Api_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Api.source_context" Api_Mixins_field_fullname protoreflect.FullName = "google.protobuf.Api.mixins" Api_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Api.syntax" + Api_Edition_field_fullname protoreflect.FullName = "google.protobuf.Api.edition" ) // Field numbers for google.protobuf.Api. @@ -46,6 +48,7 @@ const ( Api_SourceContext_field_number protoreflect.FieldNumber = 5 Api_Mixins_field_number protoreflect.FieldNumber = 6 Api_Syntax_field_number protoreflect.FieldNumber = 7 + Api_Edition_field_number protoreflect.FieldNumber = 8 ) // Names for google.protobuf.Method. @@ -63,6 +66,7 @@ const ( Method_ResponseStreaming_field_name protoreflect.Name = "response_streaming" Method_Options_field_name protoreflect.Name = "options" Method_Syntax_field_name protoreflect.Name = "syntax" + Method_Edition_field_name protoreflect.Name = "edition" Method_Name_field_fullname protoreflect.FullName = "google.protobuf.Method.name" Method_RequestTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.request_type_url" @@ -71,6 +75,7 @@ const ( Method_ResponseStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.response_streaming" Method_Options_field_fullname protoreflect.FullName = "google.protobuf.Method.options" Method_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Method.syntax" + Method_Edition_field_fullname protoreflect.FullName = "google.protobuf.Method.edition" ) // Field numbers for google.protobuf.Method. @@ -82,6 +87,7 @@ const ( Method_ResponseStreaming_field_number protoreflect.FieldNumber = 5 Method_Options_field_number protoreflect.FieldNumber = 6 Method_Syntax_field_number protoreflect.FieldNumber = 7 + Method_Edition_field_number protoreflect.FieldNumber = 8 ) // Names for google.protobuf.Mixin. diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go index 39524782add..950a6a325a4 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go @@ -34,6 +34,19 @@ const ( Edition_EDITION_MAX_enum_value = 2147483647 ) +// Full and short names for google.protobuf.SymbolVisibility. +const ( + SymbolVisibility_enum_fullname = "google.protobuf.SymbolVisibility" + SymbolVisibility_enum_name = "SymbolVisibility" +) + +// Enum values for google.protobuf.SymbolVisibility. +const ( + SymbolVisibility_VISIBILITY_UNSET_enum_value = 0 + SymbolVisibility_VISIBILITY_LOCAL_enum_value = 1 + SymbolVisibility_VISIBILITY_EXPORT_enum_value = 2 +) + // Names for google.protobuf.FileDescriptorSet. const ( FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet" @@ -65,6 +78,7 @@ const ( FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency" FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency" FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency" + FileDescriptorProto_OptionDependency_field_name protoreflect.Name = "option_dependency" FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type" FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" FileDescriptorProto_Service_field_name protoreflect.Name = "service" @@ -79,6 +93,7 @@ const ( FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency" FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency" FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency" + FileDescriptorProto_OptionDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.option_dependency" FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type" FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type" FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service" @@ -96,6 +111,7 @@ const ( FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3 FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10 FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11 + FileDescriptorProto_OptionDependency_field_number protoreflect.FieldNumber = 15 FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4 FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5 FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6 @@ -124,6 +140,7 @@ const ( DescriptorProto_Options_field_name protoreflect.Name = "options" DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + DescriptorProto_Visibility_field_name protoreflect.Name = "visibility" DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name" DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field" @@ -135,6 +152,7 @@ const ( DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options" DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range" DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name" + DescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.visibility" ) // Field numbers for google.protobuf.DescriptorProto. @@ -149,6 +167,7 @@ const ( DescriptorProto_Options_field_number protoreflect.FieldNumber = 7 DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9 DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10 + DescriptorProto_Visibility_field_number protoreflect.FieldNumber = 11 ) // Names for google.protobuf.DescriptorProto.ExtensionRange. @@ -388,12 +407,14 @@ const ( EnumDescriptorProto_Options_field_name protoreflect.Name = "options" EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + EnumDescriptorProto_Visibility_field_name protoreflect.Name = "visibility" EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name" EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value" EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options" EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range" EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name" + EnumDescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.visibility" ) // Field numbers for google.protobuf.EnumDescriptorProto. @@ -403,6 +424,7 @@ const ( EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4 EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5 + EnumDescriptorProto_Visibility_field_number protoreflect.FieldNumber = 6 ) // Names for google.protobuf.EnumDescriptorProto.EnumReservedRange. @@ -1008,32 +1030,35 @@ const ( // Field names for google.protobuf.FeatureSet. const ( - FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence" - FeatureSet_EnumType_field_name protoreflect.Name = "enum_type" - FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding" - FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation" - FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding" - FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format" - FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style" - - FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence" - FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type" - FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding" - FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation" - FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding" - FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format" - FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style" + FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence" + FeatureSet_EnumType_field_name protoreflect.Name = "enum_type" + FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding" + FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation" + FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding" + FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format" + FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style" + FeatureSet_DefaultSymbolVisibility_field_name protoreflect.Name = "default_symbol_visibility" + + FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence" + FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type" + FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding" + FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation" + FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding" + FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format" + FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style" + FeatureSet_DefaultSymbolVisibility_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.default_symbol_visibility" ) // Field numbers for google.protobuf.FeatureSet. const ( - FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1 - FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2 - FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3 - FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4 - FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5 - FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6 - FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7 + FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1 + FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2 + FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3 + FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4 + FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5 + FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6 + FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7 + FeatureSet_DefaultSymbolVisibility_field_number protoreflect.FieldNumber = 8 ) // Full and short names for google.protobuf.FeatureSet.FieldPresence. @@ -1128,6 +1153,27 @@ const ( FeatureSet_STYLE_LEGACY_enum_value = 2 ) +// Names for google.protobuf.FeatureSet.VisibilityFeature. +const ( + FeatureSet_VisibilityFeature_message_name protoreflect.Name = "VisibilityFeature" + FeatureSet_VisibilityFeature_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet.VisibilityFeature" +) + +// Full and short names for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility. +const ( + FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_fullname = "google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility" + FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_name = "DefaultSymbolVisibility" +) + +// Enum values for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility. +const ( + FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN_enum_value = 0 + FeatureSet_VisibilityFeature_EXPORT_ALL_enum_value = 1 + FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL_enum_value = 2 + FeatureSet_VisibilityFeature_LOCAL_ALL_enum_value = 3 + FeatureSet_VisibilityFeature_STRICT_enum_value = 4 +) + // Names for google.protobuf.FeatureSetDefaults. const ( FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults" diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go index 41c1f74ef81..bdad12a9bbc 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go @@ -11,6 +11,7 @@ import ( "google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/internal/encoding/messageset" + "google.golang.org/protobuf/internal/filedesc" "google.golang.org/protobuf/internal/order" "google.golang.org/protobuf/reflect/protoreflect" piface "google.golang.org/protobuf/runtime/protoiface" @@ -80,7 +81,7 @@ func (mi *MessageInfo) makeOpaqueCoderMethods(t reflect.Type, si opaqueStructInf // permit us to skip over definitely-unset fields at marshal time. var hasPresence bool - hasPresence, cf.isLazy = usePresenceForField(si, fd) + hasPresence, cf.isLazy = filedesc.UsePresenceForField(fd) if hasPresence { cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd) diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go index dd55e8e009c..5a439daacb7 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go @@ -11,6 +11,7 @@ import ( "strings" "sync/atomic" + "google.golang.org/protobuf/internal/filedesc" "google.golang.org/protobuf/reflect/protoreflect" ) @@ -53,7 +54,7 @@ func opaqueInitHook(mi *MessageInfo) bool { fd := fds.Get(i) fs := si.fieldsByNumber[fd.Number()] var fi fieldInfo - usePresence, _ := usePresenceForField(si, fd) + usePresence, _ := filedesc.UsePresenceForField(fd) switch { case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): @@ -343,17 +344,15 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn if p.IsNil() { return false } - sp := p.Apply(fieldOffset).AtomicGetPointer() - if sp.IsNil() { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() { return false } - rv := sp.AsValueOf(fs.Type.Elem()) return rv.Elem().Len() > 0 }, clear: func(p pointer) { - sp := p.Apply(fieldOffset).AtomicGetPointer() - if !sp.IsNil() { - rv := sp.AsValueOf(fs.Type.Elem()) + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if !rv.IsNil() { rv.Elem().Set(reflect.Zero(rv.Type().Elem())) } }, @@ -361,11 +360,10 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn if p.IsNil() { return conv.Zero() } - sp := p.Apply(fieldOffset).AtomicGetPointer() - if sp.IsNil() { + rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem() + if rv.IsNil() { return conv.Zero() } - rv := sp.AsValueOf(fs.Type.Elem()) if rv.Elem().Len() == 0 { return conv.Zero() } @@ -598,30 +596,3 @@ func (mi *MessageInfo) clearPresent(p pointer, index uint32) { func (mi *MessageInfo) present(p pointer, index uint32) bool { return p.Apply(mi.presenceOffset).PresenceInfo().Present(index) } - -// usePresenceForField implements the somewhat intricate logic of when -// the presence bitmap is used for a field. The main logic is that a -// field that is optional or that can be lazy will use the presence -// bit, but for proto2, also maps have a presence bit. It also records -// if the field can ever be lazy, which is true if we have a -// lazyOffset and the field is a message or a slice of messages. A -// field that is lazy will always need a presence bit. Oneofs are not -// lazy and do not use presence, unless they are a synthetic oneof, -// which is a proto3 optional field. For proto3 optionals, we use the -// presence and they can also be lazy when applicable (a message). -func usePresenceForField(si opaqueStructInfo, fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) { - hasLazyField := fd.(interface{ IsLazy() bool }).IsLazy() - - // Non-oneof scalar fields with explicit field presence use the presence array. - usesPresenceArray := fd.HasPresence() && fd.Message() == nil && (fd.ContainingOneof() == nil || fd.ContainingOneof().IsSynthetic()) - switch { - case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic(): - return false, false - case fd.IsMap(): - return false, false - case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind: - return hasLazyField, hasLazyField - default: - return usesPresenceArray || (hasLazyField && fd.HasPresence()), false - } -} diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/presence.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/presence.go index 914cb1deda2..443afe81cda 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/presence.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/impl/presence.go @@ -32,9 +32,6 @@ func (p presence) toElem(num uint32) (ret *uint32) { // Present checks for the presence of a specific field number in a presence set. func (p presence) Present(num uint32) bool { - if p.P == nil { - return false - } return Export{}.Present(p.toElem(num), num) } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/version/version.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/version/version.go index aac1cb18a74..697d1c14f3c 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/version/version.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/internal/version/version.go @@ -52,7 +52,7 @@ import ( const ( Major = 1 Minor = 36 - Patch = 6 + Patch = 8 PreRelease = "" ) diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go index a4a0a2971dd..730331e6668 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go @@ -21,6 +21,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte { b = p.appendRepeatedField(b, "public_dependency", nil) case 11: b = p.appendRepeatedField(b, "weak_dependency", nil) + case 15: + b = p.appendRepeatedField(b, "option_dependency", nil) case 4: b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto) case 5: @@ -66,6 +68,8 @@ func (p *SourcePath) appendDescriptorProto(b []byte) []byte { b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange) case 10: b = p.appendRepeatedField(b, "reserved_name", nil) + case 11: + b = p.appendSingularField(b, "visibility", nil) } return b } @@ -85,6 +89,8 @@ func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte { b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange) case 5: b = p.appendRepeatedField(b, "reserved_name", nil) + case 6: + b = p.appendSingularField(b, "visibility", nil) } return b } @@ -400,6 +406,8 @@ func (p *SourcePath) appendFeatureSet(b []byte) []byte { b = p.appendSingularField(b, "json_format", nil) case 7: b = p.appendSingularField(b, "enforce_naming_style", nil) + case 8: + b = p.appendSingularField(b, "default_symbol_visibility", nil) } return b } diff --git a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go index 7fe280f194c..4eacb523c33 100644 --- a/cluster-api/providers/azure/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +++ b/cluster-api/providers/azure/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go @@ -151,6 +151,70 @@ func (Edition) EnumDescriptor() ([]byte, []int) { return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0} } +// Describes the 'visibility' of a symbol with respect to the proto import +// system. Symbols can only be imported when the visibility rules do not prevent +// it (ex: local symbols cannot be imported). Visibility modifiers can only set +// on `message` and `enum` as they are the only types available to be referenced +// from other files. +type SymbolVisibility int32 + +const ( + SymbolVisibility_VISIBILITY_UNSET SymbolVisibility = 0 + SymbolVisibility_VISIBILITY_LOCAL SymbolVisibility = 1 + SymbolVisibility_VISIBILITY_EXPORT SymbolVisibility = 2 +) + +// Enum value maps for SymbolVisibility. +var ( + SymbolVisibility_name = map[int32]string{ + 0: "VISIBILITY_UNSET", + 1: "VISIBILITY_LOCAL", + 2: "VISIBILITY_EXPORT", + } + SymbolVisibility_value = map[string]int32{ + "VISIBILITY_UNSET": 0, + "VISIBILITY_LOCAL": 1, + "VISIBILITY_EXPORT": 2, + } +) + +func (x SymbolVisibility) Enum() *SymbolVisibility { + p := new(SymbolVisibility) + *p = x + return p +} + +func (x SymbolVisibility) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SymbolVisibility) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() +} + +func (SymbolVisibility) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[1] +} + +func (x SymbolVisibility) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *SymbolVisibility) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = SymbolVisibility(num) + return nil +} + +// Deprecated: Use SymbolVisibility.Descriptor instead. +func (SymbolVisibility) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1} +} + // The verification state of the extension range. type ExtensionRangeOptions_VerificationState int32 @@ -183,11 +247,11 @@ func (x ExtensionRangeOptions_VerificationState) String() string { } func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() } func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[1] + return &file_google_protobuf_descriptor_proto_enumTypes[2] } func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber { @@ -299,11 +363,11 @@ func (x FieldDescriptorProto_Type) String() string { } func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() } func (FieldDescriptorProto_Type) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[2] + return &file_google_protobuf_descriptor_proto_enumTypes[3] } func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber { @@ -362,11 +426,11 @@ func (x FieldDescriptorProto_Label) String() string { } func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() } func (FieldDescriptorProto_Label) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[3] + return &file_google_protobuf_descriptor_proto_enumTypes[4] } func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber { @@ -423,11 +487,11 @@ func (x FileOptions_OptimizeMode) String() string { } func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() } func (FileOptions_OptimizeMode) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[4] + return &file_google_protobuf_descriptor_proto_enumTypes[5] } func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber { @@ -489,11 +553,11 @@ func (x FieldOptions_CType) String() string { } func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor() } func (FieldOptions_CType) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[5] + return &file_google_protobuf_descriptor_proto_enumTypes[6] } func (x FieldOptions_CType) Number() protoreflect.EnumNumber { @@ -551,11 +615,11 @@ func (x FieldOptions_JSType) String() string { } func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor() } func (FieldOptions_JSType) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[6] + return &file_google_protobuf_descriptor_proto_enumTypes[7] } func (x FieldOptions_JSType) Number() protoreflect.EnumNumber { @@ -611,11 +675,11 @@ func (x FieldOptions_OptionRetention) String() string { } func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor() } func (FieldOptions_OptionRetention) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[7] + return &file_google_protobuf_descriptor_proto_enumTypes[8] } func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber { @@ -694,11 +758,11 @@ func (x FieldOptions_OptionTargetType) String() string { } func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor() } func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[8] + return &file_google_protobuf_descriptor_proto_enumTypes[9] } func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber { @@ -756,11 +820,11 @@ func (x MethodOptions_IdempotencyLevel) String() string { } func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor() } func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[9] + return &file_google_protobuf_descriptor_proto_enumTypes[10] } func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber { @@ -818,11 +882,11 @@ func (x FeatureSet_FieldPresence) String() string { } func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor() } func (FeatureSet_FieldPresence) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[10] + return &file_google_protobuf_descriptor_proto_enumTypes[11] } func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber { @@ -877,11 +941,11 @@ func (x FeatureSet_EnumType) String() string { } func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor() } func (FeatureSet_EnumType) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[11] + return &file_google_protobuf_descriptor_proto_enumTypes[12] } func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber { @@ -936,11 +1000,11 @@ func (x FeatureSet_RepeatedFieldEncoding) String() string { } func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor() } func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[12] + return &file_google_protobuf_descriptor_proto_enumTypes[13] } func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber { @@ -995,11 +1059,11 @@ func (x FeatureSet_Utf8Validation) String() string { } func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor() } func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[13] + return &file_google_protobuf_descriptor_proto_enumTypes[14] } func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber { @@ -1054,11 +1118,11 @@ func (x FeatureSet_MessageEncoding) String() string { } func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor() } func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[14] + return &file_google_protobuf_descriptor_proto_enumTypes[15] } func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber { @@ -1113,11 +1177,11 @@ func (x FeatureSet_JsonFormat) String() string { } func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor() } func (FeatureSet_JsonFormat) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[15] + return &file_google_protobuf_descriptor_proto_enumTypes[16] } func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber { @@ -1172,11 +1236,11 @@ func (x FeatureSet_EnforceNamingStyle) String() string { } func (FeatureSet_EnforceNamingStyle) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor() } func (FeatureSet_EnforceNamingStyle) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[16] + return &file_google_protobuf_descriptor_proto_enumTypes[17] } func (x FeatureSet_EnforceNamingStyle) Number() protoreflect.EnumNumber { @@ -1198,6 +1262,77 @@ func (FeatureSet_EnforceNamingStyle) EnumDescriptor() ([]byte, []int) { return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 6} } +type FeatureSet_VisibilityFeature_DefaultSymbolVisibility int32 + +const ( + FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 0 + // Default pre-EDITION_2024, all UNSET visibility are export. + FeatureSet_VisibilityFeature_EXPORT_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 1 + // All top-level symbols default to export, nested default to local. + FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 2 + // All symbols default to local. + FeatureSet_VisibilityFeature_LOCAL_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 3 + // All symbols local by default. Nested types cannot be exported. + // With special case caveat for message { enum {} reserved 1 to max; } + // This is the recommended setting for new protos. + FeatureSet_VisibilityFeature_STRICT FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 4 +) + +// Enum value maps for FeatureSet_VisibilityFeature_DefaultSymbolVisibility. +var ( + FeatureSet_VisibilityFeature_DefaultSymbolVisibility_name = map[int32]string{ + 0: "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN", + 1: "EXPORT_ALL", + 2: "EXPORT_TOP_LEVEL", + 3: "LOCAL_ALL", + 4: "STRICT", + } + FeatureSet_VisibilityFeature_DefaultSymbolVisibility_value = map[string]int32{ + "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0, + "EXPORT_ALL": 1, + "EXPORT_TOP_LEVEL": 2, + "LOCAL_ALL": 3, + "STRICT": 4, + } +) + +func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Enum() *FeatureSet_VisibilityFeature_DefaultSymbolVisibility { + p := new(FeatureSet_VisibilityFeature_DefaultSymbolVisibility) + *p = x + return p +} + +func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Descriptor() protoreflect.EnumDescriptor { + return file_google_protobuf_descriptor_proto_enumTypes[18].Descriptor() +} + +func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Type() protoreflect.EnumType { + return &file_google_protobuf_descriptor_proto_enumTypes[18] +} + +func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FeatureSet_VisibilityFeature_DefaultSymbolVisibility) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FeatureSet_VisibilityFeature_DefaultSymbolVisibility(num) + return nil +} + +// Deprecated: Use FeatureSet_VisibilityFeature_DefaultSymbolVisibility.Descriptor instead. +func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) EnumDescriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0, 0} +} + // Represents the identified object's effect on the element in the original // .proto file. type GeneratedCodeInfo_Annotation_Semantic int32 @@ -1236,11 +1371,11 @@ func (x GeneratedCodeInfo_Annotation_Semantic) String() string { } func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor { - return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor() + return file_google_protobuf_descriptor_proto_enumTypes[19].Descriptor() } func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType { - return &file_google_protobuf_descriptor_proto_enumTypes[17] + return &file_google_protobuf_descriptor_proto_enumTypes[19] } func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber { @@ -1321,6 +1456,9 @@ type FileDescriptorProto struct { // Indexes of the weak imported files in the dependency list. // For Google-internal migration only. Do not use. WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"` + // Names of files imported by this file purely for the purpose of providing + // option extensions. These are excluded from the dependency list above. + OptionDependency []string `protobuf:"bytes,15,rep,name=option_dependency,json=optionDependency" json:"option_dependency,omitempty"` // All top-level definitions in this file. MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"` EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"` @@ -1414,6 +1552,13 @@ func (x *FileDescriptorProto) GetWeakDependency() []int32 { return nil } +func (x *FileDescriptorProto) GetOptionDependency() []string { + if x != nil { + return x.OptionDependency + } + return nil +} + func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto { if x != nil { return x.MessageType @@ -1484,7 +1629,9 @@ type DescriptorProto struct { ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` // Reserved field names, which may not be used by fields in the same message. // A given name may only be reserved once. - ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` + ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` + // Support for `export` and `local` keywords on enums. + Visibility *SymbolVisibility `protobuf:"varint,11,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1589,6 +1736,13 @@ func (x *DescriptorProto) GetReservedName() []string { return nil } +func (x *DescriptorProto) GetVisibility() SymbolVisibility { + if x != nil && x.Visibility != nil { + return *x.Visibility + } + return SymbolVisibility_VISIBILITY_UNSET +} + type ExtensionRangeOptions struct { state protoimpl.MessageState `protogen:"open.v1"` // The parser stores options it doesn't recognize here. See above. @@ -1901,7 +2055,9 @@ type EnumDescriptorProto struct { ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"` // Reserved enum value names, which may not be reused. A given name may only // be reserved once. - ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` + ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"` + // Support for `export` and `local` keywords on enums. + Visibility *SymbolVisibility `protobuf:"varint,6,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1971,6 +2127,13 @@ func (x *EnumDescriptorProto) GetReservedName() []string { return nil } +func (x *EnumDescriptorProto) GetVisibility() SymbolVisibility { + if x != nil && x.Visibility != nil { + return *x.Visibility + } + return SymbolVisibility_VISIBILITY_UNSET +} + // Describes a value within an enum. type EnumValueDescriptorProto struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2710,7 +2873,10 @@ type FieldOptions struct { // for accessors, or it will be completely ignored; in the very least, this // is a formalization for deprecating fields. Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"` + // DEPRECATED. DO NOT USE! // For Google-internal migration only. Do not use. + // + // Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"` // Indicate that the field value should not be printed out when using debug // formats, e.g. when the field contains sensitive credentials. @@ -2814,6 +2980,7 @@ func (x *FieldOptions) GetDeprecated() bool { return Default_FieldOptions_Deprecated } +// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto. func (x *FieldOptions) GetWeak() bool { if x != nil && x.Weak != nil { return *x.Weak @@ -3392,17 +3559,18 @@ func (x *UninterpretedOption) GetAggregateValue() string { // be designed and implemented to handle this, hopefully before we ever hit a // conflict here. type FeatureSet struct { - state protoimpl.MessageState `protogen:"open.v1"` - FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"` - EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"` - RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"` - Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"` - MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"` - JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"` - EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"` - extensionFields protoimpl.ExtensionFields - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"` + EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"` + RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"` + Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"` + MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"` + JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"` + EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"` + DefaultSymbolVisibility *FeatureSet_VisibilityFeature_DefaultSymbolVisibility `protobuf:"varint,8,opt,name=default_symbol_visibility,json=defaultSymbolVisibility,enum=google.protobuf.FeatureSet_VisibilityFeature_DefaultSymbolVisibility" json:"default_symbol_visibility,omitempty"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FeatureSet) Reset() { @@ -3484,6 +3652,13 @@ func (x *FeatureSet) GetEnforceNamingStyle() FeatureSet_EnforceNamingStyle { return FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN } +func (x *FeatureSet) GetDefaultSymbolVisibility() FeatureSet_VisibilityFeature_DefaultSymbolVisibility { + if x != nil && x.DefaultSymbolVisibility != nil { + return *x.DefaultSymbolVisibility + } + return FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN +} + // A compiled specification for the defaults of a set of features. These // messages are generated from FeatureSet extensions and can be used to seed // feature resolution. The resolution with this object becomes a simple search @@ -4144,6 +4319,42 @@ func (x *UninterpretedOption_NamePart) GetIsExtension() bool { return false } +type FeatureSet_VisibilityFeature struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FeatureSet_VisibilityFeature) Reset() { + *x = FeatureSet_VisibilityFeature{} + mi := &file_google_protobuf_descriptor_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FeatureSet_VisibilityFeature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeatureSet_VisibilityFeature) ProtoMessage() {} + +func (x *FeatureSet_VisibilityFeature) ProtoReflect() protoreflect.Message { + mi := &file_google_protobuf_descriptor_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FeatureSet_VisibilityFeature.ProtoReflect.Descriptor instead. +func (*FeatureSet_VisibilityFeature) Descriptor() ([]byte, []int) { + return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0} +} + // A map from every known edition with a unique set of defaults to its // defaults. Not all editions may be contained here. For a given edition, // the defaults at the closest matching edition ordered at or before it should @@ -4161,7 +4372,7 @@ type FeatureSetDefaults_FeatureSetEditionDefault struct { func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() { *x = FeatureSetDefaults_FeatureSetEditionDefault{} - mi := &file_google_protobuf_descriptor_proto_msgTypes[30] + mi := &file_google_protobuf_descriptor_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4173,7 +4384,7 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string { func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {} func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message { - mi := &file_google_protobuf_descriptor_proto_msgTypes[30] + mi := &file_google_protobuf_descriptor_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4309,7 +4520,7 @@ type SourceCodeInfo_Location struct { func (x *SourceCodeInfo_Location) Reset() { *x = SourceCodeInfo_Location{} - mi := &file_google_protobuf_descriptor_proto_msgTypes[31] + mi := &file_google_protobuf_descriptor_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4321,7 +4532,7 @@ func (x *SourceCodeInfo_Location) String() string { func (*SourceCodeInfo_Location) ProtoMessage() {} func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message { - mi := &file_google_protobuf_descriptor_proto_msgTypes[31] + mi := &file_google_protobuf_descriptor_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4393,7 +4604,7 @@ type GeneratedCodeInfo_Annotation struct { func (x *GeneratedCodeInfo_Annotation) Reset() { *x = GeneratedCodeInfo_Annotation{} - mi := &file_google_protobuf_descriptor_proto_msgTypes[32] + mi := &file_google_protobuf_descriptor_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4405,7 +4616,7 @@ func (x *GeneratedCodeInfo_Annotation) String() string { func (*GeneratedCodeInfo_Annotation) ProtoMessage() {} func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message { - mi := &file_google_protobuf_descriptor_proto_msgTypes[32] + mi := &file_google_protobuf_descriptor_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4462,7 +4673,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\n" + " google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n" + "\x11FileDescriptorSet\x128\n" + - "\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\x98\x05\n" + + "\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\xc5\x05\n" + "\x13FileDescriptorProto\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + "\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" + @@ -4471,7 +4682,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "dependency\x12+\n" + "\x11public_dependency\x18\n" + " \x03(\x05R\x10publicDependency\x12'\n" + - "\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12C\n" + + "\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12+\n" + + "\x11option_dependency\x18\x0f \x03(\tR\x10optionDependency\x12C\n" + "\fmessage_type\x18\x04 \x03(\v2 .google.protobuf.DescriptorProtoR\vmessageType\x12A\n" + "\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\n" + "\aservice\x18\x06 \x03(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\x12C\n" + @@ -4479,7 +4691,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\aoptions\x18\b \x01(\v2\x1c.google.protobuf.FileOptionsR\aoptions\x12I\n" + "\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n" + "\x06syntax\x18\f \x01(\tR\x06syntax\x122\n" + - "\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xb9\x06\n" + + "\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xfc\x06\n" + "\x0fDescriptorProto\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12;\n" + "\x05field\x18\x02 \x03(\v2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n" + @@ -4493,7 +4705,10 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\aoptions\x18\a \x01(\v2\x1f.google.protobuf.MessageOptionsR\aoptions\x12U\n" + "\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n" + "\rreserved_name\x18\n" + - " \x03(\tR\freservedName\x1az\n" + + " \x03(\tR\freservedName\x12A\n" + + "\n" + + "visibility\x18\v \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" + + "visibility\x1az\n" + "\x0eExtensionRange\x12\x14\n" + "\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" + "\x03end\x18\x02 \x01(\x05R\x03end\x12@\n" + @@ -4562,13 +4777,16 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\x0eLABEL_REQUIRED\x10\x02\"c\n" + "\x14OneofDescriptorProto\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x127\n" + - "\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xe3\x02\n" + + "\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xa6\x03\n" + "\x13EnumDescriptorProto\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12?\n" + "\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n" + "\aoptions\x18\x03 \x01(\v2\x1c.google.protobuf.EnumOptionsR\aoptions\x12]\n" + "\x0ereserved_range\x18\x04 \x03(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n" + - "\rreserved_name\x18\x05 \x03(\tR\freservedName\x1a;\n" + + "\rreserved_name\x18\x05 \x03(\tR\freservedName\x12A\n" + + "\n" + + "visibility\x18\x06 \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" + + "visibility\x1a;\n" + "\x11EnumReservedRange\x12\x14\n" + "\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" + "\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n" + @@ -4629,7 +4847,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "&deprecated_legacy_json_field_conflicts\x18\v \x01(\bB\x02\x18\x01R\"deprecatedLegacyJsonFieldConflicts\x127\n" + "\bfeatures\x18\f \x01(\v2\x1b.google.protobuf.FeatureSetR\bfeatures\x12X\n" + "\x14uninterpreted_option\x18\xe7\a \x03(\v2$.google.protobuf.UninterpretedOptionR\x13uninterpretedOption*\t\b\xe8\a\x10\x80\x80\x80\x80\x02J\x04\b\x04\x10\x05J\x04\b\x05\x10\x06J\x04\b\x06\x10\aJ\x04\b\b\x10\tJ\x04\b\t\x10\n" + - "\"\x9d\r\n" + + "\"\xa1\r\n" + "\fFieldOptions\x12A\n" + "\x05ctype\x18\x01 \x01(\x0e2#.google.protobuf.FieldOptions.CType:\x06STRINGR\x05ctype\x12\x16\n" + "\x06packed\x18\x02 \x01(\bR\x06packed\x12G\n" + @@ -4638,9 +4856,9 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\x0funverified_lazy\x18\x0f \x01(\b:\x05falseR\x0eunverifiedLazy\x12%\n" + "\n" + "deprecated\x18\x03 \x01(\b:\x05falseR\n" + - "deprecated\x12\x19\n" + + "deprecated\x12\x1d\n" + "\x04weak\x18\n" + - " \x01(\b:\x05falseR\x04weak\x12(\n" + + " \x01(\b:\x05falseB\x02\x18\x01R\x04weak\x12(\n" + "\fdebug_redact\x18\x10 \x01(\b:\x05falseR\vdebugRedact\x12K\n" + "\tretention\x18\x11 \x01(\x0e2-.google.protobuf.FieldOptions.OptionRetentionR\tretention\x12H\n" + "\atargets\x18\x13 \x03(\x0e2..google.protobuf.FieldOptions.OptionTargetTypeR\atargets\x12W\n" + @@ -4728,7 +4946,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" + "\bNamePart\x12\x1b\n" + "\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" + - "\fis_extension\x18\x02 \x02(\bR\visExtension\"\xae\f\n" + + "\fis_extension\x18\x02 \x02(\bR\visExtension\"\x8e\x0f\n" + "\n" + "FeatureSet\x12\x91\x01\n" + "\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" + @@ -4739,7 +4957,18 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" + "\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" + "jsonFormat\x12\xab\x01\n" + - "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\"\\\n" + + "\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\x12\xb9\x01\n" + + "\x19default_symbol_visibility\x18\b \x01(\x0e2E.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibilityB6\x88\x01\x02\x98\x01\x01\xa2\x01\x0f\x12\n" + + "EXPORT_ALL\x18\x84\a\xa2\x01\x15\x12\x10EXPORT_TOP_LEVEL\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x17defaultSymbolVisibility\x1a\xa1\x01\n" + + "\x11VisibilityFeature\"\x81\x01\n" + + "\x17DefaultSymbolVisibility\x12%\n" + + "!DEFAULT_SYMBOL_VISIBILITY_UNKNOWN\x10\x00\x12\x0e\n" + + "\n" + + "EXPORT_ALL\x10\x01\x12\x14\n" + + "\x10EXPORT_TOP_LEVEL\x10\x02\x12\r\n" + + "\tLOCAL_ALL\x10\x03\x12\n" + + "\n" + + "\x06STRICT\x10\x04J\b\b\x01\x10\x80\x80\x80\x80\x02\"\\\n" + "\rFieldPresence\x12\x1a\n" + "\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\f\n" + "\bEXPLICIT\x10\x01\x12\f\n" + @@ -4817,7 +5046,11 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" + "\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n" + "\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n" + "\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n" + - "\vEDITION_MAX\x10\xff\xff\xff\xff\aB~\n" + + "\vEDITION_MAX\x10\xff\xff\xff\xff\a*U\n" + + "\x10SymbolVisibility\x12\x14\n" + + "\x10VISIBILITY_UNSET\x10\x00\x12\x14\n" + + "\x10VISIBILITY_LOCAL\x10\x01\x12\x15\n" + + "\x11VISIBILITY_EXPORT\x10\x02B~\n" + "\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection" var ( @@ -4832,145 +5065,151 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte { return file_google_protobuf_descriptor_proto_rawDescData } -var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 18) -var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 33) +var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 20) +var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_google_protobuf_descriptor_proto_goTypes = []any{ - (Edition)(0), // 0: google.protobuf.Edition - (ExtensionRangeOptions_VerificationState)(0), // 1: google.protobuf.ExtensionRangeOptions.VerificationState - (FieldDescriptorProto_Type)(0), // 2: google.protobuf.FieldDescriptorProto.Type - (FieldDescriptorProto_Label)(0), // 3: google.protobuf.FieldDescriptorProto.Label - (FileOptions_OptimizeMode)(0), // 4: google.protobuf.FileOptions.OptimizeMode - (FieldOptions_CType)(0), // 5: google.protobuf.FieldOptions.CType - (FieldOptions_JSType)(0), // 6: google.protobuf.FieldOptions.JSType - (FieldOptions_OptionRetention)(0), // 7: google.protobuf.FieldOptions.OptionRetention - (FieldOptions_OptionTargetType)(0), // 8: google.protobuf.FieldOptions.OptionTargetType - (MethodOptions_IdempotencyLevel)(0), // 9: google.protobuf.MethodOptions.IdempotencyLevel - (FeatureSet_FieldPresence)(0), // 10: google.protobuf.FeatureSet.FieldPresence - (FeatureSet_EnumType)(0), // 11: google.protobuf.FeatureSet.EnumType - (FeatureSet_RepeatedFieldEncoding)(0), // 12: google.protobuf.FeatureSet.RepeatedFieldEncoding - (FeatureSet_Utf8Validation)(0), // 13: google.protobuf.FeatureSet.Utf8Validation - (FeatureSet_MessageEncoding)(0), // 14: google.protobuf.FeatureSet.MessageEncoding - (FeatureSet_JsonFormat)(0), // 15: google.protobuf.FeatureSet.JsonFormat - (FeatureSet_EnforceNamingStyle)(0), // 16: google.protobuf.FeatureSet.EnforceNamingStyle - (GeneratedCodeInfo_Annotation_Semantic)(0), // 17: google.protobuf.GeneratedCodeInfo.Annotation.Semantic - (*FileDescriptorSet)(nil), // 18: google.protobuf.FileDescriptorSet - (*FileDescriptorProto)(nil), // 19: google.protobuf.FileDescriptorProto - (*DescriptorProto)(nil), // 20: google.protobuf.DescriptorProto - (*ExtensionRangeOptions)(nil), // 21: google.protobuf.ExtensionRangeOptions - (*FieldDescriptorProto)(nil), // 22: google.protobuf.FieldDescriptorProto - (*OneofDescriptorProto)(nil), // 23: google.protobuf.OneofDescriptorProto - (*EnumDescriptorProto)(nil), // 24: google.protobuf.EnumDescriptorProto - (*EnumValueDescriptorProto)(nil), // 25: google.protobuf.EnumValueDescriptorProto - (*ServiceDescriptorProto)(nil), // 26: google.protobuf.ServiceDescriptorProto - (*MethodDescriptorProto)(nil), // 27: google.protobuf.MethodDescriptorProto - (*FileOptions)(nil), // 28: google.protobuf.FileOptions - (*MessageOptions)(nil), // 29: google.protobuf.MessageOptions - (*FieldOptions)(nil), // 30: google.protobuf.FieldOptions - (*OneofOptions)(nil), // 31: google.protobuf.OneofOptions - (*EnumOptions)(nil), // 32: google.protobuf.EnumOptions - (*EnumValueOptions)(nil), // 33: google.protobuf.EnumValueOptions - (*ServiceOptions)(nil), // 34: google.protobuf.ServiceOptions - (*MethodOptions)(nil), // 35: google.protobuf.MethodOptions - (*UninterpretedOption)(nil), // 36: google.protobuf.UninterpretedOption - (*FeatureSet)(nil), // 37: google.protobuf.FeatureSet - (*FeatureSetDefaults)(nil), // 38: google.protobuf.FeatureSetDefaults - (*SourceCodeInfo)(nil), // 39: google.protobuf.SourceCodeInfo - (*GeneratedCodeInfo)(nil), // 40: google.protobuf.GeneratedCodeInfo - (*DescriptorProto_ExtensionRange)(nil), // 41: google.protobuf.DescriptorProto.ExtensionRange - (*DescriptorProto_ReservedRange)(nil), // 42: google.protobuf.DescriptorProto.ReservedRange - (*ExtensionRangeOptions_Declaration)(nil), // 43: google.protobuf.ExtensionRangeOptions.Declaration - (*EnumDescriptorProto_EnumReservedRange)(nil), // 44: google.protobuf.EnumDescriptorProto.EnumReservedRange - (*FieldOptions_EditionDefault)(nil), // 45: google.protobuf.FieldOptions.EditionDefault - (*FieldOptions_FeatureSupport)(nil), // 46: google.protobuf.FieldOptions.FeatureSupport - (*UninterpretedOption_NamePart)(nil), // 47: google.protobuf.UninterpretedOption.NamePart - (*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 48: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - (*SourceCodeInfo_Location)(nil), // 49: google.protobuf.SourceCodeInfo.Location - (*GeneratedCodeInfo_Annotation)(nil), // 50: google.protobuf.GeneratedCodeInfo.Annotation + (Edition)(0), // 0: google.protobuf.Edition + (SymbolVisibility)(0), // 1: google.protobuf.SymbolVisibility + (ExtensionRangeOptions_VerificationState)(0), // 2: google.protobuf.ExtensionRangeOptions.VerificationState + (FieldDescriptorProto_Type)(0), // 3: google.protobuf.FieldDescriptorProto.Type + (FieldDescriptorProto_Label)(0), // 4: google.protobuf.FieldDescriptorProto.Label + (FileOptions_OptimizeMode)(0), // 5: google.protobuf.FileOptions.OptimizeMode + (FieldOptions_CType)(0), // 6: google.protobuf.FieldOptions.CType + (FieldOptions_JSType)(0), // 7: google.protobuf.FieldOptions.JSType + (FieldOptions_OptionRetention)(0), // 8: google.protobuf.FieldOptions.OptionRetention + (FieldOptions_OptionTargetType)(0), // 9: google.protobuf.FieldOptions.OptionTargetType + (MethodOptions_IdempotencyLevel)(0), // 10: google.protobuf.MethodOptions.IdempotencyLevel + (FeatureSet_FieldPresence)(0), // 11: google.protobuf.FeatureSet.FieldPresence + (FeatureSet_EnumType)(0), // 12: google.protobuf.FeatureSet.EnumType + (FeatureSet_RepeatedFieldEncoding)(0), // 13: google.protobuf.FeatureSet.RepeatedFieldEncoding + (FeatureSet_Utf8Validation)(0), // 14: google.protobuf.FeatureSet.Utf8Validation + (FeatureSet_MessageEncoding)(0), // 15: google.protobuf.FeatureSet.MessageEncoding + (FeatureSet_JsonFormat)(0), // 16: google.protobuf.FeatureSet.JsonFormat + (FeatureSet_EnforceNamingStyle)(0), // 17: google.protobuf.FeatureSet.EnforceNamingStyle + (FeatureSet_VisibilityFeature_DefaultSymbolVisibility)(0), // 18: google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility + (GeneratedCodeInfo_Annotation_Semantic)(0), // 19: google.protobuf.GeneratedCodeInfo.Annotation.Semantic + (*FileDescriptorSet)(nil), // 20: google.protobuf.FileDescriptorSet + (*FileDescriptorProto)(nil), // 21: google.protobuf.FileDescriptorProto + (*DescriptorProto)(nil), // 22: google.protobuf.DescriptorProto + (*ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions + (*FieldDescriptorProto)(nil), // 24: google.protobuf.FieldDescriptorProto + (*OneofDescriptorProto)(nil), // 25: google.protobuf.OneofDescriptorProto + (*EnumDescriptorProto)(nil), // 26: google.protobuf.EnumDescriptorProto + (*EnumValueDescriptorProto)(nil), // 27: google.protobuf.EnumValueDescriptorProto + (*ServiceDescriptorProto)(nil), // 28: google.protobuf.ServiceDescriptorProto + (*MethodDescriptorProto)(nil), // 29: google.protobuf.MethodDescriptorProto + (*FileOptions)(nil), // 30: google.protobuf.FileOptions + (*MessageOptions)(nil), // 31: google.protobuf.MessageOptions + (*FieldOptions)(nil), // 32: google.protobuf.FieldOptions + (*OneofOptions)(nil), // 33: google.protobuf.OneofOptions + (*EnumOptions)(nil), // 34: google.protobuf.EnumOptions + (*EnumValueOptions)(nil), // 35: google.protobuf.EnumValueOptions + (*ServiceOptions)(nil), // 36: google.protobuf.ServiceOptions + (*MethodOptions)(nil), // 37: google.protobuf.MethodOptions + (*UninterpretedOption)(nil), // 38: google.protobuf.UninterpretedOption + (*FeatureSet)(nil), // 39: google.protobuf.FeatureSet + (*FeatureSetDefaults)(nil), // 40: google.protobuf.FeatureSetDefaults + (*SourceCodeInfo)(nil), // 41: google.protobuf.SourceCodeInfo + (*GeneratedCodeInfo)(nil), // 42: google.protobuf.GeneratedCodeInfo + (*DescriptorProto_ExtensionRange)(nil), // 43: google.protobuf.DescriptorProto.ExtensionRange + (*DescriptorProto_ReservedRange)(nil), // 44: google.protobuf.DescriptorProto.ReservedRange + (*ExtensionRangeOptions_Declaration)(nil), // 45: google.protobuf.ExtensionRangeOptions.Declaration + (*EnumDescriptorProto_EnumReservedRange)(nil), // 46: google.protobuf.EnumDescriptorProto.EnumReservedRange + (*FieldOptions_EditionDefault)(nil), // 47: google.protobuf.FieldOptions.EditionDefault + (*FieldOptions_FeatureSupport)(nil), // 48: google.protobuf.FieldOptions.FeatureSupport + (*UninterpretedOption_NamePart)(nil), // 49: google.protobuf.UninterpretedOption.NamePart + (*FeatureSet_VisibilityFeature)(nil), // 50: google.protobuf.FeatureSet.VisibilityFeature + (*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 51: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + (*SourceCodeInfo_Location)(nil), // 52: google.protobuf.SourceCodeInfo.Location + (*GeneratedCodeInfo_Annotation)(nil), // 53: google.protobuf.GeneratedCodeInfo.Annotation } var file_google_protobuf_descriptor_proto_depIdxs = []int32{ - 19, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto - 20, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto - 24, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto - 26, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto - 22, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto - 28, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions - 39, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo + 21, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto + 22, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto + 26, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto + 28, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto + 24, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto + 30, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions + 41, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo 0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition - 22, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto - 22, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto - 20, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto - 24, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto - 41, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange - 23, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto - 29, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions - 42, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange - 36, // 16: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 43, // 17: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration - 37, // 18: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet - 1, // 19: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState - 3, // 20: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label - 2, // 21: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type - 30, // 22: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions - 31, // 23: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions - 25, // 24: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto - 32, // 25: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions - 44, // 26: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange - 33, // 27: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions - 27, // 28: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto - 34, // 29: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions - 35, // 30: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions - 4, // 31: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode - 37, // 32: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet - 36, // 33: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 37, // 34: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet - 36, // 35: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 5, // 36: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType - 6, // 37: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType - 7, // 38: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention - 8, // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType - 45, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault - 37, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet - 46, // 42: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport - 36, // 43: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 37, // 44: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet - 36, // 45: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 37, // 46: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet - 36, // 47: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 37, // 48: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet - 46, // 49: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport - 36, // 50: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 37, // 51: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet - 36, // 52: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 9, // 53: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel - 37, // 54: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet - 36, // 55: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption - 47, // 56: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart - 10, // 57: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence - 11, // 58: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType - 12, // 59: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding - 13, // 60: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation - 14, // 61: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding - 15, // 62: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat - 16, // 63: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle - 48, // 64: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - 0, // 65: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition - 0, // 66: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition - 49, // 67: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location - 50, // 68: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation - 21, // 69: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions - 0, // 70: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition - 0, // 71: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition - 0, // 72: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition - 0, // 73: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition - 0, // 74: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition - 37, // 75: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet - 37, // 76: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet - 17, // 77: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic - 78, // [78:78] is the sub-list for method output_type - 78, // [78:78] is the sub-list for method input_type - 78, // [78:78] is the sub-list for extension type_name - 78, // [78:78] is the sub-list for extension extendee - 0, // [0:78] is the sub-list for field type_name + 24, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto + 24, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto + 22, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto + 26, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto + 43, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange + 25, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto + 31, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions + 44, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange + 1, // 16: google.protobuf.DescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility + 38, // 17: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 45, // 18: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration + 39, // 19: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet + 2, // 20: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState + 4, // 21: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label + 3, // 22: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type + 32, // 23: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions + 33, // 24: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions + 27, // 25: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto + 34, // 26: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions + 46, // 27: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange + 1, // 28: google.protobuf.EnumDescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility + 35, // 29: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions + 29, // 30: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto + 36, // 31: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions + 37, // 32: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions + 5, // 33: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode + 39, // 34: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet + 38, // 35: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 39, // 36: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet + 38, // 37: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 6, // 38: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType + 7, // 39: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType + 8, // 40: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention + 9, // 41: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType + 47, // 42: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault + 39, // 43: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet + 48, // 44: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport + 38, // 45: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 39, // 46: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet + 38, // 47: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 39, // 48: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet + 38, // 49: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 39, // 50: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet + 48, // 51: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport + 38, // 52: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 39, // 53: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet + 38, // 54: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 10, // 55: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel + 39, // 56: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet + 38, // 57: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption + 49, // 58: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart + 11, // 59: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence + 12, // 60: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType + 13, // 61: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding + 14, // 62: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation + 15, // 63: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding + 16, // 64: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat + 17, // 65: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle + 18, // 66: google.protobuf.FeatureSet.default_symbol_visibility:type_name -> google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility + 51, // 67: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault + 0, // 68: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition + 0, // 69: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition + 52, // 70: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location + 53, // 71: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation + 23, // 72: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions + 0, // 73: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition + 0, // 74: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition + 0, // 75: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition + 0, // 76: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition + 0, // 77: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition + 39, // 78: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet + 39, // 79: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet + 19, // 80: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic + 81, // [81:81] is the sub-list for method output_type + 81, // [81:81] is the sub-list for method input_type + 81, // [81:81] is the sub-list for extension type_name + 81, // [81:81] is the sub-list for extension extendee + 0, // [0:81] is the sub-list for field type_name } func init() { file_google_protobuf_descriptor_proto_init() } @@ -4983,8 +5222,8 @@ func file_google_protobuf_descriptor_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)), - NumEnums: 18, - NumMessages: 33, + NumEnums: 20, + NumMessages: 34, NumExtensions: 0, NumServices: 0, }, diff --git a/cluster-api/providers/azure/vendor/modules.txt b/cluster-api/providers/azure/vendor/modules.txt index f2306fa66f3..f085f10d4d1 100644 --- a/cluster-api/providers/azure/vendor/modules.txt +++ b/cluster-api/providers/azure/vendor/modules.txt @@ -1,4 +1,4 @@ -# cel.dev/expr v0.23.0 +# cel.dev/expr v0.24.0 ## explicit; go 1.22.0 cel.dev/expr # github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 @@ -220,7 +220,7 @@ github.com/blang/semver # github.com/blang/semver/v4 v4.0.0 ## explicit; go 1.14 github.com/blang/semver/v4 -# github.com/cenkalti/backoff/v5 v5.0.2 +# github.com/cenkalti/backoff/v5 v5.0.3 ## explicit; go 1.23 github.com/cenkalti/backoff/v5 # github.com/cespare/xxhash/v2 v2.3.0 @@ -331,7 +331,10 @@ github.com/google/gofuzz/bytesource # github.com/google/uuid v1.6.0 ## explicit github.com/google/uuid -# github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 +# github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc +## explicit; go 1.21 +github.com/grafana/regexp +# github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 ## explicit; go 1.23.0 github.com/grpc-ecosystem/grpc-gateway/v2/internal/httprule github.com/grpc-ecosystem/grpc-gateway/v2/runtime @@ -373,7 +376,7 @@ github.com/modern-go/reflect2 # github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 ## explicit github.com/munnerz/goautoneg -# github.com/onsi/gomega v1.38.0 +# github.com/onsi/gomega v1.38.2 ## explicit; go 1.23.0 github.com/onsi/gomega github.com/onsi/gomega/format @@ -392,8 +395,8 @@ github.com/pkg/browser # github.com/pkg/errors v0.9.1 ## explicit github.com/pkg/errors -# github.com/prometheus/client_golang v1.22.0 -## explicit; go 1.22 +# github.com/prometheus/client_golang v1.23.0 +## explicit; go 1.23.0 github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil github.com/prometheus/client_golang/internal/github.com/golang/gddo/httputil/header github.com/prometheus/client_golang/prometheus @@ -411,7 +414,10 @@ github.com/prometheus/client_model/go ## explicit; go 1.23.0 github.com/prometheus/common/expfmt github.com/prometheus/common/model -# github.com/prometheus/procfs v0.16.1 +# github.com/prometheus/otlptranslator v0.0.2 +## explicit; go 1.23.0 +github.com/prometheus/otlptranslator +# github.com/prometheus/procfs v0.17.0 ## explicit; go 1.23.0 github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs @@ -428,7 +434,7 @@ github.com/samber/lo/mutable # github.com/spf13/cobra v1.9.1 ## explicit; go 1.15 github.com/spf13/cobra -# github.com/spf13/pflag v1.0.7 +# github.com/spf13/pflag v1.0.10 ## explicit; go 1.12 github.com/spf13/pflag # github.com/stoewer/go-strcase v1.3.0 @@ -447,7 +453,7 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/request go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconvutil -# go.opentelemetry.io/otel v1.37.0 +# go.opentelemetry.io/otel v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel go.opentelemetry.io/otel/attribute @@ -461,28 +467,29 @@ go.opentelemetry.io/otel/semconv/internal go.opentelemetry.io/otel/semconv/v1.17.0 go.opentelemetry.io/otel/semconv/v1.20.0 go.opentelemetry.io/otel/semconv/v1.26.0 -go.opentelemetry.io/otel/semconv/v1.34.0 +go.opentelemetry.io/otel/semconv/v1.37.0 +go.opentelemetry.io/otel/semconv/v1.37.0/otelconv go.opentelemetry.io/otel/semconv/v1.4.0 -# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform -# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.37.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/envconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry -# go.opentelemetry.io/otel/exporters/prometheus v0.59.0 +# go.opentelemetry.io/otel/exporters/prometheus v0.60.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/exporters/prometheus -# go.opentelemetry.io/otel/metric v1.37.0 +# go.opentelemetry.io/otel/metric v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/metric go.opentelemetry.io/otel/metric/embedded go.opentelemetry.io/otel/metric/noop -# go.opentelemetry.io/otel/sdk v1.37.0 +# go.opentelemetry.io/otel/sdk v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/sdk go.opentelemetry.io/otel/sdk/instrumentation @@ -490,7 +497,8 @@ go.opentelemetry.io/otel/sdk/internal/env go.opentelemetry.io/otel/sdk/internal/x go.opentelemetry.io/otel/sdk/resource go.opentelemetry.io/otel/sdk/trace -# go.opentelemetry.io/otel/sdk/metric v1.37.0 +go.opentelemetry.io/otel/sdk/trace/internal/x +# go.opentelemetry.io/otel/sdk/metric v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/sdk/metric go.opentelemetry.io/otel/sdk/metric/exemplar @@ -498,13 +506,13 @@ go.opentelemetry.io/otel/sdk/metric/internal go.opentelemetry.io/otel/sdk/metric/internal/aggregate go.opentelemetry.io/otel/sdk/metric/internal/x go.opentelemetry.io/otel/sdk/metric/metricdata -# go.opentelemetry.io/otel/trace v1.37.0 +# go.opentelemetry.io/otel/trace v1.38.0 ## explicit; go 1.23.0 go.opentelemetry.io/otel/trace go.opentelemetry.io/otel/trace/embedded go.opentelemetry.io/otel/trace/internal/telemetry go.opentelemetry.io/otel/trace/noop -# go.opentelemetry.io/proto/otlp v1.7.0 +# go.opentelemetry.io/proto/otlp v1.7.1 ## explicit; go 1.23.0 go.opentelemetry.io/proto/otlp/collector/trace/v1 go.opentelemetry.io/proto/otlp/common/v1 @@ -513,8 +521,11 @@ go.opentelemetry.io/proto/otlp/trace/v1 # go.uber.org/mock v0.5.2 ## explicit; go 1.23 go.uber.org/mock/gomock -# golang.org/x/crypto v0.41.0 -## explicit; go 1.23.0 +# go.yaml.in/yaml/v3 v3.0.4 +## explicit; go 1.16 +go.yaml.in/yaml/v3 +# golang.org/x/crypto v0.42.0 +## explicit; go 1.24.0 golang.org/x/crypto/blowfish golang.org/x/crypto/chacha20 golang.org/x/crypto/curve25519 @@ -529,8 +540,8 @@ golang.org/x/crypto/ssh/internal/bcrypt_pbkdf golang.org/x/exp/constraints golang.org/x/exp/maps golang.org/x/exp/slices -# golang.org/x/mod v0.27.0 -## explicit; go 1.23.0 +# golang.org/x/mod v0.28.0 +## explicit; go 1.24.0 golang.org/x/mod/semver # golang.org/x/net v0.43.0 ## explicit; go 1.23.0 @@ -549,22 +560,22 @@ golang.org/x/net/websocket ## explicit; go 1.23.0 golang.org/x/oauth2 golang.org/x/oauth2/internal -# golang.org/x/sync v0.16.0 -## explicit; go 1.23.0 +# golang.org/x/sync v0.17.0 +## explicit; go 1.24.0 golang.org/x/sync/errgroup golang.org/x/sync/singleflight -# golang.org/x/sys v0.35.0 -## explicit; go 1.23.0 +# golang.org/x/sys v0.36.0 +## explicit; go 1.24.0 golang.org/x/sys/cpu golang.org/x/sys/plan9 golang.org/x/sys/unix golang.org/x/sys/windows golang.org/x/sys/windows/registry -# golang.org/x/term v0.34.0 -## explicit; go 1.23.0 +# golang.org/x/term v0.35.0 +## explicit; go 1.24.0 golang.org/x/term -# golang.org/x/text v0.28.0 -## explicit; go 1.23.0 +# golang.org/x/text v0.29.0 +## explicit; go 1.24.0 golang.org/x/text/cases golang.org/x/text/encoding golang.org/x/text/encoding/charmap @@ -600,15 +611,15 @@ golang.org/x/time/rate # gomodules.xyz/jsonpatch/v2 v2.5.0 ## explicit; go 1.20 gomodules.xyz/jsonpatch/v2 -# google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 +# google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 ## explicit; go 1.23.0 google.golang.org/genproto/googleapis/api/expr/v1alpha1 google.golang.org/genproto/googleapis/api/httpbody -# google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 +# google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 ## explicit; go 1.23.0 google.golang.org/genproto/googleapis/rpc/errdetails google.golang.org/genproto/googleapis/rpc/status -# google.golang.org/grpc v1.73.0 +# google.golang.org/grpc v1.75.0 ## explicit; go 1.23.0 google.golang.org/grpc google.golang.org/grpc/attributes @@ -672,8 +683,8 @@ google.golang.org/grpc/serviceconfig google.golang.org/grpc/stats google.golang.org/grpc/status google.golang.org/grpc/tap -# google.golang.org/protobuf v1.36.6 -## explicit; go 1.22 +# google.golang.org/protobuf v1.36.8 +## explicit; go 1.23 google.golang.org/protobuf/encoding/protodelim google.golang.org/protobuf/encoding/protojson google.golang.org/protobuf/encoding/prototext @@ -1473,7 +1484,7 @@ sigs.k8s.io/cluster-api/util/record sigs.k8s.io/cluster-api/util/secret sigs.k8s.io/cluster-api/util/topology sigs.k8s.io/cluster-api/version -# sigs.k8s.io/cluster-api-provider-azure v1.21.1 +# sigs.k8s.io/cluster-api-provider-azure v1.21.1-0.20250929163617-2c4eaa611a39 ## explicit; go 1.24.0 sigs.k8s.io/cluster-api-provider-azure sigs.k8s.io/cluster-api-provider-azure/api/v1beta1 diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Makefile b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Makefile index 26c0d3a75f5..b28721c59ec 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Makefile +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Makefile @@ -175,7 +175,7 @@ CRD_ROOT ?= $(MANIFEST_ROOT)/crd/bases WEBHOOK_ROOT ?= $(MANIFEST_ROOT)/webhook RBAC_ROOT ?= $(MANIFEST_ROOT)/rbac ASO_CRDS_PATH := $(MANIFEST_ROOT)/aso/crds.yaml -ASO_VERSION := v2.11.0 +ASO_VERSION := $(shell go list -m -f '{{ .Version }}' github.com/Azure/azure-service-operator/v2) ASO_CRDS := resourcegroups.resources.azure.com natgateways.network.azure.com managedclusters.containerservice.azure.com managedclustersagentpools.containerservice.azure.com bastionhosts.network.azure.com virtualnetworks.network.azure.com virtualnetworkssubnets.network.azure.com privateendpoints.network.azure.com fleetsmembers.containerservice.azure.com extensions.kubernetesconfiguration.azure.com # Allow overriding the imagePullPolicy @@ -358,7 +358,7 @@ create-management-cluster: $(KUSTOMIZE) $(ENVSUBST) $(KUBECTL) $(KIND) ## Create ./hack/create-custom-cloud-provider-config.sh # Deploy CAPI - timeout --foreground 300 bash -c "until curl --retry $(CURL_RETRIES) -sSL https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.7/cluster-api-components.yaml | $(ENVSUBST) | $(KUBECTL) apply -f -; do sleep 5; done" + timeout --foreground 300 bash -c "until curl --retry $(CURL_RETRIES) -sSL https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.4/cluster-api-components.yaml | $(ENVSUBST) | $(KUBECTL) apply -f -; do sleep 5; done" # Deploy CAAPH timeout --foreground 300 bash -c "until curl --retry $(CURL_RETRIES) -sSL https://github.com/kubernetes-sigs/cluster-api-addon-provider-helm/releases/download/v0.3.2/addon-components.yaml | $(ENVSUBST) | $(KUBECTL) apply -f -; do sleep 5; done" @@ -559,11 +559,9 @@ generate-e2e-templates: $(KUSTOMIZE) ## Generate Azure infrastructure templates $(KUSTOMIZE) build $(AZURE_TEMPLATES)/v1beta1/cluster-template-aks --load-restrictor LoadRestrictionsNone > $(AZURE_TEMPLATES)/v1beta1/cluster-template-aks.yaml .PHONY: generate-addons -generate-addons: fetch-calico-manifests ## Generate metric-server, calico, calico-ipv6, azure cni v1 addons. +generate-addons: fetch-calico-manifests $(ENVSUBST) $(KUSTOMIZE) build $(ADDONS_DIR)/metrics-server > $(ADDONS_DIR)/metrics-server/metrics-server.yaml - $(KUSTOMIZE) build $(ADDONS_DIR)/calico > $(ADDONS_DIR)/calico.yaml - $(KUSTOMIZE) build $(ADDONS_DIR)/calico-ipv6 > $(ADDONS_DIR)/calico-ipv6.yaml - $(KUSTOMIZE) build $(ADDONS_DIR)/calico-dual-stack > $(ADDONS_DIR)/calico-dual-stack.yaml + $(KUSTOMIZE) build $(ADDONS_DIR)/calico | $(ENVSUBST) > $(ADDONS_DIR)/calico.yaml $(KUSTOMIZE) build $(ADDONS_DIR)/azure-cni-v1 > $(ADDONS_DIR)/azure-cni-v1.yaml .PHONY: generate-aso-crds @@ -572,13 +570,13 @@ generate-addons: fetch-calico-manifests ## Generate metric-server, calico, calic # envsubst, '$$$$' changes back to '$$' so ASO will not detect a diff and try to # update the CRDs for which we don't give it permission. generate-aso-crds: $(YQ) + $(YQ) e -i '.resources[] |= sub("^(https://github\.com/Azure/azure-service-operator/releases/download/)[^/]+(/.*_).*(\.yaml)$$", "$${1}$(ASO_VERSION)$${2}$(ASO_VERSION)$${3}")' $(ROOT_DIR)/config/aso/kustomization.yaml curl -fSsL "https://github.com/Azure/azure-service-operator/releases/download/$(ASO_VERSION)/azureserviceoperator_customresourcedefinitions_$(ASO_VERSION).yaml" | \ $(YQ) e '. | select($(foreach name,$(ASO_CRDS),.metadata.name == "$(name)" or )false)' - | \ sed 's/\$$\$$/$$$$$$$$/g' \ > $(ASO_CRDS_PATH) -# When updating this, make sure to also update the Windows image version in templates/addons/windows/calico. -export CALICO_VERSION := v3.26.1 +export CALICO_VERSION := v3.29.4 # Where all downloaded Calico manifests are unpacked and stored. CALICO_RELEASES := $(ARTIFACTS)/calico # Path to manifests directory in a Calico release archive. @@ -770,7 +768,7 @@ kind-create-bootstrap: $(KUBECTL) ## Create capz kind bootstrap cluster. create-bootstrap: $(KUBECTL) ## Create bootstrap cluster (AKS or KIND) for CAPZ testing. Default is KIND. @echo "Creating bootstrap cluster with type: $(MGMT_CLUSTER_TYPE)" @if [ "$(MGMT_CLUSTER_TYPE)" == "aks" ]; then \ - MGMT_CLUSTER_NAME="$${MGMT_CLUSTER_NAME:-capz-e2e-$(shell date +%s)}" \ + MGMT_CLUSTER_NAME="$${MGMT_CLUSTER_NAME:-capz-e2e-$(RANDOM_SUFFIX)}" \ ./scripts/aks-as-mgmt.sh || { echo "Failed to create AKS bootstrap cluster" >&2; exit 1; }; \ else \ KIND_CLUSTER_NAME=capz-e2e ./scripts/kind-with-registry.sh || { echo "Failed to create KIND bootstrap cluster" >&2; exit 1; }; \ diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Tiltfile b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Tiltfile index 90ee949974e..4d2681ac611 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Tiltfile +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/Tiltfile @@ -22,9 +22,9 @@ settings = { "deploy_cert_manager": True, "preload_images_for_kind": True, "kind_cluster_name": "capz", - "capi_version": "v1.10.7", + "capi_version": "v1.10.4", "caaph_version": "v0.3.2", - "cert_manager_version": "v1.19.1", + "cert_manager_version": "v1.18.1", "kubernetes_version": "v1.32.2", "aks_kubernetes_version": "v1.30.2", "flatcar_version": "3374.2.1", @@ -469,15 +469,6 @@ def deploy_worker_templates(template, substitutions): echo "API Server of ${CLUSTER_NAME} is accessible"; ''' - # copy the kubeadm configmap to the calico-system namespace. - # This is a workaround needed for the calico-node-windows daemonset to be able to run in the calico-system namespace. - if "windows" in flavor_name: - flavor_cmd += """ - until """ + kubectl_cmd + """ --kubeconfig ./${CLUSTER_NAME}.kubeconfig get configmap kubeadm-config --namespace=kube-system > /dev/null 2>&1; do sleep 5; done; - """ + kubectl_cmd + """ --kubeconfig ./${CLUSTER_NAME}.kubeconfig create namespace calico-system --dry-run=client -o yaml | """ + kubectl_cmd + """ --kubeconfig ./${CLUSTER_NAME}.kubeconfig apply -f -; - """ + kubectl_cmd + """ --kubeconfig ./${CLUSTER_NAME}.kubeconfig get configmap kubeadm-config --namespace=kube-system -o yaml | sed 's/namespace: kube-system/namespace: calico-system/' | """ + kubectl_cmd + """ --kubeconfig ./${CLUSTER_NAME}.kubeconfig apply -f -; - """ - if "aks_as_mgmt_settings" in settings and needs_vnet_peering(flavor_name): flavor_cmd += create_private_dns_zone() diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/types.go b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/types.go index ba3a74680b1..3423976cbdd 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/types.go +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/types.go @@ -259,6 +259,10 @@ type NatGateway struct { // +optional NatGatewayIP PublicIPSpec `json:"ip,omitempty"` + // Zones mentions the list of zones the NAT gateway should be a part of. + // +optional + Zones []string `json:"zones,omitempty"` + NatGatewayClassSpec `json:",inline"` } diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/zz_generated.deepcopy.go b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/zz_generated.deepcopy.go index 036180f4bed..71792a2ce24 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/zz_generated.deepcopy.go +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/api/v1beta1/zz_generated.deepcopy.go @@ -3690,6 +3690,11 @@ func (in *ManagedMachinePoolScaling) DeepCopy() *ManagedMachinePoolScaling { func (in *NatGateway) DeepCopyInto(out *NatGateway) { *out = *in in.NatGatewayIP.DeepCopyInto(&out.NatGatewayIP) + if in.Zones != nil { + in, out := &in.Zones, &out.Zones + *out = make([]string, len(*in)) + copy(*out, *in) + } out.NatGatewayClassSpec = in.NatGatewayClassSpec } diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/scope/cluster.go b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/scope/cluster.go index b30f1b501a7..c9760b5ad7e 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/scope/cluster.go +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/scope/cluster.go @@ -409,6 +409,7 @@ func (s *ClusterScope) NatGatewaySpecs() []azure.ASOResourceSpecGetter[*asonetwo SubscriptionID: s.SubscriptionID(), Location: s.Location(), ClusterName: s.ClusterName(), + Zones: subnet.NatGateway.Zones, NatGatewayIP: infrav1.PublicIPSpec{ Name: subnet.NatGateway.NatGatewayIP.Name, }, diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/natgateways/spec.go b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/natgateways/spec.go index 31c09236476..fe6aae9a1e2 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/natgateways/spec.go +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/natgateways/spec.go @@ -36,6 +36,7 @@ type NatGatewaySpec struct { Location string NatGatewayIP infrav1.PublicIPSpec ClusterName string + Zones []string AdditionalTags infrav1.Tags IsVnetManaged bool } @@ -79,7 +80,7 @@ func (s *NatGatewaySpec) Parameters(_ context.Context, existingNatGateway *asone Name: ptr.To(s.Name), Additional: s.AdditionalTags, }) - + natGateway.Spec.Zones = s.Zones return natGateway, nil } diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/virtualmachines/virtualmachines.go b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/virtualmachines/virtualmachines.go index fea3ae256d5..dcf2633f40d 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/virtualmachines/virtualmachines.go +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/azure/services/virtualmachines/virtualmachines.go @@ -171,7 +171,7 @@ func (s *Service) checkUserAssignedIdentities(specIdentities []infrav1.UserAssig // Check if the expected identities are present in the vm. for _, expectedIdentity := range specIdentities { - _, exists := actualMap[strings.TrimPrefix(expectedIdentity.ProviderID, azureutil.ProviderIDPrefix)] + _, exists := actualMap[expectedIdentity.ProviderID] if !exists { s.Scope.SetConditionFalse(infrav1.VMIdentitiesReadyCondition, infrav1.UserAssignedIdentityMissingReason, clusterv1.ConditionSeverityWarning, vmMissingUAI+expectedIdentity.ProviderID) return diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/e2e.mk b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/e2e.mk index c7590a1ad6f..df5719066f2 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/e2e.mk +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/e2e.mk @@ -20,6 +20,10 @@ test-e2e-run: generate-e2e-templates install-tools create-bootstrap ## Run e2e t -e2e.skip-resource-cleanup=$(SKIP_CLEANUP) -e2e.use-existing-cluster=$(SKIP_CREATE_MGMT_CLUSTER) $(E2E_ARGS) \ $(MAKE) cleanup-workload-identity $(MAKE) clean-release-git + if [ "$(MGMT_CLUSTER_TYPE)" == "aks" ] && [ "$(SKIP_CLEANUP)" != "true" ]; then \ + echo "Cleaning up AKS management cluster..."; \ + $(MAKE) aks-delete; \ + fi .PHONY: test-e2e test-e2e: ## Run "docker-build" and "docker-push" rules then run e2e tests. diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/metadata.yaml b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/metadata.yaml index 66a8f630819..03c1a05fbc6 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/metadata.yaml +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/metadata.yaml @@ -4,6 +4,7 @@ # # update this file only when a new major or minor version is released apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3 +kind: Metadata releaseSeries: - major: 0 minor: 3 diff --git a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/netlify.toml b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/netlify.toml index b1052ae9a8e..4bfcd4b11c4 100644 --- a/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/netlify.toml +++ b/cluster-api/providers/azure/vendor/sigs.k8s.io/cluster-api-provider-azure/netlify.toml @@ -4,7 +4,7 @@ publish = "docs/book/bookout" [build.environment] - GO_VERSION = "1.22.x" + GO_VERSION = "1.24.x" # Standard Netlify redirects [[redirects]] diff --git a/data/data/cluster-api/azure-infrastructure-components.yaml b/data/data/cluster-api/azure-infrastructure-components.yaml index f5fb0beeb35..0414fb24881 100644 --- a/data/data/cluster-api/azure-infrastructure-components.yaml +++ b/data/data/cluster-api/azure-infrastructure-components.yaml @@ -1551,6 +1551,12 @@ spec: type: object name: type: string + zones: + description: Zones mentions the list of zones the + NAT gateway should be a part of. + items: + type: string + type: array required: - name type: object @@ -2339,6 +2345,12 @@ spec: type: object name: type: string + zones: + description: Zones mentions the list of zones the NAT + gateway should be a part of. + items: + type: string + type: array required: - name type: object @@ -2948,6 +2960,12 @@ spec: properties: name: type: string + zones: + description: Zones mentions the list of zones + the NAT gateway should be a part of. + items: + type: string + type: array required: - name type: object @@ -3467,6 +3485,12 @@ spec: properties: name: type: string + zones: + description: Zones mentions the list of zones + the NAT gateway should be a part of. + items: + type: string + type: array required: - name type: object diff --git a/data/data/cluster-api/azureaso-infrastructure-components.yaml b/data/data/cluster-api/azureaso-infrastructure-components.yaml index 5488cc73237..1c7848e302d 100644 --- a/data/data/cluster-api/azureaso-infrastructure-components.yaml +++ b/data/data/cluster-api/azureaso-infrastructure-components.yaml @@ -1,16657 +1,67133 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: azureserviceoperator-system ---- -apiVersion: v1 -kind: ServiceAccount +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - name: azureserviceoperator-default - namespace: azureserviceoperator-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: azureserviceoperator-leader-election-role - namespace: azureserviceoperator-system -rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete - - apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch - - apiGroups: - - "" - resources: - - events - verbs: - - create - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: azureserviceoperator-crd-manager-role -rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: azureserviceoperator-crd-reader-role -rules: - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: azureserviceoperator-manager-role -rules: - - apiGroups: - - "" - resources: - - configmaps - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - events - verbs: - - create - - get - - list - - patch - - update - - watch - - apiGroups: - - alertsmanagement.azure.com - resources: - - prometheusrulegroups - - smartdetectoralertrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - alertsmanagement.azure.com - resources: - - prometheusrulegroups/finalizers - - prometheusrulegroups/status - - smartdetectoralertrules/finalizers - - smartdetectoralertrules/status - verbs: - - get - - patch - - update - - apiGroups: - - apimanagement.azure.com - resources: - - apis - - apiversionsets - - authorizationproviders - - authorizationprovidersauthorizations - - authorizationprovidersauthorizationsaccesspolicies - - backends - - namedvalues - - policies - - policyfragments - - productapis - - productpolicies - - products - - services - - subscriptions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - apimanagement.azure.com - resources: - - apis/finalizers - - apis/status - - apiversionsets/finalizers - - apiversionsets/status - - authorizationproviders/finalizers - - authorizationproviders/status - - authorizationprovidersauthorizations/finalizers - - authorizationprovidersauthorizations/status - - authorizationprovidersauthorizationsaccesspolicies/finalizers - - authorizationprovidersauthorizationsaccesspolicies/status - - backends/finalizers - - backends/status - - namedvalues/finalizers - - namedvalues/status - - policies/finalizers - - policies/status - - policyfragments/finalizers - - policyfragments/status - - productapis/finalizers - - productapis/status - - productpolicies/finalizers - - productpolicies/status - - products/finalizers - - products/status - - services/finalizers - - services/status - - subscriptions/finalizers - - subscriptions/status - verbs: - - get - - patch - - update - - apiGroups: - - appconfiguration.azure.com - resources: - - configurationstores - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - appconfiguration.azure.com - resources: - - configurationstores/finalizers - - configurationstores/status - verbs: - - get - - patch - - update - - apiGroups: - - authorization.azure.com - resources: - - roleassignments - - roledefinitions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - authorization.azure.com - resources: - - roleassignments/finalizers - - roleassignments/status - - roledefinitions/finalizers - - roledefinitions/status - verbs: - - get - - patch - - update - - apiGroups: - - batch.azure.com - resources: - - batchaccounts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - batch.azure.com - resources: - - batchaccounts/finalizers - - batchaccounts/status - verbs: - - get - - patch - - update - - apiGroups: - - cache.azure.com - resources: - - redis - - redisenterprisedatabases - - redisenterprises - - redisfirewallrules - - redislinkedservers - - redispatchschedules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cache.azure.com - resources: - - redis/finalizers - - redis/status - - redisenterprisedatabases/finalizers - - redisenterprisedatabases/status - - redisenterprises/finalizers - - redisenterprises/status - - redisfirewallrules/finalizers - - redisfirewallrules/status - - redislinkedservers/finalizers - - redislinkedservers/status - - redispatchschedules/finalizers - - redispatchschedules/status - verbs: - - get - - patch - - update - - apiGroups: - - cdn.azure.com - resources: - - afdcustomdomains - - afdendpoints - - afdorigingroups - - afdorigins - - profiles - - profilesendpoints - - routes - - rules - - rulesets - - secrets - - securitypolicies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - cdn.azure.com - resources: - - afdcustomdomains/finalizers - - afdcustomdomains/status - - afdendpoints/finalizers - - afdendpoints/status - - afdorigingroups/finalizers - - afdorigingroups/status - - afdorigins/finalizers - - afdorigins/status - - profiles/finalizers - - profiles/status - - profilesendpoints/finalizers - - profilesendpoints/status - - routes/finalizers - - routes/status - - rules/finalizers - - rules/status - - rulesets/finalizers - - rulesets/status - - secrets/finalizers - - secrets/status - - securitypolicies/finalizers - - securitypolicies/status - verbs: - - get - - patch - - update - - apiGroups: - - compute.azure.com - resources: - - diskaccesses - - diskencryptionsets - - disks - - images - - snapshots - - virtualmachines - - virtualmachinescalesets - - virtualmachinescalesetsextensions - - virtualmachinesextensions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - compute.azure.com - resources: - - diskaccesses/finalizers - - diskaccesses/status - - diskencryptionsets/finalizers - - diskencryptionsets/status - - disks/finalizers - - disks/status - - images/finalizers - - images/status - - snapshots/finalizers - - snapshots/status - - virtualmachines/finalizers - - virtualmachines/status - - virtualmachinescalesets/finalizers - - virtualmachinescalesets/status - - virtualmachinescalesetsextensions/finalizers - - virtualmachinescalesetsextensions/status - - virtualmachinesextensions/finalizers - - virtualmachinesextensions/status - verbs: - - get - - patch - - update - - apiGroups: - - containerinstance.azure.com - resources: - - containergroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - containerinstance.azure.com - resources: - - containergroups/finalizers - - containergroups/status - verbs: - - get - - patch - - update - - apiGroups: - - containerregistry.azure.com - resources: - - registries - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - containerregistry.azure.com - resources: - - registries/finalizers - - registries/status - verbs: - - get - - patch - - update - - apiGroups: - - containerservice.azure.com - resources: - - fleets - - fleetsmembers - - fleetsupdateruns - - maintenanceconfigurations - - managedclusters - - managedclustersagentpools - - trustedaccessrolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - containerservice.azure.com - resources: - - fleets/finalizers - - fleets/status - - fleetsmembers/finalizers - - fleetsmembers/status - - fleetsupdateruns/finalizers - - fleetsupdateruns/status - - maintenanceconfigurations/finalizers - - maintenanceconfigurations/status - - managedclusters/finalizers - - managedclusters/status - - managedclustersagentpools/finalizers - - managedclustersagentpools/status - - trustedaccessrolebindings/finalizers - - trustedaccessrolebindings/status - verbs: - - get - - patch - - update - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - datafactory.azure.com - resources: - - factories - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - datafactory.azure.com - resources: - - factories/finalizers - - factories/status - verbs: - - get - - patch - - update - - apiGroups: - - dataprotection.azure.com - resources: - - backupvaults - - backupvaultsbackupinstances - - backupvaultsbackuppolicies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - dataprotection.azure.com - resources: - - backupvaults/finalizers - - backupvaults/status - - backupvaultsbackupinstances/finalizers - - backupvaultsbackupinstances/status - - backupvaultsbackuppolicies/finalizers - - backupvaultsbackuppolicies/status - verbs: - - get - - patch - - update - - apiGroups: - - dbformariadb.azure.com - resources: - - configurations - - databases - - servers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - dbformariadb.azure.com - resources: - - configurations/finalizers - - configurations/status - - databases/finalizers - - databases/status - - servers/finalizers - - servers/status - verbs: - - get - - patch - - update - - apiGroups: - - dbformysql.azure.com - resources: - - flexibleservers - - flexibleserversadministrators - - flexibleserversconfigurations - - flexibleserversdatabases - - flexibleserversfirewallrules - - users - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - dbformysql.azure.com - resources: - - flexibleservers/finalizers - - flexibleservers/status - - flexibleserversadministrators/finalizers - - flexibleserversadministrators/status - - flexibleserversconfigurations/finalizers - - flexibleserversconfigurations/status - - flexibleserversdatabases/finalizers - - flexibleserversdatabases/status - - flexibleserversfirewallrules/finalizers - - flexibleserversfirewallrules/status - - users/finalizers - - users/status - verbs: - - get - - patch - - update - - apiGroups: - - dbforpostgresql.azure.com - resources: - - flexibleservers - - flexibleserversconfigurations - - flexibleserversdatabases - - flexibleserversfirewallrules - - users - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - dbforpostgresql.azure.com - resources: - - flexibleservers/finalizers - - flexibleservers/status - - flexibleserversconfigurations/finalizers - - flexibleserversconfigurations/status - - flexibleserversdatabases/finalizers - - flexibleserversdatabases/status - - flexibleserversfirewallrules/finalizers - - flexibleserversfirewallrules/status - - users/finalizers - - users/status - verbs: - - get - - patch - - update - - apiGroups: - - devices.azure.com - resources: - - iothubs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - devices.azure.com - resources: - - iothubs/finalizers - - iothubs/status - verbs: - - get - - patch - - update - - apiGroups: - - documentdb.azure.com - resources: - - databaseaccounts - - mongodbdatabasecollections - - mongodbdatabasecollectionthroughputsettings - - mongodbdatabases - - mongodbdatabasethroughputsettings - - sqldatabasecontainers - - sqldatabasecontainerstoredprocedures - - sqldatabasecontainerthroughputsettings - - sqldatabasecontainertriggers - - sqldatabasecontaineruserdefinedfunctions - - sqldatabases - - sqldatabasethroughputsettings - - sqlroleassignments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - documentdb.azure.com - resources: - - databaseaccounts/finalizers - - databaseaccounts/status - - mongodbdatabasecollections/finalizers - - mongodbdatabasecollections/status - - mongodbdatabasecollectionthroughputsettings/finalizers - - mongodbdatabasecollectionthroughputsettings/status - - mongodbdatabases/finalizers - - mongodbdatabases/status - - mongodbdatabasethroughputsettings/finalizers - - mongodbdatabasethroughputsettings/status - - sqldatabasecontainers/finalizers - - sqldatabasecontainers/status - - sqldatabasecontainerstoredprocedures/finalizers - - sqldatabasecontainerstoredprocedures/status - - sqldatabasecontainerthroughputsettings/finalizers - - sqldatabasecontainerthroughputsettings/status - - sqldatabasecontainertriggers/finalizers - - sqldatabasecontainertriggers/status - - sqldatabasecontaineruserdefinedfunctions/finalizers - - sqldatabasecontaineruserdefinedfunctions/status - - sqldatabases/finalizers - - sqldatabases/status - - sqldatabasethroughputsettings/finalizers - - sqldatabasethroughputsettings/status - - sqlroleassignments/finalizers - - sqlroleassignments/status - verbs: - - get - - patch - - update - - apiGroups: - - eventgrid.azure.com - resources: - - domains - - domainstopics - - eventsubscriptions - - topics - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - eventgrid.azure.com - resources: - - domains/finalizers - - domains/status - - domainstopics/finalizers - - domainstopics/status - - eventsubscriptions/finalizers - - eventsubscriptions/status - - topics/finalizers - - topics/status - verbs: - - get - - patch - - update - - apiGroups: - - eventhub.azure.com - resources: - - namespaces - - namespacesauthorizationrules - - namespaceseventhubs - - namespaceseventhubsauthorizationrules - - namespaceseventhubsconsumergroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - eventhub.azure.com - resources: - - namespaces/finalizers - - namespaces/status - - namespacesauthorizationrules/finalizers - - namespacesauthorizationrules/status - - namespaceseventhubs/finalizers - - namespaceseventhubs/status - - namespaceseventhubsauthorizationrules/finalizers - - namespaceseventhubsauthorizationrules/status - - namespaceseventhubsconsumergroups/finalizers - - namespaceseventhubsconsumergroups/status - verbs: - - get - - patch - - update - - apiGroups: - - insights.azure.com - resources: - - actiongroups - - autoscalesettings - - components - - diagnosticsettings - - metricalerts - - scheduledqueryrules - - webtests - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - insights.azure.com - resources: - - actiongroups/finalizers - - actiongroups/status - - autoscalesettings/finalizers - - autoscalesettings/status - - components/finalizers - - components/status - - diagnosticsettings/finalizers - - diagnosticsettings/status - - metricalerts/finalizers - - metricalerts/status - - scheduledqueryrules/finalizers - - scheduledqueryrules/status - - webtests/finalizers - - webtests/status - verbs: - - get - - patch - - update - - apiGroups: - - keyvault.azure.com - resources: - - vaults - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - keyvault.azure.com - resources: - - vaults/finalizers - - vaults/status - verbs: - - get - - patch - - update - - apiGroups: - - kubernetesconfiguration.azure.com - resources: - - extensions - - fluxconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - kubernetesconfiguration.azure.com - resources: - - extensions/finalizers - - extensions/status - - fluxconfigurations/finalizers - - fluxconfigurations/status - verbs: - - get - - patch - - update - - apiGroups: - - machinelearningservices.azure.com - resources: - - registries - - workspaces - - workspacescomputes - - workspacesconnections - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - machinelearningservices.azure.com - resources: - - registries/finalizers - - registries/status - - workspaces/finalizers - - workspaces/status - - workspacescomputes/finalizers - - workspacescomputes/status - - workspacesconnections/finalizers - - workspacesconnections/status - verbs: - - get - - patch - - update - - apiGroups: - - managedidentity.azure.com - resources: - - federatedidentitycredentials - - userassignedidentities - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - managedidentity.azure.com - resources: - - federatedidentitycredentials/finalizers - - federatedidentitycredentials/status - - userassignedidentities/finalizers - - userassignedidentities/status - verbs: - - get - - patch - - update - - apiGroups: - - monitor.azure.com - resources: - - accounts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - monitor.azure.com - resources: - - accounts/finalizers - - accounts/status - verbs: - - get - - patch - - update - - apiGroups: - - network.azure.com - resources: - - applicationgateways - - applicationsecuritygroups - - bastionhosts - - dnsforwardingrulesets - - dnsforwardingrulesetsforwardingrules - - dnsforwardingrulesetsvirtualnetworklinks - - dnsresolvers - - dnsresolversinboundendpoints - - dnsresolversoutboundendpoints - - dnszones - - dnszonesaaaarecords - - dnszonesarecords - - dnszonescaarecords - - dnszonescnamerecords - - dnszonesmxrecords - - dnszonesnsrecords - - dnszonesptrrecords - - dnszonessrvrecords - - dnszonestxtrecords - - loadbalancers - - loadbalancersinboundnatrules - - natgateways - - networkinterfaces - - networksecuritygroups - - networksecuritygroupssecurityrules - - privatednszones - - privatednszonesaaaarecords - - privatednszonesarecords - - privatednszonescnamerecords - - privatednszonesmxrecords - - privatednszonesptrrecords - - privatednszonessrvrecords - - privatednszonestxtrecords - - privatednszonesvirtualnetworklinks - - privateendpoints - - privateendpointsprivatednszonegroups - - privatelinkservices - - publicipaddresses - - publicipprefixes - - routetables - - routetablesroutes - - trafficmanagerprofiles - - trafficmanagerprofilesazureendpoints - - trafficmanagerprofilesexternalendpoints - - trafficmanagerprofilesnestedendpoints - - virtualnetworkgateways - - virtualnetworks - - virtualnetworkssubnets - - virtualnetworksvirtualnetworkpeerings - - webapplicationfirewallpolicies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - network.azure.com - resources: - - applicationgateways/finalizers - - applicationgateways/status - - applicationsecuritygroups/finalizers - - applicationsecuritygroups/status - - bastionhosts/finalizers - - bastionhosts/status - - dnsforwardingrulesets/finalizers - - dnsforwardingrulesets/status - - dnsforwardingrulesetsforwardingrules/finalizers - - dnsforwardingrulesetsforwardingrules/status - - dnsforwardingrulesetsvirtualnetworklinks/finalizers - - dnsforwardingrulesetsvirtualnetworklinks/status - - dnsresolvers/finalizers - - dnsresolvers/status - - dnsresolversinboundendpoints/finalizers - - dnsresolversinboundendpoints/status - - dnsresolversoutboundendpoints/finalizers - - dnsresolversoutboundendpoints/status - - dnszones/finalizers - - dnszones/status - - dnszonesaaaarecords/finalizers - - dnszonesaaaarecords/status - - dnszonesarecords/finalizers - - dnszonesarecords/status - - dnszonescaarecords/finalizers - - dnszonescaarecords/status - - dnszonescnamerecords/finalizers - - dnszonescnamerecords/status - - dnszonesmxrecords/finalizers - - dnszonesmxrecords/status - - dnszonesnsrecords/finalizers - - dnszonesnsrecords/status - - dnszonesptrrecords/finalizers - - dnszonesptrrecords/status - - dnszonessrvrecords/finalizers - - dnszonessrvrecords/status - - dnszonestxtrecords/finalizers - - dnszonestxtrecords/status - - loadbalancers/finalizers - - loadbalancers/status - - loadbalancersinboundnatrules/finalizers - - loadbalancersinboundnatrules/status - - natgateways/finalizers - - natgateways/status - - networkinterfaces/finalizers - - networkinterfaces/status - - networksecuritygroups/finalizers - - networksecuritygroups/status - - networksecuritygroupssecurityrules/finalizers - - networksecuritygroupssecurityrules/status - - privatednszones/finalizers - - privatednszones/status - - privatednszonesaaaarecords/finalizers - - privatednszonesaaaarecords/status - - privatednszonesarecords/finalizers - - privatednszonesarecords/status - - privatednszonescnamerecords/finalizers - - privatednszonescnamerecords/status - - privatednszonesmxrecords/finalizers - - privatednszonesmxrecords/status - - privatednszonesptrrecords/finalizers - - privatednszonesptrrecords/status - - privatednszonessrvrecords/finalizers - - privatednszonessrvrecords/status - - privatednszonestxtrecords/finalizers - - privatednszonestxtrecords/status - - privatednszonesvirtualnetworklinks/finalizers - - privatednszonesvirtualnetworklinks/status - - privateendpoints/finalizers - - privateendpoints/status - - privateendpointsprivatednszonegroups/finalizers - - privateendpointsprivatednszonegroups/status - - privatelinkservices/finalizers - - privatelinkservices/status - - publicipaddresses/finalizers - - publicipaddresses/status - - publicipprefixes/finalizers - - publicipprefixes/status - - routetables/finalizers - - routetables/status - - routetablesroutes/finalizers - - routetablesroutes/status - - trafficmanagerprofiles/finalizers - - trafficmanagerprofiles/status - - trafficmanagerprofilesazureendpoints/finalizers - - trafficmanagerprofilesazureendpoints/status - - trafficmanagerprofilesexternalendpoints/finalizers - - trafficmanagerprofilesexternalendpoints/status - - trafficmanagerprofilesnestedendpoints/finalizers - - trafficmanagerprofilesnestedendpoints/status - - virtualnetworkgateways/finalizers - - virtualnetworkgateways/status - - virtualnetworks/finalizers - - virtualnetworks/status - - virtualnetworkssubnets/finalizers - - virtualnetworkssubnets/status - - virtualnetworksvirtualnetworkpeerings/finalizers - - virtualnetworksvirtualnetworkpeerings/status - - webapplicationfirewallpolicies/finalizers - - webapplicationfirewallpolicies/status - verbs: - - get - - patch - - update - - apiGroups: - - network.frontdoor.azure.com - resources: - - webapplicationfirewallpolicies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - network.frontdoor.azure.com - resources: - - webapplicationfirewallpolicies/finalizers - - webapplicationfirewallpolicies/status - verbs: - - get - - patch - - update - - apiGroups: - - operationalinsights.azure.com - resources: - - workspaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - operationalinsights.azure.com - resources: - - workspaces/finalizers - - workspaces/status - verbs: - - get - - patch - - update - - apiGroups: - - redhatopenshift.azure.com - resources: - - openshiftclusters - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - redhatopenshift.azure.com - resources: - - openshiftclusters/finalizers - - openshiftclusters/status - verbs: - - get - - patch - - update - - apiGroups: - - resources.azure.com - resources: - - resourcegroups - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - resources.azure.com - resources: - - resourcegroups/finalizers - - resourcegroups/status - verbs: - - get - - patch - - update - - apiGroups: - - search.azure.com - resources: - - searchservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - search.azure.com - resources: - - searchservices/finalizers - - searchservices/status - verbs: - - get - - patch - - update - - apiGroups: - - servicebus.azure.com - resources: - - namespaces - - namespacesauthorizationrules - - namespacesqueues - - namespacestopics - - namespacestopicssubscriptions - - namespacestopicssubscriptionsrules - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - servicebus.azure.com - resources: - - namespaces/finalizers - - namespaces/status - - namespacesauthorizationrules/finalizers - - namespacesauthorizationrules/status - - namespacesqueues/finalizers - - namespacesqueues/status - - namespacestopics/finalizers - - namespacestopics/status - - namespacestopicssubscriptions/finalizers - - namespacestopicssubscriptions/status - - namespacestopicssubscriptionsrules/finalizers - - namespacestopicssubscriptionsrules/status - verbs: - - get - - patch - - update - - apiGroups: - - signalrservice.azure.com - resources: - - signalrs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - signalrservice.azure.com - resources: - - signalrs/finalizers - - signalrs/status - verbs: - - get - - patch - - update - - apiGroups: - - sql.azure.com - resources: - - servers - - serversadministrators - - serversadvancedthreatprotectionsettings - - serversauditingsettings - - serversazureadonlyauthentications - - serversconnectionpolicies - - serversdatabases - - serversdatabasesadvancedthreatprotectionsettings - - serversdatabasesauditingsettings - - serversdatabasesbackuplongtermretentionpolicies - - serversdatabasesbackupshorttermretentionpolicies - - serversdatabasessecurityalertpolicies - - serversdatabasestransparentdataencryptions - - serversdatabasesvulnerabilityassessments - - serverselasticpools - - serversfailovergroups - - serversfirewallrules - - serversipv6firewallrules - - serversoutboundfirewallrules - - serverssecurityalertpolicies - - serversvirtualnetworkrules - - serversvulnerabilityassessments - - users - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - sql.azure.com - resources: - - servers/finalizers - - servers/status - - serversadministrators/finalizers - - serversadministrators/status - - serversadvancedthreatprotectionsettings/finalizers - - serversadvancedthreatprotectionsettings/status - - serversauditingsettings/finalizers - - serversauditingsettings/status - - serversazureadonlyauthentications/finalizers - - serversazureadonlyauthentications/status - - serversconnectionpolicies/finalizers - - serversconnectionpolicies/status - - serversdatabases/finalizers - - serversdatabases/status - - serversdatabasesadvancedthreatprotectionsettings/finalizers - - serversdatabasesadvancedthreatprotectionsettings/status - - serversdatabasesauditingsettings/finalizers - - serversdatabasesauditingsettings/status - - serversdatabasesbackuplongtermretentionpolicies/finalizers - - serversdatabasesbackuplongtermretentionpolicies/status - - serversdatabasesbackupshorttermretentionpolicies/finalizers - - serversdatabasesbackupshorttermretentionpolicies/status - - serversdatabasessecurityalertpolicies/finalizers - - serversdatabasessecurityalertpolicies/status - - serversdatabasestransparentdataencryptions/finalizers - - serversdatabasestransparentdataencryptions/status - - serversdatabasesvulnerabilityassessments/finalizers - - serversdatabasesvulnerabilityassessments/status - - serverselasticpools/finalizers - - serverselasticpools/status - - serversfailovergroups/finalizers - - serversfailovergroups/status - - serversfirewallrules/finalizers - - serversfirewallrules/status - - serversipv6firewallrules/finalizers - - serversipv6firewallrules/status - - serversoutboundfirewallrules/finalizers - - serversoutboundfirewallrules/status - - serverssecurityalertpolicies/finalizers - - serverssecurityalertpolicies/status - - serversvirtualnetworkrules/finalizers - - serversvirtualnetworkrules/status - - serversvulnerabilityassessments/finalizers - - serversvulnerabilityassessments/status - - users/finalizers - - users/status - verbs: - - get - - patch - - update - - apiGroups: - - storage.azure.com - resources: - - storageaccounts - - storageaccountsblobservices - - storageaccountsblobservicescontainers - - storageaccountsfileservices - - storageaccountsfileservicesshares - - storageaccountsmanagementpolicies - - storageaccountsqueueservices - - storageaccountsqueueservicesqueues - - storageaccountstableservices - - storageaccountstableservicestables - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - storage.azure.com - resources: - - storageaccounts/finalizers - - storageaccounts/status - - storageaccountsblobservices/finalizers - - storageaccountsblobservices/status - - storageaccountsblobservicescontainers/finalizers - - storageaccountsblobservicescontainers/status - - storageaccountsfileservices/finalizers - - storageaccountsfileservices/status - - storageaccountsfileservicesshares/finalizers - - storageaccountsfileservicesshares/status - - storageaccountsmanagementpolicies/finalizers - - storageaccountsmanagementpolicies/status - - storageaccountsqueueservices/finalizers - - storageaccountsqueueservices/status - - storageaccountsqueueservicesqueues/finalizers - - storageaccountsqueueservicesqueues/status - - storageaccountstableservices/finalizers - - storageaccountstableservices/status - - storageaccountstableservicestables/finalizers - - storageaccountstableservicestables/status - verbs: - - get - - patch - - update - - apiGroups: - - subscription.azure.com - resources: - - aliases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - subscription.azure.com - resources: - - aliases/finalizers - - aliases/status - verbs: - - get - - patch - - update - - apiGroups: - - synapse.azure.com - resources: - - workspaces - - workspacesbigdatapools - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - synapse.azure.com - resources: - - workspaces/finalizers - - workspaces/status - - workspacesbigdatapools/finalizers - - workspacesbigdatapools/status - verbs: - - get - - patch - - update - - apiGroups: - - web.azure.com - resources: - - serverfarms - - sites - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - web.azure.com - resources: - - serverfarms/finalizers - - serverfarms/status - - sites/finalizers - - sites/status - verbs: - - get - - patch - - update ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: azureserviceoperator-leader-election-rolebinding - namespace: azureserviceoperator-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: azureserviceoperator-leader-election-role -subjects: - - kind: ServiceAccount - name: azureserviceoperator-default - namespace: azureserviceoperator-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: azureserviceoperator-crd-manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: azureserviceoperator-crd-manager-role -subjects: - - kind: ServiceAccount - name: azureserviceoperator-default - namespace: azureserviceoperator-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: azureserviceoperator-crd-reader-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: azureserviceoperator-crd-reader-role -subjects: - - kind: ServiceAccount - name: azureserviceoperator-default - namespace: azureserviceoperator-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: azureserviceoperator-manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: azureserviceoperator-manager-role -subjects: - - kind: ServiceAccount - name: azureserviceoperator-default - namespace: azureserviceoperator-system ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - control-plane: controller-manager - name: azureserviceoperator-controller-manager-metrics-service - namespace: azureserviceoperator-system -spec: - ports: - - name: metrics - port: 8443 - selector: - control-plane: controller-manager ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system -spec: - ports: - - port: 443 - targetPort: 9443 - selector: - control-plane: controller-manager ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - control-plane: controller-manager - name: azureserviceoperator-controller-manager - namespace: azureserviceoperator-system -spec: - replicas: 1 - revisionHistoryLimit: 10 - selector: - matchLabels: - control-plane: controller-manager - template: - metadata: - annotations: - kubectl.kubernetes.io/default-container: manager - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - control-plane: controller-manager - spec: - containers: - - args: - - --metrics-addr=0.0.0.0:8443 - - --secure-metrics=true - - --profiling-metrics=false - - --health-addr=:8081 - - --enable-leader-election - - --v=2 - - --crd-pattern= - - --webhook-port=9443 - - --webhook-cert-dir=/tmp/k8s-webhook-server/serving-certs - env: - - name: AZURE_CLIENT_ID - valueFrom: - secretKeyRef: - key: AZURE_CLIENT_ID - name: aso-controller-settings - - name: AZURE_CLIENT_SECRET - valueFrom: - secretKeyRef: - key: AZURE_CLIENT_SECRET - name: aso-controller-settings - optional: true - - name: AZURE_TENANT_ID - valueFrom: - secretKeyRef: - key: AZURE_TENANT_ID - name: aso-controller-settings - - name: AZURE_SUBSCRIPTION_ID - valueFrom: - secretKeyRef: - key: AZURE_SUBSCRIPTION_ID - name: aso-controller-settings - - name: AZURE_CLIENT_CERTIFICATE - valueFrom: - secretKeyRef: - key: AZURE_CLIENT_CERTIFICATE - name: aso-controller-settings - optional: true - - name: AZURE_CLIENT_CERTIFICATE_PASSWORD - valueFrom: - secretKeyRef: - key: AZURE_CLIENT_CERTIFICATE_PASSWORD - name: aso-controller-settings - optional: true - - name: AZURE_AUTHORITY_HOST - valueFrom: - secretKeyRef: - key: AZURE_AUTHORITY_HOST - name: aso-controller-settings - optional: true - - name: AZURE_RESOURCE_MANAGER_ENDPOINT - valueFrom: - secretKeyRef: - key: AZURE_RESOURCE_MANAGER_ENDPOINT - name: aso-controller-settings - optional: true - - name: AZURE_RESOURCE_MANAGER_AUDIENCE - valueFrom: - secretKeyRef: - key: AZURE_RESOURCE_MANAGER_AUDIENCE - name: aso-controller-settings - optional: true - - name: AZURE_TARGET_NAMESPACES - valueFrom: - secretKeyRef: - key: AZURE_TARGET_NAMESPACES - name: aso-controller-settings - optional: true - - name: AZURE_OPERATOR_MODE - valueFrom: - secretKeyRef: - key: AZURE_OPERATOR_MODE - name: aso-controller-settings - optional: true - - name: AZURE_SYNC_PERIOD - valueFrom: - secretKeyRef: - key: AZURE_SYNC_PERIOD - name: aso-controller-settings - optional: true - - name: USE_WORKLOAD_IDENTITY_AUTH - valueFrom: - secretKeyRef: - key: USE_WORKLOAD_IDENTITY_AUTH - name: aso-controller-settings - optional: true - - name: AZURE_USER_AGENT_SUFFIX - valueFrom: - secretKeyRef: - key: AZURE_USER_AGENT_SUFFIX - name: aso-controller-settings - optional: true - - name: MAX_CONCURRENT_RECONCILES - valueFrom: - secretKeyRef: - key: MAX_CONCURRENT_RECONCILES - name: aso-controller-settings - optional: true - - name: RATE_LIMIT_MODE - valueFrom: - secretKeyRef: - key: RATE_LIMIT_MODE - name: aso-controller-settings - optional: true - - name: RATE_LIMIT_QPS - valueFrom: - secretKeyRef: - key: RATE_LIMIT_QPS - name: aso-controller-settings - optional: true - - name: RATE_LIMIT_BUCKET_SIZE - valueFrom: - secretKeyRef: - key: RATE_LIMIT_BUCKET_SIZE - name: aso-controller-settings - optional: true - - name: POD_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - image: mcr.microsoft.com/k8s/azureserviceoperator:v2.11.0 - imagePullPolicy: Always - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 60 - name: manager - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - - containerPort: 8081 - name: health-port - protocol: TCP - - containerPort: 8443 - name: metrics-port - protocol: TCP - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 60 - resources: - limits: - cpu: 500m - memory: 512Mi - requests: - cpu: 200m - memory: 256Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsGroup: 65532 - runAsNonRoot: true - runAsUser: 65532 - volumeMounts: - - mountPath: /var/run/secrets/tokens - name: azure-identity - readOnly: true - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true - nodeSelector: - kubernetes.io/os: linux - serviceAccountName: azureserviceoperator-default - terminationGracePeriodSeconds: 10 - volumes: - - name: cert - secret: - defaultMode: 420 - secretName: webhook-server-cert - - name: azure-identity - projected: - defaultMode: 420 - sources: - - serviceAccountToken: - audience: api://AzureADTokenExchange - expirationSeconds: 3600 - path: azure-identity ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: azureserviceoperator-serving-cert - namespace: azureserviceoperator-system + app.kubernetes.io/version: v2.15.0 + name: accounts.cognitiveservices.azure.com spec: - dnsNames: - - azureserviceoperator-webhook-service.azureserviceoperator-system.svc - - azureserviceoperator-webhook-service.azureserviceoperator-system.svc.cluster.local - issuerRef: - kind: Issuer - name: azureserviceoperator-selfsigned-issuer - secretName: webhook-server-cert - subject: - organizations: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cognitiveservices.azure.com + names: + categories: - azure ---- -apiVersion: cert-manager.io/v1 -kind: Issuer -metadata: - name: azureserviceoperator-selfsigned-issuer - namespace: azureserviceoperator-system -spec: - selfSigned: {} ---- -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - name: azureserviceoperator-mutating-webhook-configuration -webhooks: - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com - rules: - - apiGroups: - - alertsmanagement.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - smartdetectoralertrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com - rules: - - apiGroups: - - alertsmanagement.azure.com - apiVersions: - - v1api20230301 - operations: - - CREATE - - UPDATE - resources: - - prometheusrulegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-api - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.apis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - apis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-apiversionset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.apiversionsets.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - apiversionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovider - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.authorizationproviders.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - authorizationproviders - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizationsaccesspolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-backend - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.backends.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - backends - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-namedvalue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.namedvalues.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - namedvalues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-policy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.policies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - policies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-policyfragment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.policyfragments.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - policyfragments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-productapi - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.productapis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - productapis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-productpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.productpolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - productpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-product - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.products.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - products - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-service - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.services.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - services - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20220801-subscription - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220801.subscriptions.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - subscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-api - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.apis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - apis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-apiversionset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.apiversionsets.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - apiversionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovider - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.authorizationproviders.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - authorizationproviders - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizationsaccesspolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-backend - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.backends.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - backends - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-namedvalue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.namedvalues.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - namedvalues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-policy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.policies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - policies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-policyfragment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.policyfragments.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - policyfragments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-productapi - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.productapis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - productapis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-productpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.productpolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - productpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-product - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.products.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - products - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-service - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.services.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - services - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-apimanagement-azure-com-v1api20230501preview-subscription - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501preview.subscriptions.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - subscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-appconfiguration-azure-com-v1api20220501-configurationstore - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220501.configurationstores.appconfiguration.azure.com - rules: - - apiGroups: - - appconfiguration.azure.com - apiVersions: - - v1api20220501 - operations: - - CREATE - - UPDATE - resources: - - configurationstores - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-authorization-azure-com-v1api20200801preview-roleassignment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200801preview.roleassignments.authorization.azure.com - rules: - - apiGroups: - - authorization.azure.com - apiVersions: - - v1api20200801preview - operations: - - CREATE - - UPDATE - resources: - - roleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-authorization-azure-com-v1api20220401-roleassignment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220401.roleassignments.authorization.azure.com - rules: - - apiGroups: - - authorization.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - roleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-authorization-azure-com-v1api20220401-roledefinition - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220401.roledefinitions.authorization.azure.com - rules: - - apiGroups: - - authorization.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - roledefinitions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-batch-azure-com-v1api20210101-batchaccount - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101.batchaccounts.batch.azure.com - rules: - - apiGroups: - - batch.azure.com - apiVersions: - - v1api20210101 - operations: - - CREATE - - UPDATE - resources: - - batchaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20201201-redis - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.redis.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20201201-redisfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.redisfirewallrules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redisfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20201201-redislinkedserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.redislinkedservers.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redislinkedservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20201201-redispatchschedule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.redispatchschedules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redispatchschedules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20210301-redisenterprisedatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210301.redisenterprisedatabases.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20210301 - operations: - - CREATE - - UPDATE - resources: - - redisenterprisedatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20210301-redisenterprise - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210301.redisenterprises.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20210301 - operations: - - CREATE - - UPDATE - resources: - - redisenterprises - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230401-redis - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230401.redis.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230401-redisfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230401.redisfirewallrules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redisfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230401-redislinkedserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230401.redislinkedservers.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redislinkedservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230401-redispatchschedule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230401.redispatchschedules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redispatchschedules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230701-redisenterprisedatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230701.redisenterprisedatabases.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230701 - operations: - - CREATE - - UPDATE - resources: - - redisenterprisedatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230701-redisenterprise - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230701.redisenterprises.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230701 - operations: - - CREATE - - UPDATE - resources: - - redisenterprises - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230801-redis - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230801.redis.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230801-redisfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230801.redisfirewallrules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redisfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230801-redislinkedserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230801.redislinkedservers.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redislinkedservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cache-azure-com-v1api20230801-redispatchschedule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230801.redispatchschedules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redispatchschedules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20210601-profile - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.profiles.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - profiles - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20210601-profilesendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.profilesendpoints.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - profilesendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-afdcustomdomain - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.afdcustomdomains.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdcustomdomains - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-afdendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.afdendpoints.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-afdorigingroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.afdorigingroups.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdorigingroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-afdorigin - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.afdorigins.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdorigins - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-profile - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.profiles.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - profiles - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-route - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.routes.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - routes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-rule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.rules.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - rules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-ruleset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.rulesets.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - rulesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-secret - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.secrets.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - secrets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-cdn-azure-com-v1api20230501-securitypolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.securitypolicies.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - securitypolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20200930-disk - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200930.disks.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20200930 - operations: - - CREATE - - UPDATE - resources: - - disks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20200930-snapshot - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200930.snapshots.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20200930 - operations: - - CREATE - - UPDATE - resources: - - snapshots - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20201201-virtualmachine - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.virtualmachines.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachines - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20201201-virtualmachinescaleset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.virtualmachinescalesets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesetsextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20201201-virtualmachinesextension - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201201.virtualmachinesextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinesextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20210701-image - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210701.images.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - images - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20220301-image - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.images.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - images - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20220301-virtualmachine - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.virtualmachines.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachines - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20220301-virtualmachinescaleset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.virtualmachinescalesets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesetsextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20220301-virtualmachinesextension - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.virtualmachinesextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinesextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20220702-diskencryptionset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220702.diskencryptionsets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220702 - operations: - - CREATE - - UPDATE - resources: - - diskencryptionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20240302-diskaccess - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240302.diskaccesses.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - diskaccesses - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20240302-diskencryptionset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240302.diskencryptionsets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - diskencryptionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20240302-disk - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240302.disks.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - disks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-compute-azure-com-v1api20240302-snapshot - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240302.snapshots.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - snapshots - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerinstance-azure-com-v1api20211001-containergroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211001.containergroups.containerinstance.azure.com - rules: - - apiGroups: - - containerinstance.azure.com - apiVersions: - - v1api20211001 - operations: - - CREATE - - UPDATE - resources: - - containergroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerregistry-azure-com-v1api20210901-registry - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210901.registries.containerregistry.azure.com - rules: - - apiGroups: - - containerregistry.azure.com - apiVersions: - - v1api20210901 - operations: - - CREATE - - UPDATE - resources: - - registries - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20210501-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210501.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20210501-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210501.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20230201-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230201.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230201 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20230201-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230201.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230201 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20230315preview-fleet - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230315preview.fleets.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230315preview - operations: - - CREATE - - UPDATE - resources: - - fleets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsmember - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230315preview.fleetsmembers.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230315preview - operations: - - CREATE - - UPDATE - resources: - - fleetsmembers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230315preview.fleetsupdateruns.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230315preview - operations: - - CREATE - - UPDATE - resources: - - fleetsupdateruns - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20231001-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231001.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231001 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20231001-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231001.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231001 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231001.trustedaccessrolebindings.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231001 - operations: - - CREATE - - UPDATE - resources: - - trustedaccessrolebindings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20231102preview-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231102preview.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231102preview - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231102preview.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231102preview - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240402preview-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240402preview.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240402preview - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240402preview.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240402preview - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240402preview - operations: - - CREATE - - UPDATE - resources: - - trustedaccessrolebindings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240901-maintenanceconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240901.maintenanceconfigurations.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - maintenanceconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240901-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240901.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240901-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240901.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240901.trustedaccessrolebindings.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - trustedaccessrolebindings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-datafactory-azure-com-v1api20180601-factory - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180601.factories.datafactory.azure.com - rules: - - apiGroups: - - datafactory.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - factories - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dataprotection-azure-com-v1api20230101-backupvault - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.backupvaults.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - backupvaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - backupvaultsbackuppolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dataprotection-azure-com-v1api20231101-backupvault - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231101.backupvaults.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20231101 - operations: - - CREATE - - UPDATE - resources: - - backupvaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20231101 - operations: - - CREATE - - UPDATE - resources: - - backupvaultsbackupinstances - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20231101 - operations: - - CREATE - - UPDATE - resources: - - backupvaultsbackuppolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformariadb-azure-com-v1api20180601-configuration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180601.configurations.dbformariadb.azure.com - rules: - - apiGroups: - - dbformariadb.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - configurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformariadb-azure-com-v1api20180601-database - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180601.databases.dbformariadb.azure.com - rules: - - apiGroups: - - dbformariadb.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - databases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformariadb-azure-com-v1api20180601-server - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180601.servers.dbformariadb.azure.com - rules: - - apiGroups: - - dbformariadb.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - servers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210501.flexibleservers.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210501.flexibleserversdatabases.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220101.flexibleserversadministrators.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20220101 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversadministrators - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20220101 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230630.flexibleservers.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230630.flexibleserversadministrators.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversadministrators - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230630.flexibleserversdatabases.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbformysql-azure-com-v1-user - failurePolicy: Fail - matchPolicy: Exact - name: default.v1.users.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - users - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221201.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-dbforpostgresql-azure-com-v1-user - failurePolicy: Fail - matchPolicy: Exact - name: default.v1.users.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - users - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-devices-azure-com-v1api20210702-iothub - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210702.iothubs.devices.azure.com - rules: - - apiGroups: - - devices.azure.com - apiVersions: - - v1api20210702 - operations: - - CREATE - - UPDATE - resources: - - iothubs - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-databaseaccount - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.databaseaccounts.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - databaseaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.mongodbdatabasecollections.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollectionthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.mongodbdatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabasecontainers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerstoredprocedures - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainertriggers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontaineruserdefinedfunctions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20210515-sqlroleassignment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210515.sqlroleassignments.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqlroleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-databaseaccount - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.databaseaccounts.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - databaseaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.mongodbdatabasecollections.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollectionthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.mongodbdatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabasecontainers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerstoredprocedures - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainertriggers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontaineruserdefinedfunctions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-documentdb-azure-com-v1api20231115-sqlroleassignment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231115.sqlroleassignments.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqlroleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventgrid-azure-com-v1api20200601-domain - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.domains.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - domains - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventgrid-azure-com-v1api20200601-domainstopic - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.domainstopics.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - domainstopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventgrid-azure-com-v1api20200601-eventsubscription - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.eventsubscriptions.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - eventsubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventgrid-azure-com-v1api20200601-topic - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.topics.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - topics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventhub-azure-com-v1api20211101-namespace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespaces.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespacesauthorizationrules.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhub - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespaceseventhubs.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaceseventhubs - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaceseventhubsauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaceseventhubsconsumergroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20180301-metricalert - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180301.metricalerts.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20180301 - operations: - - CREATE - - UPDATE - resources: - - metricalerts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20180501preview-webtest - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501preview.webtests.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20180501preview - operations: - - CREATE - - UPDATE - resources: - - webtests - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20200202-component - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200202.components.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20200202 - operations: - - CREATE - - UPDATE - resources: - - components - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20210501preview-diagnosticsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210501preview.diagnosticsettings.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20210501preview - operations: - - CREATE - - UPDATE - resources: - - diagnosticsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20220615-scheduledqueryrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220615.scheduledqueryrules.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20220615 - operations: - - CREATE - - UPDATE - resources: - - scheduledqueryrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20220615-webtest - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220615.webtests.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20220615 - operations: - - CREATE - - UPDATE - resources: - - webtests - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20221001-autoscalesetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001.autoscalesettings.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20221001 - operations: - - CREATE - - UPDATE - resources: - - autoscalesettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-insights-azure-com-v1api20230101-actiongroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.actiongroups.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - actiongroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-keyvault-azure-com-v1api20210401preview-vault - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401preview.vaults.keyvault.azure.com - rules: - - apiGroups: - - keyvault.azure.com - apiVersions: - - v1api20210401preview - operations: - - CREATE - - UPDATE - resources: - - vaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-keyvault-azure-com-v1api20230701-vault - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230701.vaults.keyvault.azure.com - rules: - - apiGroups: - - keyvault.azure.com - apiVersions: - - v1api20230701 - operations: - - CREATE - - UPDATE - resources: - - vaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-extension - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.extensions.kubernetesconfiguration.azure.com - rules: - - apiGroups: - - kubernetesconfiguration.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - extensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com - rules: - - apiGroups: - - kubernetesconfiguration.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - fluxconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20210701-workspace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210701.workspaces.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacescompute - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210701.workspacescomputes.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - workspacescomputes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacesconnection - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210701.workspacesconnections.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - workspacesconnections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20240401-registry - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240401.registries.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - registries - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20240401-workspace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240401.workspaces.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacescompute - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240401.workspacescomputes.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - workspacescomputes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacesconnection - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240401.workspacesconnections.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - workspacesconnections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-managedidentity-azure-com-v1api20181130-userassignedidentity - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20181130.userassignedidentities.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20181130 - operations: - - CREATE - - UPDATE - resources: - - userassignedidentities - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20220131preview - operations: - - CREATE - - UPDATE - resources: - - federatedidentitycredentials - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-managedidentity-azure-com-v1api20230131-federatedidentitycredential - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230131.federatedidentitycredentials.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20230131 - operations: - - CREATE - - UPDATE - resources: - - federatedidentitycredentials - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-managedidentity-azure-com-v1api20230131-userassignedidentity - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230131.userassignedidentities.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20230131 - operations: - - CREATE - - UPDATE - resources: - - userassignedidentities - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-monitor-azure-com-v1api20230403-account - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230403.accounts.monitor.azure.com - rules: - - apiGroups: - - monitor.azure.com - apiVersions: - - v1api20230403 - operations: - - CREATE - - UPDATE - resources: - - accounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com - rules: - - apiGroups: - - network.frontdoor.azure.com - apiVersions: - - v1api20220501 - operations: - - CREATE - - UPDATE - resources: - - webapplicationfirewallpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszone - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszones.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszones - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonesaaaarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonesaaaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesaaaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonesarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonesarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonescaarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonescaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonescaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonescnamerecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonescnamerecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonescnamerecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonesmxrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonesmxrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesmxrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonesnsrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonesnsrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesnsrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonesptrrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonesptrrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesptrrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonessrvrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonessrvrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonessrvrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180501-dnszonestxtrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180501.dnszonestxtrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonestxtrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20180901-privatednszone - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20180901.privatednszones.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180901 - operations: - - CREATE - - UPDATE - resources: - - privatednszones - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonesaaaarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonesaaaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesaaaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonesarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonesarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonescnamerecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonescnamerecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonescnamerecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonesmxrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonesmxrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesmxrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonesptrrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonesptrrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesptrrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonessrvrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonessrvrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonessrvrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonestxtrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonestxtrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonestxtrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesvirtualnetworklinks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-loadbalancer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.loadbalancers.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - loadbalancers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-loadbalancersinboundnatrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.loadbalancersinboundnatrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - loadbalancersinboundnatrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-networkinterface - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.networkinterfaces.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - networkinterfaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-networksecuritygroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.networksecuritygroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.networksecuritygroupssecurityrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroupssecurityrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-publicipaddress - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.publicipaddresses.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - publicipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-routetable - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.routetables.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - routetables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-routetablesroute - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.routetablesroutes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - routetablesroutes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-virtualnetworkgateway - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.virtualnetworkgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-virtualnetwork - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.virtualnetworks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-virtualnetworkssubnet - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.virtualnetworkssubnets.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkssubnets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworksvirtualnetworkpeerings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofile - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220401.trafficmanagerprofiles.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofiles - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofilesazureendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofilesexternalendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofilesnestedendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-applicationgateway - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.applicationgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - applicationgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-bastionhost - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.bastionhosts.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - bastionhosts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-dnsforwardingruleset - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.dnsforwardingrulesets.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsforwardingrulesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsforwardingrulesetsforwardingrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsforwardingrulesetsvirtualnetworklinks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-dnsresolver - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.dnsresolvers.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsresolvers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-dnsresolversinboundendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.dnsresolversinboundendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsresolversinboundendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.dnsresolversoutboundendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsresolversoutboundendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-natgateway - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.natgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - natgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-privateendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.privateendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - privateendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - privateendpointsprivatednszonegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-privatelinkservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.privatelinkservices.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - privatelinkservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20220701-publicipprefix - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220701.publicipprefixes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - publicipprefixes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240101-applicationsecuritygroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240101.applicationsecuritygroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240101 - operations: - - CREATE - - UPDATE - resources: - - applicationsecuritygroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240101-webapplicationfirewallpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240101.webapplicationfirewallpolicies.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240101 - operations: - - CREATE - - UPDATE - resources: - - webapplicationfirewallpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-bastionhost - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.bastionhosts.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - bastionhosts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-loadbalancer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.loadbalancers.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - loadbalancers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-loadbalancersinboundnatrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.loadbalancersinboundnatrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - loadbalancersinboundnatrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-natgateway - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.natgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - natgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-networkinterface - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.networkinterfaces.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - networkinterfaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-networksecuritygroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.networksecuritygroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.networksecuritygroupssecurityrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroupssecurityrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-privateendpoint - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.privateendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - privateendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - privateendpointsprivatednszonegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-privatelinkservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.privatelinkservices.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - privatelinkservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-publicipaddress - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.publicipaddresses.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - publicipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-publicipprefix - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.publicipprefixes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - publicipprefixes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-routetable - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.routetables.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - routetables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-routetablesroute - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.routetablesroutes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - routetablesroutes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-virtualnetworkgateway - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.virtualnetworkgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-virtualnetwork - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.virtualnetworks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-virtualnetworkssubnet - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.virtualnetworkssubnets.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkssubnets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworksvirtualnetworkpeerings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszone - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszones.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszones - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonesaaaarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonesaaaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesaaaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonesarecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonesarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonescnamerecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonescnamerecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonescnamerecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonesmxrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonesmxrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesmxrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonesptrrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonesptrrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesptrrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonessrvrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonessrvrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonessrvrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonestxtrecord - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonestxtrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonestxtrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesvirtualnetworklinks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-operationalinsights-azure-com-v1api20210601-workspace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.workspaces.operationalinsights.azure.com - rules: - - apiGroups: - - operationalinsights.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-redhatopenshift-azure-com-v1api20231122-openshiftcluster - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20231122.openshiftclusters.redhatopenshift.azure.com - rules: - - apiGroups: - - redhatopenshift.azure.com - apiVersions: - - v1api20231122 - operations: - - CREATE - - UPDATE - resources: - - openshiftclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-resources-azure-com-v1api20200601-resourcegroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20200601.resourcegroups.resources.azure.com - rules: - - apiGroups: - - resources.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - resourcegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-search-azure-com-v1api20220901-searchservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.searchservices.search.azure.com - rules: - - apiGroups: - - search.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - searchservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20210101preview-namespace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101preview.namespaces.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesqueue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101preview.namespacesqueues.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopic - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101preview.namespacestopics.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptionsrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20211101-namespace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespaces.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespacesauthorizationrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20211101-namespacesqueue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespacesqueues.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20211101-namespacestopic - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespacestopics.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacestopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscription - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptionsrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20221001preview-namespace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001preview.namespaces.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesqueue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001preview.namespacesqueues.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopic - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001preview.namespacestopics.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptionsrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-signalrservice-azure-com-v1api20211001-signalr - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211001.signalrs.signalrservice.azure.com - rules: - - apiGroups: - - signalrservice.azure.com - apiVersions: - - v1api20211001 - operations: - - CREATE - - UPDATE - resources: - - signalrs - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-server - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.servers.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - servers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversadministrator - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversadministrators.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversadministrators - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversadvancedthreatprotectionsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversauditingsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversauditingsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversauditingsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversazureadonlyauthentication - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversazureadonlyauthentications.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversazureadonlyauthentications - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversconnectionpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversconnectionpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversconnectionpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabases.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesadvancedthreatprotectionsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasesauditingsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesauditingsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesbackuplongtermretentionpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesbackupshorttermretentionpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasessecurityalertpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasestransparentdataencryptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesvulnerabilityassessments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serverselasticpool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serverselasticpools.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serverselasticpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversfailovergroup - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversfailovergroups.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversfailovergroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversfirewallrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversipv6firewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversipv6firewallrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversipv6firewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversoutboundfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversoutboundfirewallrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversoutboundfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serverssecurityalertpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serverssecurityalertpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serverssecurityalertpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversvirtualnetworkrule - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversvirtualnetworkrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversvirtualnetworkrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1api20211101-serversvulnerabilityassessment - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211101.serversvulnerabilityassessments.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversvulnerabilityassessments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-sql-azure-com-v1-user - failurePolicy: Fail - matchPolicy: Exact - name: default.v1.users.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - users - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20210401-storageaccount - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.storageaccounts.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.storageaccountsblobservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservicescontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsmanagementpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.storageaccountsqueueservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservicesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccount - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccounts.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsblobservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservicescontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsfileservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsfileservicesshares.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservicesshares - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsmanagementpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsqueueservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservicesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountstableservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservicestable - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220901.storageaccountstableservicestables.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservicestables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccount - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccounts.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsblobservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservicescontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsfileservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsfileservicesshares.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservicesshares - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsmanagementpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsqueueservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservicesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservice - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountstableservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservicestable - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20230101.storageaccountstableservicestables.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservicestables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-subscription-azure-com-v1api20211001-alias - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20211001.aliases.subscription.azure.com - rules: - - apiGroups: - - subscription.azure.com - apiVersions: - - v1api20211001 - operations: - - CREATE - - UPDATE - resources: - - aliases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-synapse-azure-com-v1api20210601-workspace - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.workspaces.synapse.azure.com - rules: - - apiGroups: - - synapse.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-synapse-azure-com-v1api20210601-workspacesbigdatapool - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20210601.workspacesbigdatapools.synapse.azure.com - rules: - - apiGroups: - - synapse.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - workspacesbigdatapools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-web-azure-com-v1api20220301-serverfarm - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.serverfarms.web.azure.com - rules: - - apiGroups: - - web.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - serverfarms - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /mutate-web-azure-com-v1api20220301-site - failurePolicy: Fail - matchPolicy: Exact - name: default.v1api20220301.sites.web.azure.com - rules: - - apiGroups: - - web.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - sites - sideEffects: None ---- -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - name: azureserviceoperator-validating-webhook-configuration -webhooks: - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com - rules: - - apiGroups: - - alertsmanagement.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - smartdetectoralertrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com - rules: - - apiGroups: - - alertsmanagement.azure.com - apiVersions: - - v1api20230301 - operations: - - CREATE - - UPDATE - resources: - - prometheusrulegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-api - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.apis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - apis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-apiversionset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.apiversionsets.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - apiversionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovider - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.authorizationproviders.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - authorizationproviders - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizationsaccesspolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-backend - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.backends.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - backends - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-namedvalue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.namedvalues.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - namedvalues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-policy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.policies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - policies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-policyfragment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.policyfragments.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - policyfragments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-productapi - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.productapis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - productapis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-productpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.productpolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - productpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-product - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.products.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - products - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-service - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.services.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - services - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20220801-subscription - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220801.subscriptions.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20220801 - operations: - - CREATE - - UPDATE - resources: - - subscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-api - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.apis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - apis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-apiversionset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.apiversionsets.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - apiversionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovider - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.authorizationproviders.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - authorizationproviders - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - authorizationprovidersauthorizationsaccesspolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-backend - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.backends.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - backends - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-namedvalue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.namedvalues.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - namedvalues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-policy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.policies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - policies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-policyfragment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.policyfragments.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - policyfragments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-productapi - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.productapis.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - productapis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-productpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.productpolicies.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - productpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-product - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.products.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - products - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-service - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.services.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - services - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-apimanagement-azure-com-v1api20230501preview-subscription - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501preview.subscriptions.apimanagement.azure.com - rules: - - apiGroups: - - apimanagement.azure.com - apiVersions: - - v1api20230501preview - operations: - - CREATE - - UPDATE - resources: - - subscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-appconfiguration-azure-com-v1api20220501-configurationstore - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220501.configurationstores.appconfiguration.azure.com - rules: - - apiGroups: - - appconfiguration.azure.com - apiVersions: - - v1api20220501 - operations: - - CREATE - - UPDATE - resources: - - configurationstores - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-authorization-azure-com-v1api20200801preview-roleassignment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200801preview.roleassignments.authorization.azure.com - rules: - - apiGroups: - - authorization.azure.com - apiVersions: - - v1api20200801preview - operations: - - CREATE - - UPDATE - resources: - - roleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-authorization-azure-com-v1api20220401-roleassignment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220401.roleassignments.authorization.azure.com - rules: - - apiGroups: - - authorization.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - roleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-authorization-azure-com-v1api20220401-roledefinition - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220401.roledefinitions.authorization.azure.com - rules: - - apiGroups: - - authorization.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - roledefinitions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-batch-azure-com-v1api20210101-batchaccount - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101.batchaccounts.batch.azure.com - rules: - - apiGroups: - - batch.azure.com - apiVersions: - - v1api20210101 - operations: - - CREATE - - UPDATE - resources: - - batchaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20201201-redis - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.redis.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20201201-redisfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.redisfirewallrules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redisfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20201201-redislinkedserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.redislinkedservers.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redislinkedservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20201201-redispatchschedule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.redispatchschedules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - redispatchschedules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20210301-redisenterprisedatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210301.redisenterprisedatabases.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20210301 - operations: - - CREATE - - UPDATE - resources: - - redisenterprisedatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20210301-redisenterprise - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210301.redisenterprises.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20210301 - operations: - - CREATE - - UPDATE - resources: - - redisenterprises - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230401-redis - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230401.redis.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230401-redisfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230401.redisfirewallrules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redisfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230401-redislinkedserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230401.redislinkedservers.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redislinkedservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230401-redispatchschedule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230401.redispatchschedules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230401 - operations: - - CREATE - - UPDATE - resources: - - redispatchschedules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230701-redisenterprisedatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230701.redisenterprisedatabases.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230701 - operations: - - CREATE - - UPDATE - resources: - - redisenterprisedatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230701-redisenterprise - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230701.redisenterprises.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230701 - operations: - - CREATE - - UPDATE - resources: - - redisenterprises - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230801-redis - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230801.redis.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redis - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230801-redisfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230801.redisfirewallrules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redisfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230801-redislinkedserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230801.redislinkedservers.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redislinkedservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cache-azure-com-v1api20230801-redispatchschedule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230801.redispatchschedules.cache.azure.com - rules: - - apiGroups: - - cache.azure.com - apiVersions: - - v1api20230801 - operations: - - CREATE - - UPDATE - resources: - - redispatchschedules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20210601-profile - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.profiles.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - profiles - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20210601-profilesendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.profilesendpoints.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - profilesendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-afdcustomdomain - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.afdcustomdomains.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdcustomdomains - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-afdendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.afdendpoints.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-afdorigingroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.afdorigingroups.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdorigingroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-afdorigin - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.afdorigins.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - afdorigins - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-profile - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.profiles.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - profiles - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-route - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.routes.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - routes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-rule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.rules.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - rules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-ruleset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.rulesets.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - rulesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-secret - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.secrets.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - secrets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-cdn-azure-com-v1api20230501-securitypolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.securitypolicies.cdn.azure.com - rules: - - apiGroups: - - cdn.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - securitypolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20200930-disk - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200930.disks.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20200930 - operations: - - CREATE - - UPDATE - resources: - - disks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20200930-snapshot - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200930.snapshots.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20200930 - operations: - - CREATE - - UPDATE - resources: - - snapshots - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20201201-virtualmachine - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.virtualmachines.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachines - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20201201-virtualmachinescaleset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.virtualmachinescalesets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesetsextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20201201-virtualmachinesextension - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201201.virtualmachinesextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20201201 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinesextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20210701-image - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210701.images.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - images - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20220301-image - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.images.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - images - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20220301-virtualmachine - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.virtualmachines.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachines - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20220301-virtualmachinescaleset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.virtualmachinescalesets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinescalesetsextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20220301-virtualmachinesextension - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.virtualmachinesextensions.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - virtualmachinesextensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20220702-diskencryptionset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220702.diskencryptionsets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20220702 - operations: - - CREATE - - UPDATE - resources: - - diskencryptionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20240302-diskaccess - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240302.diskaccesses.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - diskaccesses - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20240302-diskencryptionset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240302.diskencryptionsets.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - diskencryptionsets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20240302-disk - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240302.disks.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - disks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-compute-azure-com-v1api20240302-snapshot - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240302.snapshots.compute.azure.com - rules: - - apiGroups: - - compute.azure.com - apiVersions: - - v1api20240302 - operations: - - CREATE - - UPDATE - resources: - - snapshots - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerinstance-azure-com-v1api20211001-containergroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211001.containergroups.containerinstance.azure.com - rules: - - apiGroups: - - containerinstance.azure.com - apiVersions: - - v1api20211001 - operations: - - CREATE - - UPDATE - resources: - - containergroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerregistry-azure-com-v1api20210901-registry - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210901.registries.containerregistry.azure.com - rules: - - apiGroups: - - containerregistry.azure.com - apiVersions: - - v1api20210901 - operations: - - CREATE - - UPDATE - resources: - - registries - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20210501-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210501.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20210501-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210501.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20230201-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230201.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230201 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20230201-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230201.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230201 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20230315preview-fleet - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230315preview.fleets.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230315preview - operations: - - CREATE - - UPDATE - resources: - - fleets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20230315preview-fleetsmember - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230315preview.fleetsmembers.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230315preview - operations: - - CREATE - - UPDATE - resources: - - fleetsmembers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230315preview.fleetsupdateruns.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20230315preview - operations: - - CREATE - - UPDATE - resources: - - fleetsupdateruns - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20231001-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231001.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231001 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20231001-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231001.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231001 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231001.trustedaccessrolebindings.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231001 - operations: - - CREATE - - UPDATE - resources: - - trustedaccessrolebindings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20231102preview-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231102preview.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231102preview - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231102preview.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20231102preview - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240402preview-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240402preview.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240402preview - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240402preview.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240402preview - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240402preview - operations: - - CREATE - - UPDATE - resources: - - trustedaccessrolebindings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240901-maintenanceconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240901.maintenanceconfigurations.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - maintenanceconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240901-managedcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240901.managedclusters.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - managedclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240901-managedclustersagentpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240901.managedclustersagentpools.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - managedclustersagentpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240901.trustedaccessrolebindings.containerservice.azure.com - rules: - - apiGroups: - - containerservice.azure.com - apiVersions: - - v1api20240901 - operations: - - CREATE - - UPDATE - resources: - - trustedaccessrolebindings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-datafactory-azure-com-v1api20180601-factory - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180601.factories.datafactory.azure.com - rules: - - apiGroups: - - datafactory.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - factories - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dataprotection-azure-com-v1api20230101-backupvault - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.backupvaults.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - backupvaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - backupvaultsbackuppolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dataprotection-azure-com-v1api20231101-backupvault - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231101.backupvaults.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20231101 - operations: - - CREATE - - UPDATE - resources: - - backupvaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20231101 - operations: - - CREATE - - UPDATE - resources: - - backupvaultsbackupinstances - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com - rules: - - apiGroups: - - dataprotection.azure.com - apiVersions: - - v1api20231101 - operations: - - CREATE - - UPDATE - resources: - - backupvaultsbackuppolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformariadb-azure-com-v1api20180601-configuration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180601.configurations.dbformariadb.azure.com - rules: - - apiGroups: - - dbformariadb.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - configurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformariadb-azure-com-v1api20180601-database - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180601.databases.dbformariadb.azure.com - rules: - - apiGroups: - - dbformariadb.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - databases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformariadb-azure-com-v1api20180601-server - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180601.servers.dbformariadb.azure.com - rules: - - apiGroups: - - dbformariadb.azure.com - apiVersions: - - v1api20180601 - operations: - - CREATE - - UPDATE - resources: - - servers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20210501-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210501.flexibleservers.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210501.flexibleserversdatabases.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20210501 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220101.flexibleserversadministrators.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20220101 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversadministrators - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20220101 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20230630-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230630.flexibleservers.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230630.flexibleserversadministrators.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversadministrators - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230630.flexibleserversdatabases.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1api20230630 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbformysql-azure-com-v1-user - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1.users.dbformysql.azure.com - rules: - - apiGroups: - - dbformysql.azure.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - users - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20220120preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221201.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20221201 - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleservers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1api20230601preview - operations: - - CREATE - - UPDATE - resources: - - flexibleserversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-dbforpostgresql-azure-com-v1-user - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1.users.dbforpostgresql.azure.com - rules: - - apiGroups: - - dbforpostgresql.azure.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - users - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-devices-azure-com-v1api20210702-iothub - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210702.iothubs.devices.azure.com - rules: - - apiGroups: - - devices.azure.com - apiVersions: - - v1api20210702 - operations: - - CREATE - - UPDATE - resources: - - iothubs - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-databaseaccount - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.databaseaccounts.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - databaseaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.mongodbdatabasecollections.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollectionthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.mongodbdatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabasecontainers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerstoredprocedures - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainertriggers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontaineruserdefinedfunctions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20210515-sqlroleassignment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210515.sqlroleassignments.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20210515 - operations: - - CREATE - - UPDATE - resources: - - sqlroleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-databaseaccount - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.databaseaccounts.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - databaseaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.mongodbdatabasecollections.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasecollectionthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.mongodbdatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - mongodbdatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabasecontainers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerstoredprocedures - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainerthroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontainertriggers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasecontaineruserdefinedfunctions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabases.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqldatabasethroughputsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-documentdb-azure-com-v1api20231115-sqlroleassignment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231115.sqlroleassignments.documentdb.azure.com - rules: - - apiGroups: - - documentdb.azure.com - apiVersions: - - v1api20231115 - operations: - - CREATE - - UPDATE - resources: - - sqlroleassignments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventgrid-azure-com-v1api20200601-domain - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.domains.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - domains - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventgrid-azure-com-v1api20200601-domainstopic - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.domainstopics.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - domainstopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventgrid-azure-com-v1api20200601-eventsubscription - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.eventsubscriptions.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - eventsubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventgrid-azure-com-v1api20200601-topic - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.topics.eventgrid.azure.com - rules: - - apiGroups: - - eventgrid.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - topics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventhub-azure-com-v1api20211101-namespace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespaces.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespacesauthorizationrules.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhub - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespaceseventhubs.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaceseventhubs - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaceseventhubsauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com - rules: - - apiGroups: - - eventhub.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaceseventhubsconsumergroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20180301-metricalert - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180301.metricalerts.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20180301 - operations: - - CREATE - - UPDATE - resources: - - metricalerts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20180501preview-webtest - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501preview.webtests.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20180501preview - operations: - - CREATE - - UPDATE - resources: - - webtests - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20200202-component - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200202.components.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20200202 - operations: - - CREATE - - UPDATE - resources: - - components - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20210501preview-diagnosticsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210501preview.diagnosticsettings.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20210501preview - operations: - - CREATE - - UPDATE - resources: - - diagnosticsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20220615-scheduledqueryrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220615.scheduledqueryrules.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20220615 - operations: - - CREATE - - UPDATE - resources: - - scheduledqueryrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20220615-webtest - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220615.webtests.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20220615 - operations: - - CREATE - - UPDATE - resources: - - webtests - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20221001-autoscalesetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001.autoscalesettings.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20221001 - operations: - - CREATE - - UPDATE - resources: - - autoscalesettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-insights-azure-com-v1api20230101-actiongroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.actiongroups.insights.azure.com - rules: - - apiGroups: - - insights.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - actiongroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-keyvault-azure-com-v1api20210401preview-vault - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401preview.vaults.keyvault.azure.com - rules: - - apiGroups: - - keyvault.azure.com - apiVersions: - - v1api20210401preview - operations: - - CREATE - - UPDATE - resources: - - vaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-keyvault-azure-com-v1api20230701-vault - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230701.vaults.keyvault.azure.com - rules: - - apiGroups: - - keyvault.azure.com - apiVersions: - - v1api20230701 - operations: - - CREATE - - UPDATE - resources: - - vaults - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-kubernetesconfiguration-azure-com-v1api20230501-extension - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.extensions.kubernetesconfiguration.azure.com - rules: - - apiGroups: - - kubernetesconfiguration.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - extensions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com - rules: - - apiGroups: - - kubernetesconfiguration.azure.com - apiVersions: - - v1api20230501 - operations: - - CREATE - - UPDATE - resources: - - fluxconfigurations - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20210701-workspace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210701.workspaces.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20210701-workspacescompute - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210701.workspacescomputes.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - workspacescomputes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20210701-workspacesconnection - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210701.workspacesconnections.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20210701 - operations: - - CREATE - - UPDATE - resources: - - workspacesconnections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20240401-registry - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240401.registries.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - registries - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20240401-workspace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240401.workspaces.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20240401-workspacescompute - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240401.workspacescomputes.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - workspacescomputes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-machinelearningservices-azure-com-v1api20240401-workspacesconnection - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240401.workspacesconnections.machinelearningservices.azure.com - rules: - - apiGroups: - - machinelearningservices.azure.com - apiVersions: - - v1api20240401 - operations: - - CREATE - - UPDATE - resources: - - workspacesconnections - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-managedidentity-azure-com-v1api20181130-userassignedidentity - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20181130.userassignedidentities.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20181130 - operations: - - CREATE - - UPDATE - resources: - - userassignedidentities - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20220131preview - operations: - - CREATE - - UPDATE - resources: - - federatedidentitycredentials - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-managedidentity-azure-com-v1api20230131-federatedidentitycredential - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230131.federatedidentitycredentials.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20230131 - operations: - - CREATE - - UPDATE - resources: - - federatedidentitycredentials - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-managedidentity-azure-com-v1api20230131-userassignedidentity - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230131.userassignedidentities.managedidentity.azure.com - rules: - - apiGroups: - - managedidentity.azure.com - apiVersions: - - v1api20230131 - operations: - - CREATE - - UPDATE - resources: - - userassignedidentities - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-monitor-azure-com-v1api20230403-account - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230403.accounts.monitor.azure.com - rules: - - apiGroups: - - monitor.azure.com - apiVersions: - - v1api20230403 - operations: - - CREATE - - UPDATE - resources: - - accounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com - rules: - - apiGroups: - - network.frontdoor.azure.com - apiVersions: - - v1api20220501 - operations: - - CREATE - - UPDATE - resources: - - webapplicationfirewallpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszone - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszones.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszones - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonesaaaarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonesaaaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesaaaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonesarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonesarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonescaarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonescaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonescaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonescnamerecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonescnamerecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonescnamerecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonesmxrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonesmxrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesmxrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonesnsrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonesnsrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesnsrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonesptrrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonesptrrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonesptrrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonessrvrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonessrvrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonessrvrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180501-dnszonestxtrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180501.dnszonestxtrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180501 - operations: - - CREATE - - UPDATE - resources: - - dnszonestxtrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20180901-privatednszone - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20180901.privatednszones.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20180901 - operations: - - CREATE - - UPDATE - resources: - - privatednszones - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonesaaaarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonesaaaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesaaaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonesarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonesarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonescnamerecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonescnamerecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonescnamerecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonesmxrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonesmxrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesmxrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonesptrrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonesptrrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesptrrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonessrvrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonessrvrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonessrvrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonestxtrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonestxtrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonestxtrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesvirtualnetworklinks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-loadbalancer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.loadbalancers.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - loadbalancers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-loadbalancersinboundnatrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.loadbalancersinboundnatrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - loadbalancersinboundnatrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-networkinterface - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.networkinterfaces.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - networkinterfaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-networksecuritygroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.networksecuritygroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.networksecuritygroupssecurityrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroupssecurityrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-publicipaddress - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.publicipaddresses.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - publicipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-routetable - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.routetables.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - routetables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-routetablesroute - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.routetablesroutes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - routetablesroutes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-virtualnetworkgateway - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.virtualnetworkgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-virtualnetwork - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.virtualnetworks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-virtualnetworkssubnet - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.virtualnetworkssubnets.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkssubnets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20201101 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworksvirtualnetworkpeerings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220401-trafficmanagerprofile - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220401.trafficmanagerprofiles.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofiles - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofilesazureendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofilesexternalendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220401 - operations: - - CREATE - - UPDATE - resources: - - trafficmanagerprofilesnestedendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-applicationgateway - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.applicationgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - applicationgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-bastionhost - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.bastionhosts.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - bastionhosts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-dnsforwardingruleset - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.dnsforwardingrulesets.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsforwardingrulesets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsforwardingrulesetsforwardingrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsforwardingrulesetsvirtualnetworklinks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-dnsresolver - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.dnsresolvers.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsresolvers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-dnsresolversinboundendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.dnsresolversinboundendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsresolversinboundendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.dnsresolversoutboundendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - dnsresolversoutboundendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-natgateway - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.natgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - natgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-privateendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.privateendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - privateendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - privateendpointsprivatednszonegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-privatelinkservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.privatelinkservices.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - privatelinkservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20220701-publicipprefix - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220701.publicipprefixes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20220701 - operations: - - CREATE - - UPDATE - resources: - - publicipprefixes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240101-applicationsecuritygroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240101.applicationsecuritygroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240101 - operations: - - CREATE - - UPDATE - resources: - - applicationsecuritygroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240101-webapplicationfirewallpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240101.webapplicationfirewallpolicies.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240101 - operations: - - CREATE - - UPDATE - resources: - - webapplicationfirewallpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-bastionhost - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.bastionhosts.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - bastionhosts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-loadbalancer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.loadbalancers.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - loadbalancers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-loadbalancersinboundnatrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.loadbalancersinboundnatrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - loadbalancersinboundnatrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-natgateway - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.natgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - natgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-networkinterface - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.networkinterfaces.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - networkinterfaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-networksecuritygroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.networksecuritygroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.networksecuritygroupssecurityrules.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - networksecuritygroupssecurityrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-privateendpoint - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.privateendpoints.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - privateendpoints - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - privateendpointsprivatednszonegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-privatelinkservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.privatelinkservices.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - privatelinkservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-publicipaddress - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.publicipaddresses.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - publicipaddresses - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-publicipprefix - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.publicipprefixes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - publicipprefixes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-routetable - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.routetables.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - routetables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-routetablesroute - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.routetablesroutes.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - routetablesroutes - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-virtualnetworkgateway - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.virtualnetworkgateways.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkgateways - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-virtualnetwork - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.virtualnetworks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-virtualnetworkssubnet - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.virtualnetworkssubnets.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworkssubnets - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240301 - operations: - - CREATE - - UPDATE - resources: - - virtualnetworksvirtualnetworkpeerings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszone - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszones.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszones - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonesaaaarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonesaaaarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesaaaarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonesarecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonesarecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesarecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonescnamerecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonescnamerecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonescnamerecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonesmxrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonesmxrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesmxrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonesptrrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonesptrrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesptrrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonessrvrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonessrvrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonessrvrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonestxtrecord - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonestxtrecords.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonestxtrecords - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com - rules: - - apiGroups: - - network.azure.com - apiVersions: - - v1api20240601 - operations: - - CREATE - - UPDATE - resources: - - privatednszonesvirtualnetworklinks - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-operationalinsights-azure-com-v1api20210601-workspace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.workspaces.operationalinsights.azure.com - rules: - - apiGroups: - - operationalinsights.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-redhatopenshift-azure-com-v1api20231122-openshiftcluster - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20231122.openshiftclusters.redhatopenshift.azure.com - rules: - - apiGroups: - - redhatopenshift.azure.com - apiVersions: - - v1api20231122 - operations: - - CREATE - - UPDATE - resources: - - openshiftclusters - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-resources-azure-com-v1api20200601-resourcegroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20200601.resourcegroups.resources.azure.com - rules: - - apiGroups: - - resources.azure.com - apiVersions: - - v1api20200601 - operations: - - CREATE - - UPDATE - resources: - - resourcegroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-search-azure-com-v1api20220901-searchservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.searchservices.search.azure.com - rules: - - apiGroups: - - search.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - searchservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20210101preview-namespace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101preview.namespaces.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20210101preview-namespacesqueue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101preview.namespacesqueues.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopic - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101preview.namespacestopics.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20210101preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptionsrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20211101-namespace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespaces.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespacesauthorizationrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20211101-namespacesqueue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespacesqueues.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20211101-namespacestopic - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespacestopics.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacestopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscription - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptionsrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20221001preview-namespace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001preview.namespaces.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacesauthorizationrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20221001preview-namespacesqueue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001preview.namespacesqueues.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopic - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001preview.namespacestopics.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopics - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com - rules: - - apiGroups: - - servicebus.azure.com - apiVersions: - - v1api20221001preview - operations: - - CREATE - - UPDATE - resources: - - namespacestopicssubscriptionsrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-signalrservice-azure-com-v1api20211001-signalr - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211001.signalrs.signalrservice.azure.com - rules: - - apiGroups: - - signalrservice.azure.com - apiVersions: - - v1api20211001 - operations: - - CREATE - - UPDATE - resources: - - signalrs - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-server - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.servers.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - servers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversadministrator - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversadministrators.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversadministrators - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversadvancedthreatprotectionsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversauditingsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversauditingsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversauditingsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversazureadonlyauthentication - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversazureadonlyauthentications.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversazureadonlyauthentications - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversconnectionpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversconnectionpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversconnectionpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabase - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabases.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesadvancedthreatprotectionsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasesauditingsettings.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesauditingsettings - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesbackuplongtermretentionpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesbackupshorttermretentionpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasessecurityalertpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasestransparentdataencryptions - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversdatabasesvulnerabilityassessments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serverselasticpool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serverselasticpools.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serverselasticpools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversfailovergroup - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversfailovergroups.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversfailovergroups - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversfirewallrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversipv6firewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversipv6firewallrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversipv6firewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversoutboundfirewallrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversoutboundfirewallrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversoutboundfirewallrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serverssecurityalertpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serverssecurityalertpolicies.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serverssecurityalertpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversvirtualnetworkrule - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversvirtualnetworkrules.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversvirtualnetworkrules - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1api20211101-serversvulnerabilityassessment - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211101.serversvulnerabilityassessments.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1api20211101 - operations: - - CREATE - - UPDATE - resources: - - serversvulnerabilityassessments - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-sql-azure-com-v1-user - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1.users.sql.azure.com - rules: - - apiGroups: - - sql.azure.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - users - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20210401-storageaccount - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.storageaccounts.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.storageaccountsblobservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservicescontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsmanagementpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.storageaccountsqueueservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20210401 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservicesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccount - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccounts.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsblobservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservicescontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsfileservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsfileservicesshares.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservicesshares - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsmanagementpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsqueueservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservicesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountstableservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountstableservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20220901-storageaccountstableservicestable - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220901.storageaccountstableservicestables.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20220901 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservicestables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccount - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccounts.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccounts - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsblobservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsblobservicescontainers - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsfileservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsfileservicesshares.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsfileservicesshares - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsmanagementpolicies - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsqueueservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountsqueueservicesqueues - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountstableservice - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountstableservices.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservices - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-storage-azure-com-v1api20230101-storageaccountstableservicestable - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20230101.storageaccountstableservicestables.storage.azure.com - rules: - - apiGroups: - - storage.azure.com - apiVersions: - - v1api20230101 - operations: - - CREATE - - UPDATE - resources: - - storageaccountstableservicestables - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-subscription-azure-com-v1api20211001-alias - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20211001.aliases.subscription.azure.com - rules: - - apiGroups: - - subscription.azure.com - apiVersions: - - v1api20211001 - operations: - - CREATE - - UPDATE - resources: - - aliases - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-synapse-azure-com-v1api20210601-workspace - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.workspaces.synapse.azure.com - rules: - - apiGroups: - - synapse.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - workspaces - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-synapse-azure-com-v1api20210601-workspacesbigdatapool - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20210601.workspacesbigdatapools.synapse.azure.com - rules: - - apiGroups: - - synapse.azure.com - apiVersions: - - v1api20210601 - operations: - - CREATE - - UPDATE - resources: - - workspacesbigdatapools - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-web-azure-com-v1api20220301-serverfarm - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.serverfarms.web.azure.com - rules: - - apiGroups: - - web.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - serverfarms - sideEffects: None - - admissionReviewVersions: - - v1 - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /validate-web-azure-com-v1api20220301-site - failurePolicy: Fail - matchPolicy: Exact - name: validate.v1api20220301.sites.web.azure.com - rules: - - apiGroups: - - web.azure.com - apiVersions: - - v1api20220301 - operations: - - CREATE - - UPDATE - resources: - - sites - sideEffects: None + - cognitiveservices + kind: Account + listKind: AccountList + plural: accounts + singular: account + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 64 + minLength: 2 + pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$ + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + description: 'Kind: The Kind of the resource.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + key1: + description: 'Key1: indicates where the Key1 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: 'Key2: indicates where the Key2 secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of Cognitive Services account.' + properties: + allowProjectManagement: + description: |- + AllowProjectManagement: Specifies whether this resource support project management as child resources, used as + containers for access management, data isolation and cost in AI Foundry. + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: 'AmlWorkspace: The user owned AML account properties.' + properties: + identityClientId: + description: 'IdentityClientId: Identity Client id of a AML account resource.' + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a AML account resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + apiProperties: + description: 'ApiProperties: The api properties for special APIs.' + properties: + aadClientId: + description: 'AadClientId: (Metrics Advisor Only) The Azure AD Client Id (Application Id).' + maxLength: 500 + type: string + aadClientIdFromConfig: + description: 'AadClientIdFromConfig: (Metrics Advisor Only) The Azure AD Client Id (Application Id).' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + aadTenantId: + description: 'AadTenantId: (Metrics Advisor Only) The Azure AD Tenant Id.' + maxLength: 500 + type: string + aadTenantIdFromConfig: + description: 'AadTenantIdFromConfig: (Metrics Advisor Only) The Azure AD Tenant Id.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + eventHubConnectionString: + description: 'EventHubConnectionString: (Personalization Only) The flag to enable statistics of Bing Search.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointId: + description: 'QnaAzureSearchEndpointId: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.' + type: string + qnaAzureSearchEndpointIdFromConfig: + description: 'QnaAzureSearchEndpointIdFromConfig: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointKey: + description: 'QnaAzureSearchEndpointKey: (QnAMaker Only) The Azure Search endpoint key of QnAMaker.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaRuntimeEndpoint: + description: 'QnaRuntimeEndpoint: (QnAMaker Only) The runtime endpoint of QnAMaker.' + type: string + qnaRuntimeEndpointFromConfig: + description: 'QnaRuntimeEndpointFromConfig: (QnAMaker Only) The runtime endpoint of QnAMaker.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + statisticsEnabled: + description: 'StatisticsEnabled: (Bing Search Only) The flag to enable statistics of Bing Search.' + type: boolean + storageAccountConnectionString: + description: 'StorageAccountConnectionString: (Personalization Only) The storage account connection string.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + superUser: + description: 'SuperUser: (Metrics Advisor Only) The super user of Metrics Advisor.' + maxLength: 500 + type: string + superUserFromConfig: + description: 'SuperUserFromConfig: (Metrics Advisor Only) The super user of Metrics Advisor.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + websiteName: + description: 'WebsiteName: (Metrics Advisor Only) The website name of Metrics Advisor.' + maxLength: 500 + type: string + websiteNameFromConfig: + description: 'WebsiteNameFromConfig: (Metrics Advisor Only) The website name of Metrics Advisor.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + associatedProjects: + description: 'AssociatedProjects: Specifies the projects, by project name, that are associated with this resource.' + items: + type: string + type: array + customSubDomainName: + description: 'CustomSubDomainName: Optional subdomain name used for token-based authentication.' + type: string + defaultProject: + description: |- + DefaultProject: Specifies the project, by project name, that is targeted when data plane endpoints are called without a + project parameter. + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + description: 'DynamicThrottlingEnabled: The flag to enable dynamic throttling.' + type: boolean + encryption: + description: 'Encryption: The encryption properties for this resource.' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.CognitiveServices + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + properties: + identityClientId: + type: string + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of the Key from KeyVault' + type: string + type: object + type: object + locations: + description: 'Locations: The multiregion settings of Cognitive Services account.' + properties: + regions: + items: + description: The call rate limit Cognitive Services account. + properties: + customsubdomain: + description: 'Customsubdomain: Maps the region to the regional custom subdomain.' + type: string + name: + description: 'Name: Name of the region.' + type: string + value: + description: 'Value: A value for priority or weighted routing methods.' + type: number + type: object + type: array + routingMethod: + description: 'RoutingMethod: Multiregion routing methods.' + enum: + - Performance + - Priority + - Weighted + type: string + type: object + migrationToken: + description: 'MigrationToken: Resource migration token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + networkAcls: + description: 'NetworkAcls: A collection of rules governing the accessibility from specific network locations.' + properties: + bypass: + description: 'Bypass: Setting for trusted services.' + enum: + - AzureServices + - None + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + required: + - value + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility from a specific virtual network. + properties: + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Ignore missing vnet service endpoint or not.' + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: 'State: Gets the state of virtual network rule.' + type: string + required: + - reference + type: object + type: array + type: object + networkInjections: + description: |- + NetworkInjections: Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents + entirely within the user's private network, eliminating public internet exposure while maintaining control over network + configurations and resources. + properties: + scenario: + description: |- + Scenario: Specifies what features in AI Foundry network injection applies to. Currently only supports 'agent' for agent + scenarios. 'none' means no network injection. + enum: + - agent + - none + type: string + subnetArmReference: + description: 'SubnetArmReference: Specify the subnet for which your Agent Client is injected into.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useMicrosoftManagedNetwork: + description: 'UseMicrosoftManagedNetwork: Boolean to enable Microsoft Managed Network for subnet delegation' + type: boolean + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this account.' + enum: + - Disabled + - Enabled + type: string + raiMonitorConfig: + description: 'RaiMonitorConfig: Cognitive Services Rai Monitor Config.' + properties: + adxStorageResourceReference: + description: 'AdxStorageResourceReference: The storage resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identityClientId: + description: 'IdentityClientId: The identity client Id to access the storage.' + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + userOwnedStorage: + description: 'UserOwnedStorage: The storage accounts for this resource.' + items: + description: The user owned storage for Cognitive Services account. + properties: + identityClientId: + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a Microsoft.Storage resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Enterprise + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: Resource Etag.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + description: User-assigned managed identity. + properties: + clientId: + description: 'ClientId: Client App Id associated with this identity.' + type: string + principalId: + description: 'PrincipalId: Azure Active Directory principal ID associated with this Identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + type: object + type: object + kind: + description: 'Kind: The Kind of the resource.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Properties of Cognitive Services account.' + properties: + abusePenalty: + description: 'AbusePenalty: The abuse penalty.' + properties: + action: + description: 'Action: The action of AbusePenalty.' + type: string + expiration: + description: 'Expiration: The datetime of expiration of the AbusePenalty.' + type: string + rateLimitPercentage: + description: 'RateLimitPercentage: The percentage of rate limit.' + type: number + type: object + allowProjectManagement: + description: |- + AllowProjectManagement: Specifies whether this resource support project management as child resources, used as + containers for access management, data isolation and cost in AI Foundry. + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: 'AmlWorkspace: The user owned AML account properties.' + properties: + identityClientId: + description: 'IdentityClientId: Identity Client id of a AML account resource.' + type: string + resourceId: + description: 'ResourceId: Full resource id of a AML account resource.' + type: string + type: object + apiProperties: + description: 'ApiProperties: The api properties for special APIs.' + properties: + aadClientId: + description: 'AadClientId: (Metrics Advisor Only) The Azure AD Client Id (Application Id).' + type: string + aadTenantId: + description: 'AadTenantId: (Metrics Advisor Only) The Azure AD Tenant Id.' + type: string + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + qnaAzureSearchEndpointId: + description: 'QnaAzureSearchEndpointId: (QnAMaker Only) The Azure Search endpoint id of QnAMaker.' + type: string + qnaRuntimeEndpoint: + description: 'QnaRuntimeEndpoint: (QnAMaker Only) The runtime endpoint of QnAMaker.' + type: string + statisticsEnabled: + description: 'StatisticsEnabled: (Bing Search Only) The flag to enable statistics of Bing Search.' + type: boolean + superUser: + description: 'SuperUser: (Metrics Advisor Only) The super user of Metrics Advisor.' + type: string + websiteName: + description: 'WebsiteName: (Metrics Advisor Only) The website name of Metrics Advisor.' + type: string + type: object + associatedProjects: + description: 'AssociatedProjects: Specifies the projects, by project name, that are associated with this resource.' + items: + type: string + type: array + callRateLimit: + description: 'CallRateLimit: The call rate limit Cognitive Services account.' + properties: + count: + description: 'Count: The count value of Call Rate Limit.' + type: number + renewalPeriod: + description: 'RenewalPeriod: The renewal period in seconds of Call Rate Limit.' + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + description: |- + Capabilities: Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific + feature. The values are read-only and for reference only. + items: + description: SkuCapability indicates the capability of a certain feature. + properties: + name: + description: 'Name: The name of the SkuCapability.' + type: string + value: + description: 'Value: The value of the SkuCapability.' + type: string + type: object + type: array + commitmentPlanAssociations: + description: 'CommitmentPlanAssociations: The commitment plan associations of Cognitive Services account.' + items: + description: The commitment plan association. + properties: + commitmentPlanId: + description: 'CommitmentPlanId: The Azure resource id of the commitment plan.' + type: string + commitmentPlanLocation: + description: 'CommitmentPlanLocation: The location of of the commitment plan.' + type: string + type: object + type: array + customSubDomainName: + description: 'CustomSubDomainName: Optional subdomain name used for token-based authentication.' + type: string + dateCreated: + description: 'DateCreated: Gets the date of cognitive services account creation.' + type: string + defaultProject: + description: |- + DefaultProject: Specifies the project, by project name, that is targeted when data plane endpoints are called without a + project parameter. + type: string + deletionDate: + description: 'DeletionDate: The deletion date, only available for deleted account.' + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + description: 'DynamicThrottlingEnabled: The flag to enable dynamic throttling.' + type: boolean + encryption: + description: 'Encryption: The encryption properties for this resource.' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + properties: + identityClientId: + type: string + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of the Key from KeyVault' + type: string + type: object + type: object + endpoint: + description: 'Endpoint: Endpoint of the created account.' + type: string + endpoints: + additionalProperties: + type: string + type: object + internalId: + description: 'InternalId: The internal identifier (deprecated, do not use this property).' + type: string + isMigrated: + description: 'IsMigrated: If the resource is migrated from an existing key.' + type: boolean + locations: + description: 'Locations: The multiregion settings of Cognitive Services account.' + properties: + regions: + items: + description: The call rate limit Cognitive Services account. + properties: + customsubdomain: + description: 'Customsubdomain: Maps the region to the regional custom subdomain.' + type: string + name: + description: 'Name: Name of the region.' + type: string + value: + description: 'Value: A value for priority or weighted routing methods.' + type: number + type: object + type: array + routingMethod: + description: 'RoutingMethod: Multiregion routing methods.' + type: string + type: object + networkAcls: + description: 'NetworkAcls: A collection of rules governing the accessibility from specific network locations.' + properties: + bypass: + description: 'Bypass: Setting for trusted services.' + type: string + defaultAction: + description: |- + DefaultAction: The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after + the bypass property has been evaluated. + type: string + ipRules: + description: 'IpRules: The list of IP address rules.' + items: + description: A rule governing the accessibility from a specific ip address or ip range. + properties: + value: + description: |- + Value: An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all + addresses that start with 124.56.78). + type: string + type: object + type: array + virtualNetworkRules: + description: 'VirtualNetworkRules: The list of virtual network rules.' + items: + description: A rule governing the accessibility from a specific virtual network. + properties: + id: + description: |- + Id: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + type: string + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Ignore missing vnet service endpoint or not.' + type: boolean + state: + description: 'State: Gets the state of virtual network rule.' + type: string + type: object + type: array + type: object + networkInjections: + description: |- + NetworkInjections: Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents + entirely within the user's private network, eliminating public internet exposure while maintaining control over network + configurations and resources. + properties: + scenario: + description: |- + Scenario: Specifies what features in AI Foundry network injection applies to. Currently only supports 'agent' for agent + scenarios. 'none' means no network injection. + type: string + subnetArmId: + description: 'SubnetArmId: Specify the subnet for which your Agent Client is injected into.' + type: string + useMicrosoftManagedNetwork: + description: 'UseMicrosoftManagedNetwork: Boolean to enable Microsoft Managed Network for subnet delegation' + type: boolean + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: The private endpoint connection associated with the Cognitive Services account.' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Gets the status of the cognitive services account at the time the operation was called.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this account.' + type: string + quotaLimit: + properties: + count: + type: number + renewalPeriod: + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + raiMonitorConfig: + description: 'RaiMonitorConfig: Cognitive Services Rai Monitor Config.' + properties: + adxStorageResourceId: + description: 'AdxStorageResourceId: The storage resource Id.' + type: string + identityClientId: + description: 'IdentityClientId: The identity client Id to access the storage.' + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + scheduledPurgeDate: + description: 'ScheduledPurgeDate: The scheduled purge date, only available for deleted account.' + type: string + skuChangeInfo: + description: 'SkuChangeInfo: Sku change info of account.' + properties: + countOfDowngrades: + description: 'CountOfDowngrades: Gets the count of downgrades.' + type: number + countOfUpgradesAfterDowngrades: + description: 'CountOfUpgradesAfterDowngrades: Gets the count of upgrades after downgrades.' + type: number + lastChangeDate: + description: 'LastChangeDate: Gets the last change date.' + type: string + type: object + userOwnedStorage: + description: 'UserOwnedStorage: The storage accounts for this resource.' + items: + description: The user owned storage for Cognitive Services account. + properties: + identityClientId: + type: string + resourceId: + description: 'ResourceId: Full resource id of a Microsoft.Storage resource.' + type: string + type: object + type: array + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250601.Account + Generator information: + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250601.Account_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20250601.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20250601.AccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20250601.AccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key1: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + key2: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20250601.AccountProperties + Properties of Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowProjectManagement: + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: |- + Storage version of v1api20250601.UserOwnedAmlWorkspace + The user owned AML account for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a AML account resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + apiProperties: + description: |- + Storage version of v1api20250601.ApiProperties + The api properties for special APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadClientId: + type: string + aadClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + aadTenantId: + type: string + aadTenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + eventHubConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointId: + type: string + qnaAzureSearchEndpointIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaAzureSearchEndpointKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + qnaRuntimeEndpoint: + type: string + qnaRuntimeEndpointFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + statisticsEnabled: + type: boolean + storageAccountConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + superUser: + type: string + superUserFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + websiteName: + type: string + websiteNameFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + associatedProjects: + items: + type: string + type: array + customSubDomainName: + type: string + defaultProject: + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + type: boolean + encryption: + description: |- + Storage version of v1api20250601.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20250601.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: object + locations: + description: |- + Storage version of v1api20250601.MultiRegionSettings + The multiregion settings Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regions: + items: + description: |- + Storage version of v1api20250601.RegionSetting + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customsubdomain: + type: string + name: + type: string + value: + type: number + type: object + type: array + routingMethod: + type: string + type: object + migrationToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + networkAcls: + description: |- + Storage version of v1api20250601.NetworkRuleSet + A set of rules governing the network accessibility. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20250601.IpRule + A rule governing the accessibility from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20250601.VirtualNetworkRule + A rule governing the accessibility from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVnetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Full resource id of a vnet subnet, such as + '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + required: + - reference + type: object + type: array + type: object + networkInjections: + description: |- + Storage version of v1api20250601.NetworkInjections + Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the + user's private network, eliminating public internet exposure while maintaining control over network configurations and + resources. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scenario: + type: string + subnetArmReference: + description: 'SubnetArmReference: Specify the subnet for which your Agent Client is injected into.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useMicrosoftManagedNetwork: + type: boolean + type: object + publicNetworkAccess: + type: string + raiMonitorConfig: + description: |- + Storage version of v1api20250601.RaiMonitorConfig + Cognitive Services Rai Monitor Config. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adxStorageResourceReference: + description: 'AdxStorageResourceReference: The storage resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identityClientId: + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + userOwnedStorage: + items: + description: |- + Storage version of v1api20250601.UserOwnedStorage + The user owned storage for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceReference: + description: 'ResourceReference: Full resource id of a Microsoft.Storage resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + sku: + description: |- + Storage version of v1api20250601.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250601.Account_STATUS + Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250601.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250601.UserAssignedIdentity_STATUS + User-assigned managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20250601.AccountProperties_STATUS + Properties of Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + abusePenalty: + description: |- + Storage version of v1api20250601.AbusePenalty_STATUS + The abuse penalty. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + expiration: + type: string + rateLimitPercentage: + type: number + type: object + allowProjectManagement: + type: boolean + allowedFqdnList: + items: + type: string + type: array + amlWorkspace: + description: |- + Storage version of v1api20250601.UserOwnedAmlWorkspace_STATUS + The user owned AML account for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceId: + type: string + type: object + apiProperties: + description: |- + Storage version of v1api20250601.ApiProperties_STATUS + The api properties for special APIs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadClientId: + type: string + aadTenantId: + type: string + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + qnaAzureSearchEndpointId: + type: string + qnaRuntimeEndpoint: + type: string + statisticsEnabled: + type: boolean + superUser: + type: string + websiteName: + type: string + type: object + associatedProjects: + items: + type: string + type: array + callRateLimit: + description: |- + Storage version of v1api20250601.CallRateLimit_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + items: + description: |- + Storage version of v1api20250601.SkuCapability_STATUS + SkuCapability indicates the capability of a certain feature. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + commitmentPlanAssociations: + items: + description: |- + Storage version of v1api20250601.CommitmentPlanAssociation_STATUS + The commitment plan association. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + commitmentPlanId: + type: string + commitmentPlanLocation: + type: string + type: object + type: array + customSubDomainName: + type: string + dateCreated: + type: string + defaultProject: + type: string + deletionDate: + type: string + disableLocalAuth: + type: boolean + dynamicThrottlingEnabled: + type: boolean + encryption: + description: |- + Storage version of v1api20250601.Encryption_STATUS + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20250601.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: object + endpoint: + type: string + endpoints: + additionalProperties: + type: string + type: object + internalId: + type: string + isMigrated: + type: boolean + locations: + description: |- + Storage version of v1api20250601.MultiRegionSettings_STATUS + The multiregion settings Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + regions: + items: + description: |- + Storage version of v1api20250601.RegionSetting_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customsubdomain: + type: string + name: + type: string + value: + type: number + type: object + type: array + routingMethod: + type: string + type: object + networkAcls: + description: |- + Storage version of v1api20250601.NetworkRuleSet_STATUS + A set of rules governing the network accessibility. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypass: + type: string + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20250601.IpRule_STATUS + A rule governing the accessibility from a specific ip address or ip range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualNetworkRules: + items: + description: |- + Storage version of v1api20250601.VirtualNetworkRule_STATUS + A rule governing the accessibility from a specific virtual network. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVnetServiceEndpoint: + type: boolean + state: + type: string + type: object + type: array + type: object + networkInjections: + description: |- + Storage version of v1api20250601.NetworkInjections_STATUS + Specifies in AI Foundry where virtual network injection occurs to secure scenarios like Agents entirely within the + user's private network, eliminating public internet exposure while maintaining control over network configurations and + resources. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scenario: + type: string + subnetArmId: + type: string + useMicrosoftManagedNetwork: + type: boolean + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20250601.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + quotaLimit: + description: Storage version of v1api20250601.QuotaLimit_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + raiMonitorConfig: + description: |- + Storage version of v1api20250601.RaiMonitorConfig_STATUS + Cognitive Services Rai Monitor Config. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adxStorageResourceId: + type: string + identityClientId: + type: string + type: object + restore: + type: boolean + restrictOutboundNetworkAccess: + type: boolean + scheduledPurgeDate: + type: string + skuChangeInfo: + description: |- + Storage version of v1api20250601.SkuChangeInfo_STATUS + Sku change info of account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countOfDowngrades: + type: number + countOfUpgradesAfterDowngrades: + type: number + lastChangeDate: + type: string + type: object + userOwnedStorage: + items: + description: |- + Storage version of v1api20250601.UserOwnedStorage_STATUS + The user owned storage for Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + resourceId: + type: string + type: object + type: array + type: object + sku: + description: |- + Storage version of v1api20250601.Sku_STATUS + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: accounts.monitor.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: monitor.azure.com + names: + categories: + - azure + - monitor + kind: Account + listKind: AccountList + plural: accounts + singular: account + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230403 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + accountId: + description: 'AccountId: The immutable Id of the Azure Monitor Workspace. This property is read-only.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultIngestionSettings: + description: 'DefaultIngestionSettings: The Data Collection Rule and Endpoint used for ingestion by default.' + properties: + dataCollectionEndpointResourceId: + description: |- + DataCollectionEndpointResourceId: The Azure resource Id of the default data collection endpoint for this Azure Monitor + Workspace. + type: string + dataCollectionRuleResourceId: + description: 'DataCollectionRuleResourceId: The Azure resource Id of the default data collection rule for this Azure Monitor Workspace.' + type: string + type: object + etag: + description: 'Etag: Resource entity tag (ETag)' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + metrics: + description: 'Metrics: Properties related to the metrics container in the Azure Monitor Workspace' + properties: + internalId: + description: 'InternalId: An internal identifier for the metrics container. Only to be used by the system' + type: string + prometheusQueryEndpoint: + description: 'PrometheusQueryEndpoint: The Prometheus query endpoint for the Azure Monitor Workspace' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the Azure Monitor Workspace. Set to Succeeded if everything is healthy.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230403storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230403.Account + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230403.Account_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230403.AccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230403.Account_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + defaultIngestionSettings: + description: |- + Storage version of v1api20230403.IngestionSettings_STATUS + Settings for data ingestion + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataCollectionEndpointResourceId: + type: string + dataCollectionRuleResourceId: + type: string + type: object + etag: + type: string + id: + type: string + location: + type: string + metrics: + description: |- + Storage version of v1api20230403.Metrics_STATUS + Properties related to the metrics container in the Azure Monitor Workspace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + internalId: + type: string + prometheusQueryEndpoint: + type: string + type: object + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230403.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + systemData: + description: |- + Storage version of v1api20230403.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: actiongroups.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: ActionGroup + listKind: ActionGroupList + plural: actiongroups + singular: actiongroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-01-01/actionGroups_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + armRoleReceivers: + description: |- + ArmRoleReceivers: The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only + built-in roles are supported. + items: + description: An arm role receiver. + properties: + name: + description: 'Name: The name of the arm role receiver. Names must be unique across all receivers within an action group.' + type: string + roleId: + description: 'RoleId: The arm role id.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - name + - roleId + type: object + type: array + automationRunbookReceivers: + description: 'AutomationRunbookReceivers: The list of AutomationRunbook receivers that are part of this action group.' + items: + description: The Azure Automation Runbook notification receiver. + properties: + automationAccountId: + description: 'AutomationAccountId: The Azure automation account Id which holds this runbook and authenticate to Azure resource.' + type: string + isGlobalRunbook: + description: 'IsGlobalRunbook: Indicates whether this instance is global runbook.' + type: boolean + name: + description: 'Name: Indicates name of the webhook.' + type: string + runbookName: + description: 'RunbookName: The name for this runbook.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + webhookResourceReference: + description: 'WebhookResourceReference: The resource id for webhook linked to this runbook.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - automationAccountId + - isGlobalRunbook + - runbookName + - webhookResourceReference + type: object + type: array + azureAppPushReceivers: + description: 'AzureAppPushReceivers: The list of AzureAppPush receivers that are part of this action group.' + items: + description: The Azure mobile App push notification receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address registered for the Azure mobile app.' + type: string + name: + description: 'Name: The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group.' + type: string + required: + - emailAddress + - name + type: object + type: array + azureFunctionReceivers: + description: 'AzureFunctionReceivers: The list of azure function receivers that are part of this action group.' + items: + description: An azure function receiver. + properties: + functionAppResourceReference: + description: 'FunctionAppResourceReference: The azure resource id of the function app.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + functionName: + description: 'FunctionName: The function name in the function app.' + type: string + httpTriggerUrl: + description: 'HttpTriggerUrl: The http trigger url where http request sent to.' + type: string + name: + description: 'Name: The name of the azure function receiver. Names must be unique across all receivers within an action group.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - functionAppResourceReference + - functionName + - httpTriggerUrl + - name + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + emailReceivers: + description: 'EmailReceivers: The list of email receivers that are part of this action group.' + items: + description: An email receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address of this receiver.' + type: string + name: + description: 'Name: The name of the email receiver. Names must be unique across all receivers within an action group.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - emailAddress + - name + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers + will receive communications. + type: boolean + eventHubReceivers: + description: 'EventHubReceivers: The list of event hub receivers that are part of this action group.' + items: + description: An Event hub receiver. + properties: + eventHubName: + description: 'EventHubName: The name of the specific Event Hub queue' + type: string + eventHubNameSpace: + description: 'EventHubNameSpace: The Event Hub namespace' + type: string + name: + description: 'Name: The name of the Event hub receiver. Names must be unique across all receivers within an action group.' + type: string + subscriptionId: + description: 'SubscriptionId: The Id for the subscription containing this event hub' + type: string + tenantId: + description: 'TenantId: The tenant Id for the subscription containing this event hub' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - eventHubName + - eventHubNameSpace + - name + - subscriptionId + type: object + type: array + groupShortName: + description: 'GroupShortName: The short name of the action group. This will be used in SMS messages.' + maxLength: 12 + type: string + itsmReceivers: + description: 'ItsmReceivers: The list of ITSM receivers that are part of this action group.' + items: + description: An Itsm receiver. + properties: + connectionId: + description: 'ConnectionId: Unique identification of ITSM connection among multiple defined in above workspace.' + type: string + name: + description: 'Name: The name of the Itsm receiver. Names must be unique across all receivers within an action group.' + type: string + region: + description: |- + Region: Region in which workspace resides. Supported + values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope' + type: string + ticketConfiguration: + description: |- + TicketConfiguration: JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of + this blob as well. + type: string + workspaceId: + description: 'WorkspaceId: OMS LA instance identifier.' + type: string + required: + - connectionId + - name + - region + - ticketConfiguration + - workspaceId + type: object + type: array + location: + description: 'Location: Resource location' + type: string + logicAppReceivers: + description: 'LogicAppReceivers: The list of logic app receivers that are part of this action group.' + items: + description: A logic app receiver. + properties: + callbackUrl: + description: 'CallbackUrl: The callback url where http request sent to.' + type: string + name: + description: 'Name: The name of the logic app receiver. Names must be unique across all receivers within an action group.' + type: string + resourceReference: + description: 'ResourceReference: The azure resource id of the logic app receiver.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - callbackUrl + - name + - resourceReference + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + smsReceivers: + description: 'SmsReceivers: The list of SMS receivers that are part of this action group.' + items: + description: An SMS receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the SMS receiver.' + type: string + name: + description: 'Name: The name of the SMS receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the SMS receiver.' + type: string + required: + - countryCode + - name + - phoneNumber + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + voiceReceivers: + description: 'VoiceReceivers: The list of voice receivers that are part of this action group.' + items: + description: A voice receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the voice receiver.' + type: string + name: + description: 'Name: The name of the voice receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the voice receiver.' + type: string + required: + - countryCode + - name + - phoneNumber + type: object + type: array + webhookReceivers: + description: 'WebhookReceivers: The list of webhook receivers that are part of this action group.' + items: + description: A webhook receiver. + properties: + identifierUri: + description: 'IdentifierUri: Indicates the identifier uri for aad auth.' + type: string + name: + description: 'Name: The name of the webhook receiver. Names must be unique across all receivers within an action group.' + type: string + objectId: + description: 'ObjectId: Indicates the webhook app object Id for aad auth.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + tenantId: + description: 'TenantId: Indicates the tenant id for aad auth.' + type: string + useAadAuth: + description: 'UseAadAuth: Indicates whether or not use AAD authentication.' + type: boolean + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + required: + - name + - serviceUri + type: object + type: array + required: + - enabled + - groupShortName + - location + - owner + type: object + status: + description: An action group resource. + properties: + armRoleReceivers: + description: |- + ArmRoleReceivers: The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only + built-in roles are supported. + items: + description: An arm role receiver. + properties: + name: + description: 'Name: The name of the arm role receiver. Names must be unique across all receivers within an action group.' + type: string + roleId: + description: 'RoleId: The arm role id.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + automationRunbookReceivers: + description: 'AutomationRunbookReceivers: The list of AutomationRunbook receivers that are part of this action group.' + items: + description: The Azure Automation Runbook notification receiver. + properties: + automationAccountId: + description: 'AutomationAccountId: The Azure automation account Id which holds this runbook and authenticate to Azure resource.' + type: string + isGlobalRunbook: + description: 'IsGlobalRunbook: Indicates whether this instance is global runbook.' + type: boolean + name: + description: 'Name: Indicates name of the webhook.' + type: string + runbookName: + description: 'RunbookName: The name for this runbook.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + webhookResourceId: + description: 'WebhookResourceId: The resource id for webhook linked to this runbook.' + type: string + type: object + type: array + azureAppPushReceivers: + description: 'AzureAppPushReceivers: The list of AzureAppPush receivers that are part of this action group.' + items: + description: The Azure mobile App push notification receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address registered for the Azure mobile app.' + type: string + name: + description: 'Name: The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group.' + type: string + type: object + type: array + azureFunctionReceivers: + description: 'AzureFunctionReceivers: The list of azure function receivers that are part of this action group.' + items: + description: An azure function receiver. + properties: + functionAppResourceId: + description: 'FunctionAppResourceId: The azure resource id of the function app.' + type: string + functionName: + description: 'FunctionName: The function name in the function app.' + type: string + httpTriggerUrl: + description: 'HttpTriggerUrl: The http trigger url where http request sent to.' + type: string + name: + description: 'Name: The name of the azure function receiver. Names must be unique across all receivers within an action group.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + emailReceivers: + description: 'EmailReceivers: The list of email receivers that are part of this action group.' + items: + description: An email receiver. + properties: + emailAddress: + description: 'EmailAddress: The email address of this receiver.' + type: string + name: + description: 'Name: The name of the email receiver. Names must be unique across all receivers within an action group.' + type: string + status: + description: 'Status: The receiver status of the e-mail.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers + will receive communications. + type: boolean + eventHubReceivers: + description: 'EventHubReceivers: The list of event hub receivers that are part of this action group.' + items: + description: An Event hub receiver. + properties: + eventHubName: + description: 'EventHubName: The name of the specific Event Hub queue' + type: string + eventHubNameSpace: + description: 'EventHubNameSpace: The Event Hub namespace' + type: string + name: + description: 'Name: The name of the Event hub receiver. Names must be unique across all receivers within an action group.' + type: string + subscriptionId: + description: 'SubscriptionId: The Id for the subscription containing this event hub' + type: string + tenantId: + description: 'TenantId: The tenant Id for the subscription containing this event hub' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + groupShortName: + description: 'GroupShortName: The short name of the action group. This will be used in SMS messages.' + type: string + id: + description: 'Id: Azure resource Id' + type: string + itsmReceivers: + description: 'ItsmReceivers: The list of ITSM receivers that are part of this action group.' + items: + description: An Itsm receiver. + properties: + connectionId: + description: 'ConnectionId: Unique identification of ITSM connection among multiple defined in above workspace.' + type: string + name: + description: 'Name: The name of the Itsm receiver. Names must be unique across all receivers within an action group.' + type: string + region: + description: |- + Region: Region in which workspace resides. Supported + values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope' + type: string + ticketConfiguration: + description: |- + TicketConfiguration: JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of + this blob as well. + type: string + workspaceId: + description: 'WorkspaceId: OMS LA instance identifier.' + type: string + type: object + type: array + location: + description: 'Location: Resource location' + type: string + logicAppReceivers: + description: 'LogicAppReceivers: The list of logic app receivers that are part of this action group.' + items: + description: A logic app receiver. + properties: + callbackUrl: + description: 'CallbackUrl: The callback url where http request sent to.' + type: string + name: + description: 'Name: The name of the logic app receiver. Names must be unique across all receivers within an action group.' + type: string + resourceId: + description: 'ResourceId: The azure resource id of the logic app receiver.' + type: string + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + name: + description: 'Name: Azure resource name' + type: string + smsReceivers: + description: 'SmsReceivers: The list of SMS receivers that are part of this action group.' + items: + description: An SMS receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the SMS receiver.' + type: string + name: + description: 'Name: The name of the SMS receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the SMS receiver.' + type: string + status: + description: 'Status: The status of the receiver.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + voiceReceivers: + description: 'VoiceReceivers: The list of voice receivers that are part of this action group.' + items: + description: A voice receiver. + properties: + countryCode: + description: 'CountryCode: The country code of the voice receiver.' + type: string + name: + description: 'Name: The name of the voice receiver. Names must be unique across all receivers within an action group.' + type: string + phoneNumber: + description: 'PhoneNumber: The phone number of the voice receiver.' + type: string + type: object + type: array + webhookReceivers: + description: 'WebhookReceivers: The list of webhook receivers that are part of this action group.' + items: + description: A webhook receiver. + properties: + identifierUri: + description: 'IdentifierUri: Indicates the identifier uri for aad auth.' + type: string + name: + description: 'Name: The name of the webhook receiver. Names must be unique across all receivers within an action group.' + type: string + objectId: + description: 'ObjectId: Indicates the webhook app object Id for aad auth.' + type: string + serviceUri: + description: 'ServiceUri: The URI where webhooks should be sent.' + type: string + tenantId: + description: 'TenantId: Indicates the tenant id for aad auth.' + type: string + useAadAuth: + description: 'UseAadAuth: Indicates whether or not use AAD authentication.' + type: boolean + useCommonAlertSchema: + description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + type: boolean + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.ActionGroup + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-01-01/actionGroups_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.ActionGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + armRoleReceivers: + items: + description: |- + Storage version of v1api20230101.ArmRoleReceiver + An arm role receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + roleId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + automationRunbookReceivers: + items: + description: |- + Storage version of v1api20230101.AutomationRunbookReceiver + The Azure Automation Runbook notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automationAccountId: + type: string + isGlobalRunbook: + type: boolean + name: + type: string + runbookName: + type: string + serviceUri: + type: string + useCommonAlertSchema: + type: boolean + webhookResourceReference: + description: 'WebhookResourceReference: The resource id for webhook linked to this runbook.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - webhookResourceReference + type: object + type: array + azureAppPushReceivers: + items: + description: |- + Storage version of v1api20230101.AzureAppPushReceiver + The Azure mobile App push notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + type: object + type: array + azureFunctionReceivers: + items: + description: |- + Storage version of v1api20230101.AzureFunctionReceiver + An azure function receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + functionAppResourceReference: + description: 'FunctionAppResourceReference: The azure resource id of the function app.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + functionName: + type: string + httpTriggerUrl: + type: string + name: + type: string + useCommonAlertSchema: + type: boolean + required: + - functionAppResourceReference + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + emailReceivers: + items: + description: |- + Storage version of v1api20230101.EmailReceiver + An email receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + enabled: + type: boolean + eventHubReceivers: + items: + description: |- + Storage version of v1api20230101.EventHubReceiver + An Event hub receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubName: + type: string + eventHubNameSpace: + type: string + name: + type: string + subscriptionId: + type: string + tenantId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + groupShortName: + type: string + itsmReceivers: + items: + description: |- + Storage version of v1api20230101.ItsmReceiver + An Itsm receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionId: + type: string + name: + type: string + region: + type: string + ticketConfiguration: + type: string + workspaceId: + type: string + type: object + type: array + location: + type: string + logicAppReceivers: + items: + description: |- + Storage version of v1api20230101.LogicAppReceiver + A logic app receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callbackUrl: + type: string + name: + type: string + resourceReference: + description: 'ResourceReference: The azure resource id of the logic app receiver.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + useCommonAlertSchema: + type: boolean + required: + - resourceReference + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20230101.ActionGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + smsReceivers: + items: + description: |- + Storage version of v1api20230101.SmsReceiver + An SMS receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + voiceReceivers: + items: + description: |- + Storage version of v1api20230101.VoiceReceiver + A voice receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + type: object + type: array + webhookReceivers: + items: + description: |- + Storage version of v1api20230101.WebhookReceiver + A webhook receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifierUri: + type: string + name: + type: string + objectId: + type: string + serviceUri: + type: string + tenantId: + type: string + useAadAuth: + type: boolean + useCommonAlertSchema: + type: boolean + type: object + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230101.ActionGroupResource_STATUS + An action group resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + armRoleReceivers: + items: + description: |- + Storage version of v1api20230101.ArmRoleReceiver_STATUS + An arm role receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + roleId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + automationRunbookReceivers: + items: + description: |- + Storage version of v1api20230101.AutomationRunbookReceiver_STATUS + The Azure Automation Runbook notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automationAccountId: + type: string + isGlobalRunbook: + type: boolean + name: + type: string + runbookName: + type: string + serviceUri: + type: string + useCommonAlertSchema: + type: boolean + webhookResourceId: + type: string + type: object + type: array + azureAppPushReceivers: + items: + description: |- + Storage version of v1api20230101.AzureAppPushReceiver_STATUS + The Azure mobile App push notification receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + type: object + type: array + azureFunctionReceivers: + items: + description: |- + Storage version of v1api20230101.AzureFunctionReceiver_STATUS + An azure function receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + functionAppResourceId: + type: string + functionName: + type: string + httpTriggerUrl: + type: string + name: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + emailReceivers: + items: + description: |- + Storage version of v1api20230101.EmailReceiver_STATUS + An email receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailAddress: + type: string + name: + type: string + status: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + enabled: + type: boolean + eventHubReceivers: + items: + description: |- + Storage version of v1api20230101.EventHubReceiver_STATUS + An Event hub receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubName: + type: string + eventHubNameSpace: + type: string + name: + type: string + subscriptionId: + type: string + tenantId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + groupShortName: + type: string + id: + type: string + itsmReceivers: + items: + description: |- + Storage version of v1api20230101.ItsmReceiver_STATUS + An Itsm receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionId: + type: string + name: + type: string + region: + type: string + ticketConfiguration: + type: string + workspaceId: + type: string + type: object + type: array + location: + type: string + logicAppReceivers: + items: + description: |- + Storage version of v1api20230101.LogicAppReceiver_STATUS + A logic app receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callbackUrl: + type: string + name: + type: string + resourceId: + type: string + useCommonAlertSchema: + type: boolean + type: object + type: array + name: + type: string + smsReceivers: + items: + description: |- + Storage version of v1api20230101.SmsReceiver_STATUS + An SMS receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + status: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + voiceReceivers: + items: + description: |- + Storage version of v1api20230101.VoiceReceiver_STATUS + A voice receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + countryCode: + type: string + name: + type: string + phoneNumber: + type: string + type: object + type: array + webhookReceivers: + items: + description: |- + Storage version of v1api20230101.WebhookReceiver_STATUS + A webhook receiver. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifierUri: + type: string + name: + type: string + objectId: + type: string + serviceUri: + type: string + tenantId: + type: string + useAadAuth: + type: boolean + useCommonAlertSchema: + type: boolean + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: activitylogalerts.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: ActivityLogAlert + listKind: ActivityLogAlertList + plural: activitylogalerts + singular: activitylogalert + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/activityLogAlerts/{activityLogAlertName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: 'Actions: The actions that will activate when the condition is met.' + properties: + actionGroups: + description: 'ActionGroups: The list of the Action Groups.' + items: + description: A pointer to an Azure Action Group. + properties: + actionGroupReference: + description: 'ActionGroupReference: The resource ID of the Action Group. This cannot be null or empty.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + webhookProperties: + additionalProperties: + type: string + description: |- + WebhookProperties: the dictionary of custom properties to include with the post operation. These data are appended to + the webhook payload. + type: object + required: + - actionGroupReference + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + description: 'Condition: The condition that will cause this alert to activate.' + properties: + allOf: + description: 'AllOf: The list of Activity Log Alert rule conditions.' + items: + description: |- + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + anyOf: + description: 'AnyOf: An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met.' + items: + description: |- + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + required: + - allOf + type: object + description: + description: 'Description: A description of this Activity Log Alert rule.' + type: string + enabled: + description: |- + Enabled: Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then + none of its actions will be activated. + type: boolean + location: + description: |- + Location: The location of the resource. Azure Activity Log Alert rules are supported on Global, West Europe and North + Europe regions. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + description: |- + ScopesReferences: A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events + with resource IDs that fall under one of these prefixes. This list must include at least one item. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + required: + - actions + - condition + - owner + - scopesReferences + type: object + status: + properties: + actions: + description: 'Actions: The actions that will activate when the condition is met.' + properties: + actionGroups: + description: 'ActionGroups: The list of the Action Groups.' + items: + description: A pointer to an Azure Action Group. + properties: + actionGroupId: + description: 'ActionGroupId: The resource ID of the Action Group. This cannot be null or empty.' + type: string + webhookProperties: + additionalProperties: + type: string + description: |- + WebhookProperties: the dictionary of custom properties to include with the post operation. These data are appended to + the webhook payload. + type: object + type: object + type: array + type: object + condition: + description: 'Condition: The condition that will cause this alert to activate.' + properties: + allOf: + description: 'AllOf: The list of Activity Log Alert rule conditions.' + items: + description: |- + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + anyOf: + description: 'AnyOf: An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met.' + items: + description: |- + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + containsAny: + description: |- + ContainsAny: The value of the event's field will be compared to the values in this array (case-insensitive) to determine + if the condition is met. + items: + type: string + type: array + equals: + description: |- + Equals: The value of the event's field will be compared to this value (case-insensitive) to determine if the condition + is met. + type: string + field: + description: |- + Field: The name of the Activity Log event's field that this condition will examine. + The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', + 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'. + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: A description of this Activity Log Alert rule.' + type: string + enabled: + description: |- + Enabled: Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then + none of its actions will be activated. + type: boolean + id: + description: 'Id: The resource Id.' + type: string + location: + description: |- + Location: The location of the resource. Azure Activity Log Alert rules are supported on Global, West Europe and North + Europe regions. + type: string + name: + description: 'Name: The name of the resource.' + type: string + scopes: + description: |- + Scopes: A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events with + resource IDs that fall under one of these prefixes. This list must include at least one item. + items: + type: string + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201001.ActivityLogAlert + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/activityLogAlerts/{activityLogAlertName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201001.ActivityLogAlert_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20201001.ActionList + A list of Activity Log Alert rule actions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + description: |- + Storage version of v1api20201001.ActionGroupReference + A pointer to an Azure Action Group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupReference: + description: 'ActionGroupReference: The resource ID of the Action Group. This cannot be null or empty.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + webhookProperties: + additionalProperties: + type: string + type: object + required: + - actionGroupReference + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + condition: + description: |- + Storage version of v1api20201001.AlertRuleAllOfCondition + An Activity Log Alert rule condition that is met when all its member conditions are met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleAnyOfOrLeafCondition + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + anyOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleLeafCondition + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + type: object + description: + type: string + enabled: + type: boolean + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20201001.ActivityLogAlertOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20201001.ActivityLogAlert_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20201001.ActionList_STATUS + A list of Activity Log Alert rule actions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + description: |- + Storage version of v1api20201001.ActionGroup_STATUS + A pointer to an Azure Action Group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + webhookProperties: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + condition: + description: |- + Storage version of v1api20201001.AlertRuleAllOfCondition_STATUS + An Activity Log Alert rule condition that is met when all its member conditions are met. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleAnyOfOrLeafCondition_STATUS + An Activity Log Alert rule condition that is met when all its member conditions are met. + Each condition can be of one of + the following types: + __Important__: Each type has its unique subset of properties. Properties from different types + CANNOT exist in one condition. + * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'. + _Please note, 'anyOf' should __not__ be set in a Leaf Condition._ + * __AnyOf Condition -__ must contain __only__ + 'anyOf' (which is an array of Leaf Conditions). + _Please note, 'field', 'equals' and 'containsAny' should __not__ be + set in an AnyOf Condition._ + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + anyOf: + items: + description: |- + Storage version of v1api20201001.AlertRuleLeafCondition_STATUS + An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event. + This + condition must contain 'field' and either 'equals' or 'containsAny'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + containsAny: + items: + type: string + type: array + equals: + type: string + field: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + enabled: + type: boolean + id: + type: string + location: + type: string + name: + type: string + scopes: + items: + type: string + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: afdcustomdomains.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdCustomDomain + listKind: AfdCustomDomainList + plural: afdcustomdomains + singular: afdcustomdomain + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureDnsZone: + description: 'AzureDnsZone: Resource reference to the Azure DNS zone' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedProperties: + additionalProperties: + type: string + description: 'ExtendedProperties: Key-Value pair representing migration properties for domains.' + type: object + hostName: + description: 'HostName: The host name of the domain. Must be a domain name.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + preValidatedCustomDomainResourceId: + description: |- + PreValidatedCustomDomainResourceId: Resource reference to the Azure resource where custom domain ownership was + prevalidated + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tlsSettings: + description: |- + TlsSettings: The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate + or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default. + properties: + certificateType: + description: 'CertificateType: Defines the source of the SSL certificate.' + enum: + - AzureFirstPartyManagedCertificate + - CustomerCertificate + - ManagedCertificate + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: TLS protocol version that will be used for Https' + enum: + - TLS10 + - TLS12 + type: string + secret: + description: 'Secret: Resource reference to the secret. ie. subs/rg/profile/secret' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - certificateType + type: object + required: + - hostName + - owner + type: object + status: + properties: + azureDnsZone: + description: 'AzureDnsZone: Resource reference to the Azure DNS zone' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + domainValidationState: + description: |- + DomainValidationState: Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. + DCV stands for DomainControlValidation. + type: string + extendedProperties: + additionalProperties: + type: string + description: 'ExtendedProperties: Key-Value pair representing migration properties for domains.' + type: object + hostName: + description: 'HostName: The host name of the domain. Must be a domain name.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + preValidatedCustomDomainResourceId: + description: |- + PreValidatedCustomDomainResourceId: Resource reference to the Azure resource where custom domain ownership was + prevalidated + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + profileName: + description: 'ProfileName: The name of the profile which holds the domain.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tlsSettings: + description: |- + TlsSettings: The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate + or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default. + properties: + certificateType: + description: 'CertificateType: Defines the source of the SSL certificate.' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: TLS protocol version that will be used for Https' + type: string + secret: + description: 'Secret: Resource reference to the secret. ie. subs/rg/profile/secret' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: + description: 'Type: Resource type.' + type: string + validationProperties: + description: 'ValidationProperties: Values the customer needs to validate domain ownership' + properties: + expirationDate: + description: 'ExpirationDate: The date time that the token expires' + type: string + validationToken: + description: 'ValidationToken: Challenge used for DNS TXT record or file based validation' + type: string + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdCustomDomain + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdCustomDomain_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDnsZone: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedProperties: + additionalProperties: + type: string + type: object + hostName: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.AfdCustomDomainOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + preValidatedCustomDomainResourceId: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tlsSettings: + description: |- + Storage version of v1api20230501.AFDDomainHttpsParameters + The JSON object that contains the properties to secure a domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateType: + type: string + minimumTlsVersion: + type: string + secret: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdCustomDomain_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDnsZone: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + domainValidationState: + type: string + extendedProperties: + additionalProperties: + type: string + type: object + hostName: + type: string + id: + type: string + name: + type: string + preValidatedCustomDomainResourceId: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tlsSettings: + description: |- + Storage version of v1api20230501.AFDDomainHttpsParameters_STATUS + The JSON object that contains the properties to secure a domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateType: + type: string + minimumTlsVersion: + type: string + secret: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: + type: string + validationProperties: + description: |- + Storage version of v1api20230501.DomainValidationProperties_STATUS + The JSON object that contains the properties to validate a domain. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationDate: + type: string + validationToken: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: afdendpoints.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdEndpoint + listKind: AfdEndpointList + plural: afdendpoints + singular: afdendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoGeneratedDomainNameLabelScope: + description: 'AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.' + enum: + - NoReuse + - ResourceGroupReuse + - SubscriptionReuse + - TenantReuse + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + enum: + - Disabled + - Enabled + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + autoGeneratedDomainNameLabelScope: + description: 'AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + type: string + hostName: + description: 'HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + profileName: + description: 'ProfileName: The name of the profile which holds the endpoint.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdEndpoint + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdEndpoint_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabledState: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.AfdEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + type: string + hostName: + type: string + id: + type: string + location: + type: string + name: + type: string + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: afdorigingroups.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdOriginGroup + listKind: AfdOriginGroupList + plural: afdorigingroups + singular: afdorigingroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' + properties: + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + maximum: 255 + minimum: 1 + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' + type: string + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + enum: + - Http + - Https + - NotSet + type: string + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + enum: + - GET + - HEAD + - NotSet + type: string + type: object + loadBalancingSettings: + description: 'LoadBalancingSettings: Load balancing settings for a backend pool' + properties: + additionalLatencyInMilliseconds: + description: 'AdditionalLatencyInMilliseconds: The additional latency in milliseconds for probes to fall into the lowest latency bucket' + type: integer + sampleSize: + description: 'SampleSize: The number of samples to consider for load balancing decisions' + type: integer + successfulSamplesRequired: + description: 'SuccessfulSamplesRequired: The number of samples within the sample period that must succeed' + type: integer + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sessionAffinityState: + description: 'SessionAffinityState: Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled''' + enum: + - Disabled + - Enabled + type: string + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + maximum: 50 + minimum: 0 + type: integer + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' + properties: + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' + type: string + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + type: string + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + loadBalancingSettings: + description: 'LoadBalancingSettings: Load balancing settings for a backend pool' + properties: + additionalLatencyInMilliseconds: + description: 'AdditionalLatencyInMilliseconds: The additional latency in milliseconds for probes to fall into the lowest latency bucket' + type: integer + sampleSize: + description: 'SampleSize: The number of samples to consider for load balancing decisions' + type: integer + successfulSamplesRequired: + description: 'SuccessfulSamplesRequired: The number of samples within the sample period that must succeed' + type: integer + type: object + name: + description: 'Name: Resource name.' + type: string + profileName: + description: 'ProfileName: The name of the profile which holds the origin group.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + sessionAffinityState: + description: 'SessionAffinityState: Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled''' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + type: integer + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdOriginGroup + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdOriginGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + healthProbeSettings: + description: |- + Storage version of v1api20230501.HealthProbeParameters + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + loadBalancingSettings: + description: |- + Storage version of v1api20230501.LoadBalancingSettingsParameters + Round-Robin load balancing settings for a backend pool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLatencyInMilliseconds: + type: integer + sampleSize: + type: integer + successfulSamplesRequired: + type: integer + type: object + operatorSpec: + description: |- + Storage version of v1api20230501.AfdOriginGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sessionAffinityState: + type: string + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdOriginGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + healthProbeSettings: + description: |- + Storage version of v1api20230501.HealthProbeParameters_STATUS + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + id: + type: string + loadBalancingSettings: + description: |- + Storage version of v1api20230501.LoadBalancingSettingsParameters_STATUS + Round-Robin load balancing settings for a backend pool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLatencyInMilliseconds: + type: integer + sampleSize: + type: integer + successfulSamplesRequired: + type: integer + type: object + name: + type: string + profileName: + type: string + provisioningState: + type: string + sessionAffinityState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: afdorigins.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: AfdOrigin + listKind: AfdOriginList + plural: afdorigins + singular: afdorigin + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + azureOrigin: + description: 'AzureOrigin: Resource reference to the Azure origin resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabledState: + description: |- + EnabledState: Whether to enable health probes to be made against backends defined under backendPools. Health probes can + only be disabled if there is a single enabled backend in single enabled backend pool. + enum: + - Disabled + - Enabled + type: string + enforceCertificateNameCheck: + description: 'EnforceCertificateNameCheck: Whether to enable certificate name check at origin level' + type: boolean + hostName: + description: |- + HostName: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be + unique across all origins in an endpoint. + type: string + hostNameFromConfig: + description: |- + HostNameFromConfig: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This + should be unique across all origins in an endpoint. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require + this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/AfdOriginGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5 + maximum: 5 + minimum: 1 + type: integer + sharedPrivateLinkResource: + description: 'SharedPrivateLinkResource: The properties of the private link resource for private origin.' + properties: + groupId: + description: 'GroupId: The group id from the provider of resource the shared private link resource is for.' + type: string + privateLink: + description: 'PrivateLink: The resource id of the resource the shared private link resource is for.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + privateLinkLocation: + description: 'PrivateLinkLocation: The location of the shared private link resource' + type: string + requestMessage: + description: 'RequestMessage: The request message for requesting approval of the shared private link resource.' + type: string + status: + description: 'Status: Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.' + enum: + - Approved + - Disconnected + - Pending + - Rejected + - Timeout + type: string + type: object + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + maximum: 1000 + minimum: 1 + type: integer + required: + - owner + type: object + status: + properties: + azureOrigin: + description: 'AzureOrigin: Resource reference to the Azure origin resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + description: |- + EnabledState: Whether to enable health probes to be made against backends defined under backendPools. Health probes can + only be disabled if there is a single enabled backend in single enabled backend pool. + type: string + enforceCertificateNameCheck: + description: 'EnforceCertificateNameCheck: Whether to enable certificate name check at origin level' + type: boolean + hostName: + description: |- + HostName: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be + unique across all origins in an endpoint. + type: string + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + type: integer + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + originGroupName: + description: 'OriginGroupName: The name of the origin group which contains this origin.' + type: string + originHostHeader: + description: |- + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require + this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint + type: string + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5 + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + sharedPrivateLinkResource: + description: 'SharedPrivateLinkResource: The properties of the private link resource for private origin.' + properties: + groupId: + description: 'GroupId: The group id from the provider of resource the shared private link resource is for.' + type: string + privateLink: + description: 'PrivateLink: The resource id of the resource the shared private link resource is for.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + privateLinkLocation: + description: 'PrivateLinkLocation: The location of the shared private link resource' + type: string + requestMessage: + description: 'RequestMessage: The request message for requesting approval of the shared private link resource.' + type: string + status: + description: 'Status: Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.' + type: string + type: object + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + type: integer + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.AfdOrigin + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.AfdOrigin_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + azureOrigin: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabledState: + type: string + enforceCertificateNameCheck: + type: boolean + hostName: + type: string + hostNameFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpPort: + type: integer + httpsPort: + type: integer + operatorSpec: + description: |- + Storage version of v1api20230501.AfdOriginOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originHostHeader: + type: string + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/AfdOriginGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + type: integer + sharedPrivateLinkResource: + description: |- + Storage version of v1api20230501.SharedPrivateLinkResourceProperties + Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + privateLink: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + privateLinkLocation: + type: string + requestMessage: + type: string + status: + type: string + type: object + weight: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20230501.AfdOrigin_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureOrigin: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + enabledState: + type: string + enforceCertificateNameCheck: + type: boolean + hostName: + type: string + httpPort: + type: integer + httpsPort: + type: integer + id: + type: string + name: + type: string + originGroupName: + type: string + originHostHeader: + type: string + priority: + type: integer + provisioningState: + type: string + sharedPrivateLinkResource: + description: |- + Storage version of v1api20230501.SharedPrivateLinkResourceProperties_STATUS + Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + privateLink: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkLocation: + type: string + requestMessage: + type: string + status: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + weight: + type: integer + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: aliases.subscription.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: subscription.azure.com + names: + categories: + - azure + - subscription + kind: Alias + listKind: AliasList + plural: aliases + singular: alias + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json + - ARM URI: /providers/Microsoft.Subscription/aliases/{aliasName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + properties: + description: 'Properties: Put alias request properties.' + properties: + additionalProperties: + description: 'AdditionalProperties: Put alias request additional properties.' + properties: + managementGroupId: + description: 'ManagementGroupId: Management group Id for the subscription.' + type: string + subscriptionOwnerId: + description: 'SubscriptionOwnerId: Owner Id of the subscription' + type: string + subscriptionTenantId: + description: 'SubscriptionTenantId: Tenant Id of the subscription' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Tags for the subscription' + type: object + type: object + billingScope: + type: string + displayName: + description: 'DisplayName: The friendly name of the subscription.' + type: string + resellerId: + description: 'ResellerId: Reseller Id' + type: string + subscriptionId: + description: 'SubscriptionId: This parameter can be used to create alias for existing subscription Id' + type: string + workload: + description: 'Workload: The workload type of the subscription. It can be either Production or DevTest.' + enum: + - DevTest + - Production + type: string + type: object + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Fully qualified ID for the alias resource.' + type: string + name: + description: 'Name: Alias ID.' + type: string + properties: + description: 'Properties: Subscription Alias response properties.' + properties: + acceptOwnershipState: + description: 'AcceptOwnershipState: The accept ownership state of the resource.' + type: string + acceptOwnershipUrl: + description: 'AcceptOwnershipUrl: Url to accept ownership of the subscription.' + type: string + billingScope: + type: string + createdTime: + description: 'CreatedTime: Created Time' + type: string + displayName: + description: 'DisplayName: The display name of the subscription.' + type: string + managementGroupId: + description: 'ManagementGroupId: The Management Group Id.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the resource.' + type: string + resellerId: + description: 'ResellerId: Reseller Id' + type: string + subscriptionId: + description: 'SubscriptionId: Newly created subscription Id.' + type: string + subscriptionOwnerId: + description: 'SubscriptionOwnerId: Owner Id of the subscription' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Tags for the subscription' + type: object + workload: + description: 'Workload: The workload type of the subscription. It can be either Production or DevTest.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type, Microsoft.Subscription/aliases.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211001.Alias + Generator information: + - Generated from: /subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json + - ARM URI: /providers/Microsoft.Subscription/aliases/{aliasName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211001.Alias_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20211001.AliasOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + properties: + description: |- + Storage version of v1api20211001.PutAliasRequestProperties + Put subscription properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + description: |- + Storage version of v1api20211001.PutAliasRequestAdditionalProperties + Put subscription additional properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managementGroupId: + type: string + subscriptionOwnerId: + type: string + subscriptionTenantId: + type: string + tags: + additionalProperties: + type: string + type: object + type: object + billingScope: + type: string + displayName: + type: string + resellerId: + type: string + subscriptionId: + type: string + workload: + type: string + type: object + type: object + status: + description: Storage version of v1api20211001.Alias_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20211001.SubscriptionAliasResponseProperties_STATUS + Put subscription creation result properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptOwnershipState: + type: string + acceptOwnershipUrl: + type: string + billingScope: + type: string + createdTime: + type: string + displayName: + type: string + managementGroupId: + type: string + provisioningState: + type: string + resellerId: + type: string + subscriptionId: + type: string + subscriptionOwnerId: + type: string + tags: + additionalProperties: + type: string + type: object + workload: + type: string + type: object + systemData: + description: |- + Storage version of v1api20211001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: apis.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Api + listKind: ApiList + plural: apis + singular: api + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + maxLength: 100 + minLength: 1 + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + maxLength: 256 + type: string + apiType: + description: |- + ApiType: Type of API to create. + * `http` creates a REST API + * `soap` creates a SOAP pass-through API + * `websocket` creates websocket API + * `graphql` creates GraphQL API. + enum: + - graphql + - http + - soap + - websocket + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + maxLength: 100 + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + maxLength: 256 + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + format: + description: 'Format: Format of the Content in which the API is getting imported.' + enum: + - graphql-link + - openapi + - openapi+json + - openapi+json-link + - openapi-link + - swagger-json + - swagger-link-json + - wadl-link-json + - wadl-xml + - wsdl + - wsdl-link + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + maxLength: 400 + minLength: 0 + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + enum: + - http + - https + - ws + - wss + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + maxLength: 2000 + minLength: 0 + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + translateRequiredQueryParameters: + description: |- + TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has + value 'template'. Possible values: 'template', 'query' + enum: + - query + - template + type: string + type: + description: 'Type: Type of API.' + enum: + - graphql + - http + - soap + - websocket + type: string + value: + description: 'Value: Content value when Importing an API.' + type: string + wsdlSelector: + description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' + properties: + wsdlEndpointName: + description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' + type: string + wsdlServiceName: + description: 'WsdlServiceName: Name of service to import from WSDL' + type: string + type: object + required: + - owner + - path + type: object + status: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + id: + description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + apiVersionSetId: + description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' + type: string + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + isOnline: + description: 'IsOnline: Indicates if API revision is accessible via the gateway.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + type: string + properties_type: + description: 'PropertiesType: Type of API.' + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + type: string + sourceApiId: + description: 'SourceApiId: API identifier of the source API.' + type: string + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Api + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Api_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiType: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20220801.ApiVersionSetContractDetails + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + name: + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: |- + Storage version of v1api20220801.AuthenticationSettingsContract + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contact: + description: |- + Storage version of v1api20220801.ApiContactInformation + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + format: + type: string + isCurrent: + type: boolean + license: + description: |- + Storage version of v1api20220801.ApiLicenseInformation + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.ApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20220801.SubscriptionKeyParameterNamesContract + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + translateRequiredQueryParameters: + type: string + type: + type: string + value: + type: string + wsdlSelector: + description: Storage version of v1api20220801.ApiCreateOrUpdateProperties_WsdlSelector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + wsdlEndpointName: + type: string + wsdlServiceName: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Api_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20220801.ApiVersionSetContractDetails_STATUS + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + id: + type: string + name: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetId: + type: string + authenticationSettings: + description: |- + Storage version of v1api20220801.AuthenticationSettingsContract_STATUS + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20220801.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: |- + Storage version of v1api20220801.ApiContactInformation_STATUS + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + id: + type: string + isCurrent: + type: boolean + isOnline: + type: boolean + license: + description: |- + Storage version of v1api20220801.ApiLicenseInformation_STATUS + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + name: + type: string + path: + type: string + properties_type: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiId: + type: string + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20220801.SubscriptionKeyParameterNamesContract_STATUS + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + maxLength: 100 + minLength: 1 + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + maxLength: 256 + type: string + apiType: + description: |- + ApiType: Type of API to create. + * `http` creates a REST API + * `soap` creates a SOAP pass-through API + * `websocket` creates websocket API + * `graphql` creates GraphQL API. + New types can be added in the future. + enum: + - graphql + - grpc + - http + - odata + - soap + - websocket + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + maxLength: 100 + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + maxLength: 256 + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + enum: + - authorizationHeader + - query + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + format: + description: 'Format: Format of the Content in which the API is getting imported. New formats can be added in the future' + enum: + - graphql-link + - grpc + - grpc-link + - odata + - odata-link + - openapi + - openapi+json + - openapi+json-link + - openapi-link + - swagger-json + - swagger-link-json + - wadl-link-json + - wadl-xml + - wsdl + - wsdl-link + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + maxLength: 400 + minLength: 0 + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + enum: + - http + - https + - ws + - wss + type: string + type: array + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + maxLength: 2000 + minLength: 0 + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + translateRequiredQueryParameters: + description: |- + TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has + value 'template'. Possible values: 'template', 'query' + enum: + - query + - template + type: string + type: + description: 'Type: Type of API.' + enum: + - graphql + - grpc + - http + - odata + - soap + - websocket + type: string + value: + description: 'Value: Content value when Importing an API.' + type: string + wsdlSelector: + description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' + properties: + wsdlEndpointName: + description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' + type: string + wsdlServiceName: + description: 'WsdlServiceName: Name of service to import from WSDL' + type: string + type: object + required: + - owner + - path + type: object + status: + properties: + apiRevision: + description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' + type: string + apiRevisionDescription: + description: 'ApiRevisionDescription: Description of the API Revision.' + type: string + apiVersion: + description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' + type: string + apiVersionDescription: + description: 'ApiVersionDescription: Description of the API Version.' + type: string + apiVersionSet: + description: 'ApiVersionSet: Version set details' + properties: + description: + description: 'Description: Description of API Version Set.' + type: string + id: + description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + type: string + name: + description: 'Name: The display Name of the API Version Set.' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + apiVersionSetId: + description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' + type: string + authenticationSettings: + description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + properties: + oAuth2: + description: 'OAuth2: OAuth2 Authentication settings' + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + oAuth2AuthenticationSettings: + description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + authorizationServerId: + description: 'AuthorizationServerId: OAuth authorization server identifier.' + type: string + scope: + description: 'Scope: operations scope.' + type: string + type: object + type: array + openid: + description: 'Openid: OpenID Connect Authentication Settings' + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + openidAuthenticationSettings: + description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + items: + description: API OAuth2 Authentication settings details. + properties: + bearerTokenSendingMethods: + description: 'BearerTokenSendingMethods: How to send token to the server.' + items: + description: Form of an authorization grant, which the client uses to request the access token. + type: string + type: array + openidProviderId: + description: 'OpenidProviderId: OAuth authorization server identifier.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: 'Contact: Contact information for the API.' + properties: + email: + description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + type: string + name: + description: 'Name: The identifying name of the contact person/organization' + type: string + url: + description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + type: string + type: object + description: + description: 'Description: Description of the API. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: API name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isCurrent: + description: 'IsCurrent: Indicates if API revision is current api revision.' + type: boolean + isOnline: + description: 'IsOnline: Indicates if API revision is accessible via the gateway.' + type: boolean + license: + description: 'License: License information for the API.' + properties: + name: + description: 'Name: The license name used for the API' + type: string + url: + description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + path: + description: |- + Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service + instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public + URL for this API. + type: string + properties_type: + description: 'PropertiesType: Type of API.' + type: string + protocols: + description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state' + type: string + serviceUrl: + description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + type: string + sourceApiId: + description: 'SourceApiId: API identifier of the source API.' + type: string + subscriptionKeyParameterNames: + description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + properties: + header: + description: 'Header: Subscription key header name.' + type: string + query: + description: 'Query: Subscription key query string parameter name.' + type: string + type: object + subscriptionRequired: + description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' + type: boolean + termsOfServiceUrl: + description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Api + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Api_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiType: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20230501preview.ApiVersionSetContractDetails + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + name: + type: string + reference: + description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetReference: + description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + authenticationSettings: + description: |- + Storage version of v1api20230501preview.AuthenticationSettingsContract + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + contact: + description: |- + Storage version of v1api20230501preview.ApiContactInformation + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + format: + type: string + isCurrent: + type: boolean + license: + description: |- + Storage version of v1api20230501preview.ApiLicenseInformation + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.ApiOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + path: + type: string + protocols: + items: + type: string + type: array + serviceUrl: + type: string + sourceApiReference: + description: 'SourceApiReference: API identifier of the source API.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20230501preview.SubscriptionKeyParameterNamesContract + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + translateRequiredQueryParameters: + type: string + type: + type: string + value: + type: string + wsdlSelector: + description: Storage version of v1api20230501preview.ApiCreateOrUpdateProperties_WsdlSelector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + wsdlEndpointName: + type: string + wsdlServiceName: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Api_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiRevision: + type: string + apiRevisionDescription: + type: string + apiVersion: + type: string + apiVersionDescription: + type: string + apiVersionSet: + description: |- + Storage version of v1api20230501preview.ApiVersionSetContractDetails_STATUS + An API Version Set contains the common configuration for a set of API Versions relating + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + id: + type: string + name: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + apiVersionSetId: + type: string + authenticationSettings: + description: |- + Storage version of v1api20230501preview.AuthenticationSettingsContract_STATUS + API Authentication Settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oAuth2: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + oAuth2AuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationServerId: + type: string + scope: + type: string + type: object + type: array + openid: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + openidAuthenticationSettings: + items: + description: |- + Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract_STATUS + API OAuth2 Authentication settings details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bearerTokenSendingMethods: + items: + type: string + type: array + openidProviderId: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contact: + description: |- + Storage version of v1api20230501preview.ApiContactInformation_STATUS + API contact information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + name: + type: string + url: + type: string + type: object + description: + type: string + displayName: + type: string + id: + type: string + isCurrent: + type: boolean + isOnline: + type: boolean + license: + description: |- + Storage version of v1api20230501preview.ApiLicenseInformation_STATUS + API license information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + url: + type: string + type: object + name: + type: string + path: + type: string + properties_type: + type: string + protocols: + items: + type: string + type: array + provisioningState: + type: string + serviceUrl: + type: string + sourceApiId: + type: string + subscriptionKeyParameterNames: + description: |- + Storage version of v1api20230501preview.SubscriptionKeyParameterNamesContract_STATUS + Subscription key parameter names details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + header: + type: string + query: + type: string + type: object + subscriptionRequired: + type: boolean + termsOfServiceUrl: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: apiversionsets.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: ApiVersionSet + listKind: ApiVersionSetList + plural: apiversionsets + singular: apiversionset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + maxLength: 100 + minLength: 1 + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + maxLength: 100 + minLength: 1 + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + required: + - displayName + - owner + - versioningScheme + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.ApiVersionSet + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.ApiVersionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.ApiVersionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.ApiVersionSet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + type: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + maxLength: 100 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + maxLength: 100 + minLength: 1 + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + maxLength: 100 + minLength: 1 + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + enum: + - Header + - Query + - Segment + type: string + required: + - displayName + - owner + - versioningScheme + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Description of API Version Set.' + type: string + displayName: + description: 'DisplayName: Name of API Version Set' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + versionHeaderName: + description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + type: string + versionQueryName: + description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + type: string + versioningScheme: + description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.ApiVersionSet + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapiversionsets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.ApiVersionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string + displayName: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.ApiVersionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.ApiVersionSet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + type: + type: string + versionHeaderName: + type: string + versionQueryName: + type: string + versioningScheme: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: applicationgateways.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: ApplicationGateway + listKind: ApplicationGatewayList + plural: applicationgateways + singular: applicationgateway + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/applicationGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authenticationCertificates: + description: |- + AuthenticationCertificates: Authentication certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Authentication certificates of an application gateway. + properties: + data: + description: 'Data: Certificate public data.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + description: 'Name: Name of the authentication certificate that is unique within an Application Gateway.' + type: string + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Autoscale Configuration.' + properties: + maxCapacity: + description: 'MaxCapacity: Upper bound on number of Application Gateway capacity.' + minimum: 2 + type: integer + minCapacity: + description: 'MinCapacity: Lower bound on number of Application Gateway capacity.' + minimum: 0 + type: integer + required: + - minCapacity + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + description: |- + BackendAddressPools: Backend address pool of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend Address Pool of an application gateway. + properties: + backendAddresses: + description: 'BackendAddresses: Backend addresses.' + items: + description: Backend address of an application gateway. + properties: + fqdn: + description: 'Fqdn: Fully qualified domain name (FQDN).' + type: string + ipAddress: + description: 'IpAddress: IP address.' + type: string + type: object + type: array + name: + description: 'Name: Name of the backend address pool that is unique within an Application Gateway.' + type: string + type: object + type: array + backendHttpSettingsCollection: + description: |- + BackendHttpSettingsCollection: Backend http settings of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + affinityCookieName: + description: 'AffinityCookieName: Cookie name to use for the affinity cookie.' + type: string + authenticationCertificates: + description: 'AuthenticationCertificates: Array of references to application gateway authentication certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + connectionDraining: + description: 'ConnectionDraining: Connection draining of the backend http settings resource.' + properties: + drainTimeoutInSec: + description: |- + DrainTimeoutInSec: The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 + seconds. + maximum: 3600 + minimum: 1 + type: integer + enabled: + description: 'Enabled: Whether connection draining is enabled or not.' + type: boolean + required: + - drainTimeoutInSec + - enabled + type: object + cookieBasedAffinity: + description: 'CookieBasedAffinity: Cookie based affinity.' + enum: + - Disabled + - Enabled + type: string + hostName: + description: 'HostName: Host header to be sent to the backend servers.' + type: string + name: + description: 'Name: Name of the backend http settings that is unique within an Application Gateway.' + type: string + path: + description: |- + Path: Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is + null. + type: string + pickHostNameFromBackendAddress: + description: |- + PickHostNameFromBackendAddress: Whether to pick host header should be picked from the host name of the backend server. + Default value is false. + type: boolean + port: + description: 'Port: The destination port on the backend.' + type: integer + probe: + description: 'Probe: Probe resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + probeEnabled: + description: 'ProbeEnabled: Whether the probe is enabled. Default value is false.' + type: boolean + protocol: + description: 'Protocol: The protocol used to communicate with the backend.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + requestTimeout: + description: |- + RequestTimeout: Request timeout in seconds. Application Gateway will fail the request if response is not received within + RequestTimeout. Acceptable values are from 1 second to 86400 seconds. + type: integer + trustedRootCertificates: + description: 'TrustedRootCertificates: Array of references to application gateway trusted root certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + backendSettingsCollection: + description: |- + BackendSettingsCollection: Backend settings of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + hostName: + description: 'HostName: Server name indication to be sent to the backend servers for Tls protocol.' + type: string + name: + description: 'Name: Name of the backend settings that is unique within an Application Gateway.' + type: string + pickHostNameFromBackendAddress: + description: |- + PickHostNameFromBackendAddress: Whether to pick server name indication from the host name of the backend server for Tls + protocol. Default value is false. + type: boolean + port: + description: 'Port: The destination port on the backend.' + type: integer + probe: + description: 'Probe: Probe resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + description: 'Protocol: The protocol used to communicate with the backend.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + timeout: + description: |- + Timeout: Connection timeout in seconds. Application Gateway will fail the request if response is not received within + ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds. + type: integer + trustedRootCertificates: + description: 'TrustedRootCertificates: Array of references to application gateway trusted root certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + customErrorConfigurations: + description: 'CustomErrorConfigurations: Custom error configurations of the application gateway resource.' + items: + description: Customer error of an application gateway. + properties: + customErrorPageUrl: + description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' + type: string + statusCode: + description: 'StatusCode: Status code of the application gateway customer error.' + enum: + - HttpStatus403 + - HttpStatus502 + type: string + type: object + type: array + enableFips: + description: 'EnableFips: Whether FIPS is enabled on the application gateway resource.' + type: boolean + enableHttp2: + description: 'EnableHttp2: Whether HTTP2 is enabled on the application gateway resource.' + type: boolean + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + forceFirewallPolicyAssociation: + description: |- + ForceFirewallPolicyAssociation: If true, associates a firewall policy with an application gateway regardless whether the + policy differs from the WAF Config. + type: boolean + frontendIPConfigurations: + description: |- + FrontendIPConfigurations: Frontend IP addresses of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend IP configuration of an application gateway. + properties: + name: + description: 'Name: Name of the frontend IP configuration that is unique within an Application Gateway.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: PrivateIPAddress of the network interface IP Configuration.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + privateLinkConfiguration: + description: 'PrivateLinkConfiguration: Reference to the application gateway private link configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPAddress: + description: 'PublicIPAddress: Reference to the PublicIP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + frontendPorts: + description: |- + FrontendPorts: Frontend ports of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend port of an application gateway. + properties: + name: + description: 'Name: Name of the frontend port that is unique within an Application Gateway.' + type: string + port: + description: 'Port: Frontend port.' + type: integer + type: object + type: array + gatewayIPConfigurations: + description: |- + GatewayIPConfigurations: Subnets of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + name: + description: 'Name: Name of the IP configuration that is unique within an Application Gateway.' + type: string + subnet: + description: 'Subnet: Reference to the subnet resource. A subnet from where application gateway gets its private address.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + globalConfiguration: + description: 'GlobalConfiguration: Global Configuration.' + properties: + enableRequestBuffering: + description: 'EnableRequestBuffering: Enable request buffering.' + type: boolean + enableResponseBuffering: + description: 'EnableResponseBuffering: Enable response buffering.' + type: boolean + type: object + httpListeners: + description: |- + HttpListeners: Http listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Http listener of an application gateway. + properties: + customErrorConfigurations: + description: 'CustomErrorConfigurations: Custom error configurations of the HTTP listener.' + items: + description: Customer error of an application gateway. + properties: + customErrorPageUrl: + description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' + type: string + statusCode: + description: 'StatusCode: Status code of the application gateway customer error.' + enum: + - HttpStatus403 + - HttpStatus502 + type: string + type: object + type: array + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendIPConfiguration: + description: 'FrontendIPConfiguration: Frontend IP configuration resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: 'FrontendPort: Frontend port resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostName: + description: 'HostName: Host name of HTTP listener.' + type: string + hostNames: + description: 'HostNames: List of Host names for HTTP Listener that allows special wildcard characters as well.' + items: + type: string + type: array + name: + description: 'Name: Name of the HTTP listener that is unique within an Application Gateway.' + type: string + protocol: + description: 'Protocol: Protocol of the HTTP listener.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + requireServerNameIndication: + description: 'RequireServerNameIndication: Applicable only if protocol is https. Enables SNI for multi-hosting.' + type: boolean + sslCertificate: + description: 'SslCertificate: SSL certificate resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: 'SslProfile: SSL profile resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + identity: + description: 'Identity: The identity of the application gateway, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual + machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + listeners: + description: |- + Listeners: Listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Listener of an application gateway. + properties: + frontendIPConfiguration: + description: 'FrontendIPConfiguration: Frontend IP configuration resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: 'FrontendPort: Frontend port resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the listener that is unique within an Application Gateway.' + type: string + protocol: + description: 'Protocol: Protocol of the listener.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + sslCertificate: + description: 'SslCertificate: SSL certificate resource of an application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: 'SslProfile: SSL profile resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadDistributionPolicies: + description: 'LoadDistributionPolicies: Load distribution policies of the application gateway resource.' + items: + description: Load Distribution Policy of an application gateway. + properties: + loadDistributionAlgorithm: + description: 'LoadDistributionAlgorithm: Load Distribution Targets resource of an application gateway.' + enum: + - IpHash + - LeastConnections + - RoundRobin + type: string + loadDistributionTargets: + description: 'LoadDistributionTargets: Load Distribution Targets resource of an application gateway.' + items: + description: Load Distribution Target of an application gateway. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: Name of the load distribution policy that is unique within an Application Gateway.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkConfigurations: + description: 'PrivateLinkConfigurations: PrivateLink configurations on application gateway.' + items: + description: Private Link Configuration on an application gateway. + properties: + ipConfigurations: + description: 'IpConfigurations: An array of application gateway private link ip configurations.' + items: + description: The application gateway private link ip configuration. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: Name of the private link configuration that is unique within an Application Gateway.' + type: string + type: object + type: array + probes: + description: 'Probes: Probes of the application gateway resource.' + items: + description: Probe of the application gateway. + properties: + host: + description: 'Host: Host name to send the probe to.' + type: string + interval: + description: |- + Interval: The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values + are from 1 second to 86400 seconds. + type: integer + match: + description: 'Match: Criterion for classifying a healthy probe response.' + properties: + body: + description: 'Body: Body that must be contained in the health response. Default value is empty.' + type: string + statusCodes: + description: 'StatusCodes: Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399.' + items: + type: string + type: array + type: object + minServers: + description: 'MinServers: Minimum number of servers that are always marked healthy. Default value is 0.' + type: integer + name: + description: 'Name: Name of the probe that is unique within an Application Gateway.' + type: string + path: + description: 'Path: Relative path of probe. Valid path starts from ''/''. Probe is sent to ://:.' + type: string + pickHostNameFromBackendHttpSettings: + description: |- + PickHostNameFromBackendHttpSettings: Whether the host header should be picked from the backend http settings. Default + value is false. + type: boolean + pickHostNameFromBackendSettings: + description: |- + PickHostNameFromBackendSettings: Whether the server name indication should be picked from the backend settings for Tls + protocol. Default value is false. + type: boolean + port: + description: |- + Port: Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case + not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The protocol used for the probe.' + enum: + - Http + - Https + - Tcp + - Tls + type: string + timeout: + description: |- + Timeout: The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout + period. Acceptable values are from 1 second to 86400 seconds. + type: integer + unhealthyThreshold: + description: |- + UnhealthyThreshold: The probe retry count. Backend server is marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + type: integer + type: object + type: array + redirectConfigurations: + description: |- + RedirectConfigurations: Redirect configurations of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Redirect configuration of an application gateway. + properties: + includePath: + description: 'IncludePath: Include path in the redirected url.' + type: boolean + includeQueryString: + description: 'IncludeQueryString: Include query string in the redirected url.' + type: boolean + name: + description: 'Name: Name of the redirect configuration that is unique within an Application Gateway.' + type: string + pathRules: + description: 'PathRules: Path rules specifying redirect configuration.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + redirectType: + description: 'RedirectType: HTTP redirection type.' + enum: + - Found + - Permanent + - SeeOther + - Temporary + type: string + requestRoutingRules: + description: 'RequestRoutingRules: Request routing specifying redirect configuration.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + targetListener: + description: 'TargetListener: Reference to a listener to redirect the request to.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + targetUrl: + description: 'TargetUrl: Url to redirect the request to.' + type: string + urlPathMaps: + description: 'UrlPathMaps: Url path maps specifying default redirect configuration.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + requestRoutingRules: + description: 'RequestRoutingRules: Request routing rules of the application gateway resource.' + items: + description: Request routing rule of an application gateway. + properties: + backendAddressPool: + description: 'BackendAddressPool: Backend address pool resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: 'BackendHttpSettings: Backend http settings resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpListener: + description: 'HttpListener: Http listener resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: 'LoadDistributionPolicy: Load Distribution Policy resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the request routing rule that is unique within an Application Gateway.' + type: string + priority: + description: 'Priority: Priority of the request routing rule.' + maximum: 20000 + minimum: 1 + type: integer + redirectConfiguration: + description: 'RedirectConfiguration: Redirect configuration resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: 'RewriteRuleSet: Rewrite Rule Set resource in Basic rule of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + ruleType: + description: 'RuleType: Rule type.' + enum: + - Basic + - PathBasedRouting + type: string + urlPathMap: + description: 'UrlPathMap: URL path map resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + rewriteRuleSets: + description: 'RewriteRuleSets: Rewrite rules for the application gateway resource.' + items: + description: Rewrite rule set of an application gateway. + properties: + name: + description: 'Name: Name of the rewrite rule set that is unique within an Application Gateway.' + type: string + rewriteRules: + description: 'RewriteRules: Rewrite rules in the rewrite rule set.' + items: + description: Rewrite rule of an application gateway. + properties: + actionSet: + description: 'ActionSet: Set of actions to be done as part of the rewrite Rule.' + properties: + requestHeaderConfigurations: + description: 'RequestHeaderConfigurations: Request Header Actions in the Action Set.' + items: + description: Header configuration of the Actions set in Application Gateway. + properties: + headerName: + description: 'HeaderName: Header name of the header configuration.' + type: string + headerValue: + description: 'HeaderValue: Header value of the header configuration.' + type: string + type: object + type: array + responseHeaderConfigurations: + description: 'ResponseHeaderConfigurations: Response Header Actions in the Action Set.' + items: + description: Header configuration of the Actions set in Application Gateway. + properties: + headerName: + description: 'HeaderName: Header name of the header configuration.' + type: string + headerValue: + description: 'HeaderValue: Header value of the header configuration.' + type: string + type: object + type: array + urlConfiguration: + description: 'UrlConfiguration: Url Configuration Action in the Action Set.' + properties: + modifiedPath: + description: |- + ModifiedPath: Url path which user has provided for url rewrite. Null means no path will be updated. Default value is + null. + type: string + modifiedQueryString: + description: |- + ModifiedQueryString: Query string which user has provided for url rewrite. Null means no query string will be updated. + Default value is null. + type: string + reroute: + description: |- + Reroute: If set as true, it will re-evaluate the url path map provided in path based request routing rules using + modified path. Default value is false. + type: boolean + type: object + type: object + conditions: + description: 'Conditions: Conditions based on which the action set execution will be evaluated.' + items: + description: Set of conditions in the Rewrite Rule in Application Gateway. + properties: + ignoreCase: + description: 'IgnoreCase: Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison.' + type: boolean + negate: + description: 'Negate: Setting this value as truth will force to check the negation of the condition given by the user.' + type: boolean + pattern: + description: 'Pattern: The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.' + type: string + variable: + description: 'Variable: The condition parameter of the RewriteRuleCondition.' + type: string + type: object + type: array + name: + description: 'Name: Name of the rewrite rule that is unique within an Application Gateway.' + type: string + ruleSequence: + description: |- + RuleSequence: Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a + RewriteRuleSet. + type: integer + type: object + type: array + type: object + type: array + routingRules: + description: 'RoutingRules: Routing rules of the application gateway resource.' + items: + description: Routing rule of an application gateway. + properties: + backendAddressPool: + description: 'BackendAddressPool: Backend address pool resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendSettings: + description: 'BackendSettings: Backend settings resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + listener: + description: 'Listener: Listener resource of the application gateway.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the routing rule that is unique within an Application Gateway.' + type: string + priority: + description: 'Priority: Priority of the routing rule.' + maximum: 20000 + minimum: 1 + type: integer + ruleType: + description: 'RuleType: Rule type.' + enum: + - Basic + - PathBasedRouting + type: string + required: + - priority + type: object + type: array + sku: + description: 'Sku: SKU of the application gateway resource.' + properties: + capacity: + description: 'Capacity: Capacity (instance count) of an application gateway.' + type: integer + name: + description: 'Name: Name of an application gateway SKU.' + enum: + - Standard_Large + - Standard_Medium + - Standard_Small + - Standard_v2 + - WAF_Large + - WAF_Medium + - WAF_v2 + type: string + tier: + description: 'Tier: Tier of an application gateway.' + enum: + - Standard + - Standard_v2 + - WAF + - WAF_v2 + type: string + type: object + sslCertificates: + description: |- + SslCertificates: SSL certificates of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL certificates of an application gateway. + properties: + data: + description: 'Data: Base-64 encoded pfx certificate. Only applicable in PUT Request.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the SSL certificate that is unique within an Application Gateway.' + type: string + password: + description: 'Password: Password for the pfx file specified in data. Only applicable in PUT request.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + sslPolicy: + description: 'SslPolicy: SSL policy of the application gateway resource.' + properties: + cipherSuites: + description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' + items: + description: Ssl cipher suites enums. + enum: + - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 + - TLS_DHE_RSA_WITH_AES_128_CBC_SHA + - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_DHE_RSA_WITH_AES_256_CBC_SHA + - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_RSA_WITH_3DES_EDE_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA256 + - TLS_RSA_WITH_AES_128_GCM_SHA256 + - TLS_RSA_WITH_AES_256_CBC_SHA + - TLS_RSA_WITH_AES_256_CBC_SHA256 + - TLS_RSA_WITH_AES_256_GCM_SHA384 + type: string + type: array + disabledSslProtocols: + description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' + items: + description: Ssl protocol enums. + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + type: array + minProtocolVersion: + description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + policyName: + description: 'PolicyName: Name of Ssl predefined policy.' + enum: + - AppGwSslPolicy20150501 + - AppGwSslPolicy20170401 + - AppGwSslPolicy20170401S + - AppGwSslPolicy20220101 + - AppGwSslPolicy20220101S + type: string + policyType: + description: 'PolicyType: Type of Ssl Policy.' + enum: + - Custom + - CustomV2 + - Predefined + type: string + type: object + sslProfiles: + description: |- + SslProfiles: SSL profiles of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL profile of an application gateway. + properties: + clientAuthConfiguration: + description: 'ClientAuthConfiguration: Client authentication configuration of the application gateway resource.' + properties: + verifyClientCertIssuerDN: + description: 'VerifyClientCertIssuerDN: Verify client certificate issuer name on the application gateway.' + type: boolean + verifyClientRevocation: + description: 'VerifyClientRevocation: Verify client certificate revocation status.' + enum: + - None + - OCSP + type: string + type: object + name: + description: 'Name: Name of the SSL profile that is unique within an Application Gateway.' + type: string + sslPolicy: + description: 'SslPolicy: SSL policy of the application gateway resource.' + properties: + cipherSuites: + description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' + items: + description: Ssl cipher suites enums. + enum: + - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA + - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA + - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 + - TLS_DHE_RSA_WITH_AES_128_CBC_SHA + - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_DHE_RSA_WITH_AES_256_CBC_SHA + - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + - TLS_RSA_WITH_3DES_EDE_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA + - TLS_RSA_WITH_AES_128_CBC_SHA256 + - TLS_RSA_WITH_AES_128_GCM_SHA256 + - TLS_RSA_WITH_AES_256_CBC_SHA + - TLS_RSA_WITH_AES_256_CBC_SHA256 + - TLS_RSA_WITH_AES_256_GCM_SHA384 + type: string + type: array + disabledSslProtocols: + description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' + items: + description: Ssl protocol enums. + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + type: array + minProtocolVersion: + description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' + enum: + - TLSv1_0 + - TLSv1_1 + - TLSv1_2 + - TLSv1_3 + type: string + policyName: + description: 'PolicyName: Name of Ssl predefined policy.' + enum: + - AppGwSslPolicy20150501 + - AppGwSslPolicy20170401 + - AppGwSslPolicy20170401S + - AppGwSslPolicy20220101 + - AppGwSslPolicy20220101S + type: string + policyType: + description: 'PolicyType: Type of Ssl Policy.' + enum: + - Custom + - CustomV2 + - Predefined + type: string + type: object + trustedClientCertificates: + description: 'TrustedClientCertificates: Array of references to application gateway trusted client certificates.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedClientCertificates: + description: |- + TrustedClientCertificates: Trusted client certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted client certificates of an application gateway. + properties: + data: + description: 'Data: Certificate public data.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + description: 'Name: Name of the trusted client certificate that is unique within an Application Gateway.' + type: string + type: object + type: array + trustedRootCertificates: + description: |- + TrustedRootCertificates: Trusted Root certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted Root certificates of an application gateway. + properties: + data: + description: 'Data: Certificate public data.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the trusted root certificate that is unique within an Application Gateway.' + type: string + type: object + type: array + urlPathMaps: + description: |- + UrlPathMaps: URL path map of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + defaultBackendAddressPool: + description: 'DefaultBackendAddressPool: Default backend address pool resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultBackendHttpSettings: + description: 'DefaultBackendHttpSettings: Default backend http settings resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultLoadDistributionPolicy: + description: 'DefaultLoadDistributionPolicy: Default Load Distribution Policy resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRedirectConfiguration: + description: 'DefaultRedirectConfiguration: Default redirect configuration resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRewriteRuleSet: + description: 'DefaultRewriteRuleSet: Default Rewrite rule set resource of URL path map.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the URL path map that is unique within an Application Gateway.' + type: string + pathRules: + description: 'PathRules: Path rule of URL path map resource.' + items: + description: Path rule of URL path map of an application gateway. + properties: + backendAddressPool: + description: 'BackendAddressPool: Backend address pool resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: 'BackendHttpSettings: Backend http settings resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: 'LoadDistributionPolicy: Load Distribution Policy resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the path rule that is unique within an Application Gateway.' + type: string + paths: + description: 'Paths: Path rules of URL path map.' + items: + type: string + type: array + redirectConfiguration: + description: 'RedirectConfiguration: Redirect configuration resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: 'RewriteRuleSet: Rewrite rule set resource of URL path map path rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + type: array + webApplicationFirewallConfiguration: + description: 'WebApplicationFirewallConfiguration: Web application firewall configuration.' + properties: + disabledRuleGroups: + description: 'DisabledRuleGroups: The disabled rule groups.' + items: + description: Allows to disable rules within a rule group or an entire rule group. + properties: + ruleGroupName: + description: 'RuleGroupName: The name of the rule group that will be disabled.' + type: string + rules: + description: 'Rules: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.' + items: + type: integer + type: array + required: + - ruleGroupName + type: object + type: array + enabled: + description: 'Enabled: Whether the web application firewall is enabled or not.' + type: boolean + exclusions: + description: 'Exclusions: The exclusion list.' + items: + description: Allow to exclude some variable satisfy the condition for the WAF check. + properties: + matchVariable: + description: 'MatchVariable: The variable to be excluded.' + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + type: string + required: + - matchVariable + - selector + - selectorMatchOperator + type: object + type: array + fileUploadLimitInMb: + description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' + minimum: 0 + type: integer + firewallMode: + description: 'FirewallMode: Web application firewall mode.' + enum: + - Detection + - Prevention + type: string + maxRequestBodySize: + description: 'MaxRequestBodySize: Maximum request body size for WAF.' + maximum: 128 + minimum: 8 + type: integer + maxRequestBodySizeInKb: + description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' + maximum: 128 + minimum: 8 + type: integer + requestBodyCheck: + description: 'RequestBodyCheck: Whether allow WAF to check request Body.' + type: boolean + ruleSetType: + description: 'RuleSetType: The type of the web application firewall rule set. Possible values are: ''OWASP''.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: The version of the rule set type.' + type: string + required: + - enabled + - firewallMode + - ruleSetType + - ruleSetVersion + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Application gateway resource. + properties: + authenticationCertificates: + description: |- + AuthenticationCertificates: Authentication certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Authentication certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Autoscale Configuration.' + properties: + maxCapacity: + description: 'MaxCapacity: Upper bound on number of Application Gateway capacity.' + type: integer + minCapacity: + description: 'MinCapacity: Lower bound on number of Application Gateway capacity.' + type: integer + type: object + backendAddressPools: + description: |- + BackendAddressPools: Backend address pool of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend Address Pool of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + backendHttpSettingsCollection: + description: |- + BackendHttpSettingsCollection: Backend http settings of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + backendSettingsCollection: + description: |- + BackendSettingsCollection: Backend settings of the application gateway resource. For default limits, see [Application + Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Backend address pool settings of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customErrorConfigurations: + description: 'CustomErrorConfigurations: Custom error configurations of the application gateway resource.' + items: + description: Customer error of an application gateway. + properties: + customErrorPageUrl: + description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' + type: string + statusCode: + description: 'StatusCode: Status code of the application gateway customer error.' + type: string + type: object + type: array + enableFips: + description: 'EnableFips: Whether FIPS is enabled on the application gateway resource.' + type: boolean + enableHttp2: + description: 'EnableHttp2: Whether HTTP2 is enabled on the application gateway resource.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + firewallPolicy: + description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + forceFirewallPolicyAssociation: + description: |- + ForceFirewallPolicyAssociation: If true, associates a firewall policy with an application gateway regardless whether the + policy differs from the WAF Config. + type: boolean + frontendIPConfigurations: + description: |- + FrontendIPConfigurations: Frontend IP addresses of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend IP configuration of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + frontendPorts: + description: |- + FrontendPorts: Frontend ports of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Frontend port of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + gatewayIPConfigurations: + description: |- + GatewayIPConfigurations: Subnets of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + globalConfiguration: + description: 'GlobalConfiguration: Global Configuration.' + properties: + enableRequestBuffering: + description: 'EnableRequestBuffering: Enable request buffering.' + type: boolean + enableResponseBuffering: + description: 'EnableResponseBuffering: Enable response buffering.' + type: boolean + type: object + httpListeners: + description: |- + HttpListeners: Http listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Http listener of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The identity of the application gateway, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual + machine. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + listeners: + description: |- + Listeners: Listeners of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Listener of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadDistributionPolicies: + description: 'LoadDistributionPolicies: Load distribution policies of the application gateway resource.' + items: + description: Load Distribution Policy of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + operationalState: + description: 'OperationalState: Operational state of the application gateway resource.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private Endpoint connections on application gateway.' + items: + description: Private Endpoint connection on an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateLinkConfigurations: + description: 'PrivateLinkConfigurations: PrivateLink configurations on application gateway.' + items: + description: Private Link Configuration on an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + probes: + description: 'Probes: Probes of the application gateway resource.' + items: + description: Probe of the application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the application gateway resource.' + type: string + redirectConfigurations: + description: |- + RedirectConfigurations: Redirect configurations of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Redirect configuration of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + requestRoutingRules: + description: 'RequestRoutingRules: Request routing rules of the application gateway resource.' + items: + description: Request routing rule of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the application gateway resource.' + type: string + rewriteRuleSets: + description: 'RewriteRuleSets: Rewrite rules for the application gateway resource.' + items: + description: Rewrite rule set of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + routingRules: + description: 'RoutingRules: Routing rules of the application gateway resource.' + items: + description: Routing rule of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sku: + description: 'Sku: SKU of the application gateway resource.' + properties: + capacity: + description: 'Capacity: Capacity (instance count) of an application gateway.' + type: integer + name: + description: 'Name: Name of an application gateway SKU.' + type: string + tier: + description: 'Tier: Tier of an application gateway.' + type: string + type: object + sslCertificates: + description: |- + SslCertificates: SSL certificates of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + sslPolicy: + description: 'SslPolicy: SSL policy of the application gateway resource.' + properties: + cipherSuites: + description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' + items: + description: Ssl cipher suites enums. + type: string + type: array + disabledSslProtocols: + description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' + items: + description: Ssl protocol enums. + type: string + type: array + minProtocolVersion: + description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' + type: string + policyName: + description: 'PolicyName: Name of Ssl predefined policy.' + type: string + policyType: + description: 'PolicyType: Type of Ssl Policy.' + type: string + type: object + sslProfiles: + description: |- + SslProfiles: SSL profiles of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: SSL profile of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedClientCertificates: + description: |- + TrustedClientCertificates: Trusted client certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted client certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + trustedRootCertificates: + description: |- + TrustedRootCertificates: Trusted Root certificates of the application gateway resource. For default limits, see + [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: Trusted Root certificates of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: + description: 'Type: Resource type.' + type: string + urlPathMaps: + description: |- + UrlPathMaps: URL path map of the application gateway resource. For default limits, see [Application Gateway + limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + items: + description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + webApplicationFirewallConfiguration: + description: 'WebApplicationFirewallConfiguration: Web application firewall configuration.' + properties: + disabledRuleGroups: + description: 'DisabledRuleGroups: The disabled rule groups.' + items: + description: Allows to disable rules within a rule group or an entire rule group. + properties: + ruleGroupName: + description: 'RuleGroupName: The name of the rule group that will be disabled.' + type: string + rules: + description: 'Rules: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.' + items: + type: integer + type: array + type: object + type: array + enabled: + description: 'Enabled: Whether the web application firewall is enabled or not.' + type: boolean + exclusions: + description: 'Exclusions: The exclusion list.' + items: + description: Allow to exclude some variable satisfy the condition for the WAF check. + properties: + matchVariable: + description: 'MatchVariable: The variable to be excluded.' + type: string + selector: + description: |- + Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion + applies to. + type: string + selectorMatchOperator: + description: |- + SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the + collection this exclusion applies to. + type: string + type: object + type: array + fileUploadLimitInMb: + description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' + type: integer + firewallMode: + description: 'FirewallMode: Web application firewall mode.' + type: string + maxRequestBodySize: + description: 'MaxRequestBodySize: Maximum request body size for WAF.' + type: integer + maxRequestBodySizeInKb: + description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' + type: integer + requestBodyCheck: + description: 'RequestBodyCheck: Whether allow WAF to check request Body.' + type: boolean + ruleSetType: + description: 'RuleSetType: The type of the web application firewall rule set. Possible values are: ''OWASP''.' + type: string + ruleSetVersion: + description: 'RuleSetVersion: The version of the rule set type.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.ApplicationGateway + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/applicationGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.ApplicationGateway_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayAuthenticationCertificate + Authentication certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + type: string + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayAutoscaleConfiguration + Application Gateway autoscale configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backendAddressPools: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendAddressPool + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddresses: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendAddress + Backend address of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddress: + type: string + type: object + type: array + name: + type: string + type: object + type: array + backendHttpSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendHttpSettings + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinityCookieName: + type: string + authenticationCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + connectionDraining: + description: |- + Storage version of v1api20220701.ApplicationGatewayConnectionDraining + Connection draining allows open connections to a backend server to be active for a specified time after the backend + server got removed from the configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInSec: + type: integer + enabled: + type: boolean + type: object + cookieBasedAffinity: + type: string + hostName: + type: string + name: + type: string + path: + type: string + pickHostNameFromBackendAddress: + type: boolean + port: + type: integer + probe: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + probeEnabled: + type: boolean + protocol: + type: string + requestTimeout: + type: integer + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + backendSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendSettings + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + type: string + name: + type: string + pickHostNameFromBackendAddress: + type: boolean + port: + type: integer + probe: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + type: string + timeout: + type: integer + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + customErrorConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayCustomError + Customer error of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorPageUrl: + type: string + statusCode: + type: string + type: object + type: array + enableFips: + type: boolean + enableHttp2: + type: boolean + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + forceFirewallPolicyAssociation: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendIPConfiguration + Frontend IP configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAddress: + type: string + privateIPAllocationMethod: + type: string + privateLinkConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPAddress: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + frontendPorts: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendPort + Frontend port of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + port: + type: integer + type: object + type: array + gatewayIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayIPConfiguration_ApplicationGateway_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + globalConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayGlobalConfiguration + Application Gateway global configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableRequestBuffering: + type: boolean + enableResponseBuffering: + type: boolean + type: object + httpListeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHttpListener + Http listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayCustomError + Customer error of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorPageUrl: + type: string + statusCode: + type: string + type: object + type: array + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendIPConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hostName: + type: string + hostNames: + items: + type: string + type: array + name: + type: string + protocol: + type: string + requireServerNameIndication: + type: boolean + sslCertificate: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + identity: + description: |- + Storage version of v1api20220701.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220701.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + listeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayListener + Listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frontendIPConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + protocol: + type: string + sslCertificate: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sslProfile: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + loadDistributionPolicies: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayLoadDistributionPolicy + Load Distribution Policy of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadDistributionAlgorithm: + type: string + loadDistributionTargets: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayLoadDistributionTarget + Load Distribution Target of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.ApplicationGatewayOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + privateLinkConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateLinkConfiguration + Private Link Configuration on an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateLinkIpConfiguration + The application gateway private link ip configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayProbe + Probe of the application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + interval: + type: integer + match: + description: |- + Storage version of v1api20220701.ApplicationGatewayProbeHealthResponseMatch + Application gateway probe health response match. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + body: + type: string + statusCodes: + items: + type: string + type: array + type: object + minServers: + type: integer + name: + type: string + path: + type: string + pickHostNameFromBackendHttpSettings: + type: boolean + pickHostNameFromBackendSettings: + type: boolean + port: + type: integer + protocol: + type: string + timeout: + type: integer + unhealthyThreshold: + type: integer + type: object + type: array + redirectConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRedirectConfiguration + Redirect configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includePath: + type: boolean + includeQueryString: + type: boolean + name: + type: string + pathRules: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + redirectType: + type: string + requestRoutingRules: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + targetListener: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + targetUrl: + type: string + urlPathMaps: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + requestRoutingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRequestRoutingRule + Request routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpListener: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + priority: + type: integer + redirectConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + ruleType: + type: string + urlPathMap: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + rewriteRuleSets: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleSet + Rewrite rule set of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + rewriteRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRule + Rewrite rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionSet: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleActionSet + Set of actions in the Rewrite Rule in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + requestHeaderConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHeaderConfiguration + Header configuration of the Actions set in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + responseHeaderConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHeaderConfiguration + Header configuration of the Actions set in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + urlConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayUrlConfiguration + Url configuration of the Actions set in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + modifiedPath: + type: string + modifiedQueryString: + type: string + reroute: + type: boolean + type: object + type: object + conditions: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleCondition + Set of conditions in the Rewrite Rule in Application Gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreCase: + type: boolean + negate: + type: boolean + pattern: + type: string + variable: + type: string + type: object + type: array + name: + type: string + ruleSequence: + type: integer + type: object + type: array + type: object + type: array + routingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRoutingRule + Routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + listener: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + priority: + type: integer + ruleType: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220701.ApplicationGatewaySku + SKU of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + sslCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslCertificate + SSL certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + type: string + name: + type: string + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + sslPolicy: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslPolicy + Application Gateway Ssl policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cipherSuites: + items: + type: string + type: array + disabledSslProtocols: + items: + type: string + type: array + minProtocolVersion: + type: string + policyName: + type: string + policyType: + type: string + type: object + sslProfiles: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslProfile + SSL profile of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientAuthConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayClientAuthConfiguration + Application gateway client authentication configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + verifyClientCertIssuerDN: + type: boolean + verifyClientRevocation: + type: string + type: object + name: + type: string + sslPolicy: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslPolicy + Application Gateway Ssl policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cipherSuites: + items: + type: string + type: array + disabledSslProtocols: + items: + type: string + type: array + minProtocolVersion: + type: string + policyName: + type: string + policyType: + type: string + type: object + trustedClientCertificates: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + type: object + trustedClientCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedClientCertificate + Trusted client certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + type: string + type: object + type: array + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedRootCertificate + Trusted Root certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + data: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretId: + type: string + name: + type: string + type: object + type: array + urlPathMaps: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayUrlPathMap + UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultBackendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultBackendHttpSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultLoadDistributionPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRedirectConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defaultRewriteRuleSet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + pathRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPathRule + Path rule of URL path map of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendHttpSettings: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadDistributionPolicy: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + paths: + items: + type: string + type: array + redirectConfiguration: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + rewriteRuleSet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + type: array + webApplicationFirewallConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayWebApplicationFirewallConfiguration + Application gateway web application firewall configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disabledRuleGroups: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallDisabledRuleGroup + Allows to disable rules within a rule group or an entire rule group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + type: integer + type: array + type: object + type: array + enabled: + type: boolean + exclusions: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallExclusion + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + fileUploadLimitInMb: + type: integer + firewallMode: + type: string + maxRequestBodySize: + type: integer + maxRequestBodySizeInKb: + type: integer + requestBodyCheck: + type: boolean + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.ApplicationGateway_STATUS_ApplicationGateway_SubResourceEmbedded + Application gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayAuthenticationCertificate_STATUS + Authentication certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayAutoscaleConfiguration_STATUS + Application Gateway autoscale configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendAddressPool_STATUS + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + backendHttpSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendHttpSettings_STATUS + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + backendSettingsCollection: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayBackendSettings_STATUS + Backend address pool settings of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customErrorConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayCustomError_STATUS + Customer error of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customErrorPageUrl: + type: string + statusCode: + type: string + type: object + type: array + enableFips: + type: boolean + enableHttp2: + type: boolean + etag: + type: string + firewallPolicy: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + forceFirewallPolicyAssociation: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendIPConfiguration_STATUS + Frontend IP configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + frontendPorts: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFrontendPort_STATUS + Frontend port of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + gatewayIPConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayIPConfiguration_STATUS_ApplicationGateway_SubResourceEmbedded + IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + globalConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayGlobalConfiguration_STATUS + Application Gateway global configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableRequestBuffering: + type: boolean + enableResponseBuffering: + type: boolean + type: object + httpListeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayHttpListener_STATUS + Http listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20220701.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220701.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + listeners: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayListener_STATUS + Listener of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadDistributionPolicies: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayLoadDistributionPolicy_STATUS + Load Distribution Policy of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + operationalState: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateEndpointConnection_STATUS + Private Endpoint connection on an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateLinkConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayPrivateLinkConfiguration_STATUS + Private Link Configuration on an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayProbe_STATUS + Probe of the application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redirectConfigurations: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRedirectConfiguration_STATUS + Redirect configuration of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + requestRoutingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRequestRoutingRule_STATUS + Request routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + rewriteRuleSets: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRewriteRuleSet_STATUS + Rewrite rule set of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + routingRules: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayRoutingRule_STATUS + Routing rule of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220701.ApplicationGatewaySku_STATUS + SKU of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + sslCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslCertificate_STATUS + SSL certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sslPolicy: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslPolicy_STATUS + Application Gateway Ssl policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cipherSuites: + items: + type: string + type: array + disabledSslProtocols: + items: + type: string + type: array + minProtocolVersion: + type: string + policyName: + type: string + policyType: + type: string + type: object + sslProfiles: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewaySslProfile_STATUS + SSL profile of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + trustedClientCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedClientCertificate_STATUS + Trusted client certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + trustedRootCertificates: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayTrustedRootCertificate_STATUS + Trusted Root certificates of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: + type: string + urlPathMaps: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayUrlPathMap_STATUS + UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + webApplicationFirewallConfiguration: + description: |- + Storage version of v1api20220701.ApplicationGatewayWebApplicationFirewallConfiguration_STATUS + Application gateway web application firewall configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disabledRuleGroups: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallDisabledRuleGroup_STATUS + Allows to disable rules within a rule group or an entire rule group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ruleGroupName: + type: string + rules: + items: + type: integer + type: array + type: object + type: array + enabled: + type: boolean + exclusions: + items: + description: |- + Storage version of v1api20220701.ApplicationGatewayFirewallExclusion_STATUS + Allow to exclude some variable satisfy the condition for the WAF check. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchVariable: + type: string + selector: + type: string + selectorMatchOperator: + type: string + type: object + type: array + fileUploadLimitInMb: + type: integer + firewallMode: + type: string + maxRequestBodySize: + type: integer + maxRequestBodySizeInKb: + type: integer + requestBodyCheck: + type: boolean + ruleSetType: + type: string + ruleSetVersion: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: applicationsecuritygroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: ApplicationSecurityGroup + listKind: ApplicationSecurityGroupList + plural: applicationsecuritygroups + singular: applicationsecuritygroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: An application security group in a resource group. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the application security group resource.' + type: string + resourceGuid: + description: |- + ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, + even if the user changes its name or migrate the resource across subscriptions or resource groups. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240101.ApplicationSecurityGroup + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240101.ApplicationSecurityGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240101.ApplicationSecurityGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240101.ApplicationSecurityGroup_STATUS + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: authconfigs.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: AuthConfig + listKind: AuthConfigList + plural: authconfigs + singular: authconfig + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + enum: + - AllowAnonymous + - RedirectToLoginPage + - Return401 + - Return403 + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + enum: + - Custom + - NoProxy + - Standard + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + `https://login.microsoftonline.com/v2.0/{tenant-guid}/`. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + enum: + - ClientSecretPost + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + enum: + - FixedTime + - IdentityProviderDerived + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + required: + - sasUrlSettingName + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + `https://login.microsoftonline.com/v2.0/{tenant-guid}/`. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.AuthConfig + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.AuthConfig_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + Storage version of v1api20240301.EncryptionSettings + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20240301.GlobalValidation + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20240301.HttpSettings + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20240301.ForwardProxy + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20240301.HttpSettingsRoutes + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + identityProviders: + description: |- + Storage version of v1api20240301.IdentityProviders + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20240301.Apple + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppleRegistration + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20240301.AzureActiveDirectory + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryLogin + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryRegistration + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryValidation + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20240301.DefaultAuthorizationPolicy + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20240301.AllowedPrincipals + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20240301.JwtClaimChecks + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20240301.AzureStaticWebApps + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.AzureStaticWebAppsRegistration + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20240301.CustomOpenIdConnectProvider + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.OpenIdConnectLogin + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.OpenIdConnectRegistration + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20240301.OpenIdConnectClientCredential + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20240301.OpenIdConnectConfig + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20240301.Facebook + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppRegistration + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20240301.GitHub + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20240301.Google + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AllowedAudiencesValidation + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20240301.Twitter + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.TwitterRegistration + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20240301.Login + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20240301.CookieExpiration + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20240301.Nonce + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20240301.LoginRoutes + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20240301.TokenStore + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20240301.BlobStorageTokenStore + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.AuthConfigOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: |- + Storage version of v1api20240301.AuthPlatform + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.AuthConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + Storage version of v1api20240301.EncryptionSettings_STATUS + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20240301.GlobalValidation_STATUS + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20240301.HttpSettings_STATUS + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20240301.ForwardProxy_STATUS + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20240301.HttpSettingsRoutes_STATUS + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + id: + type: string + identityProviders: + description: |- + Storage version of v1api20240301.IdentityProviders_STATUS + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20240301.Apple_STATUS + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppleRegistration_STATUS + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20240301.AzureActiveDirectory_STATUS + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryLogin_STATUS + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryRegistration_STATUS + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AzureActiveDirectoryValidation_STATUS + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20240301.DefaultAuthorizationPolicy_STATUS + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20240301.AllowedPrincipals_STATUS + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20240301.JwtClaimChecks_STATUS + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20240301.AzureStaticWebApps_STATUS + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.AzureStaticWebAppsRegistration_STATUS + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20240301.CustomOpenIdConnectProvider_STATUS + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.OpenIdConnectLogin_STATUS + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.OpenIdConnectRegistration_STATUS + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20240301.OpenIdConnectClientCredential_STATUS + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20240301.OpenIdConnectConfig_STATUS + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20240301.Facebook_STATUS + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.AppRegistration_STATUS + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20240301.GitHub_STATUS + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20240301.Google_STATUS + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20240301.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20240301.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20240301.AllowedAudiencesValidation_STATUS + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20240301.Twitter_STATUS + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20240301.TwitterRegistration_STATUS + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20240301.Login_STATUS + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20240301.CookieExpiration_STATUS + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20240301.Nonce_STATUS + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20240301.LoginRoutes_STATUS + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20240301.TokenStore_STATUS + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20240301.BlobStorageTokenStore_STATUS + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + name: + type: string + platform: + description: |- + Storage version of v1api20240301.AuthPlatform_STATUS + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + enum: + - AllowAnonymous + - RedirectToLoginPage + - Return401 + - Return403 + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + enum: + - Custom + - NoProxy + - Standard + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + https://login.microsoftonline.com/v2.0/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + enum: + - ClientSecretPost + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + enum: + - FixedTime + - IdentityProviderDerived + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + required: + - sasUrlSettingName + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + EncryptionSettings: The configuration settings of the secrets references of encryption key and signing key for + ContainerApp Service Authentication/Authorization. + properties: + containerAppAuthEncryptionSecretName: + description: 'ContainerAppAuthEncryptionSecretName: The secret name which is referenced for EncryptionKey.' + type: string + containerAppAuthSigningSecretName: + description: 'ContainerAppAuthSigningSecretName: The secret name which is referenced for SigningKey.' + type: string + type: object + globalValidation: + description: |- + GlobalValidation: The configuration settings that determines the validation flow of users using Service + Authentication/Authorization. + properties: + excludedPaths: + description: 'ExcludedPaths: The paths for which unauthenticated flow would not be redirected to the login page.' + items: + type: string + type: array + redirectToProvider: + description: |- + RedirectToProvider: The default authentication provider to use when multiple providers are configured. + This setting is only needed if multiple providers are configured and the unauthenticated client + action is set to "RedirectToLoginPage". + type: string + unauthenticatedClientAction: + description: 'UnauthenticatedClientAction: The action to take when an unauthenticated client attempts to access the app.' + type: string + type: object + httpSettings: + description: |- + HttpSettings: The configuration settings of the HTTP requests for authentication and authorization requests made against + ContainerApp Service Authentication/Authorization. + properties: + forwardProxy: + description: 'ForwardProxy: The configuration settings of a forward proxy used to make the requests.' + properties: + convention: + description: 'Convention: The convention used to determine the url of the request made.' + type: string + customHostHeaderName: + description: 'CustomHostHeaderName: The name of the header containing the host of the request.' + type: string + customProtoHeaderName: + description: 'CustomProtoHeaderName: The name of the header containing the scheme of the request.' + type: string + type: object + requireHttps: + description: |- + RequireHttps: false if the authentication/authorization responses not having the HTTPS scheme are + permissible; otherwise, true. + type: boolean + routes: + description: 'Routes: The configuration settings of the paths HTTP requests.' + properties: + apiPrefix: + description: 'ApiPrefix: The prefix that should precede all the authentication/authorization paths.' + type: string + type: object + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identityProviders: + description: |- + IdentityProviders: The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + apple: + description: 'Apple: The configuration settings of the Apple provider.' + properties: + enabled: + description: |- + Enabled: false if the Apple provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Apple registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + azureActiveDirectory: + description: 'AzureActiveDirectory: The configuration settings of the Azure Active directory provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Active Directory provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + isAutoProvisioned: + description: |- + IsAutoProvisioned: Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party + tooling. + This is an internal flag primarily intended to support the Azure Management Portal. Users should not + read or write to this property. + type: boolean + login: + description: 'Login: The configuration settings of the Azure Active Directory login flow.' + properties: + disableWWWAuthenticate: + description: |- + DisableWWWAuthenticate: true if the www-authenticate provider should be omitted from the request; + otherwise, false. + type: boolean + loginParameters: + description: |- + LoginParameters: Login parameters to send to the OpenID Connect authorization endpoint when + a user logs in. Each parameter must be in the form "key=value". + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the Azure Active Directory app registration.' + properties: + clientId: + description: |- + ClientId: The Client ID of this relying party application, known as the client_id. + This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + other 3rd party OpenID Connect providers. + More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + type: string + clientSecretCertificateIssuer: + description: |- + ClientSecretCertificateIssuer: An alternative to the client secret thumbprint, that is the issuer of a certificate used + for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateSubjectAlternativeName: + description: |- + ClientSecretCertificateSubjectAlternativeName: An alternative to the client secret thumbprint, that is the subject + alternative name of a certificate used for signing purposes. This property acts as + a replacement for the Client Secret Certificate Thumbprint. It is also optional. + type: string + clientSecretCertificateThumbprint: + description: |- + ClientSecretCertificateThumbprint: An alternative to the client secret, that is the thumbprint of a certificate used for + signing purposes. This property acts as + a replacement for the Client Secret. It is also optional. + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret of the relying party application.' + type: string + openIdIssuer: + description: |- + OpenIdIssuer: The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + When using Azure Active Directory, this value is the URI of the directory tenant, e.g. + https://login.microsoftonline.com/v2.0/{tenant-guid}/. + This URI is a case-sensitive identifier for the token issuer. + More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The list of audiences that can make successful authentication/authorization requests.' + items: + type: string + type: array + defaultAuthorizationPolicy: + description: 'DefaultAuthorizationPolicy: The configuration settings of the default authorization policy.' + properties: + allowedApplications: + description: 'AllowedApplications: The configuration settings of the Azure Active Directory allowed applications.' + items: + type: string + type: array + allowedPrincipals: + description: 'AllowedPrincipals: The configuration settings of the Azure Active Directory allowed principals.' + properties: + groups: + description: 'Groups: The list of the allowed groups.' + items: + type: string + type: array + identities: + description: 'Identities: The list of the allowed identities.' + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: 'JwtClaimChecks: The configuration settings of the checks that should be made while validating the JWT Claims.' + properties: + allowedClientApplications: + description: 'AllowedClientApplications: The list of the allowed client applications.' + items: + type: string + type: array + allowedGroups: + description: 'AllowedGroups: The list of the allowed groups.' + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: 'AzureStaticWebApps: The configuration settings of the Azure Static Web Apps provider.' + properties: + enabled: + description: |- + Enabled: false if the Azure Static Web Apps provider should not be enabled despite the set registration; + otherwise, true. + type: boolean + registration: + description: 'Registration: The configuration settings of the Azure Static Web Apps registration.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: The configuration settings of the custom Open ID Connect provider. + properties: + enabled: + description: 'Enabled: false if the custom Open ID provider provider should not be enabled; otherwise, true.' + type: boolean + login: + description: 'Login: The configuration settings of the login flow of the custom Open ID Connect provider.' + properties: + nameClaimType: + description: 'NameClaimType: The name of the claim that contains the users name.' + type: string + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the custom Open ID Connect provider.' + properties: + clientCredential: + description: 'ClientCredential: The authentication credentials of the custom Open ID Connect provider.' + properties: + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting that contains the client secret for the custom Open ID Connect provider.' + type: string + method: + description: 'Method: The method that should be used to authenticate the user.' + type: string + type: object + clientId: + description: 'ClientId: The client id of the custom Open ID Connect provider.' + type: string + openIdConnectConfiguration: + description: 'OpenIdConnectConfiguration: The configuration settings of the endpoints used for the custom Open ID Connect provider.' + properties: + authorizationEndpoint: + description: 'AuthorizationEndpoint: The endpoint to be used to make an authorization request.' + type: string + certificationUri: + description: 'CertificationUri: The endpoint that provides the keys necessary to validate the token.' + type: string + issuer: + description: 'Issuer: The endpoint that issues the token.' + type: string + tokenEndpoint: + description: 'TokenEndpoint: The endpoint to be used to request a token.' + type: string + wellKnownOpenIdConfiguration: + description: 'WellKnownOpenIdConfiguration: The endpoint that contains all the configuration endpoints for the provider.' + type: string + type: object + type: object + type: object + description: |- + CustomOpenIdConnectProviders: The map of the name of the alias of each custom Open ID Connect provider to the + configuration settings of the custom Open ID Connect provider. + type: object + facebook: + description: 'Facebook: The configuration settings of the Facebook provider.' + properties: + enabled: + description: |- + Enabled: false if the Facebook provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + graphApiVersion: + description: 'GraphApiVersion: The version of the Facebook api to be used while logging in.' + type: string + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Facebook provider.' + properties: + appId: + description: 'AppId: The App ID of the app used for login.' + type: string + appSecretSettingName: + description: 'AppSecretSettingName: The app setting name that contains the app secret.' + type: string + type: object + type: object + gitHub: + description: 'GitHub: The configuration settings of the GitHub provider.' + properties: + enabled: + description: |- + Enabled: false if the GitHub provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the GitHub provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + type: object + google: + description: 'Google: The configuration settings of the Google provider.' + properties: + enabled: + description: |- + Enabled: false if the Google provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + login: + description: 'Login: The configuration settings of the login flow.' + properties: + scopes: + description: 'Scopes: A list of the scopes that should be requested while authenticating.' + items: + type: string + type: array + type: object + registration: + description: 'Registration: The configuration settings of the app registration for the Google provider.' + properties: + clientId: + description: 'ClientId: The Client ID of the app used for login.' + type: string + clientSecretSettingName: + description: 'ClientSecretSettingName: The app setting name that contains the client secret.' + type: string + type: object + validation: + description: 'Validation: The configuration settings of the Azure Active Directory token validation flow.' + properties: + allowedAudiences: + description: 'AllowedAudiences: The configuration settings of the allowed list of audiences from which to validate the JWT token.' + items: + type: string + type: array + type: object + type: object + twitter: + description: 'Twitter: The configuration settings of the Twitter provider.' + properties: + enabled: + description: |- + Enabled: false if the Twitter provider should not be enabled despite the set registration; otherwise, + true. + type: boolean + registration: + description: 'Registration: The configuration settings of the app registration for the Twitter provider.' + properties: + consumerKey: + description: |- + ConsumerKey: The OAuth 1.0a consumer key of the Twitter application used for sign-in. + This setting is required for enabling Twitter Sign-In. + Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + type: string + consumerSecretSettingName: + description: |- + ConsumerSecretSettingName: The app setting name that contains the OAuth 1.0a consumer secret of the Twitter + application used for sign-in. + type: string + type: object + type: object + type: object + login: + description: 'Login: The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.' + properties: + allowedExternalRedirectUrls: + description: |- + AllowedExternalRedirectUrls: External URLs that can be redirected to as part of logging in or logging out of the app. + Note that the query string part of the URL is ignored. + This is an advanced setting typically only needed by Windows Store application backends. + Note that URLs within the current domain are always implicitly allowed. + items: + type: string + type: array + cookieExpiration: + description: 'CookieExpiration: The configuration settings of the session cookie''s expiration.' + properties: + convention: + description: 'Convention: The convention used when determining the session cookie''s expiration.' + type: string + timeToExpiration: + description: 'TimeToExpiration: The time after the request is made when the session cookie should expire.' + type: string + type: object + nonce: + description: 'Nonce: The configuration settings of the nonce used in the login flow.' + properties: + nonceExpirationInterval: + description: 'NonceExpirationInterval: The time after the request is made when the nonce should expire.' + type: string + validateNonce: + description: |- + ValidateNonce: false if the nonce should not be validated while completing the login flow; otherwise, + true. + type: boolean + type: object + preserveUrlFragmentsForLogins: + description: |- + PreserveUrlFragmentsForLogins: true if the fragments from the request are preserved after the login request + is made; otherwise, false. + type: boolean + routes: + description: 'Routes: The routes that specify the endpoints used for login and logout requests.' + properties: + logoutEndpoint: + description: 'LogoutEndpoint: The endpoint at which a logout request should be made.' + type: string + type: object + tokenStore: + description: 'TokenStore: The configuration settings of the token store.' + properties: + azureBlobStorage: + description: 'AzureBlobStorage: The configuration settings of the storage of the tokens if blob storage is used.' + properties: + sasUrlSettingName: + description: 'SasUrlSettingName: The name of the app secrets containing the SAS URL of the blob storage containing the tokens.' + type: string + type: object + enabled: + description: |- + Enabled: true to durably store platform-specific security tokens that are obtained during login flows; + otherwise, false. + The default is false. + type: boolean + tokenRefreshExtensionHours: + description: |- + TokenRefreshExtensionHours: The number of hours after session token expiration that a session token can be used to + call the token refresh API. The default is 72 hours. + type: number + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + platform: + description: 'Platform: The configuration settings of the platform of ContainerApp Service Authentication/Authorization.' + properties: + enabled: + description: |- + Enabled: true if the Authentication / Authorization feature is enabled for the current app; otherwise, + false. + type: boolean + runtimeVersion: + description: |- + RuntimeVersion: The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.AuthConfig + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/AuthConfigs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{authConfigName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.AuthConfig_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionSettings: + description: |- + Storage version of v1api20250101.EncryptionSettings + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20250101.GlobalValidation + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20250101.HttpSettings + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20250101.ForwardProxy + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20250101.HttpSettingsRoutes + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + identityProviders: + description: |- + Storage version of v1api20250101.IdentityProviders + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20250101.Apple + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppleRegistration + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20250101.AzureActiveDirectory + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryLogin + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryRegistration + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryValidation + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20250101.DefaultAuthorizationPolicy + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20250101.AllowedPrincipals + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20250101.JwtClaimChecks + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20250101.AzureStaticWebApps + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.AzureStaticWebAppsRegistration + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20250101.CustomOpenIdConnectProvider + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.OpenIdConnectLogin + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.OpenIdConnectRegistration + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20250101.OpenIdConnectClientCredential + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20250101.OpenIdConnectConfig + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20250101.Facebook + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppRegistration + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20250101.GitHub + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20250101.Google + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AllowedAudiencesValidation + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20250101.Twitter + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.TwitterRegistration + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20250101.Login + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20250101.CookieExpiration + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20250101.Nonce + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20250101.LoginRoutes + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20250101.TokenStore + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20250101.BlobStorageTokenStore + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20250101.AuthConfigOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a app.azure.com/ContainerApp resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platform: + description: |- + Storage version of v1api20250101.AuthPlatform + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250101.AuthConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionSettings: + description: |- + Storage version of v1api20250101.EncryptionSettings_STATUS + The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerAppAuthEncryptionSecretName: + type: string + containerAppAuthSigningSecretName: + type: string + type: object + globalValidation: + description: |- + Storage version of v1api20250101.GlobalValidation_STATUS + The configuration settings that determines the validation flow of users using ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedPaths: + items: + type: string + type: array + redirectToProvider: + type: string + unauthenticatedClientAction: + type: string + type: object + httpSettings: + description: |- + Storage version of v1api20250101.HttpSettings_STATUS + The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp + Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardProxy: + description: |- + Storage version of v1api20250101.ForwardProxy_STATUS + The configuration settings of a forward proxy used to make the requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + customHostHeaderName: + type: string + customProtoHeaderName: + type: string + type: object + requireHttps: + type: boolean + routes: + description: |- + Storage version of v1api20250101.HttpSettingsRoutes_STATUS + The configuration settings of the paths HTTP requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apiPrefix: + type: string + type: object + type: object + id: + type: string + identityProviders: + description: |- + Storage version of v1api20250101.IdentityProviders_STATUS + The configuration settings of each of the identity providers used to configure ContainerApp Service + Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apple: + description: |- + Storage version of v1api20250101.Apple_STATUS + The configuration settings of the Apple provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppleRegistration_STATUS + The configuration settings of the registration for the Apple provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + azureActiveDirectory: + description: |- + Storage version of v1api20250101.AzureActiveDirectory_STATUS + The configuration settings of the Azure Active directory provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + isAutoProvisioned: + type: boolean + login: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryLogin_STATUS + The configuration settings of the Azure Active Directory login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableWWWAuthenticate: + type: boolean + loginParameters: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryRegistration_STATUS + The configuration settings of the Azure Active Directory app registration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretCertificateIssuer: + type: string + clientSecretCertificateSubjectAlternativeName: + type: string + clientSecretCertificateThumbprint: + type: string + clientSecretSettingName: + type: string + openIdIssuer: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AzureActiveDirectoryValidation_STATUS + The configuration settings of the Azure Active Directory token validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + defaultAuthorizationPolicy: + description: |- + Storage version of v1api20250101.DefaultAuthorizationPolicy_STATUS + The configuration settings of the Azure Active Directory default authorization policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedApplications: + items: + type: string + type: array + allowedPrincipals: + description: |- + Storage version of v1api20250101.AllowedPrincipals_STATUS + The configuration settings of the Azure Active Directory allowed principals. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groups: + items: + type: string + type: array + identities: + items: + type: string + type: array + type: object + type: object + jwtClaimChecks: + description: |- + Storage version of v1api20250101.JwtClaimChecks_STATUS + The configuration settings of the checks that should be made while validating the JWT Claims. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedClientApplications: + items: + type: string + type: array + allowedGroups: + items: + type: string + type: array + type: object + type: object + type: object + azureStaticWebApps: + description: |- + Storage version of v1api20250101.AzureStaticWebApps_STATUS + The configuration settings of the Azure Static Web Apps provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.AzureStaticWebAppsRegistration_STATUS + The configuration settings of the registration for the Azure Static Web Apps provider + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + type: object + customOpenIdConnectProviders: + additionalProperties: + description: |- + Storage version of v1api20250101.CustomOpenIdConnectProvider_STATUS + The configuration settings of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.OpenIdConnectLogin_STATUS + The configuration settings of the login flow of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameClaimType: + type: string + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.OpenIdConnectRegistration_STATUS + The configuration settings of the app registration for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCredential: + description: |- + Storage version of v1api20250101.OpenIdConnectClientCredential_STATUS + The authentication client credentials of the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientSecretSettingName: + type: string + method: + type: string + type: object + clientId: + type: string + openIdConnectConfiguration: + description: |- + Storage version of v1api20250101.OpenIdConnectConfig_STATUS + The configuration settings of the endpoints used for the custom Open ID Connect provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationEndpoint: + type: string + certificationUri: + type: string + issuer: + type: string + tokenEndpoint: + type: string + wellKnownOpenIdConfiguration: + type: string + type: object + type: object + type: object + type: object + facebook: + description: |- + Storage version of v1api20250101.Facebook_STATUS + The configuration settings of the Facebook provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + graphApiVersion: + type: string + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.AppRegistration_STATUS + The configuration settings of the app registration for providers that have app ids and app secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appSecretSettingName: + type: string + type: object + type: object + gitHub: + description: |- + Storage version of v1api20250101.GitHub_STATUS + The configuration settings of the GitHub provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + type: object + google: + description: |- + Storage version of v1api20250101.Google_STATUS + The configuration settings of the Google provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + login: + description: |- + Storage version of v1api20250101.LoginScopes_STATUS + The configuration settings of the login flow, including the scopes that should be requested. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scopes: + items: + type: string + type: array + type: object + registration: + description: |- + Storage version of v1api20250101.ClientRegistration_STATUS + The configuration settings of the app registration for providers that have client ids and client secrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + clientSecretSettingName: + type: string + type: object + validation: + description: |- + Storage version of v1api20250101.AllowedAudiencesValidation_STATUS + The configuration settings of the Allowed Audiences validation flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedAudiences: + items: + type: string + type: array + type: object + type: object + twitter: + description: |- + Storage version of v1api20250101.Twitter_STATUS + The configuration settings of the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + registration: + description: |- + Storage version of v1api20250101.TwitterRegistration_STATUS + The configuration settings of the app registration for the Twitter provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerKey: + type: string + consumerSecretSettingName: + type: string + type: object + type: object + type: object + login: + description: |- + Storage version of v1api20250101.Login_STATUS + The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedExternalRedirectUrls: + items: + type: string + type: array + cookieExpiration: + description: |- + Storage version of v1api20250101.CookieExpiration_STATUS + The configuration settings of the session cookie's expiration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + convention: + type: string + timeToExpiration: + type: string + type: object + nonce: + description: |- + Storage version of v1api20250101.Nonce_STATUS + The configuration settings of the nonce used in the login flow. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nonceExpirationInterval: + type: string + validateNonce: + type: boolean + type: object + preserveUrlFragmentsForLogins: + type: boolean + routes: + description: |- + Storage version of v1api20250101.LoginRoutes_STATUS + The routes that specify the endpoints used for login and logout requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logoutEndpoint: + type: string + type: object + tokenStore: + description: |- + Storage version of v1api20250101.TokenStore_STATUS + The configuration settings of the token store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBlobStorage: + description: |- + Storage version of v1api20250101.BlobStorageTokenStore_STATUS + The configuration settings of the storage of the tokens if blob storage is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sasUrlSettingName: + type: string + type: object + enabled: + type: boolean + tokenRefreshExtensionHours: + type: number + type: object + type: object + name: + type: string + platform: + description: |- + Storage version of v1api20250101.AuthPlatform_STATUS + The configuration settings of the platform of ContainerApp Service Authentication/Authorization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + runtimeVersion: + type: string + type: object + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: authorizationproviders.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: AuthorizationProvider + listKind: AuthorizationProviderList + plural: authorizationproviders + singular: authorizationprovider + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: 'ClientCredentials: OAuth2 client credential grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + additionalProperties: + type: string + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + type: object + clientCredentials: + additionalProperties: + type: string + description: 'ClientCredentials: OAuth2 client credential grant parameters' + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.AuthorizationProvider + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.AuthorizationProvider_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + identityProvider: + type: string + oauth2: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2Settings + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2GrantTypes + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.AuthorizationProviderOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.AuthorizationProvider_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + identityProvider: + type: string + name: + type: string + oauth2: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2Settings_STATUS + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20220801.AuthorizationProviderOAuth2GrantTypes_STATUS + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + additionalProperties: + type: string + type: object + clientCredentials: + additionalProperties: + type: string + type: object + type: object + redirectUrl: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + maxLength: 300 + minLength: 1 + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: 'ClientCredentials: OAuth2 client credential grant parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identityProvider: + description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2: + description: 'Oauth2: OAuth2 settings' + properties: + grantTypes: + description: 'GrantTypes: OAuth2 settings' + properties: + authorizationCode: + additionalProperties: + type: string + description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + type: object + clientCredentials: + additionalProperties: + type: string + description: 'ClientCredentials: OAuth2 client credential grant parameters' + type: object + type: object + redirectUrl: + description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.AuthorizationProvider + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.AuthorizationProvider_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + identityProvider: + type: string + oauth2: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2Settings + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2GrantTypes + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + clientCredentials: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + type: object + redirectUrl: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.AuthorizationProvider_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + type: string + id: + type: string + identityProvider: + type: string + name: + type: string + oauth2: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2Settings_STATUS + OAuth2 settings details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + grantTypes: + description: |- + Storage version of v1api20230501preview.AuthorizationProviderOAuth2GrantTypes_STATUS + Authorization Provider oauth2 grant types settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationCode: + additionalProperties: + type: string + type: object + clientCredentials: + additionalProperties: + type: string + type: object + type: object + redirectUrl: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: authorizationprovidersauthorizations.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: AuthorizationProvidersAuthorization + listKind: AuthorizationProvidersAuthorizationList + plural: authorizationprovidersauthorizations + singular: authorizationprovidersauthorization + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + enum: + - OAuth2 + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + enum: + - AuthorizationCode + - ClientCredentials + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: Authorization parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: 'Error: Authorization error details.' + properties: + code: + description: 'Code: Error code' + type: string + message: + description: 'Message: Error message' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + type: string + parameters: + additionalProperties: + type: string + description: 'Parameters: Authorization parameters' + type: object + status: + description: 'Status: Status of the Authorization' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorization + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorization_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + oauth2grantType: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorizationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorization_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: |- + Storage version of v1api20220801.AuthorizationError_STATUS + Authorization error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + type: object + id: + type: string + name: + type: string + oauth2grantType: + type: string + parameters: + additionalProperties: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + enum: + - OAuth2 + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + enum: + - AuthorizationCode + - ClientCredentials + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: Authorization parameters' + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + properties: + authorizationType: + description: 'AuthorizationType: Authorization type options' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: 'Error: Authorization error details.' + properties: + code: + description: 'Code: Error code' + type: string + message: + description: 'Message: Error message' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + oauth2grantType: + description: 'Oauth2GrantType: OAuth2 grant type options' + type: string + parameters: + additionalProperties: + type: string + description: 'Parameters: Authorization parameters' + type: object + status: + description: 'Status: Status of the Authorization' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorization + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorization_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + oauth2grantType: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvider resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorization_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizationType: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + error: + description: |- + Storage version of v1api20230501preview.AuthorizationError_STATUS + Authorization error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + type: object + id: + type: string + name: + type: string + oauth2grantType: + type: string + parameters: + additionalProperties: + type: string + type: object + status: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: AuthorizationProvidersAuthorizationsAccessPolicy + listKind: AuthorizationProvidersAuthorizationsAccessPolicyList + plural: authorizationprovidersauthorizationsaccesspolicies + singular: authorizationprovidersauthorizationsaccesspolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The Object Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + description: 'TenantId: The Tenant Id' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The Tenant Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + tenantId: + description: 'TenantId: The Tenant Id' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + objectId: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appIds: + description: 'AppIds: The allowed Azure Active Directory Application IDs' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + objectIdFromConfig: + description: 'ObjectIdFromConfig: The Object Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + description: 'TenantId: The Tenant Id' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The Tenant Id' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + properties: + appIds: + description: 'AppIds: The allowed Azure Active Directory Application IDs' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + objectId: + description: 'ObjectId: The Object Id' + type: string + tenantId: + description: 'TenantId: The Tenant Id' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appIds: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + objectId: + type: string + objectIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appIds: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + objectId: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: autoscalesettings.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: AutoscaleSetting + listKind: AutoscaleSettingList + plural: autoscalesettings + singular: autoscalesetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-10-01/autoscale_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabled: + description: 'Enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is ''false''.' + type: boolean + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: the name of the autoscale setting.' + type: string + notifications: + description: 'Notifications: the collection of notifications.' + items: + description: Autoscale notification. + properties: + email: + description: 'Email: the email notification.' + properties: + customEmails: + description: 'CustomEmails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored.' + items: + type: string + type: array + sendToSubscriptionAdministrator: + description: 'SendToSubscriptionAdministrator: a value indicating whether to send email to subscription administrator.' + type: boolean + sendToSubscriptionCoAdministrators: + description: 'SendToSubscriptionCoAdministrators: a value indicating whether to send email to subscription co-administrators.' + type: boolean + type: object + operation: + description: 'Operation: the operation associated with the notification and its value must be "scale"' + enum: + - Scale + type: string + webhooks: + description: 'Webhooks: the collection of webhook notifications.' + items: + description: Webhook notification of an autoscale event. + properties: + properties: + additionalProperties: + type: string + description: 'Properties: a property bag of settings. This value can be empty.' + type: object + serviceUri: + description: 'ServiceUri: the service address to receive the notification.' + type: string + type: object + type: array + required: + - operation + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + predictiveAutoscalePolicy: + description: 'PredictiveAutoscalePolicy: the predictive autoscale policy mode.' + properties: + scaleLookAheadTime: + description: |- + ScaleLookAheadTime: the amount of time to specify by which instances are launched in advance. It must be between 1 + minute and 60 minutes in ISO 8601 format. + type: string + scaleMode: + description: 'ScaleMode: the predictive autoscale mode' + enum: + - Disabled + - Enabled + - ForecastOnly + type: string + required: + - scaleMode + type: object + profiles: + description: |- + Profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time + periods. A maximum of 20 profiles can be specified. + items: + description: Autoscale profile. + properties: + capacity: + description: 'Capacity: the number of instances that can be used during this profile.' + properties: + default: + description: |- + Default: the number of instances that will be set if metrics are not available for evaluation. The default is only used + if the current instance count is lower than the default. + type: string + maximum: + description: |- + Maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the + cores that are available in the subscription. + type: string + minimum: + description: 'Minimum: the minimum number of instances for the resource.' + type: string + required: + - default + - maximum + - minimum + type: object + fixedDate: + description: 'FixedDate: the specific date-time for the profile. This element is not used if the Recurrence element is used.' + properties: + end: + description: 'End: the end time for the profile in ISO 8601 format.' + type: string + start: + description: 'Start: the start time for the profile in ISO 8601 format.' + type: string + timeZone: + description: |- + TimeZone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline + Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard + Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, + Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern + Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, + Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. + South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo + Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, + Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard + Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, + Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - end + - start + type: object + name: + description: 'Name: the name of the profile.' + type: string + recurrence: + description: 'Recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used.' + properties: + frequency: + description: |- + Frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning + each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the + week. The frequency property specifies that the schedule is repeated weekly. + enum: + - Day + - Hour + - Minute + - Month + - None + - Second + - Week + - Year + type: string + schedule: + description: 'Schedule: the scheduling constraints for when the profile begins.' + properties: + days: + description: 'Days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday.' + items: + type: string + type: array + hours: + description: |- + Hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM + times are not supported). + items: + type: integer + type: array + minutes: + description: 'Minutes: A collection of minutes at which the profile takes effect at.' + items: + type: integer + type: array + timeZone: + description: |- + TimeZone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, + UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US + Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central + Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard + Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central + Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South + America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard + Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco + Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, + Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan + Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - days + - hours + - minutes + - timeZone + type: object + required: + - frequency + - schedule + type: object + rules: + description: |- + Rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules + can be specified. + items: + description: A rule that provide the triggers and parameters for the scaling action. + properties: + metricTrigger: + description: 'MetricTrigger: the trigger that results in a scaling action.' + properties: + dimensions: + description: |- + Dimensions: List of dimension conditions. For example: + [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + items: + description: Specifies an auto scale rule metric dimension. + properties: + DimensionName: + description: 'DimensionName: Name of the dimension.' + type: string + Operator: + description: |- + Operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the + values. 'NotEquals' being not equal to all of the values + enum: + - Equals + - NotEquals + type: string + Values: + description: 'Values: list of dimension values. For example: ["App1","App2"].' + items: + type: string + type: array + required: + - DimensionName + - Operator + - Values + type: object + type: array + dividePerInstance: + description: 'DividePerInstance: a value indicating whether metric should divide per instance.' + type: boolean + metricName: + description: 'MetricName: the name of the metric that defines what the rule monitors.' + type: string + metricNamespace: + description: 'MetricNamespace: the namespace of the metric that defines what the rule monitors.' + type: string + metricResourceLocation: + description: 'MetricResourceLocation: the location of the resource the rule monitors.' + type: string + metricResourceUriReference: + description: 'MetricResourceUriReference: the resource identifier of the resource the rule monitors.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operator: + description: 'Operator: the operator that is used to compare the metric data and the threshold.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - NotEquals + type: string + statistic: + description: 'Statistic: the metric statistic type. How the metrics from multiple instances are combined.' + enum: + - Average + - Count + - Max + - Min + - Sum + type: string + threshold: + description: 'Threshold: the threshold of the metric that triggers the scale action.' + type: number + timeAggregation: + description: |- + TimeAggregation: time aggregation type. How the data that is collected should be combined over time. The default value + is Average. + enum: + - Average + - Count + - Last + - Maximum + - Minimum + - Total + type: string + timeGrain: + description: |- + TimeGrain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric + definitions for the metric. Must be between 12 hours and 1 minute. + type: string + timeWindow: + description: |- + TimeWindow: the range of time in which instance data is collected. This value must be greater than the delay in metric + collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + type: string + required: + - metricName + - metricResourceUriReference + - operator + - statistic + - threshold + - timeAggregation + - timeGrain + - timeWindow + type: object + scaleAction: + description: 'ScaleAction: the parameters for the scaling action.' + properties: + cooldown: + description: |- + Cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week + and 1 minute in ISO 8601 format. + type: string + direction: + description: 'Direction: the scale direction. Whether the scaling action increases or decreases the number of instances.' + enum: + - Decrease + - Increase + - None + type: string + type: + description: 'Type: the type of action that should occur when the scale rule fires.' + enum: + - ChangeCount + - ExactCount + - PercentChangeCount + - ServiceAllowedNextValue + type: string + value: + description: |- + Value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default + value is 1. + type: string + required: + - cooldown + - direction + - type + type: object + required: + - metricTrigger + - scaleAction + type: object + type: array + required: + - capacity + - name + - rules + type: object + maxItems: 20 + type: array + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no + greater in length than 128 characters and a value no greater in length than 256 characters. + type: object + targetResourceLocation: + description: 'TargetResourceLocation: the location of the resource that the autoscale setting should be added to.' + type: string + targetResourceUriReference: + description: 'TargetResourceUriReference: the resource identifier of the resource that the autoscale setting should be added to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - location + - owner + - profiles + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enabled: + description: 'Enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is ''false''.' + type: boolean + id: + description: 'Id: Azure resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + notifications: + description: 'Notifications: the collection of notifications.' + items: + description: Autoscale notification. + properties: + email: + description: 'Email: the email notification.' + properties: + customEmails: + description: 'CustomEmails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored.' + items: + type: string + type: array + sendToSubscriptionAdministrator: + description: 'SendToSubscriptionAdministrator: a value indicating whether to send email to subscription administrator.' + type: boolean + sendToSubscriptionCoAdministrators: + description: 'SendToSubscriptionCoAdministrators: a value indicating whether to send email to subscription co-administrators.' + type: boolean + type: object + operation: + description: 'Operation: the operation associated with the notification and its value must be "scale"' + type: string + webhooks: + description: 'Webhooks: the collection of webhook notifications.' + items: + description: Webhook notification of an autoscale event. + properties: + properties: + additionalProperties: + type: string + description: 'Properties: a property bag of settings. This value can be empty.' + type: object + serviceUri: + description: 'ServiceUri: the service address to receive the notification.' + type: string + type: object + type: array + type: object + type: array + predictiveAutoscalePolicy: + description: 'PredictiveAutoscalePolicy: the predictive autoscale policy mode.' + properties: + scaleLookAheadTime: + description: |- + ScaleLookAheadTime: the amount of time to specify by which instances are launched in advance. It must be between 1 + minute and 60 minutes in ISO 8601 format. + type: string + scaleMode: + description: 'ScaleMode: the predictive autoscale mode' + type: string + type: object + profiles: + description: |- + Profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time + periods. A maximum of 20 profiles can be specified. + items: + description: Autoscale profile. + properties: + capacity: + description: 'Capacity: the number of instances that can be used during this profile.' + properties: + default: + description: |- + Default: the number of instances that will be set if metrics are not available for evaluation. The default is only used + if the current instance count is lower than the default. + type: string + maximum: + description: |- + Maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the + cores that are available in the subscription. + type: string + minimum: + description: 'Minimum: the minimum number of instances for the resource.' + type: string + required: + - default + - maximum + - minimum + type: object + fixedDate: + description: 'FixedDate: the specific date-time for the profile. This element is not used if the Recurrence element is used.' + properties: + end: + description: 'End: the end time for the profile in ISO 8601 format.' + type: string + start: + description: 'Start: the start time for the profile in ISO 8601 format.' + type: string + timeZone: + description: |- + TimeZone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline + Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard + Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, + Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern + Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, + Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. + South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo + Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, + Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard + Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, + Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - end + - start + type: object + name: + description: 'Name: the name of the profile.' + type: string + recurrence: + description: 'Recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used.' + properties: + frequency: + description: |- + Frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning + each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the + week. The frequency property specifies that the schedule is repeated weekly. + enum: + - Day + - Hour + - Minute + - Month + - None + - Second + - Week + - Year + type: string + schedule: + description: 'Schedule: the scheduling constraints for when the profile begins.' + properties: + days: + description: 'Days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday.' + items: + type: string + type: array + hours: + description: |- + Hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM + times are not supported). + items: + type: integer + type: array + minutes: + description: 'Minutes: A collection of minutes at which the profile takes effect at.' + items: + type: integer + type: array + timeZone: + description: |- + TimeZone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, + UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US + Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central + Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard + Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central + Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South + America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard + Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco + Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, + Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan + Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe + Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad + Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard + Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, + Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard + Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard + Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE + Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard + Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard + Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS + Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard + Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji + Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + type: string + required: + - days + - hours + - minutes + - timeZone + type: object + required: + - frequency + - schedule + type: object + rules: + description: |- + Rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules + can be specified. + items: + description: A rule that provide the triggers and parameters for the scaling action. + properties: + metricTrigger: + description: 'MetricTrigger: the trigger that results in a scaling action.' + properties: + dimensions: + description: |- + Dimensions: List of dimension conditions. For example: + [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. + items: + description: Specifies an auto scale rule metric dimension. + properties: + DimensionName: + description: 'DimensionName: Name of the dimension.' + type: string + Operator: + description: |- + Operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the + values. 'NotEquals' being not equal to all of the values + enum: + - Equals + - NotEquals + type: string + Values: + description: 'Values: list of dimension values. For example: ["App1","App2"].' + items: + type: string + type: array + required: + - DimensionName + - Operator + - Values + type: object + type: array + dividePerInstance: + description: 'DividePerInstance: a value indicating whether metric should divide per instance.' + type: boolean + metricName: + description: 'MetricName: the name of the metric that defines what the rule monitors.' + type: string + metricNamespace: + description: 'MetricNamespace: the namespace of the metric that defines what the rule monitors.' + type: string + metricResourceLocation: + description: 'MetricResourceLocation: the location of the resource the rule monitors.' + type: string + metricResourceUri: + description: 'MetricResourceUri: the resource identifier of the resource the rule monitors.' + type: string + operator: + description: 'Operator: the operator that is used to compare the metric data and the threshold.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - NotEquals + type: string + statistic: + description: 'Statistic: the metric statistic type. How the metrics from multiple instances are combined.' + enum: + - Average + - Count + - Max + - Min + - Sum + type: string + threshold: + description: 'Threshold: the threshold of the metric that triggers the scale action.' + type: number + timeAggregation: + description: |- + TimeAggregation: time aggregation type. How the data that is collected should be combined over time. The default value + is Average. + enum: + - Average + - Count + - Last + - Maximum + - Minimum + - Total + type: string + timeGrain: + description: |- + TimeGrain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric + definitions for the metric. Must be between 12 hours and 1 minute. + type: string + timeWindow: + description: |- + TimeWindow: the range of time in which instance data is collected. This value must be greater than the delay in metric + collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. + type: string + required: + - metricName + - metricResourceUri + - operator + - statistic + - threshold + - timeAggregation + - timeGrain + - timeWindow + type: object + scaleAction: + description: 'ScaleAction: the parameters for the scaling action.' + properties: + cooldown: + description: |- + Cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week + and 1 minute in ISO 8601 format. + type: string + direction: + description: 'Direction: the scale direction. Whether the scaling action increases or decreases the number of instances.' + enum: + - Decrease + - Increase + - None + type: string + type: + description: 'Type: the type of action that should occur when the scale rule fires.' + enum: + - ChangeCount + - ExactCount + - PercentChangeCount + - ServiceAllowedNextValue + type: string + value: + description: |- + Value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default + value is 1. + type: string + required: + - cooldown + - direction + - type + type: object + required: + - metricTrigger + - scaleAction + type: object + type: array + required: + - capacity + - name + - rules + type: object + type: array + properties_name: + description: 'PropertiesName: the name of the autoscale setting.' + type: string + systemData: + description: 'SystemData: The system metadata related to the response.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: |- + Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping + this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no + greater in length than 128 characters and a value no greater in length than 256 characters. + type: object + targetResourceLocation: + description: 'TargetResourceLocation: the location of the resource that the autoscale setting should be added to.' + type: string + targetResourceUri: + description: 'TargetResourceUri: the resource identifier of the resource that the autoscale setting should be added to.' + type: string + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221001.AutoscaleSetting + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-10-01/autoscale_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221001.AutoscaleSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enabled: + type: boolean + location: + type: string + name: + type: string + notifications: + items: + description: |- + Storage version of v1api20221001.AutoscaleNotification + Autoscale notification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + description: |- + Storage version of v1api20221001.EmailNotification + Email notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmails: + items: + type: string + type: array + sendToSubscriptionAdministrator: + type: boolean + sendToSubscriptionCoAdministrators: + type: boolean + type: object + operation: + type: string + webhooks: + items: + description: |- + Storage version of v1api20221001.WebhookNotification + Webhook notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + additionalProperties: + type: string + type: object + serviceUri: + type: string + type: object + type: array + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20221001.AutoscaleSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + predictiveAutoscalePolicy: + description: |- + Storage version of v1api20221001.PredictiveAutoscalePolicy + The parameters for enabling predictive autoscale. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scaleLookAheadTime: + type: string + scaleMode: + type: string + type: object + profiles: + items: + description: |- + Storage version of v1api20221001.AutoscaleProfile + Autoscale profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + description: |- + Storage version of v1api20221001.ScaleCapacity + The number of instances that can be used during this profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: string + maximum: + type: string + minimum: + type: string + type: object + fixedDate: + description: |- + Storage version of v1api20221001.TimeWindow + A specific date-time for the profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + timeZone: + type: string + type: object + name: + type: string + recurrence: + description: |- + Storage version of v1api20221001.Recurrence + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frequency: + type: string + schedule: + description: |- + Storage version of v1api20221001.RecurrentSchedule + The scheduling constraints for when the profile begins. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + items: + type: string + type: array + hours: + items: + type: integer + type: array + minutes: + items: + type: integer + type: array + timeZone: + type: string + type: object + type: object + rules: + items: + description: |- + Storage version of v1api20221001.ScaleRule + A rule that provide the triggers and parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricTrigger: + description: |- + Storage version of v1api20221001.MetricTrigger + The trigger that results in a scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20221001.ScaleRuleMetricDimension + Specifies an auto scale rule metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + DimensionName: + type: string + Operator: + type: string + Values: + items: + type: string + type: array + type: object + type: array + dividePerInstance: + type: boolean + metricName: + type: string + metricNamespace: + type: string + metricResourceLocation: + type: string + metricResourceUriReference: + description: 'MetricResourceUriReference: the resource identifier of the resource the rule monitors.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operator: + type: string + statistic: + type: string + threshold: + type: number + timeAggregation: + type: string + timeGrain: + type: string + timeWindow: + type: string + required: + - metricResourceUriReference + type: object + scaleAction: + description: |- + Storage version of v1api20221001.ScaleAction + The parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldown: + type: string + direction: + type: string + type: + type: string + value: + type: string + type: object + type: object + type: array + type: object + type: array + tags: + additionalProperties: + type: string + type: object + targetResourceLocation: + type: string + targetResourceUriReference: + description: 'TargetResourceUriReference: the resource identifier of the resource that the autoscale setting should be added to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20221001.Autoscalesetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enabled: + type: boolean + id: + type: string + location: + type: string + name: + type: string + notifications: + items: + description: |- + Storage version of v1api20221001.AutoscaleNotification_STATUS + Autoscale notification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + description: |- + Storage version of v1api20221001.EmailNotification_STATUS + Email notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmails: + items: + type: string + type: array + sendToSubscriptionAdministrator: + type: boolean + sendToSubscriptionCoAdministrators: + type: boolean + type: object + operation: + type: string + webhooks: + items: + description: |- + Storage version of v1api20221001.WebhookNotification_STATUS + Webhook notification of an autoscale event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + additionalProperties: + type: string + type: object + serviceUri: + type: string + type: object + type: array + type: object + type: array + predictiveAutoscalePolicy: + description: |- + Storage version of v1api20221001.PredictiveAutoscalePolicy_STATUS + The parameters for enabling predictive autoscale. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scaleLookAheadTime: + type: string + scaleMode: + type: string + type: object + profiles: + items: + description: |- + Storage version of v1api20221001.AutoscaleProfile_STATUS + Autoscale profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + description: |- + Storage version of v1api20221001.ScaleCapacity_STATUS + The number of instances that can be used during this profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: string + maximum: + type: string + minimum: + type: string + type: object + fixedDate: + description: |- + Storage version of v1api20221001.TimeWindow_STATUS + A specific date-time for the profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + timeZone: + type: string + type: object + name: + type: string + recurrence: + description: |- + Storage version of v1api20221001.Recurrence_STATUS + The repeating times at which this profile begins. This element is not used if the FixedDate element is used. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + frequency: + type: string + schedule: + description: |- + Storage version of v1api20221001.RecurrentSchedule_STATUS + The scheduling constraints for when the profile begins. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + items: + type: string + type: array + hours: + items: + type: integer + type: array + minutes: + items: + type: integer + type: array + timeZone: + type: string + type: object + type: object + rules: + items: + description: |- + Storage version of v1api20221001.ScaleRule_STATUS + A rule that provide the triggers and parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricTrigger: + description: |- + Storage version of v1api20221001.MetricTrigger_STATUS + The trigger that results in a scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20221001.ScaleRuleMetricDimension_STATUS + Specifies an auto scale rule metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + DimensionName: + type: string + Operator: + type: string + Values: + items: + type: string + type: array + type: object + type: array + dividePerInstance: + type: boolean + metricName: + type: string + metricNamespace: + type: string + metricResourceLocation: + type: string + metricResourceUri: + type: string + operator: + type: string + statistic: + type: string + threshold: + type: number + timeAggregation: + type: string + timeGrain: + type: string + timeWindow: + type: string + type: object + scaleAction: + description: |- + Storage version of v1api20221001.ScaleAction_STATUS + The parameters for the scaling action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldown: + type: string + direction: + type: string + type: + type: string + value: + type: string + type: object + type: object + type: array + type: object + type: array + properties_name: + type: string + systemData: + description: |- + Storage version of v1api20221001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetResourceLocation: + type: string + targetResourceUri: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: availabilitysets.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: AvailabilitySet + listKind: AvailabilitySetList + plural: availabilitysets + singular: availabilityset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-11-01/availabilitySet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count.' + type: integer + platformUpdateDomainCount: + description: 'PlatformUpdateDomainCount: Update Domain count.' + type: integer + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the availability set should be + assigned to. Minimum api-version: 2018-04-01. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scheduledEventsPolicy: + description: |- + ScheduledEventsPolicy: Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related + configurations for the availability set. + properties: + scheduledEventsAdditionalPublishingTargets: + description: |- + ScheduledEventsAdditionalPublishingTargets: The configuration parameters used while publishing + scheduledEventsAdditionalPublishingTargets. + properties: + eventGridAndResourceGraph: + description: |- + EventGridAndResourceGraph: The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event + setting. + properties: + enable: + description: 'Enable: Specifies if event grid and resource graph is enabled for Scheduled event related configurations.' + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + UserInitiatedReboot: The configuration parameters used while creating userInitiatedReboot scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Reboot Scheduled Event related configurations.' + type: boolean + type: object + userInitiatedRedeploy: + description: |- + UserInitiatedRedeploy: The configuration parameters used while creating userInitiatedRedeploy scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Redeploy Scheduled Event related configurations.' + type: boolean + type: object + type: object + sku: + description: |- + Sku: Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of + values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. + Default value is 'Classic'. + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: |- + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines + specified in the same availability set are allocated to different nodes to maximize availability. For more information + about availability sets, see [Availability sets + overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure + planned maintenance, see [Maintenance and updates for Virtual Machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to + an availability set at creation time. An existing VM cannot be added to an availability set. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + platformFaultDomainCount: + description: 'PlatformFaultDomainCount: Fault Domain count.' + type: integer + platformUpdateDomainCount: + description: 'PlatformUpdateDomainCount: Update Domain count.' + type: integer + proximityPlacementGroup: + description: |- + ProximityPlacementGroup: Specifies information about the proximity placement group that the availability set should be + assigned to. Minimum api-version: 2018-04-01. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + scheduledEventsPolicy: + description: |- + ScheduledEventsPolicy: Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related + configurations for the availability set. + properties: + scheduledEventsAdditionalPublishingTargets: + description: |- + ScheduledEventsAdditionalPublishingTargets: The configuration parameters used while publishing + scheduledEventsAdditionalPublishingTargets. + properties: + eventGridAndResourceGraph: + description: |- + EventGridAndResourceGraph: The configuration parameters used while creating eventGridAndResourceGraph Scheduled Event + setting. + properties: + enable: + description: 'Enable: Specifies if event grid and resource graph is enabled for Scheduled event related configurations.' + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + UserInitiatedReboot: The configuration parameters used while creating userInitiatedReboot scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Reboot Scheduled Event related configurations.' + type: boolean + type: object + userInitiatedRedeploy: + description: |- + UserInitiatedRedeploy: The configuration parameters used while creating userInitiatedRedeploy scheduled event setting + creation. + properties: + automaticallyApprove: + description: 'AutomaticallyApprove: Specifies Redeploy Scheduled Event related configurations.' + type: boolean + type: object + type: object + sku: + description: |- + Sku: Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of + values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. + Default value is 'Classic'. + properties: + capacity: + description: 'Capacity: Specifies the number of virtual machines in the scale set.' + type: integer + name: + description: 'Name: The sku name.' + type: string + tier: + description: |- + Tier: Specifies the tier of virtual machines in a scale set. + Possible Values: + Standard + Basic + type: string + type: object + statuses: + description: 'Statuses: The resource status information.' + items: + description: Instance view status. + properties: + code: + description: 'Code: The status code.' + type: string + displayStatus: + description: 'DisplayStatus: The short localizable label for the status.' + type: string + level: + description: 'Level: The level code.' + type: string + message: + description: 'Message: The detailed status message, including for alerts and error messages.' + type: string + time: + description: 'Time: The time of the status.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + virtualMachineScaleSetMigrationInfo: + description: 'VirtualMachineScaleSetMigrationInfo: Describes the migration properties on the Availability Set.' + properties: + defaultVirtualMachineScaleSetInfo: + description: |- + DefaultVirtualMachineScaleSetInfo: Indicates the target Virtual Machine ScaleSet properties upon triggering a seamless + migration without downtime of the VMs via the ConvertToVirtualMachineScaleSet API. + properties: + constrainedMaximumCapacity: + description: |- + ConstrainedMaximumCapacity: Indicates if the the maximum capacity of the default migrated Virtual Machine Scale Set + after its migration will be constrained to a limited number of VMs. + type: boolean + defaultVirtualMachineScaleSet: + description: |- + DefaultVirtualMachineScaleSet: The default Virtual Machine ScaleSet Uri that the Availability Set will be moved to upon + triggering a seamless migration via the ConvertToVirtualMachineScaleSet API. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + migrateToVirtualMachineScaleSet: + description: 'MigrateToVirtualMachineScaleSet: Specifies the Virtual Machine Scale Set that the Availability Set is migrated to.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + virtualMachines: + description: 'VirtualMachines: A list of references to all virtual machines in the availability set.' + items: + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.AvailabilitySet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2024-11-01/availabilitySet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.AvailabilitySet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20241101.AvailabilitySetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + platformFaultDomainCount: + type: integer + platformUpdateDomainCount: + type: integer + proximityPlacementGroup: + description: Storage version of v1api20241101.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + scheduledEventsPolicy: + description: |- + Storage version of v1api20241101.ScheduledEventsPolicy + Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduledEventsAdditionalPublishingTargets: + description: Storage version of v1api20241101.ScheduledEventsAdditionalPublishingTargets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventGridAndResourceGraph: + description: |- + Storage version of v1api20241101.EventGridAndResourceGraph + Specifies eventGridAndResourceGraph related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + Storage version of v1api20241101.UserInitiatedReboot + Specifies Reboot related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + userInitiatedRedeploy: + description: |- + Storage version of v1api20241101.UserInitiatedRedeploy + Specifies Redeploy related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + type: object + sku: + description: |- + Storage version of v1api20241101.Sku + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20241101.AvailabilitySet_STATUS + Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines + specified in the same availability set are allocated to different nodes to maximize availability. For more information + about availability sets, see [Availability sets + overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview). For more information on Azure + planned maintenance, see [Maintenance and updates for Virtual Machines in + Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates). Currently, a VM can only be added to + an availability set at creation time. An existing VM cannot be added to an availability set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + platformFaultDomainCount: + type: integer + platformUpdateDomainCount: + type: integer + proximityPlacementGroup: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + scheduledEventsPolicy: + description: |- + Storage version of v1api20241101.ScheduledEventsPolicy_STATUS + Specifies Redeploy, Reboot and ScheduledEventsAdditionalPublishingTargets Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduledEventsAdditionalPublishingTargets: + description: Storage version of v1api20241101.ScheduledEventsAdditionalPublishingTargets_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventGridAndResourceGraph: + description: |- + Storage version of v1api20241101.EventGridAndResourceGraph_STATUS + Specifies eventGridAndResourceGraph related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enable: + type: boolean + type: object + type: object + userInitiatedReboot: + description: |- + Storage version of v1api20241101.UserInitiatedReboot_STATUS + Specifies Reboot related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + userInitiatedRedeploy: + description: |- + Storage version of v1api20241101.UserInitiatedRedeploy_STATUS + Specifies Redeploy related Scheduled Event related configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automaticallyApprove: + type: boolean + type: object + type: object + sku: + description: |- + Storage version of v1api20241101.Sku_STATUS + Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is + currently on, you need to deallocate the VMs in the scale set before you modify the SKU name. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + statuses: + items: + description: |- + Storage version of v1api20241101.InstanceViewStatus_STATUS + Instance view status. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualMachineScaleSetMigrationInfo: + description: |- + Storage version of v1api20241101.VirtualMachineScaleSetMigrationInfo_STATUS + Describes the Availability Set properties related to migration to Flexible Virtual Machine Scale Set. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultVirtualMachineScaleSetInfo: + description: |- + Storage version of v1api20241101.DefaultVirtualMachineScaleSetInfo_STATUS + Indicates the target Virtual Machine ScaleSet properties upon triggering a seamless migration without downtime of the + VMs via the ConvertToVirtualMachineScaleSet API. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + constrainedMaximumCapacity: + type: boolean + defaultVirtualMachineScaleSet: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + migrateToVirtualMachineScaleSet: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + virtualMachines: + items: + description: Storage version of v1api20241101.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: azurefirewalls.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: AzureFirewall + listKind: AzureFirewallList + plural: azurefirewalls + singular: azurefirewall + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/azureFirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + additionalProperties: + additionalProperties: + type: string + description: 'AdditionalProperties: The additional properties used to further config this azure firewall.' + type: object + applicationRuleCollections: + description: 'ApplicationRuleCollections: Collection of application rule collections used by Azure Firewall.' + items: + description: Application rule collection resource. + properties: + action: + description: 'Action: The action type of a rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Allow + - Deny + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the application rule collection resource.' + maximum: 65000 + minimum: 100 + type: integer + rules: + description: 'Rules: Collection of rules used by a application rule collection.' + items: + description: Properties of an application rule. + properties: + description: + description: 'Description: Description of the rule.' + type: string + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + name: + description: 'Name: Name of the application rule.' + type: string + protocols: + description: 'Protocols: Array of ApplicationRuleProtocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000. This field is optional.' + maximum: 64000 + minimum: 0 + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + enum: + - Http + - Https + - Mssql + type: string + type: object + type: array + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + type: object + type: array + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Properties to provide a custom autoscale configuration to this azure firewall.' + properties: + maxCapacity: + description: |- + MaxCapacity: The maximum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + minimum: 2 + type: integer + minCapacity: + description: |- + MinCapacity: The minimum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + minimum: 2 + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 56 + minLength: 1 + type: string + firewallPolicy: + description: 'FirewallPolicy: The firewallPolicy associated with this azure firewall.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hubIPAddresses: + description: 'HubIPAddresses: IP addresses associated with AzureFirewall.' + properties: + privateIPAddress: + description: 'PrivateIPAddress: Private IP Address associated with azure firewall.' + type: string + publicIPs: + description: 'PublicIPs: Public IP addresses associated with azure firewall.' + properties: + addresses: + description: 'Addresses: The list of Public IP addresses associated with azure firewall or IP addresses to be retained.' + items: + description: Public IP Address associated with azure firewall. + properties: + address: + description: 'Address: Public IP Address value.' + type: string + type: object + type: array + count: + description: 'Count: The number of Public IP addresses associated with azure firewall.' + type: integer + type: object + type: object + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Azure Firewall resource.' + items: + description: IP configuration of an Azure Firewall. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference to the PublicIP resource. This field is a mandatory input if subnet is not null.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Subnet: Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or + 'AzureFirewallManagementSubnet'. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + managementIpConfiguration: + description: 'ManagementIpConfiguration: IP configuration of the Azure Firewall used for management traffic.' + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference to the PublicIP resource. This field is a mandatory input if subnet is not null.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Subnet: Reference to the subnet resource. This resource must be named 'AzureFirewallSubnet' or + 'AzureFirewallManagementSubnet'. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + natRuleCollections: + description: 'NatRuleCollections: Collection of NAT rule collections used by Azure Firewall.' + items: + description: NAT rule collection resource. + properties: + action: + description: 'Action: The action type of a NAT rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Dnat + - Snat + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the NAT rule collection resource.' + maximum: 65000 + minimum: 100 + type: integer + rules: + description: 'Rules: Collection of rules used by a NAT rule collection.' + items: + description: Properties of a NAT rule. + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + name: + description: 'Name: Name of the NAT rule.' + type: string + protocols: + description: 'Protocols: Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule.' + items: + description: The protocol of a Network Rule resource. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + type: object + type: array + type: object + type: array + networkRuleCollections: + description: 'NetworkRuleCollections: Collection of network rule collections used by Azure Firewall.' + items: + description: Network rule collection resource. + properties: + action: + description: 'Action: The action type of a rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Allow + - Deny + type: string + type: object + name: + description: 'Name: The name of the resource that is unique within the Azure firewall. This name can be used to access the resource.' + type: string + priority: + description: 'Priority: Priority of the network rule collection resource.' + maximum: 65000 + minimum: 100 + type: integer + rules: + description: 'Rules: Collection of rules used by a network rule collection.' + items: + description: Properties of the network rule. + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + name: + description: 'Name: Name of the network rule.' + type: string + protocols: + description: 'Protocols: Array of AzureFirewallNetworkRuleProtocols.' + items: + description: The protocol of a Network Rule resource. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: array + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The Azure Firewall Resource SKU.' + properties: + name: + description: 'Name: Name of an Azure Firewall SKU.' + enum: + - AZFW_Hub + - AZFW_VNet + type: string + tier: + description: 'Tier: Tier of an Azure Firewall.' + enum: + - Basic + - Premium + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + enum: + - Alert + - Deny + - "Off" + type: string + virtualHub: + description: 'VirtualHub: The virtualHub to which the firewall belongs.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Azure Firewall resource. + properties: + additionalProperties: + additionalProperties: + type: string + description: 'AdditionalProperties: The additional properties used to further config this azure firewall.' + type: object + applicationRuleCollections: + description: 'ApplicationRuleCollections: Collection of application rule collections used by Azure Firewall.' + items: + description: Application rule collection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + autoscaleConfiguration: + description: 'AutoscaleConfiguration: Properties to provide a custom autoscale configuration to this azure firewall.' + properties: + maxCapacity: + description: |- + MaxCapacity: The maximum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + type: integer + minCapacity: + description: |- + MinCapacity: The minimum number of capacity units for this azure firewall. Use null to reset the value to the service + default. + type: integer + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + firewallPolicy: + description: 'FirewallPolicy: The firewallPolicy associated with this azure firewall.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + hubIPAddresses: + description: 'HubIPAddresses: IP addresses associated with AzureFirewall.' + properties: + privateIPAddress: + description: 'PrivateIPAddress: Private IP Address associated with azure firewall.' + type: string + publicIPs: + description: 'PublicIPs: Public IP addresses associated with azure firewall.' + properties: + addresses: + description: 'Addresses: The list of Public IP addresses associated with azure firewall or IP addresses to be retained.' + items: + description: Public IP Address associated with azure firewall. + properties: + address: + description: 'Address: Public IP Address value.' + type: string + type: object + type: array + count: + description: 'Count: The number of Public IP addresses associated with azure firewall.' + type: integer + type: object + type: object + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Azure Firewall resource.' + items: + description: IP configuration of an Azure Firewall. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + ipGroups: + description: 'IpGroups: IpGroups associated with AzureFirewall.' + items: + description: IpGroups associated with azure firewall. + properties: + changeNumber: + description: 'ChangeNumber: The iteration number.' + type: string + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + managementIpConfiguration: + description: 'ManagementIpConfiguration: IP configuration of the Azure Firewall used for management traffic.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + name: + description: 'Name: Resource name.' + type: string + natRuleCollections: + description: 'NatRuleCollections: Collection of NAT rule collections used by Azure Firewall.' + items: + description: NAT rule collection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + networkRuleCollections: + description: 'NetworkRuleCollections: Collection of network rule collections used by Azure Firewall.' + items: + description: Network rule collection resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the Azure firewall resource.' + type: string + sku: + description: 'Sku: The Azure Firewall Resource SKU.' + properties: + name: + description: 'Name: Name of an Azure Firewall SKU.' + type: string + tier: + description: 'Tier: Tier of an Azure Firewall.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + type: string + type: + description: 'Type: Resource type.' + type: string + virtualHub: + description: 'VirtualHub: The virtualHub to which the firewall belongs.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.AzureFirewall + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/azureFirewall.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.AzureFirewall_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + applicationRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRuleCollection + Application rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.AzureFirewallRCAction + Properties of the AzureFirewallRCAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRule + Properties of an application rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + fqdnTags: + items: + type: string + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRuleProtocol + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + type: object + type: array + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallAutoscaleConfiguration + Azure Firewall Autoscale Configuration parameters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + firewallPolicy: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hubIPAddresses: + description: |- + Storage version of v1api20240301.HubIPAddresses + IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIPAddress: + type: string + publicIPs: + description: |- + Storage version of v1api20240301.HubPublicIPAddresses + Public IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addresses: + items: + description: |- + Storage version of v1api20240301.AzureFirewallPublicIPAddress + Public IP Address associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + type: object + type: array + count: + type: integer + type: object + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + managementIpConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + natRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNatRuleCollection + NAT rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.AzureFirewallNatRCAction + AzureFirewall NAT Rule Collection Action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNatRule + Properties of a NAT rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocols: + items: + type: string + type: array + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + type: array + type: object + type: array + networkRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNetworkRuleCollection + Network rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.AzureFirewallRCAction + Properties of the AzureFirewallRCAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNetworkRule + Properties of the network rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocols: + items: + type: string + type: array + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: array + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20240301.AzureFirewallOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20240301.AzureFirewallSku + SKU of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + virtualHub: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.AzureFirewall_STATUS + Azure Firewall resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + applicationRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallApplicationRuleCollection_STATUS + Application rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + autoscaleConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallAutoscaleConfiguration_STATUS + Azure Firewall Autoscale Configuration parameters. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: integer + minCapacity: + type: integer + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + firewallPolicy: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + hubIPAddresses: + description: |- + Storage version of v1api20240301.HubIPAddresses_STATUS + IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIPAddress: + type: string + publicIPs: + description: |- + Storage version of v1api20240301.HubPublicIPAddresses_STATUS + Public IP addresses associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addresses: + items: + description: |- + Storage version of v1api20240301.AzureFirewallPublicIPAddress_STATUS + Public IP Address associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + address: + type: string + type: object + type: array + count: + type: integer + type: object + type: object + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration_STATUS + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + ipGroups: + items: + description: |- + Storage version of v1api20240301.AzureFirewallIpGroups_STATUS + IpGroups associated with azure firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + changeNumber: + type: string + id: + type: string + type: object + type: array + location: + type: string + managementIpConfiguration: + description: |- + Storage version of v1api20240301.AzureFirewallIPConfiguration_STATUS + IP configuration of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + name: + type: string + natRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNatRuleCollection_STATUS + NAT rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + networkRuleCollections: + items: + description: |- + Storage version of v1api20240301.AzureFirewallNetworkRuleCollection_STATUS + Network rule collection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + sku: + description: |- + Storage version of v1api20240301.AzureFirewallSku_STATUS + SKU of an Azure Firewall. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + type: + type: string + virtualHub: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: backends.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Backend + listKind: BackendList + plural: backends + singular: backend + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + type: string + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + maxLength: 300 + minLength: 1 + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + maxLength: 100 + minLength: 1 + type: string + required: + - parameter + - scheme + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + maxItems: 32 + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + maxItems: 32 + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + maxLength: 2000 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + required: + - managementEndpoints + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol.' + enum: + - http + - soap + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + password: + description: 'Password: Password to connect to the WebProxy Server' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + maxLength: 2000 + minLength: 1 + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + required: + - url + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + description: 'Title: Backend Title.' + maxLength: 300 + minLength: 1 + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + url: + description: 'Url: Runtime Url of the Backend.' + maxLength: 2000 + minLength: 1 + type: string + required: + - owner + - protocol + - url + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + type: string + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol.' + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + type: object + resourceId: + description: |- + ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + type: string + title: + description: 'Title: Backend Title.' + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + url: + description: 'Url: Runtime Url of the Backend.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.Backend + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.Backend_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + credentials: + description: |- + Storage version of v1api20220801.BackendCredentialsContract + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20220801.BackendAuthorizationHeaderCredentials + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20220801.BackendOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20220801.BackendProperties + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20220801.BackendServiceFabricClusterProperties + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20220801.X509CertificateName + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20220801.BackendProxyContract + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + type: string + username: + type: string + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + type: string + tls: + description: |- + Storage version of v1api20220801.BackendTlsProperties + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + url: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.Backend_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: |- + Storage version of v1api20220801.BackendCredentialsContract_STATUS + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20220801.BackendAuthorizationHeaderCredentials_STATUS + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20220801.BackendProperties_STATUS + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20220801.BackendServiceFabricClusterProperties_STATUS + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20220801.X509CertificateName_STATUS + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20220801.BackendProxyContract_STATUS + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + username: + type: string + type: object + resourceId: + type: string + title: + type: string + tls: + description: |- + Storage version of v1api20220801.BackendTlsProperties_STATUS + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 80 + minLength: 1 + type: string + circuitBreaker: + description: 'CircuitBreaker: Backend Circuit Breaker Configuration' + properties: + rules: + description: 'Rules: The rules for tripping the backend.' + items: + description: Rule configuration to trip the backend. + properties: + failureCondition: + description: 'FailureCondition: The conditions for tripping the circuit breaker.' + properties: + count: + description: 'Count: The threshold for opening the circuit.' + type: integer + errorReasons: + description: 'ErrorReasons: The error reasons which are considered as failure.' + items: + maxLength: 200 + type: string + maxItems: 10 + type: array + interval: + description: 'Interval: The interval during which the failures are counted.' + type: string + percentage: + description: 'Percentage: The threshold for opening the circuit.' + type: integer + statusCodeRanges: + description: 'StatusCodeRanges: The status code ranges which are considered as failure.' + items: + description: The failure http status code range + properties: + max: + description: 'Max: The maximum http status code.' + maximum: 599 + minimum: 200 + type: integer + min: + description: 'Min: The minimum http status code.' + maximum: 599 + minimum: 200 + type: integer + type: object + maxItems: 10 + type: array + type: object + name: + description: 'Name: The rule name.' + type: string + tripDuration: + description: 'TripDuration: The duration for which the circuit will be tripped.' + type: string + type: object + maxItems: 15 + type: array + type: object + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + maxLength: 300 + minLength: 1 + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + maxLength: 100 + minLength: 1 + type: string + required: + - parameter + - scheme + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + maxItems: 32 + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + maxItems: 32 + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + maxLength: 2000 + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pool: + description: 'Pool: Backend pool information' + properties: + services: + description: 'Services: The list of backend entities belonging to a pool.' + items: + description: Backend pool service information + properties: + reference: + description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + minItems: 1 + type: array + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + required: + - managementEndpoints + type: object + type: object + protocol: + description: 'Protocol: Backend communication protocol.' + enum: + - http + - soap + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + password: + description: 'Password: Password to connect to the WebProxy Server' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + maxLength: 2000 + minLength: 1 + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + required: + - url + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + description: 'Title: Backend Title.' + maxLength: 300 + minLength: 1 + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: Type of the backend. A backend can be either Single or Pool.' + enum: + - Pool + - Single + type: string + url: + description: 'Url: Runtime Url of the Backend.' + maxLength: 2000 + minLength: 1 + type: string + required: + - owner + - protocol + - url + type: object + status: + properties: + circuitBreaker: + description: 'CircuitBreaker: Backend Circuit Breaker Configuration' + properties: + rules: + description: 'Rules: The rules for tripping the backend.' + items: + description: Rule configuration to trip the backend. + properties: + failureCondition: + description: 'FailureCondition: The conditions for tripping the circuit breaker.' + properties: + count: + description: 'Count: The threshold for opening the circuit.' + type: integer + errorReasons: + description: 'ErrorReasons: The error reasons which are considered as failure.' + items: + maxLength: 200 + type: string + maxItems: 10 + type: array + interval: + description: 'Interval: The interval during which the failures are counted.' + type: string + percentage: + description: 'Percentage: The threshold for opening the circuit.' + type: integer + statusCodeRanges: + description: 'StatusCodeRanges: The status code ranges which are considered as failure.' + items: + description: The failure http status code range + properties: + max: + description: 'Max: The maximum http status code.' + maximum: 599 + minimum: 200 + type: integer + min: + description: 'Min: The minimum http status code.' + maximum: 599 + minimum: 200 + type: integer + type: object + maxItems: 10 + type: array + type: object + name: + description: 'Name: The rule name.' + type: string + tripDuration: + description: 'TripDuration: The duration for which the circuit will be tripped.' + type: string + type: object + type: array + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: 'Credentials: Backend Credentials Contract Properties' + properties: + authorization: + description: 'Authorization: Authorization header authentication' + properties: + parameter: + description: 'Parameter: Authentication Parameter value.' + type: string + scheme: + description: 'Scheme: Authentication Scheme name.' + type: string + type: object + certificate: + description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' + items: + type: string + type: array + certificateIds: + description: 'CertificateIds: List of Client Certificate Ids.' + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + description: 'Header: Header Parameter description.' + type: object + query: + additionalProperties: + items: + type: string + type: array + description: 'Query: Query Parameter description.' + type: object + type: object + description: + description: 'Description: Backend Description.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + pool: + description: 'Pool: Backend pool information' + properties: + services: + description: 'Services: The list of backend entities belonging to a pool.' + items: + description: Backend pool service information + properties: + id: + description: 'Id: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + type: string + required: + - id + type: object + type: array + type: object + properties: + description: 'Properties: Backend Properties contract' + properties: + serviceFabricCluster: + description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + properties: + clientCertificateId: + description: 'ClientCertificateId: The client certificate id for the management endpoint.' + type: string + clientCertificatethumbprint: + description: |- + ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if + certificatesIds are provided + type: string + managementEndpoints: + description: 'ManagementEndpoints: The cluster management endpoint.' + items: + type: string + type: array + maxPartitionResolutionRetries: + description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' + type: integer + serverCertificateThumbprints: + description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' + items: + type: string + type: array + serverX509Names: + description: 'ServerX509Names: Server X509 Certificate Names Collection' + items: + description: Properties of server X509Names. + properties: + issuerCertificateThumbprint: + description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' + type: string + name: + description: 'Name: Common Name of the Certificate.' + type: string + type: object + type: array + type: object + type: object + properties_type: + description: 'PropertiesType: Type of the backend. A backend can be either Single or Pool.' + type: string + protocol: + description: 'Protocol: Backend communication protocol.' + type: string + proxy: + description: 'Proxy: Backend gateway Contract Properties' + properties: + url: + description: |- + Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all + fragments and query strings. + type: string + username: + description: 'Username: Username to connect to the WebProxy server' + type: string + type: object + resourceId: + description: |- + ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + type: string + title: + description: 'Title: Backend Title.' + type: string + tls: + description: 'Tls: Backend TLS Properties' + properties: + validateCertificateChain: + description: |- + ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed + certificates for this backend host. + type: boolean + validateCertificateName: + description: |- + ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed + certificates for this backend host. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + url: + description: 'Url: Runtime Url of the Backend.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.Backend + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimbackends.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.Backend_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + circuitBreaker: + description: |- + Storage version of v1api20230501preview.BackendCircuitBreaker + The configuration of the backend circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20230501preview.CircuitBreakerRule + Rule configuration to trip the backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCondition: + description: |- + Storage version of v1api20230501preview.CircuitBreakerFailureCondition + The trip conditions of the circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + errorReasons: + items: + type: string + type: array + interval: + type: string + percentage: + type: integer + statusCodeRanges: + items: + description: |- + Storage version of v1api20230501preview.FailureStatusCodeRange + The failure http status code range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + type: object + name: + type: string + tripDuration: + type: string + type: object + type: array + type: object + credentials: + description: |- + Storage version of v1api20230501preview.BackendCredentialsContract + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20230501preview.BackendAuthorizationHeaderCredentials + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + operatorSpec: + description: |- + Storage version of v1api20230501preview.BackendOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pool: + description: |- + Storage version of v1api20230501preview.BackendPool + Backend pool information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + services: + items: + description: |- + Storage version of v1api20230501preview.BackendPoolItem + Backend pool service information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + type: object + properties: + description: |- + Storage version of v1api20230501preview.BackendProperties + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20230501preview.BackendServiceFabricClusterProperties + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20230501preview.X509CertificateName + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + protocol: + type: string + proxy: + description: |- + Storage version of v1api20230501preview.BackendProxyContract + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + url: + type: string + username: + type: string + type: object + resourceReference: + description: |- + ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, + Function Apps or API Apps. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + title: + type: string + tls: + description: |- + Storage version of v1api20230501preview.BackendTlsProperties + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Backend_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + circuitBreaker: + description: |- + Storage version of v1api20230501preview.BackendCircuitBreaker_STATUS + The configuration of the backend circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rules: + items: + description: |- + Storage version of v1api20230501preview.CircuitBreakerRule_STATUS + Rule configuration to trip the backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCondition: + description: |- + Storage version of v1api20230501preview.CircuitBreakerFailureCondition_STATUS + The trip conditions of the circuit breaker + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + errorReasons: + items: + type: string + type: array + interval: + type: string + percentage: + type: integer + statusCodeRanges: + items: + description: |- + Storage version of v1api20230501preview.FailureStatusCodeRange_STATUS + The failure http status code range + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + max: + type: integer + min: + type: integer + type: object + type: array + type: object + name: + type: string + tripDuration: + type: string + type: object + type: array + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + credentials: + description: |- + Storage version of v1api20230501preview.BackendCredentialsContract_STATUS + Details of the Credentials used to connect to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorization: + description: |- + Storage version of v1api20230501preview.BackendAuthorizationHeaderCredentials_STATUS + Authorization header information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parameter: + type: string + scheme: + type: string + type: object + certificate: + items: + type: string + type: array + certificateIds: + items: + type: string + type: array + header: + additionalProperties: + items: + type: string + type: array + type: object + query: + additionalProperties: + items: + type: string + type: array + type: object + type: object + description: + type: string + id: + type: string + name: + type: string + pool: + description: |- + Storage version of v1api20230501preview.BackendPool_STATUS + Backend pool information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + services: + items: + description: |- + Storage version of v1api20230501preview.BackendPoolItem_STATUS + Backend pool service information + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + properties: + description: |- + Storage version of v1api20230501preview.BackendProperties_STATUS + Properties specific to the Backend Type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceFabricCluster: + description: |- + Storage version of v1api20230501preview.BackendServiceFabricClusterProperties_STATUS + Properties of the Service Fabric Type Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateId: + type: string + clientCertificatethumbprint: + type: string + managementEndpoints: + items: + type: string + type: array + maxPartitionResolutionRetries: + type: integer + serverCertificateThumbprints: + items: + type: string + type: array + serverX509Names: + items: + description: |- + Storage version of v1api20230501preview.X509CertificateName_STATUS + Properties of server X509Names. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuerCertificateThumbprint: + type: string + name: + type: string + type: object + type: array + type: object + type: object + properties_type: + type: string + protocol: + type: string + proxy: + description: |- + Storage version of v1api20230501preview.BackendProxyContract_STATUS + Details of the Backend WebProxy Server to use in the Request to Backend. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + username: + type: string + type: object + resourceId: + type: string + title: + type: string + tls: + description: |- + Storage version of v1api20230501preview.BackendTlsProperties_STATUS + Properties controlling TLS Certificate Validation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + validateCertificateChain: + type: boolean + validateCertificateName: + type: boolean + type: object + type: + type: string + url: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: backupvaults.dataprotection.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dataprotection.azure.com + names: + categories: + - azure + - dataprotection + kind: BackupVault + listKind: BackupVaultList + plural: backupvaults + singular: backupvault + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + type: + description: 'Type: The identityType which can be either SystemAssigned or None' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + enum: + - Disabled + - Enabled + - PermanentlyDisabled + type: string + type: object + type: object + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + enum: + - Disabled + - Enabled + type: string + type: object + type: object + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + enum: + - Disabled + - Locked + - Unlocked + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + enum: + - AlwaysOn + - "Off" + - "On" + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + type: + description: 'Type: Gets or sets the type.' + enum: + - GeoRedundant + - LocallyRedundant + - ZoneRedundant + type: string + type: object + type: array + required: + - storageSettings + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + - properties + type: object + status: + description: Backup Vault Resource + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: 'ETag: Optional ETag.' + type: string + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + principalId: + description: |- + PrincipalId: The object ID of the service principal object for the managed identity that is used to grant role-based + access to an Azure resource. + type: string + tenantId: + description: 'TenantId: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.' + type: string + type: + description: 'Type: The identityType which can be either SystemAssigned or None' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + description: 'IsVaultProtectedByResourceGuard: Is vault protected by resource guard' + type: boolean + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the BackupVault resource' + type: string + resourceMoveDetails: + description: 'ResourceMoveDetails: Resource move details for backup vault' + properties: + completionTimeUtc: + description: 'CompletionTimeUtc: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + operationId: + description: 'OperationId: CorrelationId of latest ResourceMove operation attempted' + type: string + sourceResourcePath: + description: 'SourceResourcePath: ARM resource path of source resource' + type: string + startTimeUtc: + description: 'StartTimeUtc: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + targetResourcePath: + description: 'TargetResourcePath: ARM resource path of target resource used in latest ResourceMove operation' + type: string + type: object + resourceMoveState: + description: 'ResourceMoveState: Resource move state for backup vault' + type: string + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + type: string + type: + description: 'Type: Gets or sets the type.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.BackupVault + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.BackupVault_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20230101.DppIdentityDetails + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230101.BackupVaultOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20230101.BackupVaultOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20230101.BackupVaultSpec + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20230101.FeatureSettings + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20230101.CrossSubscriptionRestoreSettings + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + monitoringSettings: + description: |- + Storage version of v1api20230101.MonitoringSettings + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20230101.AzureMonitorAlertSettings + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + securitySettings: + description: |- + Storage version of v1api20230101.SecuritySettings + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20230101.ImmutabilitySettings + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20230101.SoftDeleteSettings + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20230101.StorageSetting + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230101.BackupVaultResource_STATUS + Backup Vault Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230101.DppIdentityDetails_STATUS + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20230101.BackupVault_STATUS + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20230101.FeatureSettings_STATUS + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20230101.CrossSubscriptionRestoreSettings_STATUS + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + type: boolean + monitoringSettings: + description: |- + Storage version of v1api20230101.MonitoringSettings_STATUS + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20230101.AzureMonitorAlertSettings_STATUS + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + type: string + resourceMoveDetails: + description: |- + Storage version of v1api20230101.ResourceMoveDetails_STATUS + ResourceMoveDetails will be returned in response to GetResource call from ARM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completionTimeUtc: + type: string + operationId: + type: string + sourceResourcePath: + type: string + startTimeUtc: + type: string + targetResourcePath: + type: string + type: object + resourceMoveState: + type: string + securitySettings: + description: |- + Storage version of v1api20230101.SecuritySettings_STATUS + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20230101.ImmutabilitySettings_STATUS + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20230101.SoftDeleteSettings_STATUS + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20230101.StorageSetting_STATUS + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20230101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + type: + description: 'Type: The identityType which can be either SystemAssigned, UserAssigned, ''SystemAssigned,UserAssigned'' or None' + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Gets or sets the user assigned identities.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossRegionRestoreSettings: + properties: + state: + description: 'State: CrossRegionRestore state' + enum: + - Disabled + - Enabled + type: string + type: object + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + enum: + - Disabled + - Enabled + - PermanentlyDisabled + type: string + type: object + type: object + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + enum: + - Disabled + - Enabled + type: string + type: object + type: object + replicatedRegions: + description: 'ReplicatedRegions: List of replicated regions for Backup Vault' + items: + type: string + type: array + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + enum: + - Disabled + - Locked + - Unlocked + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + enum: + - AlwaysOn + - "Off" + - "On" + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + type: + description: 'Type: Gets or sets the type.' + enum: + - GeoRedundant + - LocallyRedundant + - ZoneRedundant + type: string + type: object + type: array + required: + - storageSettings + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + - properties + type: object + status: + description: Backup Vault Resource + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + description: 'ETag: Optional ETag.' + type: string + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + identity: + description: 'Identity: Input Managed Identity Details' + properties: + principalId: + description: |- + PrincipalId: The object ID of the service principal object for the managed identity that is used to grant role-based + access to an Azure resource. + type: string + tenantId: + description: 'TenantId: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.' + type: string + type: + description: 'Type: The identityType which can be either SystemAssigned, UserAssigned, ''SystemAssigned,UserAssigned'' or None' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + description: 'UserAssignedIdentities: Gets or sets the user assigned identities.' + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BackupVaultResource properties' + properties: + featureSettings: + description: 'FeatureSettings: Feature Settings' + properties: + crossRegionRestoreSettings: + properties: + state: + description: 'State: CrossRegionRestore state' + type: string + type: object + crossSubscriptionRestoreSettings: + description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' + properties: + state: + description: 'State: CrossSubscriptionRestore state' + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + description: 'IsVaultProtectedByResourceGuard: Is vault protected by resource guard' + type: boolean + monitoringSettings: + description: 'MonitoringSettings: Monitoring Settings' + properties: + azureMonitorAlertSettings: + description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' + properties: + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the BackupVault resource' + type: string + replicatedRegions: + description: 'ReplicatedRegions: List of replicated regions for Backup Vault' + items: + type: string + type: array + resourceMoveDetails: + description: 'ResourceMoveDetails: Resource move details for backup vault' + properties: + completionTimeUtc: + description: 'CompletionTimeUtc: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + operationId: + description: 'OperationId: CorrelationId of latest ResourceMove operation attempted' + type: string + sourceResourcePath: + description: 'SourceResourcePath: ARM resource path of source resource' + type: string + startTimeUtc: + description: 'StartTimeUtc: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' + type: string + targetResourcePath: + description: 'TargetResourcePath: ARM resource path of target resource used in latest ResourceMove operation' + type: string + type: object + resourceMoveState: + description: 'ResourceMoveState: Resource move state for backup vault' + type: string + secureScore: + description: 'SecureScore: Secure Score of Backup Vault' + type: string + securitySettings: + description: 'SecuritySettings: Security Settings' + properties: + immutabilitySettings: + description: 'ImmutabilitySettings: Immutability Settings at vault level' + properties: + state: + description: 'State: Immutability state' + type: string + type: object + softDeleteSettings: + description: 'SoftDeleteSettings: Soft delete related settings' + properties: + retentionDurationInDays: + description: 'RetentionDurationInDays: Soft delete retention duration' + type: number + state: + description: 'State: State of soft delete' + type: string + type: object + type: object + storageSettings: + description: 'StorageSettings: Storage Settings' + items: + description: Storage setting + properties: + datastoreType: + description: 'DatastoreType: Gets or sets the type of the datastore.' + type: string + type: + description: 'Type: Gets or sets the type.' + type: string + type: object + type: array + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.BackupVault + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.BackupVault_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20231101.DppIdentityDetails + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231101.BackupVaultOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20231101.BackupVaultOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20231101.BackupVaultSpec + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20231101.FeatureSettings + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossRegionRestoreSettings: + description: Storage version of v1api20231101.CrossRegionRestoreSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20231101.CrossSubscriptionRestoreSettings + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + monitoringSettings: + description: |- + Storage version of v1api20231101.MonitoringSettings + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20231101.AzureMonitorAlertSettings + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + replicatedRegions: + items: + type: string + type: array + securitySettings: + description: |- + Storage version of v1api20231101.SecuritySettings + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20231101.ImmutabilitySettings + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20231101.SoftDeleteSettings + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20231101.StorageSetting + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20231101.BackupVaultResource_STATUS + Backup Vault Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + eTag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20231101.DppIdentityDetails_STATUS + Identity details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20231101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20231101.BackupVault_STATUS + Backup Vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + featureSettings: + description: |- + Storage version of v1api20231101.FeatureSettings_STATUS + Class containing feature settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + crossRegionRestoreSettings: + description: Storage version of v1api20231101.CrossRegionRestoreSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + crossSubscriptionRestoreSettings: + description: |- + Storage version of v1api20231101.CrossSubscriptionRestoreSettings_STATUS + CrossSubscriptionRestore Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + type: object + isVaultProtectedByResourceGuard: + type: boolean + monitoringSettings: + description: |- + Storage version of v1api20231101.MonitoringSettings_STATUS + Monitoring Settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureMonitorAlertSettings: + description: |- + Storage version of v1api20231101.AzureMonitorAlertSettings_STATUS + Settings for Azure Monitor based alerts + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertsForAllJobFailures: + type: string + type: object + type: object + provisioningState: + type: string + replicatedRegions: + items: + type: string + type: array + resourceMoveDetails: + description: |- + Storage version of v1api20231101.ResourceMoveDetails_STATUS + ResourceMoveDetails will be returned in response to GetResource call from ARM + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completionTimeUtc: + type: string + operationId: + type: string + sourceResourcePath: + type: string + startTimeUtc: + type: string + targetResourcePath: + type: string + type: object + resourceMoveState: + type: string + secureScore: + type: string + securitySettings: + description: |- + Storage version of v1api20231101.SecuritySettings_STATUS + Class containing security settings of vault + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + immutabilitySettings: + description: |- + Storage version of v1api20231101.ImmutabilitySettings_STATUS + Immutability Settings at vault level + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + state: + type: string + type: object + softDeleteSettings: + description: |- + Storage version of v1api20231101.SoftDeleteSettings_STATUS + Soft delete related settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + retentionDurationInDays: + type: number + state: + type: string + type: object + type: object + storageSettings: + items: + description: |- + Storage version of v1api20231101.StorageSetting_STATUS + Storage setting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datastoreType: + type: string + type: + type: string + type: object + type: array + type: object + systemData: + description: |- + Storage version of v1api20231101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: backupvaultsbackupinstances.dataprotection.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dataprotection.azure.com + names: + categories: + - azure + - dataprotection + kind: BackupVaultsBackupInstance + listKind: BackupVaultsBackupInstanceList + plural: backupvaultsbackupinstances + singular: backupvaultsbackupinstance + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BackupInstanceResource properties' + properties: + dataSourceInfo: + description: 'DataSourceInfo: Gets or sets the data source information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - DefaultResourceProperties + type: string + required: + - objectType + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + required: + - resourceReference + type: object + dataSourceSetInfo: + description: 'DataSourceSetInfo: Gets or sets the data source set information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source set' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - DefaultResourceProperties + type: string + required: + - objectType + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + required: + - resourceReference + type: object + datasourceAuthCredentials: + description: 'DatasourceAuthCredentials: Credentials to use to authenticate with data source provider.' + properties: + secretStoreBasedAuthCredentials: + description: 'SecretStoreBasedAuthCredentials: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - SecretStoreBasedAuthCredentials + type: string + secretStoreResource: + description: 'SecretStoreResource: Secret store resource' + properties: + secretStoreType: + description: 'SecretStoreType: Gets or sets the type of secret store' + enum: + - AzureKeyVault + - Invalid + type: string + uri: + description: 'Uri: Uri to get to the resource' + type: string + value: + description: 'Value: Gets or sets value stored in secret store resource' + type: string + required: + - secretStoreType + type: object + required: + - objectType + type: object + type: object + friendlyName: + description: 'FriendlyName: Gets or sets the Backup Instance friendly name.' + type: string + identityDetails: + description: |- + IdentityDetails: Contains information of the Identity Details for the BI. + If it is null, default will be considered as System Assigned. + properties: + useSystemAssignedIdentity: + description: 'UseSystemAssignedIdentity: Specifies if the BI is protected by System Identity.' + type: boolean + userAssignedIdentityArmUrl: + description: 'UserAssignedIdentityArmUrl: ARM URL for User Assigned Identity.' + type: string + type: object + objectType: + type: string + policyInfo: + description: 'PolicyInfo: Gets or sets the policy information.' + properties: + policyParameters: + description: 'PolicyParameters: Policy parameters for the backup instance' + properties: + backupDatasourceParametersList: + description: 'BackupDatasourceParametersList: Gets or sets the Backup Data Source Parameters' + items: + properties: + blobBackupDatasourceParameters: + description: 'Blob: Mutually exclusive with all other properties' + properties: + containersList: + description: 'ContainersList: List of containers to be backed up during configuration of backup of blobs' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - BlobBackupDatasourceParameters + type: string + required: + - containersList + - objectType + type: object + kubernetesClusterBackupDatasourceParameters: + description: 'KubernetesCluster: Mutually exclusive with all other properties' + properties: + backupHookReferences: + description: |- + BackupHookReferences: Gets or sets the backup hook references. This property sets the hook reference to be executed + during backup. + items: + description: Class to refer resources which contains namespace and name + properties: + name: + description: 'Name: Name of the resource' + type: string + namespace: + description: 'Namespace: Namespace in which the resource exists' + type: string + type: object + type: array + excludedNamespaces: + description: |- + ExcludedNamespaces: Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded + during backup. + items: + type: string + type: array + excludedResourceTypes: + description: |- + ExcludedResourceTypes: Gets or sets the exclude resource types property. This property sets the resource types to be + excluded during backup. + items: + type: string + type: array + includeClusterScopeResources: + description: |- + IncludeClusterScopeResources: Gets or sets the include cluster resources property. This property if enabled will include + cluster scope resources during backup. + type: boolean + includedNamespaces: + description: |- + IncludedNamespaces: Gets or sets the include namespaces property. This property sets the namespaces to be included + during backup. + items: + type: string + type: array + includedResourceTypes: + description: |- + IncludedResourceTypes: Gets or sets the include resource types property. This property sets the resource types to be + included during backup. + items: + type: string + type: array + labelSelectors: + description: |- + LabelSelectors: Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to + be included during backup. + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - KubernetesClusterBackupDatasourceParameters + type: string + snapshotVolumes: + description: |- + SnapshotVolumes: Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during + backup. + type: boolean + required: + - includeClusterScopeResources + - objectType + - snapshotVolumes + type: object + type: object + type: array + dataStoreParametersList: + description: 'DataStoreParametersList: Gets or sets the DataStore Parameters' + items: + properties: + azureOperationalStoreParameters: + description: 'AzureOperationalStoreParameters: Mutually exclusive with all other properties' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AzureOperationalStoreParameters + type: string + resourceGroupReference: + description: 'ResourceGroupReference: Gets or sets the Snapshot Resource Group Uri.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataStoreType + - objectType + type: object + type: object + type: array + type: object + policyReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - policyReference + type: object + validationType: + description: |- + ValidationType: Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API + will run again. + enum: + - DeepValidation + - ShallowValidation + type: string + required: + - dataSourceInfo + - objectType + - policyInfo + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Proxy Resource tags.' + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Proxy Resource Id represents the complete path to the resource.' + type: string + name: + description: 'Name: Proxy Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BackupInstanceResource properties' + properties: + currentProtectionState: + description: 'CurrentProtectionState: Specifies the current protection state of the resource' + type: string + dataSourceInfo: + description: 'DataSourceInfo: Gets or sets the data source information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceID: + description: |- + ResourceID: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the + ID created by backup service via Fabric/Vault. + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + type: object + dataSourceSetInfo: + description: 'DataSourceSetInfo: Gets or sets the data source set information.' + properties: + datasourceType: + description: 'DatasourceType: DatasourceType of the resource.' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + resourceID: + description: |- + ResourceID: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the + ID created by backup service via Fabric/Vault. + type: string + resourceLocation: + description: 'ResourceLocation: Location of datasource.' + type: string + resourceName: + description: 'ResourceName: Unique identifier of the resource in the context of parent.' + type: string + resourceProperties: + description: 'ResourceProperties: Properties specific to data source set' + properties: + defaultResourceProperties: + description: 'DefaultResourceProperties: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + resourceType: + description: 'ResourceType: Resource Type of Datasource.' + type: string + resourceUri: + description: 'ResourceUri: Uri of the resource.' + type: string + type: object + datasourceAuthCredentials: + description: 'DatasourceAuthCredentials: Credentials to use to authenticate with data source provider.' + properties: + secretStoreBasedAuthCredentials: + description: 'SecretStoreBasedAuthCredentials: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + secretStoreResource: + description: 'SecretStoreResource: Secret store resource' + properties: + secretStoreType: + description: 'SecretStoreType: Gets or sets the type of secret store' + type: string + uri: + description: 'Uri: Uri to get to the resource' + type: string + value: + description: 'Value: Gets or sets value stored in secret store resource' + type: string + type: object + type: object + type: object + friendlyName: + description: 'FriendlyName: Gets or sets the Backup Instance friendly name.' + type: string + identityDetails: + description: |- + IdentityDetails: Contains information of the Identity Details for the BI. + If it is null, default will be considered as System Assigned. + properties: + useSystemAssignedIdentity: + description: 'UseSystemAssignedIdentity: Specifies if the BI is protected by System Identity.' + type: boolean + userAssignedIdentityArmUrl: + description: 'UserAssignedIdentityArmUrl: ARM URL for User Assigned Identity.' + type: string + type: object + objectType: + type: string + policyInfo: + description: 'PolicyInfo: Gets or sets the policy information.' + properties: + policyId: + type: string + policyParameters: + description: 'PolicyParameters: Policy parameters for the backup instance' + properties: + backupDatasourceParametersList: + description: 'BackupDatasourceParametersList: Gets or sets the Backup Data Source Parameters' + items: + properties: + blobBackupDatasourceParameters: + description: 'Blob: Mutually exclusive with all other properties' + properties: + containersList: + description: 'ContainersList: List of containers to be backed up during configuration of backup of blobs' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + kubernetesClusterBackupDatasourceParameters: + description: 'KubernetesCluster: Mutually exclusive with all other properties' + properties: + backupHookReferences: + description: |- + BackupHookReferences: Gets or sets the backup hook references. This property sets the hook reference to be executed + during backup. + items: + description: Class to refer resources which contains namespace and name + properties: + name: + description: 'Name: Name of the resource' + type: string + namespace: + description: 'Namespace: Namespace in which the resource exists' + type: string + type: object + type: array + excludedNamespaces: + description: |- + ExcludedNamespaces: Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded + during backup. + items: + type: string + type: array + excludedResourceTypes: + description: |- + ExcludedResourceTypes: Gets or sets the exclude resource types property. This property sets the resource types to be + excluded during backup. + items: + type: string + type: array + includeClusterScopeResources: + description: |- + IncludeClusterScopeResources: Gets or sets the include cluster resources property. This property if enabled will include + cluster scope resources during backup. + type: boolean + includedNamespaces: + description: |- + IncludedNamespaces: Gets or sets the include namespaces property. This property sets the namespaces to be included + during backup. + items: + type: string + type: array + includedResourceTypes: + description: |- + IncludedResourceTypes: Gets or sets the include resource types property. This property sets the resource types to be + included during backup. + items: + type: string + type: array + labelSelectors: + description: |- + LabelSelectors: Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to + be included during backup. + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + snapshotVolumes: + description: |- + SnapshotVolumes: Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during + backup. + type: boolean + type: object + type: object + type: array + dataStoreParametersList: + description: 'DataStoreParametersList: Gets or sets the DataStore Parameters' + items: + properties: + azureOperationalStoreParameters: + description: 'AzureOperationalStoreParameters: Mutually exclusive with all other properties' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + resourceGroupId: + description: 'ResourceGroupId: Gets or sets the Snapshot Resource Group Uri.' + type: string + type: object + type: object + type: array + type: object + policyVersion: + type: string + type: object + protectionErrorDetails: + description: 'ProtectionErrorDetails: Specifies the protection error of the resource' + properties: + code: + description: 'Code: Unique code for this error' + type: string + details: + description: 'Details: Additional related Errors' + items: + properties: + code: + description: 'Code: Unique code for this error' + type: string + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + type: array + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + protectionStatus: + description: 'ProtectionStatus: Specifies the protection status of the resource' + properties: + errorDetails: + description: 'ErrorDetails: Specifies the protection status error of the resource' + properties: + code: + description: 'Code: Unique code for this error' + type: string + details: + description: 'Details: Additional related Errors' + items: + properties: + code: + description: 'Code: Unique code for this error' + type: string + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + type: array + innerError: + description: 'InnerError: Inner Error' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + embeddedInnerError: + description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' + properties: + additionalInfo: + additionalProperties: + type: string + description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' + type: object + code: + description: 'Code: Unique code for this error' + type: string + type: object + type: object + isRetryable: + description: 'IsRetryable: Whether the operation will be retryable or not' + type: boolean + isUserError: + description: 'IsUserError: Whether the operation is due to a user error or service error' + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Any key value pairs that can be injected inside error object' + type: object + recommendedAction: + description: 'RecommendedAction: RecommendedAction � localized.' + items: + type: string + type: array + target: + description: 'Target: Target of the error.' + type: string + type: object + status: + description: 'Status: Specifies the protection status of the resource' + type: string + type: object + provisioningState: + description: 'ProvisioningState: Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed' + type: string + validationType: + description: |- + ValidationType: Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API + will run again. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Proxy Resource tags.' + type: object + type: + description: 'Type: Proxy Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.BackupVaultsBackupInstance + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.BackupVaultsBackupInstance_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20231101.BackupVaultsBackupInstanceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20231101.BackupInstance + Backup Instance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataSourceInfo: + description: |- + Storage version of v1api20231101.Datasource + Datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + type: string + resourceUri: + type: string + required: + - resourceReference + type: object + dataSourceSetInfo: + description: |- + Storage version of v1api20231101.DatasourceSet + DatasourceSet details of datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceReference: + description: |- + ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will + be the ID created by backup service via Fabric/Vault. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceType: + type: string + resourceUri: + type: string + required: + - resourceReference + type: object + datasourceAuthCredentials: + description: Storage version of v1api20231101.AuthCredentials + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreBasedAuthCredentials: + description: Storage version of v1api20231101.SecretStoreBasedAuthCredentials + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + secretStoreResource: + description: |- + Storage version of v1api20231101.SecretStoreResource + Class representing a secret store resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreType: + type: string + uri: + type: string + value: + type: string + type: object + type: object + type: object + friendlyName: + type: string + identityDetails: + description: Storage version of v1api20231101.IdentityDetails + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + useSystemAssignedIdentity: + type: boolean + userAssignedIdentityArmUrl: + type: string + type: object + objectType: + type: string + policyInfo: + description: |- + Storage version of v1api20231101.PolicyInfo + Policy Info in backupInstance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + policyParameters: + description: |- + Storage version of v1api20231101.PolicyParameters + Parameters in Policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupDatasourceParametersList: + items: + description: Storage version of v1api20231101.BackupDatasourceParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobBackupDatasourceParameters: + description: Storage version of v1api20231101.BlobBackupDatasourceParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containersList: + items: + type: string + type: array + objectType: + type: string + type: object + kubernetesClusterBackupDatasourceParameters: + description: Storage version of v1api20231101.KubernetesClusterBackupDatasourceParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupHookReferences: + items: + description: |- + Storage version of v1api20231101.NamespacedNameResource + Class to refer resources which contains namespace and name + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + type: array + excludedNamespaces: + items: + type: string + type: array + excludedResourceTypes: + items: + type: string + type: array + includeClusterScopeResources: + type: boolean + includedNamespaces: + items: + type: string + type: array + includedResourceTypes: + items: + type: string + type: array + labelSelectors: + items: + type: string + type: array + objectType: + type: string + snapshotVolumes: + type: boolean + type: object + type: object + type: array + dataStoreParametersList: + items: + description: Storage version of v1api20231101.DataStoreParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureOperationalStoreParameters: + description: Storage version of v1api20231101.AzureOperationalStoreParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + resourceGroupReference: + description: 'ResourceGroupReference: Gets or sets the Snapshot Resource Group Uri.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + policyReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - policyReference + type: object + validationType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231101.BackupVaultsBackupInstance_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20231101.BackupInstance_STATUS + Backup Instance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentProtectionState: + type: string + dataSourceInfo: + description: |- + Storage version of v1api20231101.Datasource_STATUS + Datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceID: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceType: + type: string + resourceUri: + type: string + type: object + dataSourceSetInfo: + description: |- + Storage version of v1api20231101.DatasourceSet_STATUS + DatasourceSet details of datasource to be backed up + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceType: + type: string + objectType: + type: string + resourceID: + type: string + resourceLocation: + type: string + resourceName: + type: string + resourceProperties: + description: Storage version of v1api20231101.BaseResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultResourceProperties: + description: Storage version of v1api20231101.DefaultResourceProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + resourceType: + type: string + resourceUri: + type: string + type: object + datasourceAuthCredentials: + description: Storage version of v1api20231101.AuthCredentials_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreBasedAuthCredentials: + description: Storage version of v1api20231101.SecretStoreBasedAuthCredentials_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + secretStoreResource: + description: |- + Storage version of v1api20231101.SecretStoreResource_STATUS + Class representing a secret store resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretStoreType: + type: string + uri: + type: string + value: + type: string + type: object + type: object + type: object + friendlyName: + type: string + identityDetails: + description: Storage version of v1api20231101.IdentityDetails_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + useSystemAssignedIdentity: + type: boolean + userAssignedIdentityArmUrl: + type: string + type: object + objectType: + type: string + policyInfo: + description: |- + Storage version of v1api20231101.PolicyInfo_STATUS + Policy Info in backupInstance + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + policyId: + type: string + policyParameters: + description: |- + Storage version of v1api20231101.PolicyParameters_STATUS + Parameters in Policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupDatasourceParametersList: + items: + description: Storage version of v1api20231101.BackupDatasourceParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobBackupDatasourceParameters: + description: Storage version of v1api20231101.BlobBackupDatasourceParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containersList: + items: + type: string + type: array + objectType: + type: string + type: object + kubernetesClusterBackupDatasourceParameters: + description: Storage version of v1api20231101.KubernetesClusterBackupDatasourceParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupHookReferences: + items: + description: |- + Storage version of v1api20231101.NamespacedNameResource_STATUS + Class to refer resources which contains namespace and name + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + type: array + excludedNamespaces: + items: + type: string + type: array + excludedResourceTypes: + items: + type: string + type: array + includeClusterScopeResources: + type: boolean + includedNamespaces: + items: + type: string + type: array + includedResourceTypes: + items: + type: string + type: array + labelSelectors: + items: + type: string + type: array + objectType: + type: string + snapshotVolumes: + type: boolean + type: object + type: object + type: array + dataStoreParametersList: + items: + description: Storage version of v1api20231101.DataStoreParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureOperationalStoreParameters: + description: Storage version of v1api20231101.AzureOperationalStoreParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + resourceGroupId: + type: string + type: object + type: object + type: array + type: object + policyVersion: + type: string + type: object + protectionErrorDetails: + description: |- + Storage version of v1api20231101.UserFacingError_STATUS + Error object used by layers that have access to localized content, and propagate that to user + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231101.UserFacingError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + type: array + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + protectionStatus: + description: |- + Storage version of v1api20231101.ProtectionStatusDetails_STATUS + Protection status details + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errorDetails: + description: |- + Storage version of v1api20231101.UserFacingError_STATUS + Error object used by layers that have access to localized content, and propagate that to user + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231101.UserFacingError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + type: array + innerError: + description: |- + Storage version of v1api20231101.InnerError_STATUS + Inner Error + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + embeddedInnerError: + description: Storage version of v1api20231101.InnerError_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + additionalProperties: + type: string + type: object + code: + type: string + type: object + type: object + isRetryable: + type: boolean + isUserError: + type: boolean + message: + type: string + properties: + additionalProperties: + type: string + type: object + recommendedAction: + items: + type: string + type: array + target: + type: string + type: object + status: + type: string + type: object + provisioningState: + type: string + validationType: + type: string + type: object + systemData: + description: |- + Storage version of v1api20231101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: backupvaultsbackuppolicies.dataprotection.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dataprotection.azure.com + names: + categories: + - azure + - dataprotection + kind: BackupVaultsBackupPolicy + listKind: BackupVaultsBackupPolicyList + plural: backupvaultsbackuppolicies + singular: backupvaultsbackuppolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + enum: + - BackupPolicy + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AzureBackupParams + type: string + required: + - backupType + - objectType + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + name: + type: string + objectType: + enum: + - AzureBackupRule + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AdhocBasedTriggerContext + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + type: object + required: + - objectType + - taggingCriteria + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedTriggerContext + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + required: + - repeatingTimeIntervals + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + enum: + - AllBackup + - FirstOfDay + - FirstOfMonth + - FirstOfWeek + - FirstOfYear + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + enum: + - April + - August + - December + - February + - January + - July + - June + - March + - May + - November + - October + - September + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedBackupCriteria + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + enum: + - First + - Fourth + - Last + - Second + - Third + type: string + type: array + required: + - objectType + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + required: + - isDefault + - tagInfo + - taggingPriority + type: object + type: array + required: + - objectType + - schedule + - taggingCriteria + type: object + type: object + required: + - dataStore + - name + - objectType + - trigger + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AbsoluteDeleteOption + type: string + required: + - duration + - objectType + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CopyOnExpiryOption + type: string + required: + - objectType + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CustomCopyOption + type: string + required: + - objectType + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ImmediateCopyOption + type: string + required: + - objectType + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + required: + - copyAfter + - dataStore + type: object + type: array + required: + - deleteAfter + - sourceDataStore + type: object + type: array + name: + type: string + objectType: + enum: + - AzureRetentionRule + type: string + required: + - lifecycles + - name + - objectType + type: object + type: object + type: array + required: + - datasourceTypes + - objectType + - policyRules + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230101.BackupVaultsBackupPolicy + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230101.BackupVaultsBackupPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230101.BackupVaultsBackupPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20230101.BaseBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20230101.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20230101.BasePolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20230101.AzureBackupRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20230101.BackupParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20230101.AzureBackupParams + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20230101.TriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20230101.AdhocBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20230101.AdhocBasedTaggingCriteria + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20230101.ScheduleBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20230101.BackupSchedule + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20230101.TaggingCriteria + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20230101.BackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20230101.ScheduleBasedBackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20230101.Day + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20230101.AzureRetentionRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20230101.SourceLifeCycle + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20230101.DeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20230101.AbsoluteDeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20230101.TargetCopySetting + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20230101.CopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20230101.CopyOnExpiryOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20230101.CustomCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20230101.ImmediateCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230101.BackupVaultsBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: Storage version of v1api20230101.BaseBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20230101.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20230101.BasePolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20230101.AzureBackupRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20230101.BackupParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20230101.AzureBackupParams_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20230101.TriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20230101.AdhocBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20230101.AdhocBasedTaggingCriteria_STATUS + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20230101.ScheduleBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20230101.BackupSchedule_STATUS + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20230101.TaggingCriteria_STATUS + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20230101.BackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20230101.ScheduleBasedBackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20230101.Day_STATUS + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20230101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20230101.AzureRetentionRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20230101.SourceLifeCycle_STATUS + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20230101.DeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20230101.AbsoluteDeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20230101.TargetCopySetting_STATUS + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20230101.CopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20230101.CopyOnExpiryOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20230101.CustomCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20230101.ImmediateCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20230101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: |- + Storage version of v1api20230101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + enum: + - BackupPolicy + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AzureBackupParams + type: string + required: + - backupType + - objectType + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + name: + type: string + objectType: + enum: + - AzureBackupRule + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AdhocBasedTriggerContext + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + type: object + required: + - objectType + - taggingCriteria + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedTriggerContext + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + required: + - repeatingTimeIntervals + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + enum: + - AllBackup + - FirstOfDay + - FirstOfMonth + - FirstOfWeek + - FirstOfYear + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + enum: + - April + - August + - December + - February + - January + - July + - June + - March + - May + - November + - October + - September + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ScheduleBasedBackupCriteria + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + enum: + - First + - Fourth + - Last + - Second + - Third + type: string + type: array + required: + - objectType + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + required: + - tagName + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + required: + - isDefault + - tagInfo + - taggingPriority + type: object + type: array + required: + - objectType + - schedule + - taggingCriteria + type: object + type: object + required: + - dataStore + - name + - objectType + - trigger + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - AbsoluteDeleteOption + type: string + required: + - duration + - objectType + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CopyOnExpiryOption + type: string + required: + - objectType + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - CustomCopyOption + type: string + required: + - objectType + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + enum: + - ImmediateCopyOption + type: string + required: + - objectType + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + enum: + - ArchiveStore + - OperationalStore + - VaultStore + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + required: + - dataStoreType + - objectType + type: object + required: + - copyAfter + - dataStore + type: object + type: array + required: + - deleteAfter + - sourceDataStore + type: object + type: array + name: + type: string + objectType: + enum: + - AzureRetentionRule + type: string + required: + - lifecycles + - name + - objectType + type: object + type: object + type: array + required: + - datasourceTypes + - objectType + - policyRules + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource Id represents the complete path to the resource.' + type: string + name: + description: 'Name: Resource name associated with the resource.' + type: string + properties: + description: 'Properties: BaseBackupPolicyResource properties' + properties: + backupPolicy: + description: 'BackupPolicy: Mutually exclusive with all other properties' + properties: + datasourceTypes: + description: 'DatasourceTypes: Type of datasource for the backup management' + items: + type: string + type: array + objectType: + type: string + policyRules: + description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' + items: + properties: + azureBackupRule: + description: 'AzureBackup: Mutually exclusive with all other properties' + properties: + backupParameters: + properties: + azureBackupParams: + description: 'AzureBackupParams: Mutually exclusive with all other properties' + properties: + backupType: + description: 'BackupType: BackupType ; Full/Incremental etc' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + properties: + adhocBasedTriggerContext: + description: 'Adhoc: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + taggingCriteria: + description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' + properties: + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: 'Schedule: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + schedule: + description: 'Schedule: Schedule for this backup' + properties: + repeatingTimeIntervals: + description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' + items: + type: string + type: array + timeZone: + description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' + type: string + type: object + taggingCriteria: + description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' + items: + description: Tagging criteria + properties: + criteria: + description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' + items: + properties: + scheduleBasedBackupCriteria: + description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' + properties: + absoluteCriteria: + description: |- + AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" + and should be part of AbsoluteMarker enum + items: + type: string + type: array + daysOfMonth: + description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' + items: + description: Day of the week + properties: + date: + description: 'Date: Date of the month' + type: integer + isLast: + description: 'IsLast: Whether Date is last date of month' + type: boolean + type: object + type: array + daysOfTheWeek: + description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' + items: + type: string + type: array + monthsOfYear: + description: 'MonthsOfYear: It should be January/February/....../December' + items: + type: string + type: array + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + scheduleTimes: + description: 'ScheduleTimes: List of schedule times for backup' + items: + type: string + type: array + weeksOfTheMonth: + description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + description: 'IsDefault: Specifies if tag is default.' + type: boolean + tagInfo: + description: 'TagInfo: Retention tag information' + properties: + eTag: + description: 'ETag: Retention Tag version.' + type: string + id: + description: 'Id: Retention Tag version.' + type: string + tagName: + description: 'TagName: Retention Tag Name to relate it to retention rule.' + type: string + type: object + taggingPriority: + description: 'TaggingPriority: Retention Tag priority.' + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: 'AzureRetention: Mutually exclusive with all other properties' + properties: + isDefault: + type: boolean + lifecycles: + items: + description: Source LifeCycle + properties: + deleteAfter: + properties: + absoluteDeleteOption: + description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Duration of deletion after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + sourceDataStore: + description: 'SourceDataStore: DataStoreInfo base' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + targetDataStoreCopySettings: + items: + description: Target copy settings + properties: + copyAfter: + description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' + properties: + copyOnExpiryOption: + description: 'CopyOnExpiry: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + customCopyOption: + description: 'CustomCopy: Mutually exclusive with all other properties' + properties: + duration: + description: 'Duration: Data copied after given timespan' + type: string + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + immediateCopyOption: + description: 'ImmediateCopy: Mutually exclusive with all other properties' + properties: + objectType: + description: 'ObjectType: Type of the specific object - used for deserializing' + type: string + type: object + type: object + dataStore: + description: 'DataStore: Info of target datastore' + properties: + dataStoreType: + description: 'DataStoreType: type of datastore; Operational/Vault/Archive' + type: string + objectType: + description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231101.BackupVaultsBackupPolicy + Generator information: + - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231101.BackupVaultsBackupPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20231101.BackupVaultsBackupPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dataprotection.azure.com/BackupVault resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20231101.BaseBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20231101.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20231101.BasePolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20231101.AzureBackupRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20231101.BackupParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20231101.AzureBackupParams + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20231101.TriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20231101.AdhocBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20231101.AdhocBasedTaggingCriteria + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20231101.ScheduleBasedTriggerContext + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20231101.BackupSchedule + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20231101.TaggingCriteria + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20231101.BackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20231101.ScheduleBasedBackupCriteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20231101.Day + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20231101.AzureRetentionRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20231101.SourceLifeCycle + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20231101.DeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20231101.AbsoluteDeleteOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20231101.TargetCopySetting + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20231101.CopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20231101.CopyOnExpiryOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20231101.CustomCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20231101.ImmediateCopyOption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231101.BackupVaultsBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + properties: + description: Storage version of v1api20231101.BaseBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupPolicy: + description: Storage version of v1api20231101.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + datasourceTypes: + items: + type: string + type: array + objectType: + type: string + policyRules: + items: + description: Storage version of v1api20231101.BasePolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupRule: + description: Storage version of v1api20231101.AzureBackupRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupParameters: + description: Storage version of v1api20231101.BackupParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureBackupParams: + description: Storage version of v1api20231101.AzureBackupParams_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + name: + type: string + objectType: + type: string + trigger: + description: Storage version of v1api20231101.TriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adhocBasedTriggerContext: + description: Storage version of v1api20231101.AdhocBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + taggingCriteria: + description: |- + Storage version of v1api20231101.AdhocBasedTaggingCriteria_STATUS + Adhoc backup tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + type: object + type: object + scheduleBasedTriggerContext: + description: Storage version of v1api20231101.ScheduleBasedTriggerContext_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + schedule: + description: |- + Storage version of v1api20231101.BackupSchedule_STATUS + Schedule for backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + repeatingTimeIntervals: + items: + type: string + type: array + timeZone: + type: string + type: object + taggingCriteria: + items: + description: |- + Storage version of v1api20231101.TaggingCriteria_STATUS + Tagging criteria + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + criteria: + items: + description: Storage version of v1api20231101.BackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduleBasedBackupCriteria: + description: Storage version of v1api20231101.ScheduleBasedBackupCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteCriteria: + items: + type: string + type: array + daysOfMonth: + items: + description: |- + Storage version of v1api20231101.Day_STATUS + Day of the week + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + date: + type: integer + isLast: + type: boolean + type: object + type: array + daysOfTheWeek: + items: + type: string + type: array + monthsOfYear: + items: + type: string + type: array + objectType: + type: string + scheduleTimes: + items: + type: string + type: array + weeksOfTheMonth: + items: + type: string + type: array + type: object + type: object + type: array + isDefault: + type: boolean + tagInfo: + description: |- + Storage version of v1api20231101.RetentionTag_STATUS + Retention tag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eTag: + type: string + id: + type: string + tagName: + type: string + type: object + taggingPriority: + type: integer + type: object + type: array + type: object + type: object + type: object + azureRetentionRule: + description: Storage version of v1api20231101.AzureRetentionRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isDefault: + type: boolean + lifecycles: + items: + description: |- + Storage version of v1api20231101.SourceLifeCycle_STATUS + Source LifeCycle + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + deleteAfter: + description: Storage version of v1api20231101.DeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteDeleteOption: + description: Storage version of v1api20231101.AbsoluteDeleteOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + type: object + sourceDataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + targetDataStoreCopySettings: + items: + description: |- + Storage version of v1api20231101.TargetCopySetting_STATUS + Target copy settings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyAfter: + description: Storage version of v1api20231101.CopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + copyOnExpiryOption: + description: Storage version of v1api20231101.CopyOnExpiryOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + customCopyOption: + description: Storage version of v1api20231101.CustomCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: + type: string + objectType: + type: string + type: object + immediateCopyOption: + description: Storage version of v1api20231101.ImmediateCopyOption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + objectType: + type: string + type: object + type: object + dataStore: + description: |- + Storage version of v1api20231101.DataStoreInfoBase_STATUS + DataStoreInfo base + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataStoreType: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: array + name: + type: string + objectType: + type: string + type: object + type: object + type: array + type: object + type: object + systemData: + description: |- + Storage version of v1api20231101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: bastionhosts.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: BastionHost + listKind: BastionHostList + plural: bastionhosts + singular: bastionhost + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference of the PublicIP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Reference of the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - publicIPAddress + - subnet + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + maximum: 50 + minimum: 2 + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of this Bastion Host.' + enum: + - Basic + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - owner + type: object + status: + description: Bastion Host resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the bastion host resource.' + type: string + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of this Bastion Host.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.BastionHost + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.BastionHost_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.BastionHostIPConfiguration + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220701.BastionHostOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20220701.Sku + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.BastionHost_STATUS + Bastion Host resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + etag: + type: string + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.BastionHostIPConfiguration_STATUS + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + provisioningState: + type: string + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20220701.Sku_STATUS + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableKerberos: + description: 'EnableKerberos: Enable/Disable Kerberos feature of the Bastion Host resource.' + type: boolean + enableSessionRecording: + description: 'EnableSessionRecording: Enable/Disable Session Recording feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Reference of the PublicIP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Reference of the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - publicIPAddress + - subnet + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + networkAcls: + properties: + ipRules: + description: 'IpRules: Sets the IP ACL rules for Developer Bastion Host.' + items: + properties: + addressPrefix: + description: 'AddressPrefix: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + maximum: 50 + minimum: 2 + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of the sku of this Bastion Host.' + enum: + - Basic + - Developer + - Premium + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network required for Developer Bastion Host only.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Bastion Host resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' + type: boolean + dnsName: + description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' + type: string + enableFileCopy: + description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' + type: boolean + enableIpConnect: + description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' + type: boolean + enableKerberos: + description: 'EnableKerberos: Enable/Disable Kerberos feature of the Bastion Host resource.' + type: boolean + enableSessionRecording: + description: 'EnableSessionRecording: Enable/Disable Session Recording feature of the Bastion Host resource.' + type: boolean + enableShareableLink: + description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' + type: boolean + enableTunneling: + description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + items: + description: IP configuration of an Bastion Host. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + networkAcls: + properties: + ipRules: + description: 'IpRules: Sets the IP ACL rules for Developer Bastion Host.' + items: + properties: + addressPrefix: + description: 'AddressPrefix: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the bastion host resource.' + type: string + scaleUnits: + description: 'ScaleUnits: The scale units for the Bastion Host resource.' + type: integer + sku: + description: 'Sku: The sku of this Bastion Host.' + properties: + name: + description: 'Name: The name of the sku of this Bastion Host.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network required for Developer Bastion Host only.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.BastionHost + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/bastionHost.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.BastionHost_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableKerberos: + type: boolean + enableSessionRecording: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.BastionHostIPConfiguration + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + networkAcls: + description: Storage version of v1api20240301.BastionHostPropertiesFormat_NetworkAcls + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: Storage version of v1api20240301.IPRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + type: object + type: array + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.BastionHostOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20240301.Sku + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.BastionHost_STATUS + Bastion Host resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableCopyPaste: + type: boolean + dnsName: + type: string + enableFileCopy: + type: boolean + enableIpConnect: + type: boolean + enableKerberos: + type: boolean + enableSessionRecording: + type: boolean + enableShareableLink: + type: boolean + enableTunneling: + type: boolean + etag: + type: string + id: + type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.BastionHostIPConfiguration_STATUS + IP configuration of an Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + networkAcls: + description: Storage version of v1api20240301.BastionHostPropertiesFormat_NetworkAcls_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: Storage version of v1api20240301.IPRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addressPrefix: + type: string + type: object + type: array + type: object + provisioningState: + type: string + scaleUnits: + type: integer + sku: + description: |- + Storage version of v1api20240301.Sku_STATUS + The sku of this Bastion Host. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: batchaccounts.batch.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: batch.azure.com + names: + categories: + - azure + - batch + kind: BatchAccount + listKind: BatchAccountList + plural: batchaccounts + singular: batchaccount + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoStorage: + description: 'AutoStorage: The properties related to the auto-storage account.' + properties: + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to be used for auto-storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - storageAccountReference + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 24 + minLength: 3 + pattern: ^[a-z0-9]+$ + type: string + encryption: + description: |- + Encryption: Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using + a Microsoft managed key. For additional control, a customer-managed key can be used instead. + properties: + keySource: + description: 'KeySource: Type of the key source.' + enum: + - Microsoft.Batch + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Additional details when using Microsoft.KeyVault' + properties: + keyIdentifier: + description: |- + KeyIdentifier: Full path to the versioned secret. Example + https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following + prerequisites must be met: + The Batch Account has a System Assigned identity + The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions + The KeyVault has soft-delete and purge protection enabled + type: string + type: object + type: object + identity: + description: 'Identity: The identity of the Batch account.' + properties: + type: + description: 'Type: The type of identity used for the Batch account.' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Batch account. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + keyVaultReference: + description: 'KeyVaultReference: A reference to the Azure key vault associated with the Batch account.' + properties: + reference: + description: 'Reference: The resource ID of the Azure key vault associated with the Batch account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + url: + description: 'Url: The URL of the Azure key vault associated with the Batch account.' + type: string + required: + - reference + - url + type: object + location: + description: 'Location: The region in which to create the account.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + poolAllocationMode: + description: |- + PoolAllocationMode: The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the + mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is + UserSubscription, clients must use Azure Active Directory. The default is BatchService. + enum: + - BatchService + - UserSubscription + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: If not specified, the default value is ''enabled''.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The user-specified tags associated with the account.' + type: object + required: + - location + - owner + type: object + status: + description: Contains information about an Azure Batch account. + properties: + accountEndpoint: + description: 'AccountEndpoint: The account endpoint used to interact with the Batch service.' + type: string + activeJobAndJobScheduleQuota: + type: integer + autoStorage: + description: 'AutoStorage: Contains information about the auto-storage account associated with a Batch account.' + properties: + lastKeySync: + description: 'LastKeySync: The UTC time at which storage keys were last synchronized with the Batch account.' + type: string + storageAccountId: + description: 'StorageAccountId: The resource ID of the storage account to be used for auto-storage account.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dedicatedCoreQuota: + description: |- + DedicatedCoreQuota: For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription + so this value is not returned. + type: integer + dedicatedCoreQuotaPerVMFamily: + description: |- + DedicatedCoreQuotaPerVMFamily: A list of the dedicated core quota per Virtual Machine family for the Batch account. For + accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not + returned. + items: + description: A VM Family and its associated core quota for the Batch account. + properties: + coreQuota: + description: 'CoreQuota: The core quota for the VM family for the Batch account.' + type: integer + name: + description: 'Name: The Virtual Machine family name.' + type: string + type: object + type: array + dedicatedCoreQuotaPerVMFamilyEnforced: + description: |- + DedicatedCoreQuotaPerVMFamilyEnforced: Batch is transitioning its core quota system for dedicated cores to be enforced + per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not + yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the + account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the + dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply. + type: boolean + encryption: + description: |- + Encryption: Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using + a Microsoft managed key. For additional control, a customer-managed key can be used instead. + properties: + keySource: + description: 'KeySource: Type of the key source.' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Additional details when using Microsoft.KeyVault' + properties: + keyIdentifier: + description: |- + KeyIdentifier: Full path to the versioned secret. Example + https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following + prerequisites must be met: + The Batch Account has a System Assigned identity + The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions + The KeyVault has soft-delete and purge protection enabled + type: string + type: object + type: object + id: + description: 'Id: The ID of the resource.' + type: string + identity: + description: 'Identity: The identity of the Batch account.' + properties: + principalId: + description: 'PrincipalId: The principal id of the Batch account. This property will only be provided for a system assigned identity.' + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the Batch account. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: The type of identity used for the Batch account.' + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Batch account. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + keyVaultReference: + description: 'KeyVaultReference: Identifies the Azure key vault associated with a Batch account.' + properties: + id: + description: 'Id: The resource ID of the Azure key vault associated with the Batch account.' + type: string + url: + description: 'Url: The URL of the Azure key vault associated with the Batch account.' + type: string + type: object + location: + description: 'Location: The location of the resource.' + type: string + lowPriorityCoreQuota: + description: |- + LowPriorityCoreQuota: For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription + so this value is not returned. + type: integer + name: + description: 'Name: The name of the resource.' + type: string + poolAllocationMode: + description: 'PoolAllocationMode: The allocation mode for creating pools in the Batch account.' + type: string + poolQuota: + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the Batch account' + items: + description: Contains information about a private link resource. + properties: + id: + description: 'Id: The ID of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: If not specified, the default value is ''enabled''.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The tags of the resource.' + type: object + type: + description: 'Type: The type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210101.BatchAccount + Generator information: + - Generated from: /batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210101.BatchAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoStorage: + description: |- + Storage version of v1api20210101.AutoStorageBaseProperties + The properties related to the auto-storage account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to be used for auto-storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - storageAccountReference + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: |- + Storage version of v1api20210101.EncryptionProperties + Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft + managed key. For additional control, a customer-managed key can be used instead. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20210101.KeyVaultProperties + KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyIdentifier: + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20210101.BatchAccountIdentity + The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as + their Batch account encryption configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyVaultReference: + description: |- + Storage version of v1api20210101.KeyVaultReference + Identifies the Azure key vault associated with a Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The resource ID of the Azure key vault associated with the Batch account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + url: + type: string + required: + - reference + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210101.BatchAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + poolAllocationMode: + type: string + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20210101.BatchAccount_STATUS + Contains information about an Azure Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountEndpoint: + type: string + activeJobAndJobScheduleQuota: + type: integer + autoStorage: + description: |- + Storage version of v1api20210101.AutoStorageProperties_STATUS + Contains information about the auto-storage account associated with a Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastKeySync: + type: string + storageAccountId: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dedicatedCoreQuota: + type: integer + dedicatedCoreQuotaPerVMFamily: + items: + description: |- + Storage version of v1api20210101.VirtualMachineFamilyCoreQuota_STATUS + A VM Family and its associated core quota for the Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + coreQuota: + type: integer + name: + type: string + type: object + type: array + dedicatedCoreQuotaPerVMFamilyEnforced: + type: boolean + encryption: + description: |- + Storage version of v1api20210101.EncryptionProperties_STATUS + Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft + managed key. For additional control, a customer-managed key can be used instead. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20210101.KeyVaultProperties_STATUS + KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyIdentifier: + type: string + type: object + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20210101.BatchAccountIdentity_STATUS + The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as + their Batch account encryption configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210101.BatchAccountIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyVaultReference: + description: |- + Storage version of v1api20210101.KeyVaultReference_STATUS + Identifies the Azure key vault associated with a Batch account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + url: + type: string + type: object + location: + type: string + lowPriorityCoreQuota: + type: integer + name: + type: string + poolAllocationMode: + type: string + poolQuota: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210101.PrivateEndpointConnection_STATUS + Contains information about a private link resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: clusters.kusto.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kusto.azure.com + names: + categories: + - azure + - kusto + kind: Cluster + listKind: ClusterList + plural: clusters + singular: cluster + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + enum: + - V2 + - V3 + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + enum: + - Python3_10_8 + - Python3_10_8_DL + - Python3_6_5 + - PythonCustomImage + - R + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + enum: + - PYTHON + - R + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + required: + - isEnabled + - maximum + - minimum + - version + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + enum: + - DualStack + - IPv4 + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + enum: + - Dev(No SLA)_Standard_D11_v2 + - Dev(No SLA)_Standard_E2a_v4 + - Standard_D11_v2 + - Standard_D12_v2 + - Standard_D13_v2 + - Standard_D14_v2 + - Standard_D16d_v5 + - Standard_D32d_v4 + - Standard_D32d_v5 + - Standard_DS13_v2+1TB_PS + - Standard_DS13_v2+2TB_PS + - Standard_DS14_v2+3TB_PS + - Standard_DS14_v2+4TB_PS + - Standard_E16a_v4 + - Standard_E16ads_v5 + - Standard_E16as_v4+3TB_PS + - Standard_E16as_v4+4TB_PS + - Standard_E16as_v5+3TB_PS + - Standard_E16as_v5+4TB_PS + - Standard_E16d_v4 + - Standard_E16d_v5 + - Standard_E16s_v4+3TB_PS + - Standard_E16s_v4+4TB_PS + - Standard_E16s_v5+3TB_PS + - Standard_E16s_v5+4TB_PS + - Standard_E2a_v4 + - Standard_E2ads_v5 + - Standard_E2d_v4 + - Standard_E2d_v5 + - Standard_E4a_v4 + - Standard_E4ads_v5 + - Standard_E4d_v4 + - Standard_E4d_v5 + - Standard_E64i_v3 + - Standard_E80ids_v4 + - Standard_E8a_v4 + - Standard_E8ads_v5 + - Standard_E8as_v4+1TB_PS + - Standard_E8as_v4+2TB_PS + - Standard_E8as_v5+1TB_PS + - Standard_E8as_v5+2TB_PS + - Standard_E8d_v4 + - Standard_E8d_v5 + - Standard_E8s_v4+1TB_PS + - Standard_E8s_v4+2TB_PS + - Standard_E8s_v5+1TB_PS + - Standard_E8s_v5+2TB_PS + - Standard_EC16ads_v5 + - Standard_EC16as_v5+3TB_PS + - Standard_EC16as_v5+4TB_PS + - Standard_EC8ads_v5 + - Standard_EC8as_v5+1TB_PS + - Standard_EC8as_v5+2TB_PS + - Standard_L16as_v3 + - Standard_L16s + - Standard_L16s_v2 + - Standard_L16s_v3 + - Standard_L32as_v3 + - Standard_L32s_v3 + - Standard_L4s + - Standard_L8as_v3 + - Standard_L8s + - Standard_L8s_v2 + - Standard_L8s_v3 + type: string + tier: + description: 'Tier: SKU tier.' + enum: + - Basic + - Standard + type: string + required: + - name + - tier + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: 'VirtualClusterGraduationProperties: Virtual Cluster graduation properties' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + enum: + - Disabled + - Enabled + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + description: Class representing a Kusto cluster. + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + description: 'DataIngestionUri: The cluster data ingestion URI.' + type: string + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + migrationCluster: + description: 'MigrationCluster: Properties of the peer cluster involved in a migration to/from this cluster.' + properties: + dataIngestionUri: + description: 'DataIngestionUri: The public data ingestion URL of the cluster.' + type: string + id: + description: 'Id: The resource ID of the cluster.' + type: string + role: + description: 'Role: The role of the cluster in the migration process.' + type: string + uri: + description: 'Uri: The public URL of the cluster.' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: A list of private endpoint connections.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + type: string + tier: + description: 'Tier: SKU tier.' + type: string + type: object + state: + description: 'State: The state of the resource.' + type: string + stateReason: + description: 'StateReason: The reason for the cluster''s current state.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + uri: + description: 'Uri: The cluster URI.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpId: + description: 'DataManagementPublicIpId: Data management''s service public IP address resource id.' + type: string + enginePublicIpId: + description: 'EnginePublicIpId: Engine service''s public IP address resource id.' + type: string + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + type: string + subnetId: + description: 'SubnetId: The subnet resource id.' + type: string + type: object + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230815.Cluster + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230815.Cluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20230815.AcceptedAudiences + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + identity: + description: |- + Storage version of v1api20230815.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230815.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: |- + Storage version of v1api20230815.LanguageExtensionsList + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20230815.LanguageExtension + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230815.ClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: |- + Storage version of v1api20230815.OptimizedAutoscale + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230815.AzureSku + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20230815.TrustedExternalTenant + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230815.VirtualNetworkConfiguration + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20230815.Cluster_STATUS + Class representing a Kusto cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20230815.AcceptedAudiences_STATUS + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + type: string + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230815.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230815.Identity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + languageExtensions: + description: |- + Storage version of v1api20230815.LanguageExtensionsList_STATUS + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20230815.LanguageExtension_STATUS + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + migrationCluster: + description: |- + Storage version of v1api20230815.MigrationClusterProperties_STATUS + Represents a properties of a cluster that is part of a migration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataIngestionUri: + type: string + id: + type: string + role: + type: string + uri: + type: string + type: object + name: + type: string + optimizedAutoscale: + description: |- + Storage version of v1api20230815.OptimizedAutoscale_STATUS + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230815.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20230815.AzureSku_STATUS + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + state: + type: string + stateReason: + type: string + systemData: + description: |- + Storage version of v1api20230815.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20230815.TrustedExternalTenant_STATUS + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: + type: string + uri: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230815.VirtualNetworkConfiguration_STATUS + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpId: + type: string + enginePublicIpId: + type: string + state: + type: string + subnetId: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ + type: string + calloutPolicies: + description: 'CalloutPolicies: List of callout policies for egress from Cluster.' + items: + description: Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + calloutType: + description: 'CalloutType: Type of the callout service, specifying the kind of external resource or service being accessed.' + enum: + - azure_digital_twins + - azure_openai + - cosmosdb + - external_data + - genevametrics + - kusto + - mysql + - postgresql + - sandbox_artifacts + - sql + - webapi + type: string + calloutUriRegex: + description: 'CalloutUriRegex: Regular expression or FQDN pattern for the callout URI.' + type: string + outboundAccess: + description: 'OutboundAccess: Indicates whether outbound access is permitted for the specified URI pattern.' + enum: + - Allow + - Deny + type: string + type: object + type: array + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + enum: + - V2 + - V3 + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + enum: + - Python3_10_8 + - Python3_10_8_DL + - Python3_11_7 + - Python3_11_7_DL + - Python3_6_5 + - PythonCustomImage + - R + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + enum: + - PYTHON + - R + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + clusterPrincipalId: + description: |- + ClusterPrincipalId: indicates where the clusterPrincipalId config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + clusterTenantId: + description: |- + ClusterTenantId: indicates where the clusterTenantId config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + required: + - isEnabled + - maximum + - minimum + - version + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + enum: + - DualStack + - IPv4 + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + enum: + - Dev(No SLA)_Standard_D11_v2 + - Dev(No SLA)_Standard_E2a_v4 + - Standard_D11_v2 + - Standard_D12_v2 + - Standard_D13_v2 + - Standard_D14_v2 + - Standard_D16d_v5 + - Standard_D32d_v4 + - Standard_D32d_v5 + - Standard_DS13_v2+1TB_PS + - Standard_DS13_v2+2TB_PS + - Standard_DS14_v2+3TB_PS + - Standard_DS14_v2+4TB_PS + - Standard_E16a_v4 + - Standard_E16ads_v5 + - Standard_E16as_v4+3TB_PS + - Standard_E16as_v4+4TB_PS + - Standard_E16as_v5+3TB_PS + - Standard_E16as_v5+4TB_PS + - Standard_E16d_v4 + - Standard_E16d_v5 + - Standard_E16s_v4+3TB_PS + - Standard_E16s_v4+4TB_PS + - Standard_E16s_v5+3TB_PS + - Standard_E16s_v5+4TB_PS + - Standard_E2a_v4 + - Standard_E2ads_v5 + - Standard_E2d_v4 + - Standard_E2d_v5 + - Standard_E4a_v4 + - Standard_E4ads_v5 + - Standard_E4d_v4 + - Standard_E4d_v5 + - Standard_E64i_v3 + - Standard_E80ids_v4 + - Standard_E8a_v4 + - Standard_E8ads_v5 + - Standard_E8as_v4+1TB_PS + - Standard_E8as_v4+2TB_PS + - Standard_E8as_v5+1TB_PS + - Standard_E8as_v5+2TB_PS + - Standard_E8d_v4 + - Standard_E8d_v5 + - Standard_E8s_v4+1TB_PS + - Standard_E8s_v4+2TB_PS + - Standard_E8s_v5+1TB_PS + - Standard_E8s_v5+2TB_PS + - Standard_EC16ads_v5 + - Standard_EC16as_v5+3TB_PS + - Standard_EC16as_v5+4TB_PS + - Standard_EC8ads_v5 + - Standard_EC8as_v5+1TB_PS + - Standard_EC8as_v5+2TB_PS + - Standard_L16as_v3 + - Standard_L16s + - Standard_L16s_v2 + - Standard_L16s_v3 + - Standard_L32as_v3 + - Standard_L32s_v3 + - Standard_L4s + - Standard_L8as_v3 + - Standard_L8s + - Standard_L8s_v2 + - Standard_L8s_v3 + type: string + tier: + description: 'Tier: SKU tier.' + enum: + - Basic + - Standard + type: string + required: + - name + - tier + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: 'VirtualClusterGraduationProperties: Virtual Cluster graduation properties' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + enum: + - Disabled + - Enabled + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + description: Class representing a Kusto cluster. + properties: + acceptedAudiences: + description: 'AcceptedAudiences: The cluster''s accepted audiences.' + items: + description: Represents an accepted audience trusted by the cluster. + properties: + value: + description: 'Value: GUID or valid URL representing an accepted audience.' + type: string + type: object + type: array + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.' + items: + type: string + type: array + allowedIpRangeList: + description: 'AllowedIpRangeList: The list of ips in the format of CIDR allowed to connect to the cluster.' + items: + type: string + type: array + calloutPolicies: + description: 'CalloutPolicies: List of callout policies for egress from Cluster.' + items: + description: Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + calloutId: + description: 'CalloutId: Unique identifier for the callout configuration.' + type: string + calloutType: + description: 'CalloutType: Type of the callout service, specifying the kind of external resource or service being accessed.' + type: string + calloutUriRegex: + description: 'CalloutUriRegex: Regular expression or FQDN pattern for the callout URI.' + type: string + outboundAccess: + description: 'OutboundAccess: Indicates whether outbound access is permitted for the specified URI pattern.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + description: 'DataIngestionUri: The cluster data ingestion URI.' + type: string + enableAutoStop: + description: |- + EnableAutoStop: A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no + activity for many days). + type: boolean + enableDiskEncryption: + description: 'EnableDiskEncryption: A boolean value that indicates if the cluster''s disks are encrypted.' + type: boolean + enableDoubleEncryption: + description: 'EnableDoubleEncryption: A boolean value that indicates if double encryption is enabled.' + type: boolean + enablePurge: + description: 'EnablePurge: A boolean value that indicates if the purge operations are enabled.' + type: boolean + enableStreamingIngest: + description: 'EnableStreamingIngest: A boolean value that indicates if the streaming ingest is enabled.' + type: boolean + engineType: + description: 'EngineType: The engine type' + type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the cluster, if configured.' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove all identities. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the Kusto cluster. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the cluster encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + languageExtensions: + description: 'LanguageExtensions: List of the cluster''s language extensions.' + properties: + value: + description: 'Value: The list of language extensions.' + items: + description: The language extension object. + properties: + languageExtensionCustomImageName: + description: 'LanguageExtensionCustomImageName: The language extension custom image name.' + type: string + languageExtensionImageName: + description: 'LanguageExtensionImageName: The language extension image name.' + type: string + languageExtensionName: + description: 'LanguageExtensionName: The language extension name.' + type: string + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + migrationCluster: + description: 'MigrationCluster: Properties of the peer cluster involved in a migration to/from this cluster.' + properties: + dataIngestionUri: + description: 'DataIngestionUri: The public data ingestion URL of the cluster.' + type: string + id: + description: 'Id: The resource ID of the cluster.' + type: string + role: + description: 'Role: The role of the cluster in the migration process.' + type: string + uri: + description: 'Uri: The public URL of the cluster.' + type: string + type: object + name: + description: 'Name: The name of the resource' + type: string + optimizedAutoscale: + description: 'OptimizedAutoscale: Optimized auto scale definition.' + properties: + isEnabled: + description: 'IsEnabled: A boolean value that indicate if the optimized autoscale feature is enabled or not.' + type: boolean + maximum: + description: 'Maximum: Maximum allowed instances count.' + type: integer + minimum: + description: 'Minimum: Minimum allowed instances count.' + type: integer + version: + description: 'Version: The version of the template defined, for instance 1.' + type: integer + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: A list of private endpoint connections.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + publicIPType: + description: 'PublicIPType: Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Public network access to the cluster is enabled by default. When disabled, only private endpoint + connection to the cluster is allowed + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access. Value is optional but if passed in, + must be 'Enabled' or 'Disabled' + type: string + sku: + description: 'Sku: The SKU of the cluster.' + properties: + capacity: + description: 'Capacity: The number of instances of the cluster.' + type: integer + name: + description: 'Name: SKU name.' + type: string + tier: + description: 'Tier: SKU tier.' + type: string + type: object + state: + description: 'State: The state of the resource.' + type: string + stateReason: + description: 'StateReason: The reason for the cluster''s current state.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + trustedExternalTenants: + description: 'TrustedExternalTenants: The cluster''s external tenants.' + items: + description: Represents a tenant ID that is trusted by the cluster. + properties: + value: + description: 'Value: GUID representing an external tenant.' + type: string + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + uri: + description: 'Uri: The cluster URI.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network definition.' + properties: + dataManagementPublicIpId: + description: 'DataManagementPublicIpId: Data management''s service public IP address resource id.' + type: string + enginePublicIpId: + description: 'EnginePublicIpId: Engine service''s public IP address resource id.' + type: string + state: + description: |- + State: When enabled, the cluster is deployed into the configured subnet, when disabled it will be removed from the + subnet. + type: string + subnetId: + description: 'SubnetId: The subnet resource id.' + type: string + type: object + zoneStatus: + description: 'ZoneStatus: Indicates whether the cluster is zonal or non-zonal.' + type: string + zones: + description: 'Zones: The availability zones of the cluster.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240413storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240413.Cluster + Generator information: + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240413.Cluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20240413.AcceptedAudiences + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + calloutPolicies: + items: + description: |- + Storage version of v1api20240413.CalloutPolicy + Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + calloutType: + type: string + calloutUriRegex: + type: string + outboundAccess: + type: string + type: object + type: array + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + identity: + description: |- + Storage version of v1api20240413.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240413.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + languageExtensions: + description: |- + Storage version of v1api20240413.LanguageExtensionsList + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20240413.LanguageExtension + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240413.ClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240413.ClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterPrincipalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + clusterTenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + optimizedAutoscale: + description: |- + Storage version of v1api20240413.OptimizedAutoscale + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20240413.AzureSku + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20240413.TrustedExternalTenant + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + virtualClusterGraduationProperties: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240413.VirtualNetworkConfiguration + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpReference: + description: 'DataManagementPublicIpReference: Data management''s service public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + enginePublicIpReference: + description: 'EnginePublicIpReference: Engine service''s public IP address resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + state: + type: string + subnetReference: + description: 'SubnetReference: The subnet resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - dataManagementPublicIpReference + - enginePublicIpReference + - subnetReference + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240413.Cluster_STATUS + Class representing a Kusto cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceptedAudiences: + items: + description: |- + Storage version of v1api20240413.AcceptedAudiences_STATUS + Represents an accepted audience trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + allowedFqdnList: + items: + type: string + type: array + allowedIpRangeList: + items: + type: string + type: array + calloutPolicies: + items: + description: |- + Storage version of v1api20240413.CalloutPolicy_STATUS + Configuration for external callout policies, including URI patterns, access types, and service types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + calloutId: + type: string + calloutType: + type: string + calloutUriRegex: + type: string + outboundAccess: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataIngestionUri: + type: string + enableAutoStop: + type: boolean + enableDiskEncryption: + type: boolean + enableDoubleEncryption: + type: boolean + enablePurge: + type: boolean + enableStreamingIngest: + type: boolean + engineType: + type: string + etag: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20240413.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240413.Identity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + languageExtensions: + description: |- + Storage version of v1api20240413.LanguageExtensionsList_STATUS + The list of language extension objects. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + description: |- + Storage version of v1api20240413.LanguageExtension_STATUS + The language extension object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + languageExtensionCustomImageName: + type: string + languageExtensionImageName: + type: string + languageExtensionName: + type: string + type: object + type: array + type: object + location: + type: string + migrationCluster: + description: |- + Storage version of v1api20240413.MigrationClusterProperties_STATUS + Represents a properties of a cluster that is part of a migration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataIngestionUri: + type: string + id: + type: string + role: + type: string + uri: + type: string + type: object + name: + type: string + optimizedAutoscale: + description: |- + Storage version of v1api20240413.OptimizedAutoscale_STATUS + A class that contains the optimized auto scale definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + maximum: + type: integer + minimum: + type: integer + version: + type: integer + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240413.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicIPType: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20240413.AzureSku_STATUS + Azure SKU definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + state: + type: string + stateReason: + type: string + systemData: + description: |- + Storage version of v1api20240413.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + trustedExternalTenants: + items: + description: |- + Storage version of v1api20240413.TrustedExternalTenant_STATUS + Represents a tenant ID that is trusted by the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: + type: string + uri: + type: string + virtualNetworkConfiguration: + description: |- + Storage version of v1api20240413.VirtualNetworkConfiguration_STATUS + A class that contains virtual network definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataManagementPublicIpId: + type: string + enginePublicIpId: + type: string + state: + type: string + subnetId: + type: string + type: object + zoneStatus: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: components.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: Component + listKind: ComponentList + plural: components + singular: component + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200202 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + Application_Type: + description: 'Application_Type: Type of application being monitored.' + enum: + - other + - web + type: string + DisableIpMasking: + description: 'DisableIpMasking: Disable IP masking.' + type: boolean + DisableLocalAuth: + description: 'DisableLocalAuth: Disable Non-AAD based Auth.' + type: boolean + Flow_Type: + description: |- + Flow_Type: Used by the Application Insights system to determine what kind of flow this component was created by. This is + to be set to 'Bluefield' when creating/updating a component via the REST API. + enum: + - Bluefield + type: string + ForceCustomerStorageForProfiler: + description: 'ForceCustomerStorageForProfiler: Force users to create their own storage account for profiler and debugger.' + type: boolean + HockeyAppId: + description: |- + HockeyAppId: The unique application ID created when a new application is added to HockeyApp, used for communications + with HockeyApp. + type: string + ImmediatePurgeDataOn30Days: + description: 'ImmediatePurgeDataOn30Days: Purge data immediately after 30 days.' + type: boolean + IngestionMode: + description: 'IngestionMode: Indicates the flow of the ingestion.' + enum: + - ApplicationInsights + - ApplicationInsightsWithDiagnosticSettings + - LogAnalytics + type: string + Request_Source: + description: |- + Request_Source: Describes what tool created this Application Insights component. Customers using this API should set + this to the default 'rest'. + enum: + - rest + type: string + RetentionInDays: + description: 'RetentionInDays: Retention period in days.' + type: integer + SamplingPercentage: + description: |- + SamplingPercentage: Percentage of the data produced by the application being monitored that is being sampled for + Application Insights telemetry. + type: number + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: Resource etag' + type: string + kind: + description: |- + Kind: The kind of application that this component refers to, used to customize UI. This value is a freeform string, + values should typically be one of the following: web, ios, other, store, java, phone. + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + connectionString: + description: |- + ConnectionString: indicates where the ConnectionString config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + instrumentationKey: + description: |- + InstrumentationKey: indicates where the InstrumentationKey config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccessForIngestion: + description: 'PublicNetworkAccessForIngestion: The network access type for accessing Application Insights ingestion.' + enum: + - Disabled + - Enabled + type: string + publicNetworkAccessForQuery: + description: 'PublicNetworkAccessForQuery: The network access type for accessing Application Insights query.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + workspaceResourceReference: + description: |- + WorkspaceResourceReference: Resource Id of the log analytics workspace which the data will be ingested to. This property + is required to create an application with this API version. Applications from older versions will not have this property. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - Application_Type + - kind + - location + - owner + type: object + status: + properties: + AppId: + description: 'AppId: Application Insights Unique ID for your Application.' + type: string + Application_Type: + description: 'Application_Type: Type of application being monitored.' + type: string + ApplicationId: + description: 'ApplicationId: The unique ID of your application. This field mirrors the ''Name'' field and cannot be changed.' + type: string + ConnectionString: + description: 'ConnectionString: Application Insights component connection string.' + type: string + CreationDate: + description: 'CreationDate: Creation Date for the Application Insights component, in ISO 8601 format.' + type: string + DisableIpMasking: + description: 'DisableIpMasking: Disable IP masking.' + type: boolean + DisableLocalAuth: + description: 'DisableLocalAuth: Disable Non-AAD based Auth.' + type: boolean + Flow_Type: + description: |- + Flow_Type: Used by the Application Insights system to determine what kind of flow this component was created by. This is + to be set to 'Bluefield' when creating/updating a component via the REST API. + type: string + ForceCustomerStorageForProfiler: + description: 'ForceCustomerStorageForProfiler: Force users to create their own storage account for profiler and debugger.' + type: boolean + HockeyAppId: + description: |- + HockeyAppId: The unique application ID created when a new application is added to HockeyApp, used for communications + with HockeyApp. + type: string + HockeyAppToken: + description: 'HockeyAppToken: Token used to authenticate communications with between Application Insights and HockeyApp.' + type: string + ImmediatePurgeDataOn30Days: + description: 'ImmediatePurgeDataOn30Days: Purge data immediately after 30 days.' + type: boolean + IngestionMode: + description: 'IngestionMode: Indicates the flow of the ingestion.' + type: string + InstrumentationKey: + description: |- + InstrumentationKey: Application Insights Instrumentation key. A read-only value that applications can use to identify + the destination for all telemetry sent to Azure Application Insights. This value will be supplied upon construction of + each new Application Insights component. + type: string + LaMigrationDate: + description: 'LaMigrationDate: The date which the component got migrated to LA, in ISO 8601 format.' + type: string + PrivateLinkScopedResources: + description: 'PrivateLinkScopedResources: List of linked private link scope resources.' + items: + description: The private link scope resource reference. + properties: + ResourceId: + description: 'ResourceId: The full resource Id of the private link scope resource.' + type: string + ScopeId: + description: 'ScopeId: The private link scope unique Identifier.' + type: string + type: object + type: array + Request_Source: + description: |- + Request_Source: Describes what tool created this Application Insights component. Customers using this API should set + this to the default 'rest'. + type: string + RetentionInDays: + description: 'RetentionInDays: Retention period in days.' + type: integer + SamplingPercentage: + description: |- + SamplingPercentage: Percentage of the data produced by the application being monitored that is being sampled for + Application Insights telemetry. + type: number + TenantId: + description: 'TenantId: Azure Tenant Id.' + type: string + WorkspaceResourceId: + description: |- + WorkspaceResourceId: Resource Id of the log analytics workspace which the data will be ingested to. This property is + required to create an application with this API version. Applications from older versions will not have this property. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: Resource etag' + type: string + id: + description: 'Id: Azure resource Id' + type: string + kind: + description: |- + Kind: The kind of application that this component refers to, used to customize UI. This value is a freeform string, + values should typically be one of the following: web, ios, other, store, java, phone. + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + properties_name: + description: 'PropertiesName: Application name.' + type: string + provisioningState: + description: |- + ProvisioningState: Current state of this component: whether or not is has been provisioned within the resource group it + is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, + Canceled, and Failed. + type: string + publicNetworkAccessForIngestion: + description: 'PublicNetworkAccessForIngestion: The network access type for accessing Application Insights ingestion.' + type: string + publicNetworkAccessForQuery: + description: 'PublicNetworkAccessForQuery: The network access type for accessing Application Insights query.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200202storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200202.Component + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200202.Component_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Application_Type: + type: string + DisableIpMasking: + type: boolean + DisableLocalAuth: + type: boolean + Flow_Type: + type: string + ForceCustomerStorageForProfiler: + type: boolean + HockeyAppId: + type: string + ImmediatePurgeDataOn30Days: + type: boolean + IngestionMode: + type: string + Request_Source: + type: string + RetentionInDays: + type: integer + SamplingPercentage: + type: number + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20200202.ComponentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20200202.ComponentOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionString: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + instrumentationKey: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccessForIngestion: + type: string + publicNetworkAccessForQuery: + type: string + tags: + additionalProperties: + type: string + type: object + workspaceResourceReference: + description: |- + WorkspaceResourceReference: Resource Id of the log analytics workspace which the data will be ingested to. This property + is required to create an application with this API version. Applications from older versions will not have this property. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20200202.Component_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AppId: + type: string + Application_Type: + type: string + ApplicationId: + type: string + ConnectionString: + type: string + CreationDate: + type: string + DisableIpMasking: + type: boolean + DisableLocalAuth: + type: boolean + Flow_Type: + type: string + ForceCustomerStorageForProfiler: + type: boolean + HockeyAppId: + type: string + HockeyAppToken: + type: string + ImmediatePurgeDataOn30Days: + type: boolean + IngestionMode: + type: string + InstrumentationKey: + type: string + LaMigrationDate: + type: string + PrivateLinkScopedResources: + items: + description: |- + Storage version of v1api20200202.PrivateLinkScopedResource_STATUS + The private link scope resource reference. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ResourceId: + type: string + ScopeId: + type: string + type: object + type: array + Request_Source: + type: string + RetentionInDays: + type: integer + SamplingPercentage: + type: number + TenantId: + type: string + WorkspaceResourceId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + kind: + type: string + location: + type: string + name: + type: string + properties_name: + type: string + provisioningState: + type: string + publicNetworkAccessForIngestion: + type: string + publicNetworkAccessForQuery: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: configurations.dbformariadb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformariadb.azure.com + names: + categories: + - azure + - dbformariadb + kind: Configuration + listKind: ConfigurationList + plural: configurations + singular: configuration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformariadb.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Configuration + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Configuration_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.ConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformariadb.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20180601.Configuration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataType: + type: string + defaultValue: + type: string + description: + type: string + id: + type: string + name: + type: string + source: + type: string + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: configurationstores.appconfiguration.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: appconfiguration.azure.com + names: + categories: + - azure + - appconfiguration + kind: ConfigurationStore + listKind: ConfigurationStoreList + plural: configurationstores + singular: configurationstore + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2022-05-01/appconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9_-]*$ + type: string + createMode: + description: 'CreateMode: Indicates whether the configuration store need to be recovered.' + enum: + - Default + - Recover + type: string + disableLocalAuth: + description: 'DisableLocalAuth: Disables all authentication methods other than AAD authentication.' + type: boolean + enablePurgeProtection: + description: 'EnablePurgeProtection: Property specifying whether protection against purge is enabled for this configuration store.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of the configuration store.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: The URI of the key vault key used to encrypt data.' + type: string + type: object + type: object + identity: + description: 'Identity: The managed identity information, if configured.' + properties: + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove any identities. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user-assigned identities associated with the resource. The user-assigned identity + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKeyID: + description: |- + PrimaryKeyID: indicates where the PrimaryKeyID secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyConnectionString: + description: |- + PrimaryReadOnlyConnectionString: indicates where the PrimaryReadOnlyConnectionString secret should be placed. If + omitted, the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKey: + description: |- + PrimaryReadOnlyKey: indicates where the PrimaryReadOnlyKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKeyID: + description: |- + PrimaryReadOnlyKeyID: indicates where the PrimaryReadOnlyKeyID secret should be placed. If omitted, the secret will not + be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKeyID: + description: |- + SecondaryKeyID: indicates where the SecondaryKeyID secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyConnectionString: + description: |- + SecondaryReadOnlyConnectionString: indicates where the SecondaryReadOnlyConnectionString secret should be placed. If + omitted, the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKey: + description: |- + SecondaryReadOnlyKey: indicates where the SecondaryReadOnlyKey secret should be placed. If omitted, the secret will not + be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKeyID: + description: |- + SecondaryReadOnlyKeyID: indicates where the SecondaryReadOnlyKeyID secret should be placed. If omitted, the secret will + not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Control permission for data plane traffic coming from public networks while private endpoint is + enabled. + enum: + - Disabled + - Enabled + type: string + sku: + description: 'Sku: The sku of the configuration store.' + properties: + name: + description: 'Name: The SKU name of the configuration store.' + type: string + required: + - name + type: object + softDeleteRetentionInDays: + description: |- + SoftDeleteRetentionInDays: The amount of time in days that the configuration store will be retained when it is soft + deleted. + type: integer + systemData: + description: 'SystemData: Resource system metadata.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + description: |- + The configuration store along with all resource properties. The Configuration Store will have all information to begin + utilizing it. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: Indicates whether the configuration store need to be recovered.' + type: string + creationDate: + description: 'CreationDate: The creation date of configuration store.' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: Disables all authentication methods other than AAD authentication.' + type: boolean + enablePurgeProtection: + description: 'EnablePurgeProtection: Property specifying whether protection against purge is enabled for this configuration store.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of the configuration store.' + properties: + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' + properties: + identityClientId: + description: 'IdentityClientId: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: The URI of the key vault key used to encrypt data.' + type: string + type: object + type: object + endpoint: + description: 'Endpoint: The DNS endpoint where the configuration store API will be available.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The managed identity information, if configured.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity. This property will only be provided for a system-assigned identity.' + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the resource's identity. This property will only be provided for a + system-assigned identity. + type: string + type: + description: |- + Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created + identity and a set of user-assigned identities. The type 'None' will remove any identities. + type: string + userAssignedIdentities: + additionalProperties: + description: A resource identity that is managed by the user of the service. + properties: + clientId: + description: 'ClientId: The client ID of the user-assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the user-assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user-assigned identities associated with the resource. The user-assigned identity + dictionary keys will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections that are set up for this resource.' + items: + description: A reference to a related private endpoint connection. + properties: + id: + description: 'Id: The resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the configuration store.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Control permission for data plane traffic coming from public networks while private endpoint is + enabled. + type: string + sku: + description: 'Sku: The sku of the configuration store.' + properties: + name: + description: 'Name: The SKU name of the configuration store.' + type: string + type: object + softDeleteRetentionInDays: + description: |- + SoftDeleteRetentionInDays: The amount of time in days that the configuration store will be retained when it is soft + deleted. + type: integer + systemData: + description: 'SystemData: Resource system metadata.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220501.ConfigurationStore + Generator information: + - Generated from: /appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2022-05-01/appconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220501.ConfigurationStore_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + createMode: + type: string + disableLocalAuth: + type: boolean + enablePurgeProtection: + type: boolean + encryption: + description: |- + Storage version of v1api20220501.EncryptionProperties + The encryption settings for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: |- + Storage version of v1api20220501.KeyVaultProperties + Settings concerning key vault encryption for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + type: object + type: object + identity: + description: |- + Storage version of v1api20220501.ResourceIdentity + An identity that can be associated with a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220501.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20220501.ConfigurationStoreOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20220501.ConfigurationStoreOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadOnlyKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadOnlyKeyID: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20220501.Sku + Describes a configuration store SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + systemData: + description: |- + Storage version of v1api20220501.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220501.ConfigurationStore_STATUS + The configuration store along with all resource properties. The Configuration Store will have all information to begin + utilizing it. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + type: string + creationDate: + type: string + disableLocalAuth: + type: boolean + enablePurgeProtection: + type: boolean + encryption: + description: |- + Storage version of v1api20220501.EncryptionProperties_STATUS + The encryption settings for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultProperties: + description: |- + Storage version of v1api20220501.KeyVaultProperties_STATUS + Settings concerning key vault encryption for a configuration store. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityClientId: + type: string + keyIdentifier: + type: string + type: object + type: object + endpoint: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20220501.ResourceIdentity_STATUS + An identity that can be associated with a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20220501.UserIdentity_STATUS + A resource identity that is managed by the user of the service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220501.PrivateEndpointConnectionReference_STATUS + A reference to a related private endpoint connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + sku: + description: |- + Storage version of v1api20220501.Sku_STATUS + Describes a configuration store SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + softDeleteRetentionInDays: + type: integer + systemData: + description: |- + Storage version of v1api20220501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: containerapps.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: ContainerApp + listKind: ContainerAppList + plural: containerapps + singular: containerapp + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + enum: + - Multiple + - Single + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + enum: + - grpc + - http + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + enum: + - debug + - error + - info + - warn + type: string + type: object + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + required: + - external + - targetPort + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + enum: + - accept + - ignore + - require + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + required: + - allowedOrigins + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + enum: + - Disabled + - SniEnabled + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: 'Name: Hostname.' + type: string + required: + - name + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + enum: + - Allow + - Deny + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + required: + - action + - ipAddressRange + - name + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + enum: + - none + - sticky + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + enum: + - auto + - http + - http2 + - tcp + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + required: + - type + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - CustomLocation + type: string + type: object + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + eventStreamEndpoint: + description: |- + EventStreamEndpoint: indicates where the EventStreamEndpoint config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: 'Fqdn: indicates where the Fqdn config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - Secret + type: string + type: object + type: array + type: object + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + required: + - location + - owner + type: object + status: + description: Container App. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + type: string + type: object + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + type: string + certificateId: + description: 'CertificateId: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + type: string + name: + description: 'Name: Hostname.' + type: string + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + fqdn: + description: 'Fqdn: Hostname.' + type: string + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + type: object + type: object + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + environmentId: + description: 'EnvironmentId: Resource ID of environment.' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container app.' + type: string + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + latestReadyRevisionName: + description: 'LatestReadyRevisionName: Name of the latest ready revision of the Container App.' + type: string + latestRevisionFqdn: + description: 'LatestRevisionFqdn: Fully Qualified Domain Name of the latest revision of the Container App.' + type: string + latestRevisionName: + description: 'LatestRevisionName: Name of the latest revision of the Container App.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedBy: + description: |- + ManagedBy: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is + managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is + removed from the template since it is managed by another resource. + type: string + managedEnvironmentId: + description: 'ManagedEnvironmentId: Deprecated. Resource ID of the Container App''s environment.' + type: string + name: + description: 'Name: The name of the resource' + type: string + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses for container app.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container App.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceId: + description: 'ServiceId: Resource id of the target service' + type: string + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.ContainerApp + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.ContainerApp_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: |- + Storage version of v1api20240301.Configuration + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20240301.Dapr + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + ingress: + description: |- + Storage version of v1api20240301.Ingress + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20240301.IngressPortMapping + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20240301.CorsPolicy + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20240301.CustomDomain + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20240301.IpSecurityRestrictionRule + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20240301.Ingress_StickySessions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20240301.TrafficWeight + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + secrets: + items: + description: |- + Storage version of v1api20240301.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: |- + Storage version of v1api20240301.Service + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.ContainerAppOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20240301.ContainerAppOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventStreamEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.Template + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20240301.Scale + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxReplicas: + type: integer + minReplicas: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.ScaleRule + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20240301.QueueScaleRule + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20240301.CustomScaleRule + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20240301.HttpScaleRule + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20240301.TcpScaleRule + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20240301.ServiceBind + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20240301.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + workloadProfileName: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.ContainerApp_STATUS + Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: |- + Storage version of v1api20240301.Configuration_STATUS + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20240301.Dapr_STATUS + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + ingress: + description: |- + Storage version of v1api20240301.Ingress_STATUS + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20240301.IngressPortMapping_STATUS + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20240301.CorsPolicy_STATUS + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20240301.CustomDomain_STATUS + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateId: + type: string + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + fqdn: + type: string + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20240301.IpSecurityRestrictionRule_STATUS + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20240301.Ingress_StickySessions_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20240301.TrafficWeight_STATUS + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + secrets: + items: + description: |- + Storage version of v1api20240301.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + service: + description: |- + Storage version of v1api20240301.Service_STATUS + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + customDomainVerificationId: + type: string + environmentId: + type: string + eventStreamEndpoint: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240301.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + latestReadyRevisionName: + type: string + latestRevisionFqdn: + type: string + latestRevisionName: + type: string + location: + type: string + managedBy: + type: string + managedEnvironmentId: + type: string + name: + type: string + outboundIpAddresses: + items: + type: string + type: array + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.Template_STATUS + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20240301.Scale_STATUS + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxReplicas: + type: integer + minReplicas: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.ScaleRule_STATUS + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20240301.QueueScaleRule_STATUS + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20240301.CustomScaleRule_STATUS + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20240301.HttpScaleRule_STATUS + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20240301.TcpScaleRule_STATUS + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20240301.ServiceBind_STATUS + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceId: + type: string + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20240301.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + type: + type: string + workloadProfileName: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + enum: + - Multiple + - Single + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + enum: + - grpc + - http + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + enum: + - debug + - error + - info + - warn + type: string + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity + is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + enum: + - All + - Init + - Main + - None + type: string + required: + - identityReference + type: object + type: array + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + required: + - external + - targetPort + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + enum: + - accept + - ignore + - require + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + required: + - allowedOrigins + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + enum: + - Disabled + - SniEnabled + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: 'Name: Hostname.' + type: string + required: + - name + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + enum: + - Allow + - Deny + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + required: + - action + - ipAddressRange + - name + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + enum: + - none + - sticky + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + enum: + - auto + - http + - http2 + - tcp + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + runtime: + description: 'Runtime: App runtime configuration for the Container App.' + properties: + java: + description: 'Java: Java app configuration' + properties: + enableMetrics: + description: 'EnableMetrics: Enable jmx core metrics for the java app' + type: boolean + type: object + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + required: + - type + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - CustomLocation + type: string + type: object + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + eventStreamEndpoint: + description: |- + EventStreamEndpoint: indicates where the EventStreamEndpoint config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: 'Fqdn: indicates where the Fqdn config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + cooldownPeriod: + description: 'CooldownPeriod: Optional. KEDA Cooldown Period in seconds. Defaults to 300 seconds if not set.' + type: integer + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + pollingInterval: + description: 'PollingInterval: Optional. KEDA Polling Interval in seconds. Defaults to 30 seconds if not set.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + accountName: + description: 'AccountName: Storage account name. required if using managed identity to authenticate' + type: string + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - NfsAzureFile + - Secret + type: string + type: object + type: array + type: object + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + required: + - location + - owner + type: object + status: + description: Container App. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: 'Configuration: Non versioned Container App configuration properties.' + properties: + activeRevisionsMode: + description: |- + ActiveRevisionsMode: ActiveRevisionsMode controls how active revisions are handled for the Container app: + Multiple: multiple revisions can be active.Single: Only one revision can be active at a time. + Revision weights can not be used in this mode. If no value if provided, this is the default. + type: string + dapr: + description: 'Dapr: Dapr configuration for the Container App.' + properties: + appId: + description: 'AppId: Dapr application identifier' + type: string + appPort: + description: 'AppPort: Tells Dapr which port your application is listening on' + type: integer + appProtocol: + description: 'AppProtocol: Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http' + type: string + enableApiLogging: + description: 'EnableApiLogging: Enables API logging for the Dapr sidecar' + type: boolean + enabled: + description: 'Enabled: Boolean indicating if the Dapr side car is enabled' + type: boolean + httpMaxRequestSize: + description: |- + HttpMaxRequestSize: Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big + files. Default is 4 MB. + type: integer + httpReadBufferSize: + description: |- + HttpReadBufferSize: Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is + 65KB. + type: integer + logLevel: + description: 'LogLevel: Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.' + type: string + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity + is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + type: string + type: object + type: array + ingress: + description: 'Ingress: Ingress configurations.' + properties: + additionalPortMappings: + description: 'AdditionalPortMappings: Settings to expose additional ports on container app' + items: + description: Port mappings of container app ingress + properties: + exposedPort: + description: 'ExposedPort: Specifies the exposed port for the target port. If not specified, it defaults to target port' + type: integer + external: + description: 'External: Specifies whether the app port is accessible outside of the environment' + type: boolean + targetPort: + description: 'TargetPort: Specifies the port user''s container listens on' + type: integer + type: object + type: array + allowInsecure: + description: |- + AllowInsecure: Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically + redirected to HTTPS connections + type: boolean + clientCertificateMode: + description: |- + ClientCertificateMode: Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate + on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require + indicates server requires a client certificate. + type: string + corsPolicy: + description: 'CorsPolicy: CORS policy for container app' + properties: + allowCredentials: + description: 'AllowCredentials: Specifies whether the resource allows credentials' + type: boolean + allowedHeaders: + description: 'AllowedHeaders: Specifies the content for the access-control-allow-headers header' + items: + type: string + type: array + allowedMethods: + description: 'AllowedMethods: Specifies the content for the access-control-allow-methods header' + items: + type: string + type: array + allowedOrigins: + description: 'AllowedOrigins: Specifies the content for the access-control-allow-origins header' + items: + type: string + type: array + exposeHeaders: + description: 'ExposeHeaders: Specifies the content for the access-control-expose-headers header' + items: + type: string + type: array + maxAge: + description: 'MaxAge: Specifies the content for the access-control-max-age header' + type: integer + type: object + customDomains: + description: 'CustomDomains: custom domain bindings for Container Apps'' hostnames.' + items: + description: Custom Domain of a Container App + properties: + bindingType: + description: 'BindingType: Custom Domain binding type.' + type: string + certificateId: + description: 'CertificateId: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + type: string + name: + description: 'Name: Hostname.' + type: string + type: object + type: array + exposedPort: + description: 'ExposedPort: Exposed Port in containers for TCP traffic from ingress' + type: integer + external: + description: 'External: Bool indicating if app exposes an external http endpoint' + type: boolean + fqdn: + description: 'Fqdn: Hostname.' + type: string + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: Rules to restrict incoming IP address.' + items: + description: Rule to restrict incoming IP address. + properties: + action: + description: 'Action: Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny' + type: string + description: + description: 'Description: Describe the IP restriction rule that is being sent to the container-app. This is an optional field.' + type: string + ipAddressRange: + description: 'IpAddressRange: CIDR notation to match incoming IP address' + type: string + name: + description: 'Name: Name for the IP restriction rule.' + type: string + type: object + type: array + stickySessions: + description: 'StickySessions: Sticky Sessions for Single Revision Mode' + properties: + affinity: + description: 'Affinity: Sticky Session Affinity' + type: string + type: object + targetPort: + description: 'TargetPort: Target Port in containers for traffic from ingress' + type: integer + traffic: + description: 'Traffic: Traffic weights for app''s revisions' + items: + description: Traffic weight assigned to a revision + properties: + label: + description: 'Label: Associates a traffic label with a revision' + type: string + latestRevision: + description: 'LatestRevision: Indicates that the traffic weight belongs to a latest stable revision' + type: boolean + revisionName: + description: 'RevisionName: Name of a revision' + type: string + weight: + description: 'Weight: Traffic weight assigned to a revision' + type: integer + type: object + type: array + transport: + description: 'Transport: Ingress transport protocol' + type: string + type: object + maxInactiveRevisions: + description: 'MaxInactiveRevisions: Optional. Max inactive revisions a Container App can have.' + type: integer + registries: + description: 'Registries: Collection of private container registry credentials for containers used by the Container app' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + runtime: + description: 'Runtime: App runtime configuration for the Container App.' + properties: + java: + description: 'Java: Java app configuration' + properties: + enableMetrics: + description: 'EnableMetrics: Enable jmx core metrics for the java app' + type: boolean + type: object + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container app' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + service: + description: 'Service: Container App to be a dev Container App Service' + properties: + type: + description: 'Type: Dev ContainerApp service type' + type: string + type: object + type: object + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + environmentId: + description: 'EnvironmentId: Resource ID of environment.' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container app.' + type: string + extendedLocation: + description: 'ExtendedLocation: The complex type of the extended location.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: |- + Identity: managed identities for the Container App to interact with other Azure services without maintaining any secrets + or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + latestReadyRevisionName: + description: 'LatestReadyRevisionName: Name of the latest ready revision of the Container App.' + type: string + latestRevisionFqdn: + description: 'LatestRevisionFqdn: Fully Qualified Domain Name of the latest revision of the Container App.' + type: string + latestRevisionName: + description: 'LatestRevisionName: Name of the latest revision of the Container App.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + managedBy: + description: |- + ManagedBy: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is + managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is + removed from the template since it is managed by another resource. + type: string + managedEnvironmentId: + description: 'ManagedEnvironmentId: Deprecated. Resource ID of the Container App''s environment.' + type: string + name: + description: 'Name: The name of the resource' + type: string + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses for container app.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container App.' + type: string + runningStatus: + description: 'RunningStatus: Running status of the Container App.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container App versioned application definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + description: 'RevisionSuffix: User friendly suffix that is appended to the revision name' + type: string + scale: + description: 'Scale: Scaling properties for the Container App.' + properties: + cooldownPeriod: + description: 'CooldownPeriod: Optional. KEDA Cooldown Period in seconds. Defaults to 300 seconds if not set.' + type: integer + maxReplicas: + description: 'MaxReplicas: Optional. Maximum number of container replicas. Defaults to 10 if not set.' + type: integer + minReplicas: + description: 'MinReplicas: Optional. Minimum number of container replicas.' + type: integer + pollingInterval: + description: 'PollingInterval: Optional. KEDA Polling Interval in seconds. Defaults to 30 seconds if not set.' + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Container App container scaling rule. + properties: + azureQueue: + description: 'AzureQueue: Azure Queue based scaling.' + properties: + accountName: + description: 'AccountName: Storage account name. required if using managed identity to authenticate' + type: string + auth: + description: 'Auth: Authentication secrets for the queue scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + queueLength: + description: 'QueueLength: Queue length.' + type: integer + queueName: + description: 'QueueName: Queue name.' + type: string + type: object + custom: + description: 'Custom: Custom scale rule.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe custom scale rule.' + type: object + type: + description: |- + Type: Type of the custom scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + http: + description: 'Http: HTTP requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the custom scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe http scale rule.' + type: object + type: object + name: + description: 'Name: Scale Rule Name' + type: string + tcp: + description: 'Tcp: Tcp requests based scaling.' + properties: + auth: + description: 'Auth: Authentication secrets for the tcp scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata properties to describe tcp scale rule.' + type: object + type: object + type: object + type: array + type: object + serviceBinds: + description: 'ServiceBinds: List of container app services bound to the app' + items: + description: Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + name: + description: 'Name: Name of the service bind' + type: string + serviceId: + description: 'ServiceId: Resource id of the target service' + type: string + type: object + type: array + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the Container App Instance needs to terminate gracefully. + Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to + shut down). If this value is nil, the default grace period will be used instead. Set this value longer than the expected + cleanup time for your process. Defaults to 30 seconds. + type: integer + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container app execution.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.ContainerApp + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/ContainerApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.ContainerApp_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configuration: + description: |- + Storage version of v1api20250101.Configuration + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20250101.Dapr + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + lifecycle: + type: string + required: + - identityReference + type: object + type: array + ingress: + description: |- + Storage version of v1api20250101.Ingress + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20250101.IngressPortMapping + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20250101.CorsPolicy + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20250101.CustomDomain + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateReference: + description: 'CertificateReference: Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20250101.IpSecurityRestrictionRule + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20250101.Ingress_StickySessions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20250101.TrafficWeight + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + runtime: + description: |- + Storage version of v1api20250101.Runtime + Container App Runtime configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + java: + description: Storage version of v1api20250101.Runtime_Java + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableMetrics: + type: boolean + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + service: + description: |- + Storage version of v1api20250101.Service + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20250101.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + managedByReference: + description: |- + ManagedByReference: The fully qualified resource ID of the resource that manages this resource. Indicates if this + resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource + if it is removed from the template since it is managed by another resource. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + managedEnvironmentReference: + description: 'ManagedEnvironmentReference: Deprecated. Resource ID of the Container App''s environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20250101.ContainerAppOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20250101.ContainerAppOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventStreamEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fqdn: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.Template + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20250101.Scale + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldownPeriod: + type: integer + maxReplicas: + type: integer + minReplicas: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.ScaleRule + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20250101.QueueScaleRule + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20250101.CustomScaleRule + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20250101.HttpScaleRule + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20250101.TcpScaleRule + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20250101.ServiceBind + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceReference: + description: 'ServiceReference: Resource id of the target service' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20250101.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + workloadProfileName: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250101.ContainerApp_STATUS + Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + configuration: + description: |- + Storage version of v1api20250101.Configuration_STATUS + Non versioned Container App configuration properties that define the mutable settings of a Container app + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeRevisionsMode: + type: string + dapr: + description: |- + Storage version of v1api20250101.Dapr_STATUS + Container App Dapr configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appId: + type: string + appPort: + type: integer + appProtocol: + type: string + enableApiLogging: + type: boolean + enabled: + type: boolean + httpMaxRequestSize: + type: integer + httpReadBufferSize: + type: integer + logLevel: + type: string + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings_STATUS + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + lifecycle: + type: string + type: object + type: array + ingress: + description: |- + Storage version of v1api20250101.Ingress_STATUS + Container App Ingress configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalPortMappings: + items: + description: |- + Storage version of v1api20250101.IngressPortMapping_STATUS + Port mappings of container app ingress + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exposedPort: + type: integer + external: + type: boolean + targetPort: + type: integer + type: object + type: array + allowInsecure: + type: boolean + clientCertificateMode: + type: string + corsPolicy: + description: |- + Storage version of v1api20250101.CorsPolicy_STATUS + Cross-Origin-Resource-Sharing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowCredentials: + type: boolean + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposeHeaders: + items: + type: string + type: array + maxAge: + type: integer + type: object + customDomains: + items: + description: |- + Storage version of v1api20250101.CustomDomain_STATUS + Custom Domain of a Container App + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingType: + type: string + certificateId: + type: string + name: + type: string + type: object + type: array + exposedPort: + type: integer + external: + type: boolean + fqdn: + type: string + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20250101.IpSecurityRestrictionRule_STATUS + Rule to restrict incoming IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + ipAddressRange: + type: string + name: + type: string + type: object + type: array + stickySessions: + description: Storage version of v1api20250101.Ingress_StickySessions_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + affinity: + type: string + type: object + targetPort: + type: integer + traffic: + items: + description: |- + Storage version of v1api20250101.TrafficWeight_STATUS + Traffic weight assigned to a revision + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + label: + type: string + latestRevision: + type: boolean + revisionName: + type: string + weight: + type: integer + type: object + type: array + transport: + type: string + type: object + maxInactiveRevisions: + type: integer + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + runtime: + description: |- + Storage version of v1api20250101.Runtime_STATUS + Container App Runtime configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + java: + description: Storage version of v1api20250101.Runtime_Java_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableMetrics: + type: boolean + type: object + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + service: + description: |- + Storage version of v1api20250101.Service_STATUS + Container App to be a dev service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + type: object + customDomainVerificationId: + type: string + environmentId: + type: string + eventStreamEndpoint: + type: string + extendedLocation: + description: |- + Storage version of v1api20250101.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + latestReadyRevisionName: + type: string + latestRevisionFqdn: + type: string + latestRevisionName: + type: string + location: + type: string + managedBy: + type: string + managedEnvironmentId: + type: string + name: + type: string + outboundIpAddresses: + items: + type: string + type: array + provisioningState: + type: string + runningStatus: + type: string + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.Template_STATUS + Container App versioned application definition. + Defines the desired state of an immutable revision. + Any changes to this + section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + revisionSuffix: + type: string + scale: + description: |- + Storage version of v1api20250101.Scale_STATUS + Container App scaling configurations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cooldownPeriod: + type: integer + maxReplicas: + type: integer + minReplicas: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.ScaleRule_STATUS + Container App container scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureQueue: + description: |- + Storage version of v1api20250101.QueueScaleRule_STATUS + Container App container Azure Queue based scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + queueLength: + type: integer + queueName: + type: string + type: object + custom: + description: |- + Storage version of v1api20250101.CustomScaleRule_STATUS + Container App container Custom scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + type: string + type: object + type: + type: string + type: object + http: + description: |- + Storage version of v1api20250101.HttpScaleRule_STATUS + Container App container Http scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + type: string + type: object + type: object + name: + type: string + tcp: + description: |- + Storage version of v1api20250101.TcpScaleRule_STATUS + Container App container Tcp scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + type: string + type: object + type: object + type: object + type: array + type: object + serviceBinds: + items: + description: |- + Storage version of v1api20250101.ServiceBind_STATUS + Configuration to bind a ContainerApp to a dev ContainerApp Service + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + serviceId: + type: string + type: object + type: array + terminationGracePeriodSeconds: + type: integer + volumes: + items: + description: |- + Storage version of v1api20250101.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object + type: + type: string + workloadProfileName: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: containergroups.containerinstance.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerinstance.azure.com + names: + categories: + - azure + - containerinstance + kind: ContainerGroup + listKind: ContainerGroupList + plural: containergroups + singular: containergroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-10-01/containerInstance.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containers: + description: 'Containers: The containers within the container group.' + items: + description: A container instance. + properties: + command: + description: 'Command: The commands to execute within the container instance in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the container instance.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + secureValue: + description: 'SecureValue: The value of the secure environment variable.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + description: 'Value: The value of the environment variable.' + type: string + required: + - name + type: object + type: array + image: + description: 'Image: The name of the image used to create the container instance.' + type: string + livenessProbe: + description: 'LivenessProbe: The liveness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + enum: + - http + - https + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + name: + description: 'Name: The user-provided name of the container instance.' + type: string + ports: + description: 'Ports: The exposed ports on the container instance.' + items: + description: The port exposed on the container instance. + properties: + port: + description: 'Port: The port number exposed within the container group.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + enum: + - TCP + - UDP + type: string + required: + - port + type: object + type: array + readinessProbe: + description: 'ReadinessProbe: The readiness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + enum: + - http + - https + type: string + required: + - port + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + resources: + description: 'Resources: The resource requirements of the container instance.' + properties: + limits: + description: 'Limits: The resource limits of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU limit of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU limit of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + enum: + - K80 + - P100 + - V100 + type: string + required: + - count + - sku + type: object + memoryInGB: + description: 'MemoryInGB: The memory limit in GB of this container instance.' + type: number + type: object + requests: + description: 'Requests: The resource requests of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU request of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU request of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + enum: + - K80 + - P100 + - V100 + type: string + required: + - count + - sku + type: object + memoryInGB: + description: 'MemoryInGB: The memory request in GB of this container instance.' + type: number + required: + - cpu + - memoryInGB + type: object + required: + - requests + type: object + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the container instance.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + required: + - mountPath + - name + type: object + type: array + required: + - image + - name + - resources + type: object + type: array + diagnostics: + description: 'Diagnostics: The diagnostic information for a container group.' + properties: + logAnalytics: + description: 'LogAnalytics: Container group log analytics information.' + properties: + logType: + description: 'LogType: The log type to be used.' + enum: + - ContainerInsights + - ContainerInstanceLogs + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata for log analytics.' + type: object + workspaceId: + description: 'WorkspaceId: The workspace id for log analytics' + type: string + workspaceKey: + description: 'WorkspaceKey: The workspace key for log analytics' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceResourceReference: + description: 'WorkspaceResourceReference: The workspace resource id for log analytics' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - workspaceId + - workspaceKey + type: object + type: object + dnsConfig: + description: 'DnsConfig: The DNS config information for a container group.' + properties: + nameServers: + description: 'NameServers: The DNS servers for the container group.' + items: + type: string + type: array + options: + description: 'Options: The DNS options for the container group.' + type: string + searchDomains: + description: 'SearchDomains: The DNS search domains for hostname lookup in the container group.' + type: string + required: + - nameServers + type: object + encryptionProperties: + description: 'EncryptionProperties: The encryption properties for a container group.' + properties: + keyName: + description: 'KeyName: The encryption key name.' + type: string + keyVersion: + description: 'KeyVersion: The encryption key version.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The keyvault base url.' + type: string + required: + - keyName + - keyVersion + - vaultBaseUrl + type: object + identity: + description: 'Identity: The identity of the container group, if configured.' + properties: + type: + description: |- + Type: The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an + implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the + container group. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The list of user identities associated with the container group.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageRegistryCredentials: + description: 'ImageRegistryCredentials: The image registry credentials by which the container group is created from.' + items: + description: Image registry credential. + properties: + identity: + description: 'Identity: The identity for the private registry.' + type: string + identityUrl: + description: 'IdentityUrl: The identity URL for the private registry.' + type: string + password: + description: 'Password: The password for the private registry.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + server: + description: 'Server: The Docker image registry server without a protocol such as "http" and "https".' + type: string + username: + description: 'Username: The username for the private registry.' + type: string + required: + - server + type: object + type: array + initContainers: + description: 'InitContainers: The init containers for a container group.' + items: + description: The init container definition. + properties: + command: + description: 'Command: The command to execute within the init container in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the init container.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + secureValue: + description: 'SecureValue: The value of the secure environment variable.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + description: 'Value: The value of the environment variable.' + type: string + required: + - name + type: object + type: array + image: + description: 'Image: The image of the init container.' + type: string + name: + description: 'Name: The name for the init container.' + type: string + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the init container.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + required: + - mountPath + - name + type: object + type: array + required: + - name + type: object + type: array + ipAddress: + description: 'IpAddress: The IP address type of the container group.' + properties: + autoGeneratedDomainNameLabelScope: + description: |- + AutoGeneratedDomainNameLabelScope: The value representing the security enum. The 'Unsecure' value is the default value + if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' + value is the default value if selected and means the object's domain name label can be reused within the same tenant. + The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The + 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The + 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or + tenant. + enum: + - Noreuse + - ResourceGroupReuse + - SubscriptionReuse + - TenantReuse + - Unsecure + type: string + dnsNameLabel: + description: 'DnsNameLabel: The Dns name label for the IP.' + type: string + ip: + description: 'Ip: The IP exposed to the public internet.' + type: string + ports: + description: 'Ports: The list of ports exposed on the container group.' + items: + description: The port exposed on the container group. + properties: + port: + description: 'Port: The port number.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + enum: + - TCP + - UDP + type: string + required: + - port + type: object + type: array + type: + description: 'Type: Specifies if the IP is exposed to the public internet or private VNET.' + enum: + - Private + - Public + type: string + required: + - ports + - type + type: object + location: + description: 'Location: The resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + osType: + description: 'OsType: The operating system type required by the containers in the container group.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restartPolicy: + description: |- + RestartPolicy: Restart policy for all containers within the container group. + - `Always` Always restart + - `OnFailure` Restart on failure + - `Never` Never restart + enum: + - Always + - Never + - OnFailure + type: string + sku: + description: 'Sku: The SKU for a container group.' + enum: + - Dedicated + - Standard + type: string + subnetIds: + description: 'SubnetIds: The subnet resource IDs for a container group.' + items: + description: Container group subnet information. + properties: + name: + description: 'Name: Friendly name for the subnet.' + type: string + reference: + description: 'Reference: Resource ID of virtual network and subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + volumes: + description: 'Volumes: The list of volumes that can be mounted by containers in this container group.' + items: + description: The properties of the volume. + properties: + azureFile: + description: 'AzureFile: The Azure File volume.' + properties: + readOnly: + description: 'ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.' + type: boolean + shareName: + description: 'ShareName: The name of the Azure File share to be mounted as a volume.' + type: string + storageAccountKey: + description: 'StorageAccountKey: The storage account access key used to access the Azure File share.' + type: string + storageAccountName: + description: 'StorageAccountName: The name of the storage account that contains the Azure File share.' + type: string + required: + - shareName + - storageAccountName + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'EmptyDir: The empty directory volume.' + type: object + gitRepo: + description: 'GitRepo: The git repo volume.' + properties: + directory: + description: |- + Directory: Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be + the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the + given name. + type: string + repository: + description: 'Repository: Repository URL' + type: string + revision: + description: 'Revision: Commit hash for the specified revision.' + type: string + required: + - repository + type: object + name: + description: 'Name: The name of the volume.' + type: string + secret: + additionalProperties: + type: string + description: 'Secret: The secret volume.' + type: object + required: + - name + type: object + type: array + zones: + description: 'Zones: The zones for the container group.' + items: + type: string + type: array + required: + - containers + - osType + - owner + type: object + status: + description: A container group. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containers: + description: 'Containers: The containers within the container group.' + items: + description: A container instance. + properties: + command: + description: 'Command: The commands to execute within the container instance in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the container instance.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + value: + description: 'Value: The value of the environment variable.' + type: string + type: object + type: array + image: + description: 'Image: The name of the image used to create the container instance.' + type: string + instanceView: + description: 'InstanceView: The instance view of the container instance. Only valid in response.' + properties: + currentState: + description: 'CurrentState: Current container instance state.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + events: + description: 'Events: The events of the container instance.' + items: + description: A container group or container instance event. + properties: + count: + description: 'Count: The count of the event.' + type: integer + firstTimestamp: + description: 'FirstTimestamp: The date-time of the earliest logged event.' + type: string + lastTimestamp: + description: 'LastTimestamp: The date-time of the latest logged event.' + type: string + message: + description: 'Message: The event message.' + type: string + name: + description: 'Name: The event name.' + type: string + type: + description: 'Type: The event type.' + type: string + type: object + type: array + previousState: + description: 'PreviousState: Previous container instance state.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + restartCount: + description: 'RestartCount: The number of times that the container instance has been restarted.' + type: integer + type: object + livenessProbe: + description: 'LivenessProbe: The liveness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + type: string + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + name: + description: 'Name: The user-provided name of the container instance.' + type: string + ports: + description: 'Ports: The exposed ports on the container instance.' + items: + description: The port exposed on the container instance. + properties: + port: + description: 'Port: The port number exposed within the container group.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + type: string + type: object + type: array + readinessProbe: + description: 'ReadinessProbe: The readiness probe.' + properties: + exec: + description: 'Exec: The execution command to probe' + properties: + command: + description: 'Command: The commands to execute within the container.' + items: + type: string + type: array + type: object + failureThreshold: + description: 'FailureThreshold: The failure threshold.' + type: integer + httpGet: + description: 'HttpGet: The Http Get settings to probe' + properties: + httpHeaders: + description: 'HttpHeaders: The HTTP headers.' + items: + description: The HTTP header. + properties: + name: + description: 'Name: The header name.' + type: string + value: + description: 'Value: The header value.' + type: string + type: object + type: array + path: + description: 'Path: The path to probe.' + type: string + port: + description: 'Port: The port number to probe.' + type: integer + scheme: + description: 'Scheme: The scheme.' + type: string + type: object + initialDelaySeconds: + description: 'InitialDelaySeconds: The initial delay seconds.' + type: integer + periodSeconds: + description: 'PeriodSeconds: The period seconds.' + type: integer + successThreshold: + description: 'SuccessThreshold: The success threshold.' + type: integer + timeoutSeconds: + description: 'TimeoutSeconds: The timeout seconds.' + type: integer + type: object + resources: + description: 'Resources: The resource requirements of the container instance.' + properties: + limits: + description: 'Limits: The resource limits of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU limit of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU limit of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + type: string + type: object + memoryInGB: + description: 'MemoryInGB: The memory limit in GB of this container instance.' + type: number + type: object + requests: + description: 'Requests: The resource requests of this container instance.' + properties: + cpu: + description: 'Cpu: The CPU request of this container instance.' + type: number + gpu: + description: 'Gpu: The GPU request of this container instance.' + properties: + count: + description: 'Count: The count of the GPU resource.' + type: integer + sku: + description: 'Sku: The SKU of the GPU resource.' + type: string + type: object + memoryInGB: + description: 'MemoryInGB: The memory request in GB of this container instance.' + type: number + type: object + type: object + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the container instance.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + type: object + type: array + type: object + type: array + diagnostics: + description: 'Diagnostics: The diagnostic information for a container group.' + properties: + logAnalytics: + description: 'LogAnalytics: Container group log analytics information.' + properties: + logType: + description: 'LogType: The log type to be used.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata for log analytics.' + type: object + workspaceId: + description: 'WorkspaceId: The workspace id for log analytics' + type: string + type: object + type: object + dnsConfig: + description: 'DnsConfig: The DNS config information for a container group.' + properties: + nameServers: + description: 'NameServers: The DNS servers for the container group.' + items: + type: string + type: array + options: + description: 'Options: The DNS options for the container group.' + type: string + searchDomains: + description: 'SearchDomains: The DNS search domains for hostname lookup in the container group.' + type: string + type: object + encryptionProperties: + description: 'EncryptionProperties: The encryption properties for a container group.' + properties: + keyName: + description: 'KeyName: The encryption key name.' + type: string + keyVersion: + description: 'KeyVersion: The encryption key version.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The keyvault base url.' + type: string + type: object + id: + description: 'Id: The resource id.' + type: string + identity: + description: 'Identity: The identity of the container group, if configured.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the container group identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id associated with the container group. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an + implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the + container group. + type: string + userAssignedIdentities: + additionalProperties: + description: |- + The list of user identities associated with the container group. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: 'UserAssignedIdentities: The list of user identities associated with the container group.' + type: object + type: object + imageRegistryCredentials: + description: 'ImageRegistryCredentials: The image registry credentials by which the container group is created from.' + items: + description: Image registry credential. + properties: + identity: + description: 'Identity: The identity for the private registry.' + type: string + identityUrl: + description: 'IdentityUrl: The identity URL for the private registry.' + type: string + server: + description: 'Server: The Docker image registry server without a protocol such as "http" and "https".' + type: string + username: + description: 'Username: The username for the private registry.' + type: string + type: object + type: array + initContainers: + description: 'InitContainers: The init containers for a container group.' + items: + description: The init container definition. + properties: + command: + description: 'Command: The command to execute within the init container in exec form.' + items: + type: string + type: array + environmentVariables: + description: 'EnvironmentVariables: The environment variables to set in the init container.' + items: + description: The environment variable to set within the container instance. + properties: + name: + description: 'Name: The name of the environment variable.' + type: string + value: + description: 'Value: The value of the environment variable.' + type: string + type: object + type: array + image: + description: 'Image: The image of the init container.' + type: string + instanceView: + description: 'InstanceView: The instance view of the init container. Only valid in response.' + properties: + currentState: + description: 'CurrentState: The current state of the init container.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + events: + description: 'Events: The events of the init container.' + items: + description: A container group or container instance event. + properties: + count: + description: 'Count: The count of the event.' + type: integer + firstTimestamp: + description: 'FirstTimestamp: The date-time of the earliest logged event.' + type: string + lastTimestamp: + description: 'LastTimestamp: The date-time of the latest logged event.' + type: string + message: + description: 'Message: The event message.' + type: string + name: + description: 'Name: The event name.' + type: string + type: + description: 'Type: The event type.' + type: string + type: object + type: array + previousState: + description: 'PreviousState: The previous state of the init container.' + properties: + detailStatus: + description: 'DetailStatus: The human-readable status of the container instance state.' + type: string + exitCode: + description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' + type: integer + finishTime: + description: 'FinishTime: The date-time when the container instance state finished.' + type: string + startTime: + description: 'StartTime: The date-time when the container instance state started.' + type: string + state: + description: 'State: The state of the container instance.' + type: string + type: object + restartCount: + description: 'RestartCount: The number of times that the init container has been restarted.' + type: integer + type: object + name: + description: 'Name: The name for the init container.' + type: string + volumeMounts: + description: 'VolumeMounts: The volume mounts available to the init container.' + items: + description: The properties of the volume mount. + properties: + mountPath: + description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' + type: string + name: + description: 'Name: The name of the volume mount.' + type: string + readOnly: + description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' + type: boolean + type: object + type: array + type: object + type: array + instanceView: + description: 'InstanceView: The instance view of the container group. Only valid in response.' + properties: + events: + description: 'Events: The events of this container group.' + items: + description: A container group or container instance event. + properties: + count: + description: 'Count: The count of the event.' + type: integer + firstTimestamp: + description: 'FirstTimestamp: The date-time of the earliest logged event.' + type: string + lastTimestamp: + description: 'LastTimestamp: The date-time of the latest logged event.' + type: string + message: + description: 'Message: The event message.' + type: string + name: + description: 'Name: The event name.' + type: string + type: + description: 'Type: The event type.' + type: string + type: object + type: array + state: + description: 'State: The state of the container group. Only valid in response.' + type: string + type: object + ipAddress: + description: 'IpAddress: The IP address type of the container group.' + properties: + autoGeneratedDomainNameLabelScope: + description: |- + AutoGeneratedDomainNameLabelScope: The value representing the security enum. The 'Unsecure' value is the default value + if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' + value is the default value if selected and means the object's domain name label can be reused within the same tenant. + The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The + 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The + 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or + tenant. + type: string + dnsNameLabel: + description: 'DnsNameLabel: The Dns name label for the IP.' + type: string + fqdn: + description: 'Fqdn: The FQDN for the IP.' + type: string + ip: + description: 'Ip: The IP exposed to the public internet.' + type: string + ports: + description: 'Ports: The list of ports exposed on the container group.' + items: + description: The port exposed on the container group. + properties: + port: + description: 'Port: The port number.' + type: integer + protocol: + description: 'Protocol: The protocol associated with the port.' + type: string + type: object + type: array + type: + description: 'Type: Specifies if the IP is exposed to the public internet or private VNET.' + type: string + type: object + location: + description: 'Location: The resource location.' + type: string + name: + description: 'Name: The resource name.' + type: string + osType: + description: 'OsType: The operating system type required by the containers in the container group.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the container group. This only appears in the response.' + type: string + restartPolicy: + description: |- + RestartPolicy: Restart policy for all containers within the container group. + - `Always` Always restart + - `OnFailure` Restart on failure + - `Never` Never restart + type: string + sku: + description: 'Sku: The SKU for a container group.' + type: string + subnetIds: + description: 'SubnetIds: The subnet resource IDs for a container group.' + items: + description: Container group subnet information. + properties: + id: + description: 'Id: Resource ID of virtual network and subnet.' + type: string + name: + description: 'Name: Friendly name for the subnet.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + type: + description: 'Type: The resource type.' + type: string + volumes: + description: 'Volumes: The list of volumes that can be mounted by containers in this container group.' + items: + description: The properties of the volume. + properties: + azureFile: + description: 'AzureFile: The Azure File volume.' + properties: + readOnly: + description: 'ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.' + type: boolean + shareName: + description: 'ShareName: The name of the Azure File share to be mounted as a volume.' + type: string + storageAccountKey: + description: 'StorageAccountKey: The storage account access key used to access the Azure File share.' + type: string + storageAccountName: + description: 'StorageAccountName: The name of the storage account that contains the Azure File share.' + type: string + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'EmptyDir: The empty directory volume.' + type: object + gitRepo: + description: 'GitRepo: The git repo volume.' + properties: + directory: + description: |- + Directory: Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be + the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the + given name. + type: string + repository: + description: 'Repository: Repository URL' + type: string + revision: + description: 'Revision: Commit hash for the specified revision.' + type: string + type: object + name: + description: 'Name: The name of the volume.' + type: string + secret: + additionalProperties: + type: string + description: 'Secret: The secret volume.' + type: object + type: object + type: array + zones: + description: 'Zones: The zones for the container group.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211001.ContainerGroup + Generator information: + - Generated from: /containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-10-01/containerInstance.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211001.ContainerGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + containers: + items: + description: |- + Storage version of v1api20211001.Container + A container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secureValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + type: string + type: object + type: array + image: + type: string + livenessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + name: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.ContainerPort + The port exposed on the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + readinessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + resources: + description: |- + Storage version of v1api20211001.ResourceRequirements + The resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + description: |- + Storage version of v1api20211001.ResourceLimits + The resource limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + requests: + description: |- + Storage version of v1api20211001.ResourceRequests + The resource requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + diagnostics: + description: |- + Storage version of v1api20211001.ContainerGroupDiagnostics + Container group diagnostic information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalytics: + description: |- + Storage version of v1api20211001.LogAnalytics + Container group log analytics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logType: + type: string + metadata: + additionalProperties: + type: string + type: object + workspaceId: + type: string + workspaceKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + workspaceResourceReference: + description: 'WorkspaceResourceReference: The workspace resource id for log analytics' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + dnsConfig: + description: |- + Storage version of v1api20211001.DnsConfiguration + DNS configuration for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameServers: + items: + type: string + type: array + options: + type: string + searchDomains: + type: string + type: object + encryptionProperties: + description: |- + Storage version of v1api20211001.EncryptionProperties + The container group encryption properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + identity: + description: |- + Storage version of v1api20211001.ContainerGroupIdentity + Identity for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + imageRegistryCredentials: + items: + description: |- + Storage version of v1api20211001.ImageRegistryCredential + Image registry credential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + identityUrl: + type: string + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + server: + type: string + username: + type: string + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20211001.InitContainerDefinition + The init container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secureValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + ipAddress: + description: |- + Storage version of v1api20211001.IpAddress + IP address for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + dnsNameLabel: + type: string + ip: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.Port + The port exposed on the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + type: + type: string + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20211001.ContainerGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + restartPolicy: + type: string + sku: + type: string + subnetIds: + items: + description: |- + Storage version of v1api20211001.ContainerGroupSubnetId + Container group subnet information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + reference: + description: 'Reference: Resource ID of virtual network and subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + tags: + additionalProperties: + type: string + type: object + volumes: + items: + description: |- + Storage version of v1api20211001.Volume + The properties of the volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFile: + description: |- + Storage version of v1api20211001.AzureFileVolume + The properties of the Azure File volume. Azure File shares are mounted as volumes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + readOnly: + type: boolean + shareName: + type: string + storageAccountKey: + type: string + storageAccountName: + type: string + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + gitRepo: + description: |- + Storage version of v1api20211001.GitRepoVolume + Represents a volume that is populated with the contents of a git repository + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + directory: + type: string + repository: + type: string + revision: + type: string + type: object + name: + type: string + secret: + additionalProperties: + type: string + type: object + type: object + type: array + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20211001.ContainerGroup_STATUS + A container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + containers: + items: + description: |- + Storage version of v1api20211001.Container_STATUS + A container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable_STATUS + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + image: + type: string + instanceView: + description: Storage version of v1api20211001.ContainerProperties_InstanceView_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + events: + items: + description: |- + Storage version of v1api20211001.Event_STATUS + A container group or container instance event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + firstTimestamp: + type: string + lastTimestamp: + type: string + message: + type: string + name: + type: string + type: + type: string + type: object + type: array + previousState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + restartCount: + type: integer + type: object + livenessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe_STATUS + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec_STATUS + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet_STATUS + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader_STATUS + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + name: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.ContainerPort_STATUS + The port exposed on the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + readinessProbe: + description: |- + Storage version of v1api20211001.ContainerProbe_STATUS + The container probe, for liveness or readiness + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exec: + description: |- + Storage version of v1api20211001.ContainerExec_STATUS + The container execution command, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + type: object + failureThreshold: + type: integer + httpGet: + description: |- + Storage version of v1api20211001.ContainerHttpGet_STATUS + The container Http Get settings, for liveness or readiness probe + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpHeaders: + items: + description: |- + Storage version of v1api20211001.HttpHeader_STATUS + The HTTP header. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + timeoutSeconds: + type: integer + type: object + resources: + description: |- + Storage version of v1api20211001.ResourceRequirements_STATUS + The resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + limits: + description: |- + Storage version of v1api20211001.ResourceLimits_STATUS + The resource limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource_STATUS + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + requests: + description: |- + Storage version of v1api20211001.ResourceRequests_STATUS + The resource requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + gpu: + description: |- + Storage version of v1api20211001.GpuResource_STATUS + The GPU resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sku: + type: string + type: object + memoryInGB: + type: number + type: object + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount_STATUS + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + diagnostics: + description: |- + Storage version of v1api20211001.ContainerGroupDiagnostics_STATUS + Container group diagnostic information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalytics: + description: |- + Storage version of v1api20211001.LogAnalytics_STATUS + Container group log analytics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logType: + type: string + metadata: + additionalProperties: + type: string + type: object + workspaceId: + type: string + type: object + type: object + dnsConfig: + description: |- + Storage version of v1api20211001.DnsConfiguration_STATUS + DNS configuration for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nameServers: + items: + type: string + type: array + options: + type: string + searchDomains: + type: string + type: object + encryptionProperties: + description: |- + Storage version of v1api20211001.EncryptionProperties_STATUS + The container group encryption properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20211001.ContainerGroupIdentity_STATUS + Identity for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211001.UserAssignedIdentities_STATUS + The list of user identities associated with the container group. The user identity dictionary key references will be ARM + resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + imageRegistryCredentials: + items: + description: |- + Storage version of v1api20211001.ImageRegistryCredential_STATUS + Image registry credential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + identityUrl: + type: string + server: + type: string + username: + type: string + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20211001.InitContainerDefinition_STATUS + The init container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + command: + items: + type: string + type: array + environmentVariables: + items: + description: |- + Storage version of v1api20211001.EnvironmentVariable_STATUS + The environment variable to set within the container instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + image: + type: string + instanceView: + description: Storage version of v1api20211001.InitContainerPropertiesDefinition_InstanceView_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + currentState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + events: + items: + description: |- + Storage version of v1api20211001.Event_STATUS + A container group or container instance event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + firstTimestamp: + type: string + lastTimestamp: + type: string + message: + type: string + name: + type: string + type: + type: string + type: object + type: array + previousState: + description: |- + Storage version of v1api20211001.ContainerState_STATUS + The container instance state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + detailStatus: + type: string + exitCode: + type: integer + finishTime: + type: string + startTime: + type: string + state: + type: string + type: object + restartCount: + type: integer + type: object + name: + type: string + volumeMounts: + items: + description: |- + Storage version of v1api20211001.VolumeMount_STATUS + The properties of the volume mount. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + name: + type: string + readOnly: + type: boolean + type: object + type: array + type: object + type: array + instanceView: + description: Storage version of v1api20211001.ContainerGroup_Properties_InstanceView_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + events: + items: + description: |- + Storage version of v1api20211001.Event_STATUS + A container group or container instance event. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + firstTimestamp: + type: string + lastTimestamp: + type: string + message: + type: string + name: + type: string + type: + type: string + type: object + type: array + state: + type: string + type: object + ipAddress: + description: |- + Storage version of v1api20211001.IpAddress_STATUS + IP address for the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGeneratedDomainNameLabelScope: + type: string + dnsNameLabel: + type: string + fqdn: + type: string + ip: + type: string + ports: + items: + description: |- + Storage version of v1api20211001.Port_STATUS + The port exposed on the container group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocol: + type: string + type: object + type: array + type: + type: string + type: object + location: + type: string + name: + type: string + osType: + type: string + provisioningState: + type: string + restartPolicy: + type: string + sku: + type: string + subnetIds: + items: + description: |- + Storage version of v1api20211001.ContainerGroupSubnetId_STATUS + Container group subnet information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + volumes: + items: + description: |- + Storage version of v1api20211001.Volume_STATUS + The properties of the volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFile: + description: |- + Storage version of v1api20211001.AzureFileVolume_STATUS + The properties of the Azure File volume. Azure File shares are mounted as volumes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + readOnly: + type: boolean + shareName: + type: string + storageAccountKey: + type: string + storageAccountName: + type: string + type: object + emptyDir: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + gitRepo: + description: |- + Storage version of v1api20211001.GitRepoVolume_STATUS + Represents a volume that is populated with the contents of a git repository + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + directory: + type: string + repository: + type: string + revision: + type: string + type: object + name: + type: string + secret: + additionalProperties: + type: string + type: object + type: object + type: array + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: customcertificates.signalrservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: signalrservice.azure.com + names: + categories: + - azure + - signalrservice + kind: CustomCertificate + listKind: CustomCertificateList + plural: customcertificates + singular: customcertificate + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates/{certificateName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + keyVaultBaseUri: + description: 'KeyVaultBaseUri: Base uri of the KeyVault that stores certificate.' + type: string + keyVaultBaseUriFromConfig: + description: 'KeyVaultBaseUriFromConfig: Base uri of the KeyVault that stores certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretName: + description: 'KeyVaultSecretName: Certificate secret name.' + type: string + keyVaultSecretVersion: + description: 'KeyVaultSecretVersion: Certificate secret version.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - keyVaultSecretName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + keyVaultBaseUri: + description: 'KeyVaultBaseUri: Base uri of the KeyVault that stores certificate.' + type: string + keyVaultSecretName: + description: 'KeyVaultSecretName: Certificate secret name.' + type: string + keyVaultSecretVersion: + description: 'KeyVaultSecretVersion: Certificate secret version.' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.CustomCertificate + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates/{certificateName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.CustomCertificate_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + keyVaultBaseUri: + type: string + keyVaultBaseUriFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultSecretName: + type: string + keyVaultSecretVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.CustomCertificateOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.CustomCertificate_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + keyVaultBaseUri: + type: string + keyVaultSecretName: + type: string + keyVaultSecretVersion: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: customdomains.signalrservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: signalrservice.azure.com + names: + categories: + - azure + - signalrservice + kind: CustomDomain + listKind: CustomDomainList + plural: customdomains + singular: customdomain + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customCertificate: + description: 'CustomCertificate: Reference to a resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + domainName: + description: 'DomainName: The custom domain name.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - customCertificate + - domainName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customCertificate: + description: 'CustomCertificate: Reference to a resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + domainName: + description: 'DomainName: The custom domain name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.CustomDomain + Generator information: + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.CustomDomain_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customCertificate: + description: |- + Storage version of v1api20240301.ResourceReference + Reference to a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + domainName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.CustomDomainOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a signalrservice.azure.com/SignalR resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240301.CustomDomain_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customCertificate: + description: |- + Storage version of v1api20240301.ResourceReference_STATUS + Reference to a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + domainName: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: accounts.monitor.azure.com + app.kubernetes.io/version: v2.15.0 + name: databaseaccounts.documentdb.azure.com spec: conversion: strategy: Webhook @@ -16664,12 +67140,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: monitor.azure.com + group: documentdb.azure.com names: - kind: Account - listKind: AccountList - plural: accounts - singular: account + categories: + - azure + - documentdb + kind: DatabaseAccount + listKind: DatabaseAccountList + plural: databaseaccounts + singular: databaseaccount preserveUnknownFields: false scope: Namespaced versions: @@ -16686,13 +67165,1945 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230403 + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + enum: + - FullFidelity + - WellDefined + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + enum: + - "3.2" + - "3.6" + - "4.0" + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + type: + enum: + - Continuous + type: string + required: + - type + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + minimum: 0 + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + minimum: 0 + type: integer + type: object + type: + enum: + - Periodic + type: string + required: + - type + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + enum: + - Small + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + enum: + - BoundedStaleness + - ConsistentPrefix + - Eventual + - Session + - Strong + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + maximum: 86400 + minimum: 5 + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + maximum: 2147483647 + minimum: 1 + type: integer + required: + - defaultConsistencyLevel + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + maximum: 2147483647 + minimum: 1 + type: integer + required: + - allowedOrigins + type: object + type: array + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the database' + enum: + - Standard + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + enum: + - GlobalDocumentDB + - MongoDB + - Parse + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + minimum: 0 + type: integer + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + type: object + type: array + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + enum: + - AzureServices + - None + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + documentEndpoint: + description: |- + DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - databaseAccountOfferType + - locations + - owner + type: object + status: + properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + type: string + type: object + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + type: + type: string + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + type: integer + type: object + type: + type: string + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + type: integer + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + type: integer + type: object + type: array + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + documentEndpoint: + description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + type: string + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + failoverPolicies: + description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' + items: + description: The failover policy for a given region of a database account. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: |- + Id: The unique identifier of the region in which the database account replicates to. Example: + <accountName>-<locationName>. + type: string + locationName: + description: 'LocationName: The name of the region in which the database account exists.' + type: string + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + name: + description: 'Name: The name of the ARM resource.' + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' + items: + description: A private endpoint connection + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + type: string + readLocations: + description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + type: string + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + type: object + type: array + writeLocations: + description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.DatabaseAccount + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.DatabaseAccount_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20210515.AnalyticalStorageConfiguration + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20210515.ApiProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backupPolicy: + description: Storage version of v1api20210515.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20210515.ContinuousModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20210515.PeriodicModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + periodicModeProperties: + description: |- + Storage version of v1api20210515.PeriodicModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20210515.Capability + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20210515.ConsistencyPolicy + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20210515.CorsPolicy + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + identity: + description: |- + Storage version of v1api20210515.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210515.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + items: + description: |- + Storage version of v1api20210515.IpAddressOrRange + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20210515.Location + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + isZoneRedundant: + type: boolean + locationName: + type: string + type: object + type: array + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20210515.DatabaseAccountOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20210515.DatabaseAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210515.VirtualNetworkRule + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVNetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20210515.DatabaseAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20210515.AnalyticalStorageConfiguration_STATUS + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20210515.ApiProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + backupPolicy: + description: Storage version of v1api20210515.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20210515.ContinuousModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20210515.PeriodicModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + periodicModeProperties: + description: |- + Storage version of v1api20210515.PeriodicModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20210515.Capability_STATUS + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20210515.ConsistencyPolicy_STATUS + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20210515.CorsPolicy_STATUS + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + documentEndpoint: + type: string + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + failoverPolicies: + items: + description: |- + Storage version of v1api20210515.FailoverPolicy_STATUS + The failover policy for a given region of a database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + id: + type: string + locationName: + type: string + type: object + type: array + id: + type: string + identity: + description: |- + Storage version of v1api20210515.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210515.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + ipRules: + items: + description: |- + Storage version of v1api20210515.IpAddressOrRange_STATUS + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20210515.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + name: + type: string + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210515.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + readLocations: + items: + description: |- + Storage version of v1api20210515.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetworkRules: + items: + description: |- + Storage version of v1api20210515.VirtualNetworkRule_STATUS + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVNetServiceEndpoint: + type: boolean + type: object + type: array + writeLocations: + items: + description: |- + Storage version of v1api20210515.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} properties: apiVersion: description: |- @@ -16713,14 +69124,407 @@ spec: type: object spec: properties: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + enum: + - FullFidelity + - WellDefined + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + enum: + - "3.2" + - "3.6" + - "4.0" + - "4.2" + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + enum: + - Continuous30Days + - Continuous7Days + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Continuous + type: string + required: + - type + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + minimum: 0 + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + minimum: 0 + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + enum: + - Geo + - Local + - Zone + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Periodic + type: string + required: + - type + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + minimum: -1 + type: integer + type: object + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + enum: + - Small + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + enum: + - BoundedStaleness + - ConsistentPrefix + - Eventual + - Session + - Strong + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + maximum: 86400 + minimum: 5 + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + maximum: 2147483647 + minimum: 1 + type: integer + required: + - defaultConsistencyLevel + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + maximum: 2147483647 + minimum: 1 + type: integer + required: + - allowedOrigins + type: object + type: array + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + enum: + - Default + - Restore + type: string + customerManagedKeyStatus: + description: |- + CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are + errors, the property provides troubleshooting guidance. + type: string + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the database' + enum: + - Standard + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + enum: + - GlobalDocumentDB + - MongoDB + - Parse type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + minimum: 0 + type: integer + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + type: object + type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + enum: + - Tls + - Tls11 + - Tls12 + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + enum: + - AzureServices + - None type: string + networkAclBypassResourceReferences: + description: |- + NetworkAclBypassResourceReferences: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB + account. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -16786,6 +69590,95 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + documentEndpoint: + description: |- + DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -16801,25 +69694,207 @@ spec: type: string type: object publicNetworkAccess: - description: 'PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace' + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' enum: - Disabled - Enabled + - SecuredByPerimeter type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + enum: + - PointInTime + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' type: object + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array required: - - location + - databaseAccountOfferType + - locations - owner type: object status: properties: - accountId: - description: 'AccountId: The immutable Id of the Azure Monitor Workspace. This property is read-only.' - type: string + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties.' + properties: + serverVersion: + description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' + type: string + type: object + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' + items: + description: Cosmos DB capability object + properties: + name: + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". + type: string + type: object + type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + type: integer + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -16864,62 +69939,373 @@ spec: - type type: object type: array - defaultIngestionSettings: - description: 'DefaultIngestionSettings: The Data Collection Rule and Endpoint used for ingestion by default.' + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' properties: - dataCollectionEndpointResourceId: - description: |- - DataCollectionEndpointResourceId: The Azure resource Id of the default data collection endpoint for this Azure Monitor - Workspace. - type: string - dataCollectionRuleResourceId: - description: 'DataCollectionRuleResourceId: The Azure resource Id of the default data collection rule for this Azure Monitor Workspace.' + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + type: integer type: object - etag: - description: 'Etag: Resource entity tag (ETag)' + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' + items: + description: The CORS policy for the Cosmos DB database account. + properties: + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' + type: string + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' + type: string + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' + type: string + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + type: integer + type: object + type: array + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' type: string - id: + customerManagedKeyStatus: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are + errors, the property provides troubleshooting guidance. type: string - location: - description: 'Location: The geo-location where the resource lives' + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' type: string - metrics: - description: 'Metrics: Properties related to the metrics container in the Azure Monitor Workspace' + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + documentEndpoint: + description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + type: string + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + failoverPolicies: + description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' + items: + description: The failover policy for a given region of a database account. + properties: + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: |- + Id: The unique identifier of the region in which the database account replicates to. Example: + <accountName>-<locationName>. + type: string + locationName: + description: 'LocationName: The name of the region in which the database account exists.' + type: string + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + identity: + description: 'Identity: Identity for the resource.' properties: - internalId: - description: 'InternalId: An internal identifier for the metrics container. Only to be used by the system' + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. type: string - prometheusQueryEndpoint: - description: 'PrometheusQueryEndpoint: The Prometheus query endpoint for the Azure Monitor Workspace' + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + instanceId: + description: 'InstanceId: A unique identifier assigned to the database account' + type: string + ipRules: + description: 'IpRules: List of IpRules.' + items: + description: IpAddressOrRange object + properties: + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + keysMetadata: + description: 'KeysMetadata: The object that represents the metadata for the Account Keys of the Cosmos DB account.' + properties: + primaryMasterKey: + description: 'PrimaryMasterKey: The metadata related to the Primary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + primaryReadonlyMasterKey: + description: 'PrimaryReadonlyMasterKey: The metadata related to the Primary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryMasterKey: + description: 'SecondaryMasterKey: The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryReadonlyMasterKey: + description: 'SecondaryReadonlyMasterKey: The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object type: object + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + type: string name: - description: 'Name: The name of the resource' + description: 'Name: The name of the ARM resource.' + type: string + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + items: + type: string + type: array privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections' + description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' items: - description: The private endpoint connection resource. + description: A private endpoint connection properties: id: description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string type: object type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the Azure Monitor Workspace. Set to Succeeded if everything is healthy.' type: string publicNetworkAccess: - description: 'PublicNetworkAccess: Gets or sets allow or disallow public network access to Azure Monitor Workspace' + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' type: string + readLocations: + description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + description: 'SystemData: The system meta data relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -16943,11 +70329,54 @@ spec: tags: additionalProperties: type: string - description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of Azure resource.' type: string + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' + items: + description: Virtual Network ACL Rule object + properties: + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + type: string + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean + type: object + type: array + writeLocations: + description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ + type: string + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + type: string + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string + type: object + type: array type: object type: object served: true @@ -16967,14 +70396,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230403storage + name: v1api20231115storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230403.Account + Storage version of v1api20231115.DatabaseAccount Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Monitor/stable/2023-04-03/monitoringAccounts_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Monitor/accounts/{azureMonitorWorkspaceName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} properties: apiVersion: description: |- @@ -16994,7 +70423,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230403.Account_Spec + description: Storage version of v1api20231115.DatabaseAccount_Spec properties: $propertyBag: additionalProperties: @@ -17003,16 +70432,377 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + analyticalStorageConfiguration: + description: |- + Storage version of v1api20231115.AnalyticalStorageConfiguration + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20231115.ApiProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + backupPolicy: + description: Storage version of v1api20231115.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20231115.ContinuousModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20231115.ContinuousModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20231115.PeriodicModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20231115.PeriodicModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20231115.Capability + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + capacity: + description: |- + Storage version of v1api20231115.Capacity + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20231115.ConsistencyPolicy + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20231115.CorsPolicy + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + createMode: + type: string + customerManagedKeyStatus: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + identity: + description: |- + Storage version of v1api20231115.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20231115.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + items: + description: |- + Storage version of v1api20231115.IpAddressOrRange + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + kind: + type: string location: type: string + locations: + items: + description: |- + Storage version of v1api20231115.Location + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: + type: integer + isZoneRedundant: + type: boolean + locationName: + type: string + type: object + type: array + minimalTlsVersion: + type: string + networkAclBypass: + type: string + networkAclBypassResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array operatorSpec: description: |- - Storage version of v1api20230403.AccountOperatorSpec + Storage version of v1api20231115.DatabaseAccountOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -17080,6 +70870,107 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20231115.DatabaseAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -17098,15 +70989,119 @@ spec: type: object publicNetworkAccess: type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParameters + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20231115.DatabaseRestoreResource + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20231115.GremlinDatabaseRestoreResource + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + tablesToRestore: + items: + type: string + type: array + type: object tags: additionalProperties: type: string type: object + virtualNetworkRules: + items: + description: |- + Storage version of v1api20231115.VirtualNetworkRule + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ignoreMissingVNetServiceEndpoint: + type: boolean + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20230403.Account_STATUS + description: Storage version of v1api20231115.DatabaseAccount_STATUS properties: $propertyBag: additionalProperties: @@ -17115,55 +71110,319 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accountId: - type: string + analyticalStorageConfiguration: + description: |- + Storage version of v1api20231115.AnalyticalStorageConfiguration_STATUS + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20231115.ApiProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + backupPolicy: + description: Storage version of v1api20231115.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20231115.ContinuousModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20231115.ContinuousModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20231115.PeriodicModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20231115.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20231115.PeriodicModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: + items: + description: |- + Storage version of v1api20231115.Capability_STATUS + Cosmos DB capability object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + capacity: + description: |- + Storage version of v1api20231115.Capacity_STATUS + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20231115.ConsistencyPolicy_STATUS + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: + items: + description: |- + Storage version of v1api20231115.CorsPolicy_STATUS + The CORS policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + type: string + allowedMethods: + type: string + allowedOrigins: + type: string + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer + type: object + type: array + createMode: + type: string + customerManagedKeyStatus: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + documentEndpoint: + type: string + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + failoverPolicies: + items: + description: |- + Storage version of v1api20231115.FailoverPolicy_STATUS + The failover policy for a given region of a database account. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPriority: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + id: type: string - type: - description: Type of condition. + locationName: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - defaultIngestionSettings: + id: + type: string + identity: description: |- - Storage version of v1api20230403.IngestionSettings_STATUS - Settings for data ingestion + Storage version of v1api20231115.ManagedServiceIdentity_STATUS + Identity for the resource. properties: $propertyBag: additionalProperties: @@ -17172,21 +71431,57 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dataCollectionEndpointResourceId: + principalId: type: string - dataCollectionRuleResourceId: + tenantId: + type: string + type: type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20231115.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - etag: - type: string - id: + instanceId: type: string - location: + ipRules: + items: + description: |- + Storage version of v1api20231115.IpAddressOrRange_STATUS + IpAddressOrRange object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddressOrRange: + type: string + type: object + type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: type: string - metrics: + keysMetadata: description: |- - Storage version of v1api20230403.Metrics_STATUS - Properties related to the metrics container in the Azure Monitor Workspace + Storage version of v1api20231115.DatabaseAccountKeysMetadata_STATUS + The metadata related to each access key for the given Cosmos DB database account. properties: $propertyBag: additionalProperties: @@ -17195,18 +71490,113 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - internalId: - type: string - prometheusQueryEndpoint: - type: string + primaryMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + primaryReadonlyMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryReadonlyMasterKey: + description: |- + Storage version of v1api20231115.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object type: object + kind: + type: string + location: + type: string + locations: + items: + description: |- + Storage version of v1api20231115.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + type: string name: type: string + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array privateEndpointConnections: items: description: |- - Storage version of v1api20230403.PrivateEndpointConnection_STATUS - The private endpoint connection resource. + Storage version of v1api20231115.PrivateEndpointConnection_STATUS + A private endpoint connection properties: $propertyBag: additionalProperties: @@ -17223,9 +71613,101 @@ spec: type: string publicNetworkAccess: type: string + readLocations: + items: + description: |- + Storage version of v1api20231115.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParameters_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20231115.DatabaseRestoreResource_STATUS + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20231115.GremlinDatabaseRestoreResource_STATUS + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + tablesToRestore: + items: + type: string + type: array + type: object systemData: description: |- - Storage version of v1api20230403.SystemData_STATUS + Storage version of v1api20231115.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -17254,44 +71736,58 @@ spec: type: object type: type: string + virtualNetworkRules: + items: + description: |- + Storage version of v1api20231115.VirtualNetworkRule_STATUS + Virtual Network ACL Rule object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + ignoreMissingVNetServiceEndpoint: + type: boolean + type: object + type: array + writeLocations: + items: + description: |- + Storage version of v1api20231115.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + type: string + failoverPriority: + type: integer + id: + type: string + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: actiongroups.insights.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: insights.azure.com - names: - kind: ActionGroup - listKind: ActionGroupList - plural: actiongroups - singular: actiongroup - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -17305,13 +71801,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-01-01/actionGroups_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} properties: apiVersion: description: |- @@ -17332,273 +71828,408 @@ spec: type: object spec: properties: - armRoleReceivers: + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + enum: + - FullFidelity + - WellDefined + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' + properties: + serverVersion: + description: 'ServerVersion: Describes the version of the MongoDB account.' + enum: + - "3.2" + - "3.6" + - "4.0" + - "4.2" + - "5.0" + - "6.0" + - "7.0" + type: string + type: object + azureName: description: |- - ArmRoleReceivers: The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only - built-in roles are supported. - items: - description: An arm role receiver. - properties: - name: - description: 'Name: The name of the arm role receiver. Names must be unique across all receivers within an action group.' - type: string - roleId: - description: 'RoleId: The arm role id.' - type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - required: - - name - - roleId - type: object - type: array - automationRunbookReceivers: - description: 'AutomationRunbookReceivers: The list of AutomationRunbook receivers that are part of this action group.' + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + enum: + - Continuous30Days + - Continuous7Days + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Continuous + type: string + required: + - type + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + enum: + - Completed + - Failed + - InProgress + - Invalid + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + enum: + - Continuous + - Periodic + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + minimum: 0 + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + minimum: 0 + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + enum: + - Geo + - Local + - Zone + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + enum: + - Periodic + type: string + required: + - type + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' items: - description: The Azure Automation Runbook notification receiver. + description: Cosmos DB capability object properties: - automationAccountId: - description: 'AutomationAccountId: The Azure automation account Id which holds this runbook and authenticate to Azure resource.' - type: string - isGlobalRunbook: - description: 'IsGlobalRunbook: Indicates whether this instance is global runbook.' - type: boolean name: - description: 'Name: Indicates name of the webhook.' - type: string - runbookName: - description: 'RunbookName: The name for this runbook.' - type: string - serviceUri: - description: 'ServiceUri: The URI where webhooks should be sent.' + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - webhookResourceReference: - description: 'WebhookResourceReference: The resource id for webhook linked to this runbook.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - automationAccountId - - isGlobalRunbook - - runbookName - - webhookResourceReference type: object type: array - azureAppPushReceivers: - description: 'AzureAppPushReceivers: The list of AzureAppPush receivers that are part of this action group.' + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + minimum: -1 + type: integer + type: object + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + enum: + - Small + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + enum: + - BoundedStaleness + - ConsistentPrefix + - Eventual + - Session + - Strong + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + maximum: 86400 + minimum: 5 + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + maximum: 2147483647 + minimum: 1 + type: integer + required: + - defaultConsistencyLevel + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' items: - description: The Azure mobile App push notification receiver. + description: The CORS policy for the Cosmos DB database account. properties: - emailAddress: - description: 'EmailAddress: The email address registered for the Azure mobile app.' - type: string - name: - description: 'Name: The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group.' + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' type: string - required: - - emailAddress - - name - type: object - type: array - azureFunctionReceivers: - description: 'AzureFunctionReceivers: The list of azure function receivers that are part of this action group.' - items: - description: An azure function receiver. - properties: - functionAppResourceReference: - description: 'FunctionAppResourceReference: The azure resource id of the function app.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - functionName: - description: 'FunctionName: The function name in the function app.' + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' type: string - httpTriggerUrl: - description: 'HttpTriggerUrl: The http trigger url where http request sent to.' + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' type: string - name: - description: 'Name: The name of the azure function receiver. Names must be unique across all receivers within an action group.' + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + maximum: 2147483647 + minimum: 1 + type: integer required: - - functionAppResourceReference - - functionName - - httpTriggerUrl - - name + - allowedOrigins type: object type: array - azureName: + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + enum: + - Default + - Restore + type: string + customerManagedKeyStatus: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are + errors, the property provides troubleshooting guidance. type: string - emailReceivers: - description: 'EmailReceivers: The list of email receivers that are part of this action group.' - items: - description: An email receiver. - properties: - emailAddress: - description: 'EmailAddress: The email address of this receiver.' - type: string - name: - description: 'Name: The name of the email receiver. Names must be unique across all receivers within an action group.' - type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - required: - - emailAddress - - name - type: object - type: array - enabled: + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the database' + enum: + - Standard + type: string + defaultIdentity: description: |- - Enabled: Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers - will receive communications. + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys type: boolean - eventHubReceivers: - description: 'EventHubReceivers: The list of event hub receivers that are part of this action group.' + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + identity: + description: 'Identity: Identity for the resource.' + properties: + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + ipRules: + description: 'IpRules: List of IpRules.' items: - description: An Event hub receiver. + description: IpAddressOrRange object properties: - eventHubName: - description: 'EventHubName: The name of the specific Event Hub queue' - type: string - eventHubNameSpace: - description: 'EventHubNameSpace: The Event Hub namespace' - type: string - name: - description: 'Name: The name of the Event hub receiver. Names must be unique across all receivers within an action group.' - type: string - subscriptionId: - description: 'SubscriptionId: The Id for the subscription containing this event hub' - type: string - tenantId: - description: 'TenantId: The tenant Id for the subscription containing this event hub' + ipAddressOrRange: + description: |- + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - required: - - eventHubName - - eventHubNameSpace - - name - - subscriptionId type: object type: array - groupShortName: - description: 'GroupShortName: The short name of the action group. This will be used in SMS messages.' - maxLength: 12 + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' type: string - itsmReceivers: - description: 'ItsmReceivers: The list of ITSM receivers that are part of this action group.' + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + enum: + - GlobalDocumentDB + - MongoDB + - Parse + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + locations: + description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' items: - description: An Itsm receiver. + description: A region in which the Azure Cosmos DB database account is deployed. properties: - connectionId: - description: 'ConnectionId: Unique identification of ITSM connection among multiple defined in above workspace.' - type: string - name: - description: 'Name: The name of the Itsm receiver. Names must be unique across all receivers within an action group.' - type: string - region: - description: |- - Region: Region in which workspace resides. Supported - values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope' - type: string - ticketConfiguration: + failoverPriority: description: |- - TicketConfiguration: JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of - this blob as well. - type: string - workspaceId: - description: 'WorkspaceId: OMS LA instance identifier.' + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + minimum: 0 + type: integer + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' type: string - required: - - connectionId - - name - - region - - ticketConfiguration - - workspaceId type: object type: array - location: - description: 'Location: Resource location' + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + enum: + - Tls + - Tls11 + - Tls12 type: string - logicAppReceivers: - description: 'LogicAppReceivers: The list of logic app receivers that are part of this action group.' + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + enum: + - AzureServices + - None + type: string + networkAclBypassResourceReferences: + description: |- + NetworkAclBypassResourceReferences: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB + account. items: - description: A logic app receiver. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - callbackUrl: - description: 'CallbackUrl: The callback url where http request sent to.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: 'Name: The name of the logic app receiver. Names must be unique across all receivers within an action group.' + description: Name is the Kubernetes name of the resource. type: string - resourceReference: - description: 'ResourceReference: The azure resource id of the logic app receiver.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - required: - - callbackUrl - - name - - resourceReference type: object type: array operatorSpec: @@ -17666,6 +72297,95 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + documentEndpoint: + description: |- + DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -17680,172 +72400,213 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - smsReceivers: - description: 'SmsReceivers: The list of SMS receivers that are part of this action group.' - items: - description: An SMS receiver. - properties: - countryCode: - description: 'CountryCode: The country code of the SMS receiver.' - type: string - name: - description: 'Name: The name of the SMS receiver. Names must be unique across all receivers within an action group.' - type: string - phoneNumber: - description: 'PhoneNumber: The phone number of the SMS receiver.' + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + enum: + - PointInTime + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: type: string - required: - - countryCode - - name - - phoneNumber - type: object - type: array + type: array + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object - voiceReceivers: - description: 'VoiceReceivers: The list of voice receivers that are part of this action group.' - items: - description: A voice receiver. - properties: - countryCode: - description: 'CountryCode: The country code of the voice receiver.' - type: string - name: - description: 'Name: The name of the voice receiver. Names must be unique across all receivers within an action group.' - type: string - phoneNumber: - description: 'PhoneNumber: The phone number of the voice receiver.' - type: string - required: - - countryCode - - name - - phoneNumber - type: object - type: array - webhookReceivers: - description: 'WebhookReceivers: The list of webhook receivers that are part of this action group.' + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' items: - description: A webhook receiver. + description: Virtual Network ACL Rule object properties: - identifierUri: - description: 'IdentifierUri: Indicates the identifier uri for aad auth.' - type: string - name: - description: 'Name: The name of the webhook receiver. Names must be unique across all receivers within an action group.' - type: string - objectId: - description: 'ObjectId: Indicates the webhook app object Id for aad auth.' - type: string - serviceUri: - description: 'ServiceUri: The URI where webhooks should be sent.' - type: string - tenantId: - description: 'TenantId: Indicates the tenant id for aad auth.' - type: string - useAadAuth: - description: 'UseAadAuth: Indicates whether or not use AAD authentication.' - type: boolean - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' type: boolean - required: - - name - - serviceUri + reference: + description: |- + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array required: - - enabled - - groupShortName - - location + - databaseAccountOfferType + - locations - owner type: object status: - description: An action group resource. properties: - armRoleReceivers: - description: |- - ArmRoleReceivers: The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only - built-in roles are supported. - items: - description: An arm role receiver. - properties: - name: - description: 'Name: The name of the arm role receiver. Names must be unique across all receivers within an action group.' - type: string - roleId: - description: 'RoleId: The arm role id.' - type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - type: object - type: array - automationRunbookReceivers: - description: 'AutomationRunbookReceivers: The list of AutomationRunbook receivers that are part of this action group.' - items: - description: The Azure Automation Runbook notification receiver. - properties: - automationAccountId: - description: 'AutomationAccountId: The Azure automation account Id which holds this runbook and authenticate to Azure resource.' - type: string - isGlobalRunbook: - description: 'IsGlobalRunbook: Indicates whether this instance is global runbook.' - type: boolean - name: - description: 'Name: Indicates name of the webhook.' - type: string - runbookName: - description: 'RunbookName: The name for this runbook.' - type: string - serviceUri: - description: 'ServiceUri: The URI where webhooks should be sent.' - type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean - webhookResourceId: - description: 'WebhookResourceId: The resource id for webhook linked to this runbook.' - type: string - type: object - type: array - azureAppPushReceivers: - description: 'AzureAppPushReceivers: The list of AzureAppPush receivers that are part of this action group.' - items: - description: The Azure mobile App push notification receiver. - properties: - emailAddress: - description: 'EmailAddress: The email address registered for the Azure mobile app.' - type: string - name: - description: 'Name: The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group.' - type: string - type: object - type: array - azureFunctionReceivers: - description: 'AzureFunctionReceivers: The list of azure function receivers that are part of this action group.' + analyticalStorageConfiguration: + description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' + properties: + schemaType: + description: 'SchemaType: Describes the types of schema for analytical storage.' + type: string + type: object + apiProperties: + description: 'ApiProperties: API specific properties.' + properties: + serverVersion: + description: 'ServerVersion: Describes the version of the MongoDB account.' + type: string + type: object + backupPolicy: + description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + properties: + continuous: + description: 'Continuous: Mutually exclusive with all other properties' + properties: + continuousModeProperties: + description: 'ContinuousModeProperties: Configuration values for continuous mode backup' + properties: + tier: + description: 'Tier: Enum to indicate type of Continuous backup mode' + type: string + type: object + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + periodic: + description: 'Periodic: Mutually exclusive with all other properties' + properties: + migrationState: + description: 'MigrationState: The object representing the state of the migration between the backup policies.' + properties: + startTime: + description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' + type: string + status: + description: 'Status: Describes the status of migration between backup policy types.' + type: string + targetType: + description: 'TargetType: Describes the target backup policy type of the backup policy migration.' + type: string + type: object + periodicModeProperties: + description: 'PeriodicModeProperties: Configuration values for periodic mode backup' + properties: + backupIntervalInMinutes: + description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' + type: integer + backupRetentionIntervalInHours: + description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' + type: integer + backupStorageRedundancy: + description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' + type: string + type: object + type: + description: 'Type: Describes the mode of backups.' + type: string + type: object + type: object + capabilities: + description: 'Capabilities: List of Cosmos DB capabilities for the account' items: - description: An azure function receiver. + description: Cosmos DB capability object properties: - functionAppResourceId: - description: 'FunctionAppResourceId: The azure resource id of the function app.' - type: string - functionName: - description: 'FunctionName: The function name in the function app.' - type: string - httpTriggerUrl: - description: 'HttpTriggerUrl: The http trigger url where http request sent to.' - type: string name: - description: 'Name: The name of the azure function receiver. Names must be unique across all receivers within an action group.' + description: |- + Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include + "EnableTable" and "EnableGremlin". type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean type: object type: array + capacity: + description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + properties: + totalThroughputLimit: + description: |- + TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict + limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no + limits on provisioning of throughput. + type: integer + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -17890,181 +72651,447 @@ spec: - type type: object type: array - emailReceivers: - description: 'EmailReceivers: The list of email receivers that are part of this action group.' + connectorOffer: + description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + type: string + consistencyPolicy: + description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + properties: + defaultConsistencyLevel: + description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + type: string + maxIntervalInSeconds: + description: |- + MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of + staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is + set to 'BoundedStaleness'. + type: integer + maxStalenessPrefix: + description: |- + MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale + requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set + to 'BoundedStaleness'. + type: integer + type: object + cors: + description: 'Cors: The CORS policy for the Cosmos DB database account.' items: - description: An email receiver. + description: The CORS policy for the Cosmos DB database account. properties: - emailAddress: - description: 'EmailAddress: The email address of this receiver.' + allowedHeaders: + description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' type: string - name: - description: 'Name: The name of the email receiver. Names must be unique across all receivers within an action group.' + allowedMethods: + description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' type: string - status: - description: 'Status: The receiver status of the e-mail.' + allowedOrigins: + description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean + exposedHeaders: + description: |- + ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to + the request issuer. + type: string + maxAgeInSeconds: + description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' + type: integer type: object type: array - enabled: + createMode: + description: 'CreateMode: Enum to indicate the mode of account creation.' + type: string + customerManagedKeyStatus: description: |- - Enabled: Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers - will receive communications. + CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are + errors, the property provides troubleshooting guidance. + type: string + databaseAccountOfferType: + description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' + type: string + defaultIdentity: + description: |- + DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default + identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + type: string + disableKeyBasedMetadataWriteAccess: + description: |- + DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) + via account keys type: boolean - eventHubReceivers: - description: 'EventHubReceivers: The list of event hub receivers that are part of this action group.' + disableLocalAuth: + description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' + type: boolean + documentEndpoint: + description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + type: string + enableAnalyticalStorage: + description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' + type: boolean + enableAutomaticFailover: + description: |- + EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable + due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the + failover priorities configured for the account. + type: boolean + enableBurstCapacity: + description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' + type: boolean + enableCassandraConnector: + description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' + type: boolean + enableFreeTier: + description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' + type: boolean + enableMultipleWriteLocations: + description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' + type: boolean + enablePartitionMerge: + description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' + type: boolean + failoverPolicies: + description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' items: - description: An Event hub receiver. + description: The failover policy for a given region of a database account. properties: - eventHubName: - description: 'EventHubName: The name of the specific Event Hub queue' - type: string - eventHubNameSpace: - description: 'EventHubNameSpace: The Event Hub namespace' - type: string - name: - description: 'Name: The name of the Event hub receiver. Names must be unique across all receivers within an action group.' - type: string - subscriptionId: - description: 'SubscriptionId: The Id for the subscription containing this event hub' + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: |- + Id: The unique identifier of the region in which the database account replicates to. Example: + <accountName>-<locationName>. type: string - tenantId: - description: 'TenantId: The tenant Id for the subscription containing this event hub' + locationName: + description: 'LocationName: The name of the region in which the database account exists.' type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean type: object type: array - groupShortName: - description: 'GroupShortName: The short name of the action group. This will be used in SMS messages.' - type: string id: - description: 'Id: Azure resource Id' + description: 'Id: The unique resource identifier of the ARM resource.' type: string - itsmReceivers: - description: 'ItsmReceivers: The list of ITSM receivers that are part of this action group.' + identity: + description: 'Identity: Identity for the resource.' + properties: + principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + instanceId: + description: 'InstanceId: A unique identifier assigned to the database account' + type: string + ipRules: + description: 'IpRules: List of IpRules.' items: - description: An Itsm receiver. + description: IpAddressOrRange object properties: - connectionId: - description: 'ConnectionId: Unique identification of ITSM connection among multiple defined in above workspace.' - type: string - name: - description: 'Name: The name of the Itsm receiver. Names must be unique across all receivers within an action group.' - type: string - region: - description: |- - Region: Region in which workspace resides. Supported - values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope' - type: string - ticketConfiguration: + ipAddressOrRange: description: |- - TicketConfiguration: JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of - this blob as well. - type: string - workspaceId: - description: 'WorkspaceId: OMS LA instance identifier.' + IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be + well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, + 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” + or “23.40.210.0/8”. type: string type: object type: array + isVirtualNetworkFilterEnabled: + description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' + type: boolean + keyVaultKeyUri: + description: 'KeyVaultKeyUri: The URI of the key vault' + type: string + keysMetadata: + description: 'KeysMetadata: The object that represents the metadata for the Account Keys of the Cosmos DB account.' + properties: + primaryMasterKey: + description: 'PrimaryMasterKey: The metadata related to the Primary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + primaryReadonlyMasterKey: + description: 'PrimaryReadonlyMasterKey: The metadata related to the Primary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryMasterKey: + description: 'SecondaryMasterKey: The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + secondaryReadonlyMasterKey: + description: 'SecondaryReadonlyMasterKey: The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account.' + properties: + generationTime: + description: |- + GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means + that the last key regeneration was triggered before 2022-06-18. + type: string + type: object + type: object + kind: + description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: string location: - description: 'Location: Resource location' + description: 'Location: The location of the resource group to which the resource belongs.' type: string - logicAppReceivers: - description: 'LogicAppReceivers: The list of logic app receivers that are part of this action group.' + locations: + description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' items: - description: A logic app receiver. + description: A region in which the Azure Cosmos DB database account is deployed. properties: - callbackUrl: - description: 'CallbackUrl: The callback url where http request sent to.' - type: string - name: - description: 'Name: The name of the logic app receiver. Names must be unique across all receivers within an action group.' + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ type: string - resourceId: - description: 'ResourceId: The azure resource id of the logic app receiver.' + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' type: string - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: + type: string type: object type: array + minimalTlsVersion: + description: |- + MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs + only work with Tls 1.2. + type: string name: - description: 'Name: Azure resource name' + description: 'Name: The name of the ARM resource.' type: string - smsReceivers: - description: 'SmsReceivers: The list of SMS receivers that are part of this action group.' + networkAclBypass: + description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + type: string + networkAclBypassResourceIds: + description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' items: - description: An SMS receiver. + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' + items: + description: A private endpoint connection properties: - countryCode: - description: 'CountryCode: The country code of the SMS receiver.' + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - name: - description: 'Name: The name of the SMS receiver. Names must be unique across all receivers within an action group.' + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + type: string + readLocations: + description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + items: + description: A region in which the Azure Cosmos DB database account is deployed. + properties: + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ type: string - phoneNumber: - description: 'PhoneNumber: The phone number of the SMS receiver.' + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' type: string - status: - description: 'Status: The status of the receiver.' + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' + type: string + provisioningState: type: string type: object type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore.' + properties: + databasesToRestore: + description: 'DatabasesToRestore: List of specific databases available for restore.' + items: + description: Specific Databases to restore. + properties: + collectionNames: + description: 'CollectionNames: The names of the collections available for restore.' + items: + type: string + type: array + databaseName: + description: 'DatabaseName: The name of the database available for restore.' + type: string + type: object + type: array + gremlinDatabasesToRestore: + description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' + items: + description: Specific Gremlin Databases to restore. + properties: + databaseName: + description: 'DatabaseName: The name of the gremlin database available for restore.' + type: string + graphNames: + description: 'GraphNames: The names of the graphs available for restore.' + items: + type: string + type: array + type: object + type: array + restoreMode: + description: 'RestoreMode: Describes the mode of the restore.' + type: string + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + tablesToRestore: + description: 'TablesToRestore: List of specific tables available for restore.' + items: + type: string + type: array + type: object + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object type: - description: 'Type: Azure resource type' + description: 'Type: The type of Azure resource.' type: string - voiceReceivers: - description: 'VoiceReceivers: The list of voice receivers that are part of this action group.' + virtualNetworkRules: + description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' items: - description: A voice receiver. + description: Virtual Network ACL Rule object properties: - countryCode: - description: 'CountryCode: The country code of the voice receiver.' - type: string - name: - description: 'Name: The name of the voice receiver. Names must be unique across all receivers within an action group.' - type: string - phoneNumber: - description: 'PhoneNumber: The phone number of the voice receiver.' + id: + description: |- + Id: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. type: string + ignoreMissingVNetServiceEndpoint: + description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean type: object type: array - webhookReceivers: - description: 'WebhookReceivers: The list of webhook receivers that are part of this action group.' + writeLocations: + description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' items: - description: A webhook receiver. + description: A region in which the Azure Cosmos DB database account is deployed. properties: - identifierUri: - description: 'IdentifierUri: Indicates the identifier uri for aad auth.' - type: string - name: - description: 'Name: The name of the webhook receiver. Names must be unique across all receivers within an action group.' + documentEndpoint: + description: |- + DocumentEndpoint: The connection endpoint for the specific region. Example: + https://<accountName>-<locationName>.documents.azure.com:443/ type: string - objectId: - description: 'ObjectId: Indicates the webhook app object Id for aad auth.' + failoverPriority: + description: |- + FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum + value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the + regions in which the database account exists. + type: integer + id: + description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' type: string - serviceUri: - description: 'ServiceUri: The URI where webhooks should be sent.' + isZoneRedundant: + description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' + type: boolean + locationName: + description: 'LocationName: The name of the region.' type: string - tenantId: - description: 'TenantId: Indicates the tenant id for aad auth.' + provisioningState: type: string - useAadAuth: - description: 'UseAadAuth: Indicates whether or not use AAD authentication.' - type: boolean - useCommonAlertSchema: - description: 'UseCommonAlertSchema: Indicates whether to use common alert schema.' - type: boolean type: object type: array type: object @@ -18086,14 +73113,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230101.ActionGroup + Storage version of v1api20240815.DatabaseAccount Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-01-01/actionGroups_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} properties: apiVersion: description: |- @@ -18113,7 +73140,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230101.ActionGroup_Spec + description: Storage version of v1api20240815.DatabaseAccount_Spec properties: $propertyBag: additionalProperties: @@ -18122,81 +73149,153 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - armRoleReceivers: - items: - description: |- - Storage version of v1api20230101.ArmRoleReceiver - An arm role receiver. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + analyticalStorageConfiguration: + description: |- + Storage version of v1api20240815.AnalyticalStorageConfiguration + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: type: string - roleId: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20240815.ApiProperties + properties: + $propertyBag: + additionalProperties: type: string - useCommonAlertSchema: - type: boolean - type: object - type: array - automationRunbookReceivers: - items: - description: |- - Storage version of v1api20230101.AutomationRunbookReceiver - The Azure Automation Runbook notification receiver. - properties: - $propertyBag: - additionalProperties: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backupPolicy: + description: Storage version of v1api20240815.BackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20240815.ContinuousModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20240815.ContinuousModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: + type: string + type: object + periodic: + description: Storage version of v1api20240815.PeriodicModeBackupPolicy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20240815.PeriodicModeProperties + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - automationAccountId: - type: string - isGlobalRunbook: - type: boolean - name: - type: string - runbookName: - type: string - serviceUri: - type: string - useCommonAlertSchema: - type: boolean - webhookResourceReference: - description: 'WebhookResourceReference: The resource id for webhook linked to this runbook.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - webhookResourceReference - type: object - type: array - azureAppPushReceivers: + type: object + type: object + capabilities: items: description: |- - Storage version of v1api20230101.AzureAppPushReceiver - The Azure mobile App push notification receiver. + Storage version of v1api20240815.Capability + Cosmos DB capability object properties: $propertyBag: additionalProperties: @@ -18205,17 +73304,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - emailAddress: - type: string name: type: string type: object type: array - azureFunctionReceivers: + capacity: + description: |- + Storage version of v1api20240815.Capacity + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20240815.ConsistencyPolicy + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: items: description: |- - Storage version of v1api20230101.AzureFunctionReceiver - An azure function receiver. + Storage version of v1api20240815.CorsPolicy + The CORS policy for the Cosmos DB database account. properties: $propertyBag: additionalProperties: @@ -18224,71 +73357,99 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - functionAppResourceReference: - description: 'FunctionAppResourceReference: The azure resource id of the function app.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - functionName: + allowedHeaders: type: string - httpTriggerUrl: + allowedMethods: type: string - name: + allowedOrigins: type: string - useCommonAlertSchema: - type: boolean - required: - - functionAppResourceReference + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer type: object type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + createMode: type: string - emailReceivers: - items: - description: |- - Storage version of v1api20230101.EmailReceiver - An email receiver. - properties: - $propertyBag: - additionalProperties: - type: string + customerManagedKeyStatus: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: + type: boolean + disableLocalAuth: + type: boolean + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + identity: + description: |- + Storage version of v1api20240815.ManagedServiceIdentity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240815.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - emailAddress: - type: string - name: - type: string - useCommonAlertSchema: - type: boolean - type: object - type: array - enabled: - type: boolean - eventHubReceivers: + type: array + type: object + ipRules: items: description: |- - Storage version of v1api20230101.EventHubReceiver - An Event hub receiver. + Storage version of v1api20240815.IpAddressOrRange + IpAddressOrRange object properties: $propertyBag: additionalProperties: @@ -18297,27 +73458,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - eventHubName: - type: string - eventHubNameSpace: - type: string - name: - type: string - subscriptionId: - type: string - tenantId: + ipAddressOrRange: type: string - useCommonAlertSchema: - type: boolean type: object type: array - groupShortName: + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: type: string - itsmReceivers: + kind: + type: string + location: + type: string + locations: items: description: |- - Storage version of v1api20230101.ItsmReceiver - An Itsm receiver. + Storage version of v1api20240815.Location + A region in which the Azure Cosmos DB database account is deployed. properties: $propertyBag: additionalProperties: @@ -18326,66 +73483,43 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - connectionId: - type: string - name: - type: string - region: - type: string - ticketConfiguration: - type: string - workspaceId: + failoverPriority: + type: integer + isZoneRedundant: + type: boolean + locationName: type: string type: object type: array - location: + minimalTlsVersion: type: string - logicAppReceivers: + networkAclBypass: + type: string + networkAclBypassResourceReferences: items: - description: |- - Storage version of v1api20230101.LogicAppReceiver - A logic app receiver. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - callbackUrl: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: + description: Name is the Kubernetes name of the resource. type: string - resourceReference: - description: 'ResourceReference: The azure resource id of the logic app receiver.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - useCommonAlertSchema: - type: boolean - required: - - resourceReference type: object type: array operatorSpec: description: |- - Storage version of v1api20230101.ActionGroupOperatorSpec + Storage version of v1api20240815.DatabaseAccountOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -18453,6 +73587,107 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240815.DatabaseAccountOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + documentEndpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryReadonlyMasterKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -18469,36 +73704,84 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - smsReceivers: - items: - description: |- - Storage version of v1api20230101.SmsReceiver - An SMS receiver. - properties: - $propertyBag: - additionalProperties: - type: string + publicNetworkAccess: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParameters + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240815.DatabaseRestoreResource + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string type: object - countryCode: - type: string - name: - type: string - phoneNumber: + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20240815.GremlinDatabaseRestoreResource + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + tablesToRestore: + items: type: string - type: object - type: array + type: array + type: object tags: additionalProperties: type: string type: object - voiceReceivers: + virtualNetworkRules: items: description: |- - Storage version of v1api20230101.VoiceReceiver - A voice receiver. + Storage version of v1api20240815.VirtualNetworkRule + Virtual Network ACL Rule object properties: $propertyBag: additionalProperties: @@ -18507,50 +73790,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - countryCode: - type: string - name: - type: string - phoneNumber: - type: string - type: object - type: array - webhookReceivers: - items: - description: |- - Storage version of v1api20230101.WebhookReceiver - A webhook receiver. - properties: - $propertyBag: - additionalProperties: - type: string + ignoreMissingVNetServiceEndpoint: + type: boolean + reference: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Reference: Resource ID of a subnet, for example: + /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - identifierUri: - type: string - name: - type: string - objectId: - type: string - serviceUri: - type: string - tenantId: - type: string - useAadAuth: - type: boolean - useCommonAlertSchema: - type: boolean type: object type: array required: - owner type: object status: - description: |- - Storage version of v1api20230101.ActionGroupResource_STATUS - An action group resource. + description: Storage version of v1api20240815.DatabaseAccount_STATUS properties: $propertyBag: additionalProperties: @@ -18559,80 +73829,148 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - armRoleReceivers: - items: - description: |- - Storage version of v1api20230101.ArmRoleReceiver_STATUS - An arm role receiver. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - roleId: - type: string - useCommonAlertSchema: - type: boolean - type: object - type: array - automationRunbookReceivers: - items: - description: |- - Storage version of v1api20230101.AutomationRunbookReceiver_STATUS - The Azure Automation Runbook notification receiver. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - automationAccountId: - type: string - isGlobalRunbook: - type: boolean - name: - type: string - runbookName: + analyticalStorageConfiguration: + description: |- + Storage version of v1api20240815.AnalyticalStorageConfiguration_STATUS + Analytical storage specific properties. + properties: + $propertyBag: + additionalProperties: type: string - serviceUri: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + schemaType: + type: string + type: object + apiProperties: + description: Storage version of v1api20240815.ApiProperties_STATUS + properties: + $propertyBag: + additionalProperties: type: string - useCommonAlertSchema: - type: boolean - webhookResourceId: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serverVersion: + type: string + type: object + backupPolicy: + description: Storage version of v1api20240815.BackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - azureAppPushReceivers: - items: - description: |- - Storage version of v1api20230101.AzureAppPushReceiver_STATUS - The Azure mobile App push notification receiver. - properties: - $propertyBag: - additionalProperties: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuous: + description: Storage version of v1api20240815.ContinuousModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + continuousModeProperties: + description: |- + Storage version of v1api20240815.ContinuousModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: + type: string + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + type: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - emailAddress: - type: string - name: - type: string - type: object - type: array - azureFunctionReceivers: + type: object + periodic: + description: Storage version of v1api20240815.PeriodicModeBackupPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + migrationState: + description: |- + Storage version of v1api20240815.BackupPolicyMigrationState_STATUS + The object representing the state of the migration between the backup policies. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + startTime: + type: string + status: + type: string + targetType: + type: string + type: object + periodicModeProperties: + description: |- + Storage version of v1api20240815.PeriodicModeProperties_STATUS + Configuration values for periodic mode backup + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalInMinutes: + type: integer + backupRetentionIntervalInHours: + type: integer + backupStorageRedundancy: + type: string + type: object + type: + type: string + type: object + type: object + capabilities: items: description: |- - Storage version of v1api20230101.AzureFunctionReceiver_STATUS - An azure function receiver. + Storage version of v1api20240815.Capability_STATUS + Cosmos DB capability object properties: $propertyBag: additionalProperties: @@ -18641,18 +73979,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - functionAppResourceId: - type: string - functionName: - type: string - httpTriggerUrl: - type: string name: type: string - useCommonAlertSchema: - type: boolean type: object type: array + capacity: + description: |- + Storage version of v1api20240815.Capacity_STATUS + The object that represents all properties related to capacity enforcement on an account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + totalThroughputLimit: + type: integer + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -18696,11 +74041,32 @@ spec: - type type: object type: array - emailReceivers: + connectorOffer: + type: string + consistencyPolicy: + description: |- + Storage version of v1api20240815.ConsistencyPolicy_STATUS + The consistency policy for the Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultConsistencyLevel: + type: string + maxIntervalInSeconds: + type: integer + maxStalenessPrefix: + type: integer + type: object + cors: items: description: |- - Storage version of v1api20230101.EmailReceiver_STATUS - An email receiver. + Storage version of v1api20240815.CorsPolicy_STATUS + The CORS policy for the Cosmos DB database account. properties: $propertyBag: additionalProperties: @@ -18709,23 +74075,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - emailAddress: + allowedHeaders: type: string - name: + allowedMethods: type: string - status: + allowedOrigins: type: string - useCommonAlertSchema: - type: boolean + exposedHeaders: + type: string + maxAgeInSeconds: + type: integer type: object type: array - enabled: + createMode: + type: string + customerManagedKeyStatus: + type: string + databaseAccountOfferType: + type: string + defaultIdentity: + type: string + disableKeyBasedMetadataWriteAccess: type: boolean - eventHubReceivers: + disableLocalAuth: + type: boolean + documentEndpoint: + type: string + enableAnalyticalStorage: + type: boolean + enableAutomaticFailover: + type: boolean + enableBurstCapacity: + type: boolean + enableCassandraConnector: + type: boolean + enableFreeTier: + type: boolean + enableMultipleWriteLocations: + type: boolean + enablePartitionMerge: + type: boolean + failoverPolicies: items: description: |- - Storage version of v1api20230101.EventHubReceiver_STATUS - An Event hub receiver. + Storage version of v1api20240815.FailoverPolicy_STATUS + The failover policy for a given region of a database account. properties: $propertyBag: additionalProperties: @@ -18734,29 +74128,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - eventHubName: - type: string - eventHubNameSpace: - type: string - name: - type: string - subscriptionId: + failoverPriority: + type: integer + id: type: string - tenantId: + locationName: type: string - useCommonAlertSchema: - type: boolean type: object type: array - groupShortName: - type: string id: type: string - itsmReceivers: + identity: + description: |- + Storage version of v1api20240815.ManagedServiceIdentity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20240815.ManagedServiceIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instanceId: + type: string + ipRules: items: description: |- - Storage version of v1api20230101.ItsmReceiver_STATUS - An Itsm receiver. + Storage version of v1api20240815.IpAddressOrRange_STATUS + IpAddressOrRange object properties: $propertyBag: additionalProperties: @@ -18765,25 +74189,96 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - connectionId: - type: string - name: - type: string - region: - type: string - ticketConfiguration: - type: string - workspaceId: + ipAddressOrRange: type: string type: object type: array + isVirtualNetworkFilterEnabled: + type: boolean + keyVaultKeyUri: + type: string + keysMetadata: + description: |- + Storage version of v1api20240815.DatabaseAccountKeysMetadata_STATUS + The metadata related to each access key for the given Cosmos DB database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + primaryReadonlyMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + secondaryReadonlyMasterKey: + description: |- + Storage version of v1api20240815.AccountKeyMetadata_STATUS + The metadata related to an access key for a given database account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + generationTime: + type: string + type: object + type: object + kind: + type: string location: type: string - logicAppReceivers: + locations: items: description: |- - Storage version of v1api20230101.LogicAppReceiver_STATUS - A logic app receiver. + Storage version of v1api20240815.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. properties: $propertyBag: additionalProperties: @@ -18792,23 +74287,56 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - callbackUrl: + documentEndpoint: type: string - name: + failoverPriority: + type: integer + id: type: string - resourceId: + isZoneRedundant: + type: boolean + locationName: + type: string + provisioningState: + type: string + type: object + type: array + minimalTlsVersion: + type: string + name: + type: string + networkAclBypass: + type: string + networkAclBypassResourceIds: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240815.PrivateEndpointConnection_STATUS + A private endpoint connection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - useCommonAlertSchema: - type: boolean type: object type: array - name: + provisioningState: type: string - smsReceivers: + publicNetworkAccess: + type: string + readLocations: items: description: |- - Storage version of v1api20230101.SmsReceiver_STATUS - An SMS receiver. + Storage version of v1api20240815.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. properties: $propertyBag: additionalProperties: @@ -18817,27 +74345,123 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - countryCode: + documentEndpoint: type: string - name: + failoverPriority: + type: integer + id: type: string - phoneNumber: + isZoneRedundant: + type: boolean + locationName: type: string - status: + provisioningState: type: string type: object type: array + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParameters_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databasesToRestore: + items: + description: |- + Storage version of v1api20240815.DatabaseRestoreResource_STATUS + Specific Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collectionNames: + items: + type: string + type: array + databaseName: + type: string + type: object + type: array + gremlinDatabasesToRestore: + items: + description: |- + Storage version of v1api20240815.GremlinDatabaseRestoreResource_STATUS + Specific Gremlin Databases to restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + graphNames: + items: + type: string + type: array + type: object + type: array + restoreMode: + type: string + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + tablesToRestore: + items: + type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20240815.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object type: type: string - voiceReceivers: + virtualNetworkRules: items: description: |- - Storage version of v1api20230101.VoiceReceiver_STATUS - A voice receiver. + Storage version of v1api20240815.VirtualNetworkRule_STATUS + Virtual Network ACL Rule object properties: $propertyBag: additionalProperties: @@ -18846,19 +74470,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - countryCode: - type: string - name: - type: string - phoneNumber: + id: type: string + ignoreMissingVNetServiceEndpoint: + type: boolean type: object type: array - webhookReceivers: + writeLocations: items: description: |- - Storage version of v1api20230101.WebhookReceiver_STATUS - A webhook receiver. + Storage version of v1api20240815.Location_STATUS + A region in which the Azure Cosmos DB database account is deployed. properties: $propertyBag: additionalProperties: @@ -18867,20 +74489,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - identifierUri: - type: string - name: + documentEndpoint: type: string - objectId: + failoverPriority: + type: integer + id: type: string - serviceUri: + isZoneRedundant: + type: boolean + locationName: type: string - tenantId: + provisioningState: type: string - useAadAuth: - type: boolean - useCommonAlertSchema: - type: boolean type: object type: array type: object @@ -18895,11 +74515,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: afdcustomdomains.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: databases.dbformariadb.azure.com spec: conversion: strategy: Webhook @@ -18912,12 +74532,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cdn.azure.com + group: dbformariadb.azure.com names: - kind: AfdCustomDomain - listKind: AfdCustomDomainList - plural: afdcustomdomains - singular: afdcustomdomain + categories: + - azure + - dbformariadb + kind: Database + listKind: DatabaseList + plural: databases + singular: database preserveUnknownFields: false scope: Namespaced versions: @@ -18934,13 +74557,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20180601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -18961,42 +74584,16 @@ spec: type: object spec: properties: - azureDnsZone: - description: 'AzureDnsZone: Resource reference to the Azure DNS zone' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - extendedProperties: - additionalProperties: - type: string - description: 'ExtendedProperties: Key-Value pair representing migration properties for domains.' - type: object - hostName: - description: 'HostName: The host name of the domain. Must be a domain name.' + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' type: string operatorSpec: description: |- @@ -19068,7 +74665,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a dbformariadb.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -19077,90 +74674,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - preValidatedCustomDomainResourceId: - description: |- - PreValidatedCustomDomainResourceId: Resource reference to the Azure resource where custom domain ownership was - prevalidated - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - tlsSettings: - description: |- - TlsSettings: The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate - or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default. - properties: - certificateType: - description: 'CertificateType: Defines the source of the SSL certificate.' - enum: - - AzureFirstPartyManagedCertificate - - CustomerCertificate - - ManagedCertificate - type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: TLS protocol version that will be used for Https' - enum: - - TLS10 - - TLS12 - type: string - secret: - description: 'Secret: Resource reference to the secret. ie. subs/rg/profile/secret' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - certificateType - type: object required: - - hostName - owner type: object status: properties: - azureDnsZone: - description: 'AzureDnsZone: Resource reference to the Azure DNS zone' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -19205,96 +74729,17 @@ spec: - type type: object type: array - deploymentStatus: - type: string - domainValidationState: - description: |- - DomainValidationState: Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. - DCV stands for DomainControlValidation. - type: string - extendedProperties: - additionalProperties: - type: string - description: 'ExtendedProperties: Key-Value pair representing migration properties for domains.' - type: object - hostName: - description: 'HostName: The host name of the domain. Must be a domain name.' - type: string id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - preValidatedCustomDomainResourceId: description: |- - PreValidatedCustomDomainResourceId: Resource reference to the Azure resource where custom domain ownership was - prevalidated - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - profileName: - description: 'ProfileName: The name of the profile which holds the domain.' + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - provisioningState: - description: 'ProvisioningState: Provisioning status' + name: + description: 'Name: The name of the resource' type: string - systemData: - description: 'SystemData: Read only system data' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' - type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' - type: string - type: object - tlsSettings: - description: |- - TlsSettings: The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate - or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default. - properties: - certificateType: - description: 'CertificateType: Defines the source of the SSL certificate.' - type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: TLS protocol version that will be used for Https' - type: string - secret: - description: 'Secret: Resource reference to the secret. ie. subs/rg/profile/secret' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - validationProperties: - description: 'ValidationProperties: Values the customer needs to validate domain ownership' - properties: - expirationDate: - description: 'ExpirationDate: The date time that the token expires' - type: string - validationToken: - description: 'ValidationToken: Challenge used for DNS TXT record or file based validation' - type: string - type: object type: object type: object served: true @@ -19314,14 +74759,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20180601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.AfdCustomDomain + Storage version of v1api20180601.Database Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName} + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -19341,7 +74786,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.AfdCustomDomain_Spec + description: Storage version of v1api20180601.Database_Spec properties: $propertyBag: additionalProperties: @@ -19350,53 +74795,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureDnsZone: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - extendedProperties: - additionalProperties: - type: string - type: object - hostName: + charset: + type: string + collation: type: string operatorSpec: description: |- - Storage version of v1api20230501.AfdCustomDomainOperatorSpec + Storage version of v1api20180601.DatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -19471,7 +74881,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a dbformariadb.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -19480,94 +74890,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - preValidatedCustomDomainResourceId: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - tlsSettings: - description: |- - Storage version of v1api20230501.AFDDomainHttpsParameters - The JSON object that contains the properties to secure a domain. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateType: - type: string - minimumTlsVersion: - type: string - secret: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object required: - owner type: object status: - description: Storage version of v1api20230501.AfdCustomDomain_STATUS + description: Storage version of v1api20180601.Database_STATUS properties: $propertyBag: additionalProperties: @@ -19576,21 +74903,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureDnsZone: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -19634,115 +74950,12 @@ spec: - type type: object type: array - deploymentStatus: - type: string - domainValidationState: - type: string - extendedProperties: - additionalProperties: - type: string - type: object - hostName: - type: string id: type: string name: type: string - preValidatedCustomDomainResourceId: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - profileName: - type: string - provisioningState: - type: string - systemData: - description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tlsSettings: - description: |- - Storage version of v1api20230501.AFDDomainHttpsParameters_STATUS - The JSON object that contains the properties to secure a domain. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateType: - type: string - minimumTlsVersion: - type: string - secret: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object type: type: string - validationProperties: - description: |- - Storage version of v1api20230501.DomainValidationProperties_STATUS - The JSON object that contains the properties to validate a domain. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expirationDate: - type: string - validationToken: - type: string - type: object type: object type: object served: true @@ -19755,11 +74968,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: afdendpoints.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: databases.kusto.azure.com spec: conversion: strategy: Webhook @@ -19772,12 +74985,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cdn.azure.com + group: kusto.azure.com names: - kind: AfdEndpoint - listKind: AfdEndpointList - plural: afdendpoints - singular: afdendpoint + categories: + - azure + - kusto + kind: Database + listKind: DatabaseList + plural: databases + singular: database preserveUnknownFields: false scope: Namespaced versions: @@ -19794,13 +75010,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20230815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} properties: apiVersion: description: |- @@ -19821,27 +75037,11 @@ spec: type: object spec: properties: - autoGeneratedDomainNameLabelScope: - description: 'AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.' - enum: - - NoReuse - - ResourceGroupReuse - - SubscriptionReuse - - TenantReuse - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - type: string - enabledState: - description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' - enum: - - Disabled - - Enabled - type: string - location: - description: 'Location: Resource location.' + pattern: ^.*$ type: string operatorSpec: description: |- @@ -19913,7 +75113,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a kusto.azure.com/Cluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -19922,20 +75122,64 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + readWriteDatabase: + description: 'ReadWrite: Mutually exclusive with all other properties' + properties: + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + description: 'Kind: Kind of the database' + enum: + - ReadWrite + type: string + location: + description: 'Location: Resource location.' + type: string + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + required: + - kind type: object required: - - location - owner type: object status: properties: - autoGeneratedDomainNameLabelScope: - description: 'AutoGeneratedDomainNameLabelScope: Indicates the endpoint name reuse scope. The default value is TenantReuse.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -19980,59 +75224,71 @@ spec: - type type: object type: array - deploymentStatus: - type: string - enabledState: - description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' - type: string - hostName: - description: 'HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net' - type: string - id: - description: 'Id: Resource ID.' - type: string - location: - description: 'Location: Resource location.' - type: string name: - description: 'Name: Resource name.' - type: string - profileName: - description: 'ProfileName: The name of the profile which holds the endpoint.' - type: string - provisioningState: - description: 'ProvisioningState: Provisioning status' + description: 'Name: The name of the resource' type: string - systemData: - description: 'SystemData: Read only system data' + readWrite: + description: 'ReadWrite: Mutually exclusive with all other properties' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' + isFollowed: + description: 'IsFollowed: Indicates whether the database is followed.' + type: boolean + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + kind: + description: 'Kind: Kind of the database' type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + location: + description: 'Location: Resource location.' type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + statistics: + description: 'Statistics: The statistics of the database.' + properties: + size: + description: 'Size: The database size - the total size of compressed data and index in bytes.' + type: number + type: object + suspensionDetails: + description: |- + SuspensionDetails: The database suspension details. If the database is suspended, this object contains information + related to the database's suspension state. + properties: + suspensionStartDate: + description: 'SuspensionStartDate: The starting date and time of the suspension state.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - type: - description: 'Type: Resource type.' - type: string type: object type: object served: true @@ -20052,14 +75308,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20230815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.AfdEndpoint + Storage version of v1api20230815.Database Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} properties: apiVersion: description: |- @@ -20079,7 +75335,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.AfdEndpoint_Spec + description: Storage version of v1api20230815.Database_Spec properties: $propertyBag: additionalProperties: @@ -20088,20 +75344,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoGeneratedDomainNameLabelScope: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enabledState: - type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20230501.AfdEndpointOperatorSpec + Storage version of v1api20230815.DatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -20176,7 +75426,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a kusto.azure.com/Cluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -20185,15 +75435,69 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string + readWriteDatabase: + description: Storage version of v1api20230815.ReadWriteDatabase + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hotCachePeriod: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + type: string + location: + type: string + softDeletePeriod: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20230501.AfdEndpoint_STATUS + description: Storage version of v1api20230815.Database_STATUS properties: $propertyBag: additionalProperties: @@ -20202,8 +75506,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoGeneratedDomainNameLabelScope: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -20247,26 +75549,10 @@ spec: - type type: object type: array - deploymentStatus: - type: string - enabledState: - type: string - hostName: - type: string - id: - type: string - location: - type: string name: type: string - profileName: - type: string - provisioningState: - type: string - systemData: - description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data + readWrite: + description: Storage version of v1api20230815.ReadWriteDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -20275,63 +75561,81 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: + hotCachePeriod: type: string - createdBy: + id: type: string - createdByType: + isFollowed: + type: boolean + keyVaultProperties: + description: |- + Storage version of v1api20230815.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string + type: object + kind: type: string - lastModifiedAt: + location: type: string - lastModifiedBy: + provisioningState: type: string - lastModifiedByType: + softDeletePeriod: + type: string + statistics: + description: |- + Storage version of v1api20230815.DatabaseStatistics_STATUS + A class that contains database statistics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + size: + type: number + type: object + suspensionDetails: + description: |- + Storage version of v1api20230815.SuspensionDetails_STATUS + The database suspension details. If the database is suspended, this object contains information related to the + database's suspension state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + suspensionStartDate: + type: string + type: object + type: type: string type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: afdorigingroups.cdn.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cdn.azure.com - names: - kind: AfdOriginGroup - listKind: AfdOriginGroupList - plural: afdorigingroups - singular: afdorigingroup - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -20345,13 +75649,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20240413 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} properties: apiVersion: description: |- @@ -20376,46 +75680,8 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + pattern: ^.*$ type: string - healthProbeSettings: - description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' - properties: - probeIntervalInSeconds: - description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' - maximum: 255 - minimum: 1 - type: integer - probePath: - description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' - type: string - probeProtocol: - description: 'ProbeProtocol: Protocol to use for health probe.' - enum: - - Http - - Https - - NotSet - type: string - probeRequestType: - description: 'ProbeRequestType: The type of health probe request that is made.' - enum: - - GET - - HEAD - - NotSet - type: string - type: object - loadBalancingSettings: - description: 'LoadBalancingSettings: Load balancing settings for a backend pool' - properties: - additionalLatencyInMilliseconds: - description: 'AdditionalLatencyInMilliseconds: The additional latency in milliseconds for probes to fall into the lowest latency bucket' - type: integer - sampleSize: - description: 'SampleSize: The number of samples to consider for load balancing decisions' - type: integer - successfulSamplesRequired: - description: 'SuccessfulSamplesRequired: The number of samples within the sample period that must succeed' - type: integer - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -20486,29 +75752,68 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a kusto.azure.com/Cluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: This is the name of the Kubernetes resource to reference. + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readWriteDatabase: + description: 'ReadWrite: Mutually exclusive with all other properties' + properties: + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + description: 'Kind: Kind of the database' + enum: + - ReadWrite + type: string + location: + description: 'Location: Resource location.' type: string + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + required: + - kind type: object - sessionAffinityState: - description: 'SessionAffinityState: Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled''' - enum: - - Disabled - - Enabled - type: string - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - description: |- - TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually - when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not - supported. - maximum: 50 - minimum: 0 - type: integer required: - owner type: object @@ -20558,83 +75863,71 @@ spec: - type type: object type: array - deploymentStatus: - type: string - healthProbeSettings: - description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' - properties: - probeIntervalInSeconds: - description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' - type: integer - probePath: - description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' - type: string - probeProtocol: - description: 'ProbeProtocol: Protocol to use for health probe.' - type: string - probeRequestType: - description: 'ProbeRequestType: The type of health probe request that is made.' - type: string - type: object - id: - description: 'Id: Resource ID.' - type: string - loadBalancingSettings: - description: 'LoadBalancingSettings: Load balancing settings for a backend pool' - properties: - additionalLatencyInMilliseconds: - description: 'AdditionalLatencyInMilliseconds: The additional latency in milliseconds for probes to fall into the lowest latency bucket' - type: integer - sampleSize: - description: 'SampleSize: The number of samples to consider for load balancing decisions' - type: integer - successfulSamplesRequired: - description: 'SuccessfulSamplesRequired: The number of samples within the sample period that must succeed' - type: integer - type: object name: - description: 'Name: Resource name.' - type: string - profileName: - description: 'ProfileName: The name of the profile which holds the origin group.' - type: string - provisioningState: - description: 'ProvisioningState: Provisioning status' - type: string - sessionAffinityState: - description: 'SessionAffinityState: Whether to allow session affinity on this host. Valid options are ''Enabled'' or ''Disabled''' + description: 'Name: The name of the resource' type: string - systemData: - description: 'SystemData: Read only system data' + readWrite: + description: 'ReadWrite: Mutually exclusive with all other properties' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + hotCachePeriod: + description: 'HotCachePeriod: The time the data should be kept in cache for fast queries in TimeSpan.' type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' + isFollowed: + description: 'IsFollowed: Indicates whether the database is followed.' + type: boolean + keyVaultProperties: + description: 'KeyVaultProperties: KeyVault properties for the database encryption.' + properties: + keyName: + description: 'KeyName: The name of the key vault key.' + type: string + keyVaultUri: + description: 'KeyVaultUri: The Uri of the key vault.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key vault key.' + type: string + userIdentity: + description: 'UserIdentity: The user assigned identity (ARM resource id) that has access to the key.' + type: string + type: object + kind: + description: 'Kind: Kind of the database' type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + location: + description: 'Location: Resource location.' type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + softDeletePeriod: + description: 'SoftDeletePeriod: The time the data should be kept before it stops being accessible to queries in TimeSpan.' + type: string + statistics: + description: 'Statistics: The statistics of the database.' + properties: + size: + description: 'Size: The database size - the total size of compressed data and index in bytes.' + type: number + type: object + suspensionDetails: + description: |- + SuspensionDetails: The database suspension details. If the database is suspended, this object contains information + related to the database's suspension state. + properties: + suspensionStartDate: + description: 'SuspensionStartDate: The starting date and time of the suspension state.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - description: |- - TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually - when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not - supported. - type: integer - type: - description: 'Type: Resource type.' - type: string type: object type: object served: true @@ -20654,14 +75947,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20240413storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.AfdOriginGroup + Storage version of v1api20240413.Database Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName} properties: apiVersion: description: |- @@ -20681,7 +75974,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.AfdOriginGroup_Spec + description: Storage version of v1api20240413.Database_Spec properties: $propertyBag: additionalProperties: @@ -20695,49 +75988,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - healthProbeSettings: - description: |- - Storage version of v1api20230501.HealthProbeParameters - The JSON object that contains the properties to send health probes to origin. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - probeIntervalInSeconds: - type: integer - probePath: - type: string - probeProtocol: - type: string - probeRequestType: - type: string - type: object - loadBalancingSettings: - description: |- - Storage version of v1api20230501.LoadBalancingSettingsParameters - Round-Robin load balancing settings for a backend pool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalLatencyInMilliseconds: - type: integer - sampleSize: - type: integer - successfulSamplesRequired: - type: integer - type: object operatorSpec: description: |- - Storage version of v1api20230501.AfdOriginGroupOperatorSpec + Storage version of v1api20240413.DatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -20812,7 +76065,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a kusto.azure.com/Cluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -20821,15 +76074,69 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sessionAffinityState: - type: string - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - type: integer + readWriteDatabase: + description: Storage version of v1api20240413.ReadWriteDatabase + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hotCachePeriod: + type: string + keyVaultProperties: + description: |- + Storage version of v1api20240413.KeyVaultProperties + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentityReference: + description: 'UserIdentityReference: The user assigned identity (ARM resource id) that has access to the key.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + kind: + type: string + location: + type: string + softDeletePeriod: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20230501.AfdOriginGroup_STATUS + description: Storage version of v1api20240413.Database_STATUS properties: $propertyBag: additionalProperties: @@ -20881,12 +76188,10 @@ spec: - type type: object type: array - deploymentStatus: + name: type: string - healthProbeSettings: - description: |- - Storage version of v1api20230501.HealthProbeParameters_STATUS - The JSON object that contains the properties to send health probes to origin. + readWrite: + description: Storage version of v1api20240413.ReadWriteDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -20895,73 +76200,75 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - probeIntervalInSeconds: - type: integer - probePath: + hotCachePeriod: type: string - probeProtocol: - type: string - probeRequestType: + id: type: string - type: object - id: - type: string - loadBalancingSettings: - description: |- - Storage version of v1api20230501.LoadBalancingSettingsParameters_STATUS - Round-Robin load balancing settings for a backend pool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalLatencyInMilliseconds: - type: integer - sampleSize: - type: integer - successfulSamplesRequired: - type: integer - type: object - name: - type: string - profileName: - type: string - provisioningState: - type: string - sessionAffinityState: - type: string - systemData: - description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data - properties: - $propertyBag: - additionalProperties: - type: string + isFollowed: + type: boolean + keyVaultProperties: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240413.KeyVaultProperties_STATUS + Properties of the key vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + userIdentity: + type: string type: object - createdAt: - type: string - createdBy: + kind: type: string - createdByType: + location: type: string - lastModifiedAt: + provisioningState: type: string - lastModifiedBy: + softDeletePeriod: type: string - lastModifiedByType: + statistics: + description: |- + Storage version of v1api20240413.DatabaseStatistics_STATUS + A class that contains database statistics information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + size: + type: number + type: object + suspensionDetails: + description: |- + Storage version of v1api20240413.SuspensionDetails_STATUS + The database suspension details. If the database is suspended, this object contains information related to the + database's suspension state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + suspensionStartDate: + type: string + type: object + type: type: string type: object - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - type: integer - type: - type: string type: object type: object served: true @@ -20974,11 +76281,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: afdorigins.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: datacollectionendpoints.insights.azure.com spec: conversion: strategy: Webhook @@ -20991,12 +76298,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cdn.azure.com + group: insights.azure.com names: - kind: AfdOrigin - listKind: AfdOriginList - plural: afdorigins - singular: afdorigin + categories: + - azure + - insights + kind: DataCollectionEndpoint + listKind: DataCollectionEndpointList + plural: datacollectionendpoints + singular: datacollectionendpoint preserveUnknownFields: false scope: Namespaced versions: @@ -21013,13 +76323,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20230311 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionEndpoints_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints/{dataCollectionEndpointName} properties: apiVersion: description: |- @@ -21045,56 +76355,69 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - azureOrigin: - description: 'AzureOrigin: Resource reference to the Azure origin resource.' + description: + description: 'Description: Description of the data collection endpoint.' + type: string + identity: + description: 'Identity: Managed service identity of the resource.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type type: object - enabledState: - description: |- - EnabledState: Whether to enable health probes to be made against backends defined under backendPools. Health probes can - only be disabled if there is a single enabled backend in single enabled backend pool. + kind: + description: 'Kind: The kind of the resource.' enum: - - Disabled - - Enabled + - Linux + - Windows type: string - enforceCertificateNameCheck: - description: 'EnforceCertificateNameCheck: Whether to enable certificate name check at origin level' - type: boolean - hostName: - description: |- - HostName: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be - unique across all origins in an endpoint. + location: + description: 'Location: The geo-location where the resource lives.' type: string - httpPort: - description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' - maximum: 65535 - minimum: 1 - type: integer - httpsPort: - description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' - maximum: 65535 - minimum: 1 - type: integer + networkAcls: + description: 'NetworkAcls: Network access control rules for the endpoints.' + properties: + publicNetworkAccess: + description: 'PublicNetworkAccess: The configuration to set whether network access from public internet to the endpoints are allowed.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -21161,17 +76484,11 @@ spec: type: object type: array type: object - originHostHeader: - description: |- - OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request - hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require - this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/AfdOriginGroup resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -21180,76 +76497,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - priority: - description: |- - Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load - balancing if any lower priority origin is healthy.Must be between 1 and 5 - maximum: 5 - minimum: 1 - type: integer - sharedPrivateLinkResource: - description: 'SharedPrivateLinkResource: The properties of the private link resource for private origin.' - properties: - groupId: - description: 'GroupId: The group id from the provider of resource the shared private link resource is for.' - type: string - privateLink: - description: 'PrivateLink: The resource id of the resource the shared private link resource is for.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - privateLinkLocation: - description: 'PrivateLinkLocation: The location of the shared private link resource' - type: string - requestMessage: - description: 'RequestMessage: The request message for requesting approval of the shared private link resource.' - type: string - status: - description: 'Status: Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.' - enum: - - Approved - - Disconnected - - Pending - - Rejected - - Timeout - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object - weight: - description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' - maximum: 1000 - minimum: 1 - type: integer required: + - location - owner type: object status: + description: Definition of ARM tracked top level resource. properties: - azureOrigin: - description: 'AzureOrigin: Resource reference to the Azure origin resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -21294,101 +76553,165 @@ spec: - type type: object type: array - deploymentStatus: - type: string - enabledState: - description: |- - EnabledState: Whether to enable health probes to be made against backends defined under backendPools. Health probes can - only be disabled if there is a single enabled backend in single enabled backend pool. + configurationAccess: + description: 'ConfigurationAccess: The endpoint used by clients to access their configuration.' + properties: + endpoint: + description: 'Endpoint: The endpoint. This property is READ-ONLY.' + type: string + type: object + description: + description: 'Description: Description of the data collection endpoint.' type: string - enforceCertificateNameCheck: - description: 'EnforceCertificateNameCheck: Whether to enable certificate name check at origin level' - type: boolean - hostName: - description: |- - HostName: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be - unique across all origins in an endpoint. + etag: + description: 'Etag: Resource entity tag (ETag).' type: string - httpPort: - description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' - type: integer - httpsPort: - description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' - type: integer + failoverConfiguration: + description: 'FailoverConfiguration: Failover configuration on this endpoint. This property is READ-ONLY.' + properties: + activeLocation: + description: 'ActiveLocation: Active location where data flow will occur.' + type: string + locations: + description: 'Locations: Locations that are configured for failover.' + items: + properties: + location: + description: 'Location: Name of location.' + type: string + provisioningStatus: + description: 'ProvisioningStatus: The resource provisioning state in this location.' + type: string + type: object + type: array + type: object id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' + description: 'Id: Fully qualified ID of the resource.' type: string - originGroupName: - description: 'OriginGroupName: The name of the origin group which contains this origin.' + identity: + description: 'Identity: Managed service identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + immutableId: + description: 'ImmutableId: The immutable ID of this data collection endpoint resource. This property is READ-ONLY.' type: string - originHostHeader: - description: |- - OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request - hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require - this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint + kind: + description: 'Kind: The kind of the resource.' type: string - priority: - description: |- - Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load - balancing if any lower priority origin is healthy.Must be between 1 and 5 - type: integer - provisioningState: - description: 'ProvisioningState: Provisioning status' + location: + description: 'Location: The geo-location where the resource lives.' type: string - sharedPrivateLinkResource: - description: 'SharedPrivateLinkResource: The properties of the private link resource for private origin.' + logsIngestion: + description: 'LogsIngestion: The endpoint used by clients to ingest logs.' properties: - groupId: - description: 'GroupId: The group id from the provider of resource the shared private link resource is for.' + endpoint: + description: 'Endpoint: The endpoint. This property is READ-ONLY.' type: string - privateLink: - description: 'PrivateLink: The resource id of the resource the shared private link resource is for.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - privateLinkLocation: - description: 'PrivateLinkLocation: The location of the shared private link resource' + type: object + metadata: + description: 'Metadata: Metadata for the resource. This property is READ-ONLY.' + properties: + provisionedBy: + description: 'ProvisionedBy: Azure offering managing this resource on-behalf-of customer.' type: string - requestMessage: - description: 'RequestMessage: The request message for requesting approval of the shared private link resource.' + provisionedByImmutableId: + description: 'ProvisionedByImmutableId: Immutable Id of azure offering managing this resource on-behalf-of customer.' type: string - status: - description: 'Status: Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.' + provisionedByResourceId: + description: 'ProvisionedByResourceId: Resource Id of azure offering managing this resource on-behalf-of customer.' + type: string + type: object + metricsIngestion: + description: 'MetricsIngestion: The endpoint used by clients to ingest metrics.' + properties: + endpoint: + description: 'Endpoint: The endpoint. This property is READ-ONLY.' + type: string + type: object + name: + description: 'Name: The name of the resource.' + type: string + networkAcls: + description: 'NetworkAcls: Network access control rules for the endpoints.' + properties: + publicNetworkAccess: + description: 'PublicNetworkAccess: The configuration to set whether network access from public internet to the endpoints are allowed.' type: string type: object + privateLinkScopedResources: + description: |- + PrivateLinkScopedResources: List of Azure Monitor Private Link Scope Resources to which this data collection endpoint + resource is associated. This property is READ-ONLY. + items: + properties: + resourceId: + description: |- + ResourceId: The resourceId of the Azure Monitor Private Link Scope Scoped Resource through which this DCE is associated + with a Azure Monitor Private Link Scope. + type: string + scopeId: + description: 'ScopeId: The immutableId of the Azure Monitor Private Link Scope Resource to which the association is.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The resource provisioning state. This property is READ-ONLY.' + type: string systemData: - description: 'SystemData: Read only system data' + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: - description: 'CreatedByType: The type of identity that created the resource' + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource.' type: string - weight: - description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' - type: integer type: object type: object served: true @@ -21408,14 +76731,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20230311storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.AfdOrigin + Storage version of v1api20230311.DataCollectionEndpoint Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionEndpoints_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints/{dataCollectionEndpointName} properties: apiVersion: description: |- @@ -21435,7 +76758,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.AfdOrigin_Spec + description: Storage version of v1api20230311.DataCollectionEndpoint_Spec properties: $propertyBag: additionalProperties: @@ -21449,10 +76772,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - azureOrigin: + description: + type: string + identity: description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. + Storage version of v1api20230311.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -21461,40 +76786,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230311.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - enabledState: + kind: type: string - enforceCertificateNameCheck: - type: boolean - hostName: + location: type: string - httpPort: - type: integer - httpsPort: - type: integer + networkAcls: + description: |- + Storage version of v1api20230311.NetworkRuleSet + Definition of the network rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicNetworkAccess: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20230501.AfdOriginOperatorSpec + Storage version of v1api20230311.DataCollectionEndpointOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -21563,15 +76914,13 @@ spec: type: object type: array type: object - originHostHeader: - type: string originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/AfdOriginGroup resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -21580,69 +76929,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - priority: - type: integer - sharedPrivateLinkResource: - description: |- - Storage version of v1api20230501.SharedPrivateLinkResourceProperties - Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - privateLink: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - privateLinkLocation: - type: string - requestMessage: - type: string - status: - type: string + tags: + additionalProperties: + type: string type: object - weight: - type: integer required: - owner type: object status: - description: Storage version of v1api20230501.AfdOrigin_STATUS + description: |- + Storage version of v1api20230311.DataCollectionEndpointResource_STATUS + Definition of ARM tracked top level resource. properties: $propertyBag: additionalProperties: @@ -21651,21 +76948,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureOrigin: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -21709,34 +76991,105 @@ spec: - type type: object type: array - deploymentStatus: - type: string - enabledState: + configurationAccess: + description: |- + Storage version of v1api20230311.ConfigurationAccessEndpointSpec_STATUS + Definition of the endpoint used for accessing configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + type: object + description: type: string - enforceCertificateNameCheck: - type: boolean - hostName: + etag: type: string - httpPort: - type: integer - httpsPort: - type: integer + failoverConfiguration: + description: Storage version of v1api20230311.FailoverConfigurationSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeLocation: + type: string + locations: + items: + description: Storage version of v1api20230311.LocationSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + provisioningStatus: + type: string + type: object + type: array + type: object id: type: string - name: - type: string - originGroupName: + identity: + description: |- + Storage version of v1api20230311.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230311.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + immutableId: type: string - originHostHeader: + kind: type: string - priority: - type: integer - provisioningState: + location: type: string - sharedPrivateLinkResource: + logsIngestion: description: |- - Storage version of v1api20230501.SharedPrivateLinkResourceProperties_STATUS - Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin. + Storage version of v1api20230311.LogsIngestionEndpointSpec_STATUS + Definition of the endpoint used for ingesting logs. properties: $propertyBag: additionalProperties: @@ -21745,34 +77098,83 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - groupId: + endpoint: type: string - privateLink: + type: object + metadata: + description: |- + Storage version of v1api20230311.Metadata_STATUS + Metadata about the resource + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - privateLinkLocation: + provisionedBy: type: string - requestMessage: + provisionedByImmutableId: type: string - status: + provisionedByResourceId: + type: string + type: object + metricsIngestion: + description: |- + Storage version of v1api20230311.MetricsIngestionEndpointSpec_STATUS + Definition of the endpoint used for ingesting metrics. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + type: object + name: + type: string + networkAcls: + description: |- + Storage version of v1api20230311.NetworkRuleSet_STATUS + Definition of the network rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicNetworkAccess: type: string type: object + privateLinkScopedResources: + items: + description: Storage version of v1api20230311.PrivateLinkScopedResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + scopeId: + type: string + type: object + type: array + provisioningState: + type: string systemData: description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data + Storage version of v1api20230311.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -21794,10 +77196,12 @@ spec: lastModifiedByType: type: string type: object + tags: + additionalProperties: + type: string + type: object type: type: string - weight: - type: integer type: object type: object served: true @@ -21810,11 +77214,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: aliases.subscription.azure.com + app.kubernetes.io/version: v2.15.0 + name: datacollectionruleassociations.insights.azure.com spec: conversion: strategy: Webhook @@ -21827,12 +77231,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: subscription.azure.com + group: insights.azure.com names: - kind: Alias - listKind: AliasList - plural: aliases - singular: alias + categories: + - azure + - insights + kind: DataCollectionRuleAssociation + listKind: DataCollectionRuleAssociationList + plural: datacollectionruleassociations + singular: datacollectionruleassociation preserveUnknownFields: false scope: Namespaced versions: @@ -21849,13 +77256,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211001 + name: v1api20230311 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json - - ARM URI: /providers/Microsoft.Subscription/aliases/{aliasName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRuleAssociations_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName} properties: apiVersion: description: |- @@ -21881,6 +77288,49 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dataCollectionRuleReference: + description: 'DataCollectionRuleReference: The resource ID of the data collection rule that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: Description of the association.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -21947,47 +77397,31 @@ spec: type: object type: array type: object - properties: - description: 'Properties: Put alias request properties.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: - additionalProperties: - description: 'AdditionalProperties: Put alias request additional properties.' - properties: - managementGroupId: - description: 'ManagementGroupId: Management group Id for the subscription.' - type: string - subscriptionOwnerId: - description: 'SubscriptionOwnerId: Owner Id of the subscription' - type: string - subscriptionTenantId: - description: 'SubscriptionTenantId: Tenant Id of the subscription' - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Tags for the subscription' - type: object - type: object - billingScope: - type: string - displayName: - description: 'DisplayName: The friendly name of the subscription.' + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - resellerId: - description: 'ResellerId: Reseller Id' + group: + description: Group is the Kubernetes group of the resource. type: string - subscriptionId: - description: 'SubscriptionId: This parameter can be used to create alias for existing subscription Id' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - workload: - description: 'Workload: The workload type of the subscription. It can be either Production or DevTest.' - enum: - - DevTest - - Production + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object + required: + - owner type: object status: + description: Definition of generic ARM proxy resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -22033,53 +77467,40 @@ spec: - type type: object type: array - id: - description: 'Id: Fully qualified ID for the alias resource.' + dataCollectionEndpointId: + description: 'DataCollectionEndpointId: The resource ID of the data collection endpoint that is to be associated.' type: string - name: - description: 'Name: Alias ID.' + dataCollectionRuleId: + description: 'DataCollectionRuleId: The resource ID of the data collection rule that is to be associated.' type: string - properties: - description: 'Properties: Subscription Alias response properties.' + description: + description: 'Description: Description of the association.' + type: string + etag: + description: 'Etag: Resource entity tag (ETag).' + type: string + id: + description: 'Id: Fully qualified ID of the resource.' + type: string + metadata: + description: 'Metadata: Metadata about the resource' properties: - acceptOwnershipState: - description: 'AcceptOwnershipState: The accept ownership state of the resource.' - type: string - acceptOwnershipUrl: - description: 'AcceptOwnershipUrl: Url to accept ownership of the subscription.' - type: string - billingScope: - type: string - createdTime: - description: 'CreatedTime: Created Time' - type: string - displayName: - description: 'DisplayName: The display name of the subscription.' - type: string - managementGroupId: - description: 'ManagementGroupId: The Management Group Id.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the resource.' - type: string - resellerId: - description: 'ResellerId: Reseller Id' + provisionedBy: + description: 'ProvisionedBy: Azure offering managing this resource on-behalf-of customer.' type: string - subscriptionId: - description: 'SubscriptionId: Newly created subscription Id.' - type: string - subscriptionOwnerId: - description: 'SubscriptionOwnerId: Owner Id of the subscription' + provisionedByImmutableId: + description: 'ProvisionedByImmutableId: Immutable Id of azure offering managing this resource on-behalf-of customer.' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Tags for the subscription' - type: object - workload: - description: 'Workload: The workload type of the subscription. It can be either Production or DevTest.' + provisionedByResourceId: + description: 'ProvisionedByResourceId: Resource Id of azure offering managing this resource on-behalf-of customer.' type: string type: object + name: + description: 'Name: The name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: The resource provisioning state.' + type: string systemData: description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: @@ -22103,7 +77524,7 @@ spec: type: string type: object type: - description: 'Type: Resource type, Microsoft.Subscription/aliases.' + description: 'Type: The type of the resource.' type: string type: object type: object @@ -22124,14 +77545,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211001storage + name: v1api20230311storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211001.Alias + Storage version of v1api20230311.DataCollectionRuleAssociation Generator information: - - Generated from: /subscription/resource-manager/Microsoft.Subscription/stable/2021-10-01/subscriptions.json - - ARM URI: /providers/Microsoft.Subscription/aliases/{aliasName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRuleAssociations_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName} properties: apiVersion: description: |- @@ -22151,7 +77572,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211001.Alias_Spec + description: Storage version of v1api20230311.DataCollectionRuleAssociation_Spec properties: $propertyBag: additionalProperties: @@ -22165,9 +77586,51 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dataCollectionRuleReference: + description: 'DataCollectionRuleReference: The resource ID of the data collection rule that is to be associated.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + type: string operatorSpec: description: |- - Storage version of v1api20211001.AliasOperatorSpec + Storage version of v1api20230311.DataCollectionRuleAssociationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -22238,55 +77701,33 @@ spec: type: object originalVersion: type: string - properties: + owner: description: |- - Storage version of v1api20211001.PutAliasRequestProperties - Put subscription properties. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - description: |- - Storage version of v1api20211001.PutAliasRequestAdditionalProperties - Put subscription additional properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - managementGroupId: - type: string - subscriptionOwnerId: - type: string - subscriptionTenantId: - type: string - tags: - additionalProperties: - type: string - type: object - type: object - billingScope: - type: string - displayName: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - resellerId: + group: + description: Group is the Kubernetes group of the resource. type: string - subscriptionId: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - workload: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object + required: + - owner type: object status: - description: Storage version of v1api20211001.Alias_STATUS + description: |- + Storage version of v1api20230311.DataCollectionRuleAssociationProxyOnlyResource_STATUS + Definition of generic ARM proxy resource. properties: $propertyBag: additionalProperties: @@ -22338,14 +77779,20 @@ spec: - type type: object type: array - id: + dataCollectionEndpointId: type: string - name: + dataCollectionRuleId: type: string - properties: + description: + type: string + etag: + type: string + id: + type: string + metadata: description: |- - Storage version of v1api20211001.SubscriptionAliasResponseProperties_STATUS - Put subscription creation result properties. + Storage version of v1api20230311.Metadata_STATUS + Metadata about the resource properties: $propertyBag: additionalProperties: @@ -22354,36 +77801,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - acceptOwnershipState: - type: string - acceptOwnershipUrl: - type: string - billingScope: - type: string - createdTime: - type: string - displayName: + provisionedBy: type: string - managementGroupId: - type: string - provisioningState: - type: string - resellerId: - type: string - subscriptionId: - type: string - subscriptionOwnerId: + provisionedByImmutableId: type: string - tags: - additionalProperties: - type: string - type: object - workload: + provisionedByResourceId: type: string type: object + name: + type: string + provisioningState: + type: string systemData: description: |- - Storage version of v1api20211001.SystemData_STATUS + Storage version of v1api20230311.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -22420,11 +77851,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: apis.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: datacollectionrules.insights.azure.com spec: conversion: strategy: Webhook @@ -22437,12 +77868,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: apimanagement.azure.com + group: insights.azure.com names: - kind: Api - listKind: ApiList - plural: apis - singular: api + categories: + - azure + - insights + kind: DataCollectionRule + listKind: DataCollectionRuleList + plural: datacollectionrules + singular: datacollectionrule preserveUnknownFields: false scope: Namespaced versions: @@ -22459,13 +77893,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20230311 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRules_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName} properties: apiVersion: description: |- @@ -22486,81 +77920,35 @@ spec: type: object spec: properties: - apiRevision: - description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' - maxLength: 100 - minLength: 1 - type: string - apiRevisionDescription: - description: 'ApiRevisionDescription: Description of the API Revision.' - maxLength: 256 - type: string - apiType: - description: |- - ApiType: Type of API to create. - * `http` creates a REST API - * `soap` creates a SOAP pass-through API - * `websocket` creates websocket API - * `graphql` creates GraphQL API. - enum: - - graphql - - http - - soap - - websocket - type: string - apiVersion: - description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' - maxLength: 100 - type: string - apiVersionDescription: - description: 'ApiVersionDescription: Description of the API Version.' - maxLength: 256 - type: string - apiVersionSet: - description: 'ApiVersionSet: Version set details' + agentSettings: + description: 'AgentSettings: Agent settings used to modify agent behavior on a given host' properties: - description: - description: 'Description: Description of API Version Set.' - type: string - name: - description: 'Name: The display Name of the API Version Set.' - type: string - reference: - description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - enum: - - Header - - Query - - Segment - type: string + logs: + description: 'Logs: All the settings that are applicable to the logs agent (AMA)' + items: + description: A setting used to control an agent behavior on a host machine + properties: + name: + description: |- + Name: The name of the setting. + Must be part of the list of supported settings + enum: + - MaxDiskQuotaInMB + - UseTimeReceivedForForwardedEvents + type: string + value: + description: 'Value: The value of the setting' + type: string + type: object + type: array type: object - apiVersionSetReference: - description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that this rule can be used with.' properties: armId: description: |- @@ -22579,125 +77967,775 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - authenticationSettings: - description: 'AuthenticationSettings: Collection of authentication settings included into this API.' - properties: - oAuth2: - description: 'OAuth2: OAuth2 Authentication settings' - properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' + dataFlows: + description: 'DataFlows: The specification of data flows.' + items: + description: Definition of which streams are sent to which destinations. + properties: + builtInTransform: + description: 'BuiltInTransform: The builtIn transform to transform stream data' + type: string + captureOverflow: + description: 'CaptureOverflow: Flag to enable overflow column in LA destinations' + type: boolean + destinations: + description: 'Destinations: List of destinations for this data flow.' + items: type: string - scope: - description: 'Scope: operations scope.' + type: array + outputStream: + description: 'OutputStream: The output stream of the transform. Only required if the transform changes data to a different stream.' + type: string + streams: + description: 'Streams: List of streams for this data flow.' + items: + enum: + - Microsoft-Event + - Microsoft-InsightsMetrics + - Microsoft-Perf + - Microsoft-Syslog + - Microsoft-WindowsEvent type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform stream data.' + type: string + type: object + type: array + dataSources: + description: |- + DataSources: The specification of data sources. + This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned + endpoint. + properties: + dataImports: + description: 'DataImports: Specifications of pull based data sources' + properties: + eventHub: + description: 'EventHub: Definition of Event Hub configuration.' + properties: + consumerGroup: + description: 'ConsumerGroup: Event Hub consumer group name' + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + stream: + description: 'Stream: The stream to collect from EventHub' + type: string + type: object type: object - oAuth2AuthenticationSettings: - description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + extensions: + description: 'Extensions: The list of Azure VM extension data source configurations.' items: - description: API OAuth2 Authentication settings details. + description: |- + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' + extensionName: + description: 'ExtensionName: The name of the VM extension.' type: string - scope: - description: 'Scope: operations scope.' + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ExtensionSettings: The extension settings. The format is specific for particular extension.' + type: object + inputDataSources: + description: 'InputDataSources: The list of data sources this extension needs data from.' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-Event + - Microsoft-InsightsMetrics + - Microsoft-Perf + - Microsoft-Syslog + - Microsoft-WindowsEvent + type: string + type: array + required: + - extensionName type: object type: array - openid: - description: 'Openid: OpenID Connect Authentication Settings' - properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. + iisLogs: + description: 'IisLogs: The list of IIS logs source configurations.' + items: + description: Enables IIS logs to be collected by this data collection rule. + properties: + logDirectories: + description: 'LogDirectories: Absolute paths file location' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: IIS streams' + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + required: + - streams + type: object + type: array + logFiles: + description: 'LogFiles: The list of Log files source configurations.' + items: + description: Definition of which custom log files will be collected by this data collection rule + properties: + filePatterns: + description: 'FilePatterns: File Patterns where the log files are located' + items: + type: string + type: array + format: + description: 'Format: The data format of the log files' enum: - - authorizationHeader - - query + - json + - text type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' - type: string - type: object - openidAuthenticationSettings: - description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + settings: + description: 'Settings: The log files specific settings.' + properties: + text: + description: 'Text: Text settings' + properties: + recordStartTimestampFormat: + description: 'RecordStartTimestampFormat: One of the supported timestamp formats' + enum: + - dd/MMM/yyyy:HH:mm:ss zzz + - ddMMyy HH:mm:ss + - ISO 8601 + - M/D/YYYY HH:MM:SS AM/PM + - MMM d hh:mm:ss + - Mon DD, YYYY HH:MM:SS + - YYYY-MM-DD HH:MM:SS + - yyMMdd HH:mm:ss + - yyyy-MM-ddTHH:mm:ssK + type: string + required: + - recordStartTimestampFormat + type: object + type: object + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data source + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + required: + - filePatterns + - format + - streams + type: object + type: array + performanceCounters: + description: 'PerformanceCounters: The list of performance counter data source configurations.' items: - description: API OAuth2 Authentication settings details. + description: |- + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' + counterSpecifiers: + description: |- + CounterSpecifiers: A list of specifier names of the performance counters you want to collect. + Use a wildcard (*) to collect a counter for all instances. + To get a list of performance counters on Windows, run the command 'typeperf'. + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + samplingFrequencyInSeconds: + description: 'SamplingFrequencyInSeconds: The number of seconds between consecutive counter measurements (samples).' + type: integer + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. items: - description: Form of an authorization grant, which the client uses to request the access token. enum: - - authorizationHeader - - query + - Microsoft-InsightsMetrics + - Microsoft-Perf type: string type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + platformTelemetry: + description: 'PlatformTelemetry: The list of platform telemetry configurations' + items: + description: Definition of platform telemetry data source configuration + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of platform telemetry streams to collect' + items: + type: string + type: array + required: + - streams + type: object + type: array + prometheusForwarder: + description: 'PrometheusForwarder: The list of Prometheus forwarder data source configurations.' + items: + description: Definition of Prometheus metrics forwarding configuration. + properties: + labelIncludeFilter: + additionalProperties: + type: string + description: |- + LabelIncludeFilter: The list of label inclusion filters in the form of label "name-value" pairs. + Currently only one label is supported: 'microsoft_metrics_include_label'. + Label values are matched case-insensitively. + type: object + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of streams that this data source will be sent to.' + items: + enum: + - Microsoft-PrometheusMetrics + type: string + type: array + type: object + type: array + syslog: + description: 'Syslog: The list of Syslog data source configurations.' + items: + description: |- + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + facilityNames: + description: 'FacilityNames: The list of facility names.' + items: + enum: + - alert + - audit + - auth + - authpriv + - clock + - cron + - daemon + - ftp + - kern + - local0 + - local1 + - local2 + - local3 + - local4 + - local5 + - local6 + - local7 + - lpr + - mail + - mark + - news + - nopri + - ntp + - '*' + - syslog + - user + - uucp + type: string + type: array + logLevels: + description: 'LogLevels: The log levels to collect.' + items: + enum: + - Alert + - Critical + - Debug + - Emergency + - Error + - Info + - Notice + - '*' + - Warning + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-Syslog + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + windowsEventLogs: + description: 'WindowsEventLogs: The list of Windows Event Log data source configurations.' + items: + description: |- + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + enum: + - Microsoft-Event + - Microsoft-WindowsEvent + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + xPathQueries: + description: 'XPathQueries: A list of Windows Event Log queries in XPATH format.' + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + description: 'WindowsFirewallLogs: The list of Windows Firewall logs source configurations.' + items: + description: Enables Firewall logs to be collected by this data collection rule. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. type: string + profileFilter: + description: 'ProfileFilter: Firewall logs profile filter' + items: + enum: + - Domain + - Private + - Public + type: string + type: array + streams: + description: 'Streams: Firewall logs streams' + items: + type: string + type: array + required: + - streams type: object type: array type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ + description: + description: 'Description: Description of the data collection rule.' type: string - contact: - description: 'Contact: Contact information for the API.' + destinations: + description: 'Destinations: The specification of destinations.' properties: - email: - description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' - type: string - name: - description: 'Name: The identifying name of the contact person/organization' - type: string - url: - description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' - type: string + azureDataExplorer: + description: 'AzureDataExplorer: List of Azure Data Explorer destinations.' + items: + description: Azure Data Explorer (Adx) destination. + properties: + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the Adx resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureMonitorMetrics: + description: 'AzureMonitorMetrics: Azure Monitor Metrics destination.' + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + eventHubs: + description: 'EventHubs: List of Event Hubs destinations.' + items: + properties: + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + eventHubsDirect: + description: 'EventHubsDirect: List of Event Hubs Direct destinations.' + items: + properties: + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + logAnalytics: + description: 'LogAnalytics: List of Log Analytics destinations.' + items: + description: Log Analytics destination. + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + workspaceResourceReference: + description: 'WorkspaceResourceReference: The resource ID of the Log Analytics workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + microsoftFabric: + description: 'MicrosoftFabric: List of Microsoft Fabric destinations.' + items: + description: Microsoft Fabric destination (non-Azure). + properties: + artifactId: + description: 'ArtifactId: The artifact id of the Microsoft Fabric resource.' + type: string + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + ingestionUri: + description: 'IngestionUri: The ingestion uri of the Microsoft Fabric resource.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + tenantId: + description: 'TenantId: The tenant id of the Microsoft Fabric resource.' + type: string + type: object + type: array + monitoringAccounts: + description: 'MonitoringAccounts: List of monitoring account destinations.' + items: + description: Monitoring account destination. + properties: + accountResourceReference: + description: 'AccountResourceReference: The resource ID of the monitoring account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + storageAccounts: + description: 'StorageAccounts: List of storage accounts destinations.' + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageBlobsDirect: + description: |- + StorageBlobsDirect: List of Storage Blob Direct destinations. To be used only for sending data directly to store from + the agent. + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageTablesDirect: + description: 'StorageTablesDirect: List of Storage Table Direct destinations.' + items: + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + description: 'TableName: The name of the Storage Table.' + type: string + type: object + type: array type: object - description: - description: 'Description: Description of the API. May include HTML formatting tags.' - type: string - displayName: - description: 'DisplayName: API name. Must be 1 to 300 characters long.' - maxLength: 300 - minLength: 1 - type: string - format: - description: 'Format: Format of the Content in which the API is getting imported.' - enum: - - graphql-link - - openapi - - openapi+json - - openapi+json-link - - openapi-link - - swagger-json - - swagger-link-json - - wadl-link-json - - wadl-xml - - wsdl - - wsdl-link - type: string - isCurrent: - description: 'IsCurrent: Indicates if API revision is current api revision.' - type: boolean - license: - description: 'License: License information for the API.' + identity: + description: 'Identity: Managed service identity of the resource.' properties: - name: - description: 'Name: The license name used for the API' - type: string - url: - description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type type: object + kind: + description: 'Kind: The kind of the resource.' + enum: + - Linux + - Windows + type: string + location: + description: 'Location: The geo-location where the resource lives.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -22768,7 +78806,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -22777,189 +78815,107 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - path: - description: |- - Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service - instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public - URL for this API. - maxLength: 400 - minLength: 0 - type: string - protocols: - description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' - items: - enum: - - http - - https - - ws - - wss - type: string - type: array - serviceUrl: - description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' - maxLength: 2000 - minLength: 0 - type: string - sourceApiReference: - description: 'SourceApiReference: API identifier of the source API.' + references: + description: 'References: Defines all the references that may be used in other sections of the DCR' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + enrichmentData: + description: 'EnrichmentData: All the enrichment data sources referenced in data flows' + properties: + storageBlobs: + description: 'StorageBlobs: All the storage blobs used as enrichment data sources' + items: + properties: + blobUrl: + description: 'BlobUrl: Url of the storage blob' + type: string + lookupType: + description: 'LookupType: The type of lookup to perform on the blob' + enum: + - Cidr + - String + type: string + name: + description: 'Name: The name of the enrichment data source used as an alias when referencing this data source in data flows' + type: string + resourceReference: + description: 'ResourceReference: Resource Id of the storage account that hosts the blob' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object type: object - subscriptionKeyParameterNames: - description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' - properties: - header: - description: 'Header: Subscription key header name.' - type: string - query: - description: 'Query: Subscription key query string parameter name.' - type: string + streamDeclarations: + additionalProperties: + description: Declaration of a custom stream. + properties: + columns: + description: 'Columns: List of columns used by data in this stream.' + items: + description: Definition of custom data column. + properties: + name: + description: 'Name: The name of the column.' + type: string + type: + description: 'Type: The type of the column data.' + enum: + - boolean + - datetime + - dynamic + - int + - long + - real + - string + type: string + type: object + type: array + type: object + description: 'StreamDeclarations: Declaration of custom streams used in this rule.' type: object - subscriptionRequired: - description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' - type: boolean - termsOfServiceUrl: - description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' - type: string - translateRequiredQueryParameters: - description: |- - TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has - value 'template'. Possible values: 'template', 'query' - enum: - - query - - template - type: string - type: - description: 'Type: Type of API.' - enum: - - graphql - - http - - soap - - websocket - type: string - value: - description: 'Value: Content value when Importing an API.' - type: string - wsdlSelector: - description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' - properties: - wsdlEndpointName: - description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' - type: string - wsdlServiceName: - description: 'WsdlServiceName: Name of service to import from WSDL' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object required: + - location - owner - - path type: object status: + description: Definition of ARM tracked top level resource. properties: - apiRevision: - description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' - type: string - apiRevisionDescription: - description: 'ApiRevisionDescription: Description of the API Revision.' - type: string - apiVersion: - description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' - type: string - apiVersionDescription: - description: 'ApiVersionDescription: Description of the API Version.' - type: string - apiVersionSet: - description: 'ApiVersionSet: Version set details' - properties: - description: - description: 'Description: Description of API Version Set.' - type: string - id: - description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' - type: string - name: - description: 'Name: The display Name of the API Version Set.' - type: string - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - type: string - type: object - apiVersionSetId: - description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' - type: string - authenticationSettings: - description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + agentSettings: + description: 'AgentSettings: Agent settings used to modify agent behavior on a given host' properties: - oAuth2: - description: 'OAuth2: OAuth2 Authentication settings' - properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' - type: string - scope: - description: 'Scope: operations scope.' - type: string - type: object - oAuth2AuthenticationSettings: - description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + logs: + description: 'Logs: All the settings that are applicable to the logs agent (AMA)' items: - description: API OAuth2 Authentication settings details. + description: A setting used to control an agent behavior on a host machine properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' - type: string - scope: - description: 'Scope: operations scope.' - type: string - type: object - type: array - openid: - description: 'Openid: OpenID Connect Authentication Settings' - properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. + name: + description: |- + Name: The name of the setting. + Must be part of the list of supported settings type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' - type: string - type: object - openidAuthenticationSettings: - description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' - items: - description: API OAuth2 Authentication settings details. - properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. - type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' + value: + description: 'Value: The value of the setting' type: string type: object type: array @@ -23008,87 +78964,659 @@ spec: - type type: object type: array - contact: - description: 'Contact: Contact information for the API.' + dataCollectionEndpointId: + description: 'DataCollectionEndpointId: The resource ID of the data collection endpoint that this rule can be used with.' + type: string + dataFlows: + description: 'DataFlows: The specification of data flows.' + items: + description: Definition of which streams are sent to which destinations. + properties: + builtInTransform: + description: 'BuiltInTransform: The builtIn transform to transform stream data' + type: string + captureOverflow: + description: 'CaptureOverflow: Flag to enable overflow column in LA destinations' + type: boolean + destinations: + description: 'Destinations: List of destinations for this data flow.' + items: + type: string + type: array + outputStream: + description: 'OutputStream: The output stream of the transform. Only required if the transform changes data to a different stream.' + type: string + streams: + description: 'Streams: List of streams for this data flow.' + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform stream data.' + type: string + type: object + type: array + dataSources: + description: |- + DataSources: The specification of data sources. + This property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned + endpoint. properties: - email: - description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' - type: string - name: - description: 'Name: The identifying name of the contact person/organization' - type: string - url: - description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' - type: string + dataImports: + description: 'DataImports: Specifications of pull based data sources' + properties: + eventHub: + description: 'EventHub: Definition of Event Hub configuration.' + properties: + consumerGroup: + description: 'ConsumerGroup: Event Hub consumer group name' + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + stream: + description: 'Stream: The stream to collect from EventHub' + type: string + type: object + type: object + extensions: + description: 'Extensions: The list of Azure VM extension data source configurations.' + items: + description: |- + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. + properties: + extensionName: + description: 'ExtensionName: The name of the VM extension.' + type: string + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ExtensionSettings: The extension settings. The format is specific for particular extension.' + type: object + inputDataSources: + description: 'InputDataSources: The list of data sources this extension needs data from.' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + type: object + type: array + iisLogs: + description: 'IisLogs: The list of IIS logs source configurations.' + items: + description: Enables IIS logs to be collected by this data collection rule. + properties: + logDirectories: + description: 'LogDirectories: Absolute paths file location' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: IIS streams' + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + logFiles: + description: 'LogFiles: The list of Log files source configurations.' + items: + description: Definition of which custom log files will be collected by this data collection rule + properties: + filePatterns: + description: 'FilePatterns: File Patterns where the log files are located' + items: + type: string + type: array + format: + description: 'Format: The data format of the log files' + type: string + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + settings: + description: 'Settings: The log files specific settings.' + properties: + text: + description: 'Text: Text settings' + properties: + recordStartTimestampFormat: + description: 'RecordStartTimestampFormat: One of the supported timestamp formats' + type: string + type: object + type: object + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data source + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + performanceCounters: + description: 'PerformanceCounters: The list of performance counter data source configurations.' + items: + description: |- + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + counterSpecifiers: + description: |- + CounterSpecifiers: A list of specifier names of the performance counters you want to collect. + Use a wildcard (*) to collect a counter for all instances. + To get a list of performance counters on Windows, run the command 'typeperf'. + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + samplingFrequencyInSeconds: + description: 'SamplingFrequencyInSeconds: The number of seconds between consecutive counter measurements (samples).' + type: integer + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + platformTelemetry: + description: 'PlatformTelemetry: The list of platform telemetry configurations' + items: + description: Definition of platform telemetry data source configuration + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of platform telemetry streams to collect' + items: + type: string + type: array + type: object + type: array + prometheusForwarder: + description: 'PrometheusForwarder: The list of Prometheus forwarder data source configurations.' + items: + description: Definition of Prometheus metrics forwarding configuration. + properties: + labelIncludeFilter: + additionalProperties: + type: string + description: |- + LabelIncludeFilter: The list of label inclusion filters in the form of label "name-value" pairs. + Currently only one label is supported: 'microsoft_metrics_include_label'. + Label values are matched case-insensitively. + type: object + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: 'Streams: List of streams that this data source will be sent to.' + items: + type: string + type: array + type: object + type: array + syslog: + description: 'Syslog: The list of Syslog data source configurations.' + items: + description: |- + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + facilityNames: + description: 'FacilityNames: The list of facility names.' + items: + type: string + type: array + logLevels: + description: 'LogLevels: The log levels to collect.' + items: + type: string + type: array + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + type: object + type: array + windowsEventLogs: + description: 'WindowsEventLogs: The list of Windows Event Log data source configurations.' + items: + description: |- + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + streams: + description: |- + Streams: List of streams that this data source will be sent to. + A stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent + to. + items: + type: string + type: array + transformKql: + description: 'TransformKql: The KQL query to transform the data source.' + type: string + xPathQueries: + description: 'XPathQueries: A list of Windows Event Log queries in XPATH format.' + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + description: 'WindowsFirewallLogs: The list of Windows Firewall logs source configurations.' + items: + description: Enables Firewall logs to be collected by this data collection rule. + properties: + name: + description: |- + Name: A friendly name for the data source. + This name should be unique across all data sources (regardless of type) within the data collection rule. + type: string + profileFilter: + description: 'ProfileFilter: Firewall logs profile filter' + items: + type: string + type: array + streams: + description: 'Streams: Firewall logs streams' + items: + type: string + type: array + type: object + type: array type: object description: - description: 'Description: Description of the API. May include HTML formatting tags.' + description: 'Description: Description of the data collection rule.' type: string - displayName: - description: 'DisplayName: API name. Must be 1 to 300 characters long.' + destinations: + description: 'Destinations: The specification of destinations.' + properties: + azureDataExplorer: + description: 'AzureDataExplorer: List of Azure Data Explorer destinations.' + items: + description: Azure Data Explorer (Adx) destination. + properties: + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + ingestionUri: + description: 'IngestionUri: The ingestion uri of the Adx resource.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the Adx resource.' + type: string + type: object + type: array + azureMonitorMetrics: + description: 'AzureMonitorMetrics: Azure Monitor Metrics destination.' + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + eventHubs: + description: 'EventHubs: List of Event Hubs destinations.' + items: + properties: + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + eventHubsDirect: + description: 'EventHubsDirect: List of Event Hubs Direct destinations.' + items: + properties: + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + logAnalytics: + description: 'LogAnalytics: List of Log Analytics destinations.' + items: + description: Log Analytics destination. + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + workspaceId: + description: 'WorkspaceId: The Customer ID of the Log Analytics workspace.' + type: string + workspaceResourceId: + description: 'WorkspaceResourceId: The resource ID of the Log Analytics workspace.' + type: string + type: object + type: array + microsoftFabric: + description: 'MicrosoftFabric: List of Microsoft Fabric destinations.' + items: + description: Microsoft Fabric destination (non-Azure). + properties: + artifactId: + description: 'ArtifactId: The artifact id of the Microsoft Fabric resource.' + type: string + databaseName: + description: 'DatabaseName: The name of the database to which data will be ingested.' + type: string + ingestionUri: + description: 'IngestionUri: The ingestion uri of the Microsoft Fabric resource.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + tenantId: + description: 'TenantId: The tenant id of the Microsoft Fabric resource.' + type: string + type: object + type: array + monitoringAccounts: + description: 'MonitoringAccounts: List of monitoring account destinations.' + items: + description: Monitoring account destination. + properties: + accountId: + description: 'AccountId: The immutable ID of the account.' + type: string + accountResourceId: + description: 'AccountResourceId: The resource ID of the monitoring account.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + type: object + type: array + storageAccounts: + description: 'StorageAccounts: List of storage accounts destinations.' + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account.' + type: string + type: object + type: array + storageBlobsDirect: + description: |- + StorageBlobsDirect: List of Storage Blob Direct destinations. To be used only for sending data directly to store from + the agent. + items: + properties: + containerName: + description: 'ContainerName: The container name of the Storage Blob.' + type: string + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account.' + type: string + type: object + type: array + storageTablesDirect: + description: 'StorageTablesDirect: List of Storage Table Direct destinations.' + items: + properties: + name: + description: |- + Name: A friendly name for the destination. + This name should be unique across all destinations (regardless of type) within the data collection rule. + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account.' + type: string + tableName: + description: 'TableName: The name of the Storage Table.' + type: string + type: object + type: array + type: object + endpoints: + description: 'Endpoints: Defines the ingestion endpoints to send data to via this rule.' + properties: + logsIngestion: + description: 'LogsIngestion: The ingestion endpoint for logs' + type: string + metricsIngestion: + description: 'MetricsIngestion: The ingestion endpoint for metrics' + type: string + type: object + etag: + description: 'Etag: Resource entity tag (ETag).' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Fully qualified ID of the resource.' type: string - isCurrent: - description: 'IsCurrent: Indicates if API revision is current api revision.' - type: boolean - isOnline: - description: 'IsOnline: Indicates if API revision is accessible via the gateway.' - type: boolean - license: - description: 'License: License information for the API.' + identity: + description: 'Identity: Managed service identity of the resource.' properties: - name: - description: 'Name: The license name used for the API' + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. type: string - url: - description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object type: object - name: - description: 'Name: The name of the resource' + immutableId: + description: 'ImmutableId: The immutable ID of this data collection rule. This property is READ-ONLY.' type: string - path: - description: |- - Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service - instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public - URL for this API. + kind: + description: 'Kind: The kind of the resource.' type: string - properties_type: - description: 'PropertiesType: Type of API.' + location: + description: 'Location: The geo-location where the resource lives.' type: string - protocols: - description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' - items: - type: string - type: array - serviceUrl: - description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' + metadata: + description: 'Metadata: Metadata about the resource' + properties: + provisionedBy: + description: 'ProvisionedBy: Azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByImmutableId: + description: 'ProvisionedByImmutableId: Immutable Id of azure offering managing this resource on-behalf-of customer.' + type: string + provisionedByResourceId: + description: 'ProvisionedByResourceId: Resource Id of azure offering managing this resource on-behalf-of customer.' + type: string + type: object + name: + description: 'Name: The name of the resource.' type: string - sourceApiId: - description: 'SourceApiId: API identifier of the source API.' + provisioningState: + description: 'ProvisioningState: The resource provisioning state.' type: string - subscriptionKeyParameterNames: - description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + references: + description: 'References: Defines all the references that may be used in other sections of the DCR' properties: - header: - description: 'Header: Subscription key header name.' + enrichmentData: + description: 'EnrichmentData: All the enrichment data sources referenced in data flows' + properties: + storageBlobs: + description: 'StorageBlobs: All the storage blobs used as enrichment data sources' + items: + properties: + blobUrl: + description: 'BlobUrl: Url of the storage blob' + type: string + lookupType: + description: 'LookupType: The type of lookup to perform on the blob' + type: string + name: + description: 'Name: The name of the enrichment data source used as an alias when referencing this data source in data flows' + type: string + resourceId: + description: 'ResourceId: Resource Id of the storage account that hosts the blob' + type: string + type: object + type: array + type: object + type: object + streamDeclarations: + additionalProperties: + description: Declaration of a custom stream. + properties: + columns: + description: 'Columns: List of columns used by data in this stream.' + items: + description: Definition of custom data column. + properties: + name: + description: 'Name: The name of the column.' + type: string + type: + description: 'Type: The type of the column data.' + type: string + type: object + type: array + type: object + description: 'StreamDeclarations: Declaration of custom streams used in this rule.' + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - query: - description: 'Query: Subscription key query string parameter name.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - subscriptionRequired: - description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' - type: boolean - termsOfServiceUrl: - description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource.' type: string type: object type: object @@ -23109,14 +79637,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20230311storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.Api + Storage version of v1api20230311.DataCollectionRule Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2023-03-11/dataCollectionRules_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName} properties: apiVersion: description: |- @@ -23136,7 +79664,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.Api_Spec + description: Storage version of v1api20230311.DataCollectionRule_Spec properties: $propertyBag: additionalProperties: @@ -23145,20 +79673,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - apiRevision: - type: string - apiRevisionDescription: - type: string - apiType: - type: string - apiVersion: - type: string - apiVersionDescription: - type: string - apiVersionSet: + agentSettings: description: |- - Storage version of v1api20220801.ApiVersionSetContractDetails - An API Version Set contains the common configuration for a set of API Versions relating + Storage version of v1api20230311.AgentSettingsSpec + An agent setting properties: $propertyBag: additionalProperties: @@ -23167,39 +79685,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: - type: string - name: - type: string - reference: - description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string + logs: + items: + description: |- + Storage version of v1api20230311.AgentSetting + A setting used to control an agent behavior on a host machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array type: object - apiVersionSetReference: - description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dataCollectionEndpointReference: + description: 'DataCollectionEndpointReference: The resource ID of the data collection endpoint that this rule can be used with.' properties: armId: description: |- @@ -23218,10 +79730,41 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - authenticationSettings: + dataFlows: + items: + description: |- + Storage version of v1api20230311.DataFlow + Definition of which streams are sent to which destinations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + builtInTransform: + type: string + captureOverflow: + type: boolean + destinations: + items: + type: string + type: array + outputStream: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + dataSources: description: |- - Storage version of v1api20220801.AuthenticationSettingsContract - API Authentication Settings. + Storage version of v1api20230311.DataSourcesSpec + Specification of data sources that will be collected. properties: $propertyBag: additionalProperties: @@ -23230,28 +79773,555 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - oAuth2: + dataImports: + description: Storage version of v1api20230311.DataImportSources + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHub: + description: Storage version of v1api20230311.EventHubDataSource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + name: + type: string + stream: + type: string + type: object + type: object + extensions: + items: + description: |- + Storage version of v1api20230311.ExtensionDataSource + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + extensionName: + type: string + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + inputDataSources: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + iisLogs: + items: + description: |- + Storage version of v1api20230311.IisLogsDataSource + Enables IIS logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logDirectories: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + logFiles: + items: + description: |- + Storage version of v1api20230311.LogFilesDataSource + Definition of which custom log files will be collected by this data collection rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + filePatterns: + items: + type: string + type: array + format: + type: string + name: + type: string + settings: + description: |- + Storage version of v1api20230311.LogFileSettings + Settings for different log file formats + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + text: + description: |- + Storage version of v1api20230311.LogFileTextSettings + Settings for text log files + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + recordStartTimestampFormat: + type: string + type: object + type: object + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + performanceCounters: + items: + description: |- + Storage version of v1api20230311.PerfCounterDataSource + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + counterSpecifiers: + items: + type: string + type: array + name: + type: string + samplingFrequencyInSeconds: + type: integer + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + platformTelemetry: + items: + description: |- + Storage version of v1api20230311.PlatformTelemetryDataSource + Definition of platform telemetry data source configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + prometheusForwarder: + items: + description: |- + Storage version of v1api20230311.PrometheusForwarderDataSource + Definition of Prometheus metrics forwarding configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + labelIncludeFilter: + additionalProperties: + type: string + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + syslog: + items: + description: |- + Storage version of v1api20230311.SyslogDataSource + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + facilityNames: + items: + type: string + type: array + logLevels: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + windowsEventLogs: + items: + description: |- + Storage version of v1api20230311.WindowsEventLogDataSource + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + xPathQueries: + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + items: + description: |- + Storage version of v1api20230311.WindowsFirewallLogsDataSource + Enables Firewall logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + profileFilter: + items: + type: string + type: array + streams: + items: + type: string + type: array + type: object + type: array + type: object + description: + type: string + destinations: + description: |- + Storage version of v1api20230311.DestinationsSpec + Specification of destinations that can be used in data flows. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220801.OAuth2AuthenticationSettingsContract - API OAuth2 Authentication settings details. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDataExplorer: + items: + description: |- + Storage version of v1api20230311.AdxDestination + Azure Data Explorer (Adx) destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + name: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the Adx resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + azureMonitorMetrics: + description: |- + Storage version of v1api20230311.AzureMonitorMetricsDestination + Azure Monitor Metrics destination. properties: $propertyBag: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationServerId: - type: string - scope: - type: string - type: object - oAuth2AuthenticationSettings: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + eventHubs: + items: + description: Storage version of v1api20230311.EventHubDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + eventHubsDirect: + items: + description: Storage version of v1api20230311.EventHubDirectDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + logAnalytics: + items: + description: |- + Storage version of v1api20230311.LogAnalyticsDestination + Log Analytics destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + workspaceResourceReference: + description: 'WorkspaceResourceReference: The resource ID of the Log Analytics workspace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + microsoftFabric: + items: + description: |- + Storage version of v1api20230311.MicrosoftFabricDestination + Microsoft Fabric destination (non-Azure). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactId: + type: string + databaseName: + type: string + ingestionUri: + type: string + name: + type: string + tenantId: + type: string + type: object + type: array + monitoringAccounts: + items: + description: |- + Storage version of v1api20230311.MonitoringAccountDestination + Monitoring account destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountResourceReference: + description: 'AccountResourceReference: The resource ID of the monitoring account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + name: + type: string + type: object + type: array + storageAccounts: items: - description: |- - Storage version of v1api20220801.OAuth2AuthenticationSettingsContract - API OAuth2 Authentication settings details. + description: Storage version of v1api20230311.StorageBlobDestination properties: $propertyBag: additionalProperties: @@ -23260,36 +80330,72 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationServerId: + containerName: type: string - scope: + name: type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array - openid: - description: |- - Storage version of v1api20220801.OpenIdAuthenticationSettingsContract - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: + storageBlobsDirect: + items: + description: Storage version of v1api20230311.StorageBlobDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bearerTokenSendingMethods: - items: + name: type: string - type: array - openidProviderId: - type: string - type: object - openidAuthenticationSettings: + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + storageTablesDirect: items: - description: |- - Storage version of v1api20220801.OpenIdAuthenticationSettingsContract - API OAuth2 Authentication settings details. + description: Storage version of v1api20230311.StorageTableDestination properties: $propertyBag: additionalProperties: @@ -23298,24 +80404,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bearerTokenSendingMethods: - items: - type: string - type: array - openidProviderId: + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: type: string type: object type: array type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - contact: + identity: description: |- - Storage version of v1api20220801.ApiContactInformation - API contact information + Storage version of v1api20230311.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -23324,41 +80443,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: - type: string - name: - type: string - url: + type: type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230311.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - description: - type: string - displayName: + kind: type: string - format: + location: type: string - isCurrent: - type: boolean - license: - description: |- - Storage version of v1api20220801.ApiLicenseInformation - API license information - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - url: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20220801.ApiOperatorSpec + Storage version of v1api20230311.DataCollectionRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -23433,7 +80562,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -23442,38 +80571,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - path: - type: string - protocols: - items: - type: string - type: array - serviceUrl: - type: string - sourceApiReference: - description: 'SourceApiReference: API identifier of the source API.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - subscriptionKeyParameterNames: + references: description: |- - Storage version of v1api20220801.SubscriptionKeyParameterNamesContract - Subscription key parameter names details. + Storage version of v1api20230311.ReferencesSpec + This section defines all the references that may be used in other sections of the DCR properties: $propertyBag: additionalProperties: @@ -23482,41 +80583,104 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - header: - type: string - query: - type: string - type: object - subscriptionRequired: - type: boolean - termsOfServiceUrl: - type: string - translateRequiredQueryParameters: - type: string - type: - type: string - value: - type: string - wsdlSelector: - description: Storage version of v1api20220801.ApiCreateOrUpdateProperties_WsdlSelector - properties: - $propertyBag: - additionalProperties: - type: string + enrichmentData: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230311.EnrichmentData + All the enrichment data sources referenced in data flows + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlobs: + items: + description: Storage version of v1api20230311.StorageBlob + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUrl: + type: string + lookupType: + type: string + name: + type: string + resourceReference: + description: 'ResourceReference: Resource Id of the storage account that hosts the blob' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - wsdlEndpointName: - type: string - wsdlServiceName: - type: string + type: object + streamDeclarations: + additionalProperties: + description: |- + Storage version of v1api20230311.StreamDeclaration + Declaration of a custom stream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + columns: + items: + description: |- + Storage version of v1api20230311.ColumnDefinition + Definition of custom data column. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20220801.Api_STATUS + description: |- + Storage version of v1api20230311.DataCollectionRuleResource_STATUS + Definition of ARM tracked top level resource. properties: $propertyBag: additionalProperties: @@ -23525,18 +80689,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - apiRevision: - type: string - apiRevisionDescription: - type: string - apiVersion: - type: string - apiVersionDescription: - type: string - apiVersionSet: + agentSettings: description: |- - Storage version of v1api20220801.ApiVersionSetContractDetails_STATUS - An API Version Set contains the common configuration for a set of API Versions relating + Storage version of v1api20230311.AgentSettingsSpec_STATUS + An agent setting properties: $propertyBag: additionalProperties: @@ -23545,25 +80701,106 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: - type: string - id: - type: string - name: - type: string - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string + logs: + items: + description: |- + Storage version of v1api20230311.AgentSetting_STATUS + A setting used to control an agent behavior on a host machine + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array type: object - apiVersionSetId: + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + dataCollectionEndpointId: type: string - authenticationSettings: + dataFlows: + items: + description: |- + Storage version of v1api20230311.DataFlow_STATUS + Definition of which streams are sent to which destinations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + builtInTransform: + type: string + captureOverflow: + type: boolean + destinations: + items: + type: string + type: array + outputStream: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + dataSources: description: |- - Storage version of v1api20220801.AuthenticationSettingsContract_STATUS - API Authentication Settings. + Storage version of v1api20230311.DataSourcesSpec_STATUS + Specification of data sources that will be collected. properties: $propertyBag: additionalProperties: @@ -23572,10 +80809,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - oAuth2: - description: |- - Storage version of v1api20220801.OAuth2AuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. + dataImports: + description: Storage version of v1api20230311.DataImportSources_STATUS properties: $propertyBag: additionalProperties: @@ -23584,16 +80819,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationServerId: - type: string - scope: - type: string + eventHub: + description: Storage version of v1api20230311.EventHubDataSource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + name: + type: string + stream: + type: string + type: object type: object - oAuth2AuthenticationSettings: + extensions: items: description: |- - Storage version of v1api20220801.OAuth2AuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. + Storage version of v1api20230311.ExtensionDataSource_STATUS + Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor + Agent. + Collected from either Windows and Linux machines, depending on which extension is defined. properties: $propertyBag: additionalProperties: @@ -23602,16 +80852,313 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationServerId: + extensionName: type: string - scope: + extensionSettings: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + inputDataSources: + items: + type: string + type: array + name: type: string + streams: + items: + type: string + type: array type: object type: array - openid: + iisLogs: + items: + description: |- + Storage version of v1api20230311.IisLogsDataSource_STATUS + Enables IIS logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logDirectories: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + logFiles: + items: + description: |- + Storage version of v1api20230311.LogFilesDataSource_STATUS + Definition of which custom log files will be collected by this data collection rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + filePatterns: + items: + type: string + type: array + format: + type: string + name: + type: string + settings: + description: |- + Storage version of v1api20230311.LogFileSettings_STATUS + Settings for different log file formats + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + text: + description: |- + Storage version of v1api20230311.LogFileTextSettings_STATUS + Settings for text log files + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + recordStartTimestampFormat: + type: string + type: object + type: object + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + performanceCounters: + items: + description: |- + Storage version of v1api20230311.PerfCounterDataSource_STATUS + Definition of which performance counters will be collected and how they will be collected by this data collection + rule. + Collected from both Windows and Linux machines where the counter is present. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + counterSpecifiers: + items: + type: string + type: array + name: + type: string + samplingFrequencyInSeconds: + type: integer + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + platformTelemetry: + items: + description: |- + Storage version of v1api20230311.PlatformTelemetryDataSource_STATUS + Definition of platform telemetry data source configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + prometheusForwarder: + items: + description: |- + Storage version of v1api20230311.PrometheusForwarderDataSource_STATUS + Definition of Prometheus metrics forwarding configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + labelIncludeFilter: + additionalProperties: + type: string + type: object + name: + type: string + streams: + items: + type: string + type: array + type: object + type: array + syslog: + items: + description: |- + Storage version of v1api20230311.SyslogDataSource_STATUS + Definition of which syslog data will be collected and how it will be collected. + Only collected from Linux machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + facilityNames: + items: + type: string + type: array + logLevels: + items: + type: string + type: array + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + type: object + type: array + windowsEventLogs: + items: + description: |- + Storage version of v1api20230311.WindowsEventLogDataSource_STATUS + Definition of which Windows Event Log events will be collected and how they will be collected. + Only collected from + Windows machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + streams: + items: + type: string + type: array + transformKql: + type: string + xPathQueries: + items: + type: string + type: array + type: object + type: array + windowsFirewallLogs: + items: + description: |- + Storage version of v1api20230311.WindowsFirewallLogsDataSource_STATUS + Enables Firewall logs to be collected by this data collection rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + profileFilter: + items: + type: string + type: array + streams: + items: + type: string + type: array + type: object + type: array + type: object + description: + type: string + destinations: + description: |- + Storage version of v1api20230311.DestinationsSpec_STATUS + Specification of destinations that can be used in data flows. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220801.OpenIdAuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureDataExplorer: + items: + description: |- + Storage version of v1api20230311.AdxDestination_STATUS + Azure Data Explorer (Adx) destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + databaseName: + type: string + ingestionUri: + type: string + name: + type: string + resourceId: + type: string + type: object + type: array + azureMonitorMetrics: + description: |- + Storage version of v1api20230311.AzureMonitorMetricsDestination_STATUS + Azure Monitor Metrics destination. properties: $propertyBag: additionalProperties: @@ -23620,18 +81167,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bearerTokenSendingMethods: - items: - type: string - type: array - openidProviderId: + name: type: string type: object - openidAuthenticationSettings: + eventHubs: items: - description: |- - Storage version of v1api20220801.OpenIdAuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. + description: Storage version of v1api20230311.EventHubDestination_STATUS properties: $propertyBag: additionalProperties: @@ -23640,62 +81181,158 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bearerTokenSendingMethods: - items: + eventHubResourceId: + type: string + name: + type: string + type: object + type: array + eventHubsDirect: + items: + description: Storage version of v1api20230311.EventHubDirectDestination_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: array - openidProviderId: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubResourceId: + type: string + name: type: string type: object type: array - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + logAnalytics: + items: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + Storage version of v1api20230311.LogAnalyticsDestination_STATUS + Log Analytics destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + workspaceId: + type: string + workspaceResourceId: + type: string + type: object + type: array + microsoftFabric: + items: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + Storage version of v1api20230311.MicrosoftFabricDestination_STATUS + Microsoft Fabric destination (non-Azure). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactId: + type: string + databaseName: + type: string + ingestionUri: + type: string + name: + type: string + tenantId: + type: string + type: object + type: array + monitoringAccounts: + items: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - contact: + Storage version of v1api20230311.MonitoringAccountDestination_STATUS + Monitoring account destination. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountId: + type: string + accountResourceId: + type: string + name: + type: string + type: object + type: array + storageAccounts: + items: + description: Storage version of v1api20230311.StorageBlobDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + storageAccountResourceId: + type: string + type: object + type: array + storageBlobsDirect: + items: + description: Storage version of v1api20230311.StorageBlobDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containerName: + type: string + name: + type: string + storageAccountResourceId: + type: string + type: object + type: array + storageTablesDirect: + items: + description: Storage version of v1api20230311.StorageTableDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + storageAccountResourceId: + type: string + tableName: + type: string + type: object + type: array + type: object + endpoints: description: |- - Storage version of v1api20220801.ApiContactInformation_STATUS - API contact information + Storage version of v1api20230311.EndpointsSpec_STATUS + This defines all the ingestion endpoints that can be used by this rule properties: $propertyBag: additionalProperties: @@ -23704,27 +81341,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: + logsIngestion: type: string - name: - type: string - url: + metricsIngestion: type: string type: object - description: - type: string - displayName: + etag: type: string id: type: string - isCurrent: - type: boolean - isOnline: - type: boolean - license: + identity: description: |- - Storage version of v1api20220801.ApiLicenseInformation_STATUS - API license information + Storage version of v1api20230311.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -23733,29 +81362,65 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + principalId: type: string - url: + tenantId: type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230311.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - name: + immutableId: type: string - path: + kind: type: string - properties_type: + location: type: string - protocols: - items: - type: string - type: array - serviceUrl: + metadata: + description: |- + Storage version of v1api20230311.Metadata_STATUS + Metadata about the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + provisionedBy: + type: string + provisionedByImmutableId: + type: string + provisionedByResourceId: + type: string + type: object + name: type: string - sourceApiId: + provisioningState: type: string - subscriptionKeyParameterNames: + references: description: |- - Storage version of v1api20220801.SubscriptionKeyParameterNamesContract_STATUS - Subscription key parameter names details. + Storage version of v1api20230311.ReferencesSpec_STATUS + This section defines all the references that may be used in other sections of the DCR properties: $propertyBag: additionalProperties: @@ -23764,15 +81429,104 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - header: + enrichmentData: + description: |- + Storage version of v1api20230311.EnrichmentData_STATUS + All the enrichment data sources referenced in data flows + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlobs: + items: + description: Storage version of v1api20230311.StorageBlob_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUrl: + type: string + lookupType: + type: string + name: + type: string + resourceId: + type: string + type: object + type: array + type: object + type: object + streamDeclarations: + additionalProperties: + description: |- + Storage version of v1api20230311.StreamDeclaration_STATUS + Declaration of a custom stream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + columns: + items: + description: |- + Storage version of v1api20230311.ColumnDefinition_STATUS + Definition of custom data column. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + systemData: + description: |- + Storage version of v1api20230311.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: type: string - query: + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - subscriptionRequired: - type: boolean - termsOfServiceUrl: - type: string + tags: + additionalProperties: + type: string + type: object type: type: string type: object @@ -23781,6 +81535,41 @@ spec: storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dataconnections.kusto.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: kusto.azure.com + names: + categories: + - azure + - kusto + kind: DataConnection + listKind: DataConnectionList + plural: dataconnections + singular: dataconnection + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -23794,13 +81583,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20230815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} properties: apiVersion: description: |- @@ -23821,50 +81610,53 @@ spec: type: object spec: properties: - apiRevision: - description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' - maxLength: 100 - minLength: 1 - type: string - apiRevisionDescription: - description: 'ApiRevisionDescription: Description of the API Revision.' - maxLength: 256 - type: string - apiType: + azureName: description: |- - ApiType: Type of API to create. - * `http` creates a REST API - * `soap` creates a SOAP pass-through API - * `websocket` creates websocket API - * `graphql` creates GraphQL API. - New types can be added in the future. - enum: - - graphql - - grpc - - http - - odata - - soap - - websocket - type: string - apiVersion: - description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' - maxLength: 100 - type: string - apiVersionDescription: - description: 'ApiVersionDescription: Description of the API Version.' - maxLength: 256 + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ type: string - apiVersionSet: - description: 'ApiVersionSet: Version set details' + cosmosDbDataConnection: + description: 'CosmosDb: Mutually exclusive with all other properties' properties: - description: - description: 'Description: Description of API Version Set.' + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' type: string - name: - description: 'Name: The display Name of the API Version Set.' + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' type: string - reference: - description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - CosmosDb + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. properties: armId: description: |- @@ -23883,162 +81675,377 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + required: + - cosmosDbAccountResourceReference + - cosmosDbContainer + - cosmosDbDatabase + - kind + - managedIdentityResourceReference + - tableName + type: object + eventGridDataConnection: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' enum: - - Header - - Query - - Segment + - Microsoft.Storage.BlobCreated + - Microsoft.Storage.BlobRenamed type: string - type: object - apiVersionSetReference: - description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' type: string - group: - description: Group is the Kubernetes group of the resource. + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean kind: - description: Kind is the Kubernetes kind of the resource. + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventGrid type: string - name: - description: Name is the Kubernetes name of the resource. + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + - storageAccountResourceReference type: object - authenticationSettings: - description: 'AuthenticationSettings: Collection of authentication settings included into this API.' + eventHubDataConnection: + description: 'EventHub: Mutually exclusive with all other properties' properties: - oAuth2: - description: 'OAuth2: OAuth2 Authentication settings' + compression: + description: 'Compression: The event hub messages compression type' + enum: + - GZip + - None + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scope: - description: 'Scope: operations scope.' + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - oAuth2AuthenticationSettings: - description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' items: - description: API OAuth2 Authentication settings details. - properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' - type: string - scope: - description: 'Scope: operations scope.' - type: string - type: object + type: string type: array - openid: - description: 'Openid: OpenID Connect Authentication Settings' + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventHub + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. - enum: - - authorizationHeader - - query - type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - openidAuthenticationSettings: - description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' - items: - description: API OAuth2 Authentication settings details. - properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. - enum: - - authorizationHeader - - query - type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' - type: string - type: object - type: array - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ - type: string - contact: - description: 'Contact: Contact information for the API.' - properties: - email: - description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. type: string - name: - description: 'Name: The identifying name of the contact person/organization' + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. type: string - url: - description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' type: string + required: + - consumerGroup + - eventHubResourceReference + - kind type: object - description: - description: 'Description: Description of the API. May include HTML formatting tags.' - type: string - displayName: - description: 'DisplayName: API name. Must be 1 to 300 characters long.' - maxLength: 300 - minLength: 1 - type: string - format: - description: 'Format: Format of the Content in which the API is getting imported. New formats can be added in the future' - enum: - - graphql-link - - grpc - - grpc-link - - odata - - odata-link - - openapi - - openapi+json - - openapi+json-link - - openapi-link - - swagger-json - - swagger-link-json - - wadl-link-json - - wadl-xml - - wsdl - - wsdl-link - type: string - isCurrent: - description: 'IsCurrent: Indicates if API revision is current api revision.' - type: boolean - license: - description: 'License: License information for the API.' + iotHubDataConnection: + description: 'IotHub: Mutually exclusive with all other properties' properties: - name: - description: 'Name: The license name used for the API' + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' type: string - url: - description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - IotHub + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - iotHubResourceReference + - kind + - sharedAccessPolicyName type: object operatorSpec: description: |- @@ -24110,7 +82117,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a kusto.azure.com/Database resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -24119,195 +82126,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - path: - description: |- - Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service - instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public - URL for this API. - maxLength: 400 - minLength: 0 - type: string - protocols: - description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' - items: - enum: - - http - - https - - ws - - wss - type: string - type: array - serviceUrl: - description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' - maxLength: 2000 - minLength: 0 - type: string - sourceApiReference: - description: 'SourceApiReference: API identifier of the source API.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - subscriptionKeyParameterNames: - description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' - properties: - header: - description: 'Header: Subscription key header name.' - type: string - query: - description: 'Query: Subscription key query string parameter name.' - type: string - type: object - subscriptionRequired: - description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' - type: boolean - termsOfServiceUrl: - description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' - type: string - translateRequiredQueryParameters: - description: |- - TranslateRequiredQueryParameters: Strategy of translating required query parameters to template ones. By default has - value 'template'. Possible values: 'template', 'query' - enum: - - query - - template - type: string - type: - description: 'Type: Type of API.' - enum: - - graphql - - grpc - - http - - odata - - soap - - websocket - type: string - value: - description: 'Value: Content value when Importing an API.' - type: string - wsdlSelector: - description: 'WsdlSelector: Criteria to limit import of WSDL to a subset of the document.' - properties: - wsdlEndpointName: - description: 'WsdlEndpointName: Name of endpoint(port) to import from WSDL' - type: string - wsdlServiceName: - description: 'WsdlServiceName: Name of service to import from WSDL' - type: string - type: object required: - owner - - path type: object status: properties: - apiRevision: - description: 'ApiRevision: Describes the revision of the API. If no value is provided, default revision 1 is created' - type: string - apiRevisionDescription: - description: 'ApiRevisionDescription: Description of the API Revision.' - type: string - apiVersion: - description: 'APIVersion: Indicates the version identifier of the API if the API is versioned' - type: string - apiVersionDescription: - description: 'ApiVersionDescription: Description of the API Version.' - type: string - apiVersionSet: - description: 'ApiVersionSet: Version set details' - properties: - description: - description: 'Description: Description of API Version Set.' - type: string - id: - description: 'Id: Identifier for existing API Version Set. Omit this value to create a new Version Set.' - type: string - name: - description: 'Name: The display Name of the API Version Set.' - type: string - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - type: string - type: object - apiVersionSetId: - description: 'ApiVersionSetId: A resource identifier for the related ApiVersionSet.' - type: string - authenticationSettings: - description: 'AuthenticationSettings: Collection of authentication settings included into this API.' - properties: - oAuth2: - description: 'OAuth2: OAuth2 Authentication settings' - properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' - type: string - scope: - description: 'Scope: operations scope.' - type: string - type: object - oAuth2AuthenticationSettings: - description: 'OAuth2AuthenticationSettings: Collection of OAuth2 authentication settings included into this API.' - items: - description: API OAuth2 Authentication settings details. - properties: - authorizationServerId: - description: 'AuthorizationServerId: OAuth authorization server identifier.' - type: string - scope: - description: 'Scope: operations scope.' - type: string - type: object - type: array - openid: - description: 'Openid: OpenID Connect Authentication Settings' - properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. - type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' - type: string - type: object - openidAuthenticationSettings: - description: 'OpenidAuthenticationSettings: Collection of Open ID Connect authentication settings included into this API.' - items: - description: API OAuth2 Authentication settings details. - properties: - bearerTokenSendingMethods: - description: 'BearerTokenSendingMethods: How to send token to the server.' - items: - description: Form of an authorization grant, which the client uses to request the access token. - type: string - type: array - openidProviderId: - description: 'OpenidProviderId: OAuth authorization server identifier.' - type: string - type: object - type: array - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -24352,90 +82175,244 @@ spec: - type type: object type: array - contact: - description: 'Contact: Contact information for the API.' + cosmosDb: + description: 'CosmosDb: Mutually exclusive with all other properties' properties: - email: - description: 'Email: The email address of the contact person/organization. MUST be in the format of an email address' + cosmosDbAccountResourceId: + description: 'CosmosDbAccountResourceId: The resource ID of the Cosmos DB account used to create the data connection.' type: string - name: - description: 'Name: The identifying name of the contact person/organization' + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' type: string - url: - description: 'Url: The URL pointing to the contact information. MUST be in the format of a URL' + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managed identity resource.' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + type: string + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object - description: - description: 'Description: Description of the API. May include HTML formatting tags.' - type: string - displayName: - description: 'DisplayName: API name. Must be 1 to 300 characters long.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - isCurrent: - description: 'IsCurrent: Indicates if API revision is current api revision.' - type: boolean - isOnline: - description: 'IsOnline: Indicates if API revision is accessible via the gateway.' - type: boolean - license: - description: 'License: License information for the API.' + eventGrid: + description: 'EventGrid: Mutually exclusive with all other properties' properties: - name: - description: 'Name: The license name used for the API' + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' type: string - url: - description: 'Url: A URL to the license used for the API. MUST be in the format of a URL' + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventGridResourceId: + description: 'EventGridResourceId: The resource ID of the event grid that is subscribed to the storage account events.' + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID where the event grid is configured to send events.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub and storage account. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account where the data resides.' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object - name: - description: 'Name: The name of the resource' - type: string - path: - description: |- - Path: Relative URL uniquely identifying this API and all of its resource paths within the API Management service - instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public - URL for this API. - type: string - properties_type: - description: 'PropertiesType: Type of API.' - type: string - protocols: - description: 'Protocols: Describes on which protocols the operations in this API can be invoked.' - items: - type: string - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state' - type: string - serviceUrl: - description: 'ServiceUrl: Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.' - type: string - sourceApiId: - description: 'SourceApiId: API identifier of the source API.' - type: string - subscriptionKeyParameterNames: - description: 'SubscriptionKeyParameterNames: Protocols over which API is made available.' + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' properties: - header: - description: 'Header: Subscription key header name.' + compression: + description: 'Compression: The event hub messages compression type' type: string - query: - description: 'Query: Subscription key query string parameter name.' + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub to be used to create a data connection.' + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object - subscriptionRequired: - description: 'SubscriptionRequired: Specifies whether an API or Product subscription is required for accessing the API.' - type: boolean - termsOfServiceUrl: - description: 'TermsOfServiceUrl: A URL to the Terms of Service for the API. MUST be in the format of a URL.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + iotHub: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + iotHubResourceId: + description: 'IotHubResourceId: The resource ID of the Iot hub to be used to create a data connection.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + name: + description: 'Name: The name of the resource' type: string type: object type: object @@ -24456,14 +82433,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20230815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.Api + Storage version of v1api20230815.DataConnection Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2023-08-15/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} properties: apiVersion: description: |- @@ -24483,7 +82460,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.Api_Spec + description: Storage version of v1api20230815.DataConnection_Spec properties: $propertyBag: additionalProperties: @@ -24492,20 +82469,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - apiRevision: - type: string - apiRevisionDescription: - type: string - apiType: - type: string - apiVersion: - type: string - apiVersionDescription: - type: string - apiVersionSet: + azureName: description: |- - Storage version of v1api20230501preview.ApiVersionSetContractDetails - An API Version Set contains the common configuration for a set of API Versions relating + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cosmosDbDataConnection: + description: Storage version of v1api20230815.CosmosDbDataConnection properties: $propertyBag: additionalProperties: @@ -24514,12 +82484,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: - type: string - name: - type: string - reference: - description: 'Reference: Identifier for existing API Version Set. Omit this value to create a new Version Set.' + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' properties: armId: description: |- @@ -24538,37 +82504,48 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - versionHeaderName: + cosmosDbContainer: type: string - versionQueryName: + cosmosDbDatabase: type: string - versioningScheme: + kind: type: string - type: object - apiVersionSetReference: - description: 'ApiVersionSetReference: A resource identifier for the related ApiVersionSet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + location: type: string - group: - description: Group is the Kubernetes group of the resource. + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + retrievalStartDate: type: string - name: - description: Name is the Kubernetes name of the resource. + tableName: type: string + required: + - cosmosDbAccountResourceReference + - managedIdentityResourceReference type: object - authenticationSettings: - description: |- - Storage version of v1api20230501preview.AuthenticationSettingsContract - API Authentication Settings. + eventGridDataConnection: + description: Storage version of v1api20230815.EventGridDataConnection properties: $propertyBag: additionalProperties: @@ -24577,92 +82554,112 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - oAuth2: - description: |- - Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract - API OAuth2 Authentication settings details. + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationServerId: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scope: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - oAuth2AuthenticationSettings: - items: - description: |- - Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationServerId: - type: string - scope: - type: string - type: object - type: array - openid: + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityResourceReference: description: |- - Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract - API OAuth2 Authentication settings details. + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bearerTokenSendingMethods: - items: - type: string - type: array - openidProviderId: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - openidAuthenticationSettings: - items: - description: |- - Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bearerTokenSendingMethods: - items: - type: string - type: array - openidProviderId: - type: string - type: object - type: array + mappingRuleName: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + type: string + required: + - eventHubResourceReference + - storageAccountResourceReference type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - contact: - description: |- - Storage version of v1api20230501preview.ApiContactInformation - API contact information + eventHubDataConnection: + description: Storage version of v1api20230815.EventHubDataConnection properties: $propertyBag: additionalProperties: @@ -24671,25 +82668,75 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + items: + type: string + type: array + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: type: string - name: + retrievalStartDate: type: string - url: + tableName: type: string + required: + - eventHubResourceReference type: object - description: - type: string - displayName: - type: string - format: - type: string - isCurrent: - type: boolean - license: - description: |- - Storage version of v1api20230501preview.ApiLicenseInformation - API license information + iotHubDataConnection: + description: Storage version of v1api20230815.IotHubDataConnection properties: $propertyBag: additionalProperties: @@ -24698,14 +82745,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + consumerGroup: type: string - url: + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + type: string + location: + type: string + mappingRuleName: + type: string + retrievalStartDate: type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + required: + - iotHubResourceReference type: object operatorSpec: description: |- - Storage version of v1api20230501preview.ApiOperatorSpec + Storage version of v1api20230815.DataConnectionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -24780,7 +82867,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a kusto.azure.com/Database resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -24789,81 +82876,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - path: - type: string - protocols: - items: - type: string - type: array - serviceUrl: - type: string - sourceApiReference: - description: 'SourceApiReference: API identifier of the source API.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - subscriptionKeyParameterNames: - description: |- - Storage version of v1api20230501preview.SubscriptionKeyParameterNamesContract - Subscription key parameter names details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - header: - type: string - query: - type: string - type: object - subscriptionRequired: - type: boolean - termsOfServiceUrl: - type: string - translateRequiredQueryParameters: - type: string - type: - type: string - value: - type: string - wsdlSelector: - description: Storage version of v1api20230501preview.ApiCreateOrUpdateProperties_WsdlSelector - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - wsdlEndpointName: - type: string - wsdlServiceName: - type: string - type: object required: - owner type: object status: - description: Storage version of v1api20230501preview.Api_STATUS + description: Storage version of v1api20230815.DataConnection_STATUS properties: $propertyBag: additionalProperties: @@ -24872,130 +82889,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - apiRevision: - type: string - apiRevisionDescription: - type: string - apiVersion: - type: string - apiVersionDescription: - type: string - apiVersionSet: - description: |- - Storage version of v1api20230501preview.ApiVersionSetContractDetails_STATUS - An API Version Set contains the common configuration for a set of API Versions relating - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - description: - type: string - id: - type: string - name: - type: string - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string - type: object - apiVersionSetId: - type: string - authenticationSettings: - description: |- - Storage version of v1api20230501preview.AuthenticationSettingsContract_STATUS - API Authentication Settings. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - oAuth2: - description: |- - Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationServerId: - type: string - scope: - type: string - type: object - oAuth2AuthenticationSettings: - items: - description: |- - Storage version of v1api20230501preview.OAuth2AuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationServerId: - type: string - scope: - type: string - type: object - type: array - openid: - description: |- - Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bearerTokenSendingMethods: - items: - type: string - type: array - openidProviderId: - type: string - type: object - openidAuthenticationSettings: - items: - description: |- - Storage version of v1api20230501preview.OpenIdAuthenticationSettingsContract_STATUS - API OAuth2 Authentication settings details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bearerTokenSendingMethods: - items: - type: string - type: array - openidProviderId: - type: string - type: object - type: array - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -25039,10 +82932,8 @@ spec: - type type: object type: array - contact: - description: |- - Storage version of v1api20230501preview.ApiContactInformation_STATUS - API contact information + cosmosDb: + description: Storage version of v1api20230815.CosmosDbDataConnection_STATUS properties: $propertyBag: additionalProperties: @@ -25051,27 +82942,35 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: + cosmosDbAccountResourceId: type: string - name: + cosmosDbContainer: type: string - url: + cosmosDbDatabase: + type: string + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: type: string type: object - description: - type: string - displayName: - type: string - id: - type: string - isCurrent: - type: boolean - isOnline: - type: boolean - license: - description: |- - Storage version of v1api20230501preview.ApiLicenseInformation_STATUS - API license information + eventGrid: + description: Storage version of v1api20230815.EventGridDataConnection_STATUS properties: $propertyBag: additionalProperties: @@ -25080,31 +82979,43 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + blobStorageEventType: type: string - url: + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceId: + type: string + eventHubResourceId: + type: string + id: + type: string + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + storageAccountResourceId: + type: string + tableName: + type: string + type: type: string type: object - name: - type: string - path: - type: string - properties_type: - type: string - protocols: - items: - type: string - type: array - provisioningState: - type: string - serviceUrl: - type: string - sourceApiId: - type: string - subscriptionKeyParameterNames: - description: |- - Storage version of v1api20230501preview.SubscriptionKeyParameterNamesContract_STATUS - Subscription key parameter names details. + eventHub: + description: Storage version of v1api20230815.EventHubDataConnection_STATUS properties: $propertyBag: additionalProperties: @@ -25113,16 +83024,83 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - header: + compression: type: string - query: + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceId: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: type: string type: object - subscriptionRequired: - type: boolean - termsOfServiceUrl: - type: string - type: + iotHub: + description: Storage version of v1api20230815.IotHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + iotHubResourceId: + type: string + kind: + type: string + location: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + type: + type: string + type: object + name: type: string type: object type: object @@ -25130,38 +83108,6 @@ spec: storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: apiversionsets.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: ApiVersionSet - listKind: ApiVersionSetList - plural: apiversionsets - singular: apiversionset - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -25175,13 +83121,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20240413 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapiversionsets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} properties: apiVersion: description: |- @@ -25206,18 +83152,439 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 80 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ - type: string - description: - description: 'Description: Description of API Version Set.' - type: string - displayName: - description: 'DisplayName: Name of API Version Set' - maxLength: 100 - minLength: 1 + pattern: ^.*$ type: string + cosmosDbDataConnection: + description: 'CosmosDb: Mutually exclusive with all other properties' + properties: + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' + type: string + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - CosmosDb + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + required: + - cosmosDbAccountResourceReference + - cosmosDbContainer + - cosmosDbDatabase + - kind + - managedIdentityResourceReference + - tableName + type: object + eventGridDataConnection: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' + enum: + - Microsoft.Storage.BlobCreated + - Microsoft.Storage.BlobRenamed + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventGrid + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + - storageAccountResourceReference + type: object + eventHubDataConnection: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + compression: + description: 'Compression: The event hub messages compression type' + enum: + - GZip + - None + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - EventHub + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - eventHubResourceReference + - kind + type: object + iotHubDataConnection: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + enum: + - APACHEAVRO + - AVRO + - CSV + - JSON + - MULTIJSON + - ORC + - PARQUET + - PSV + - RAW + - SCSV + - SINGLEJSON + - SOHSV + - TSV + - TSVE + - TXT + - W3CLOGFILE + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + enum: + - Multi + - Single + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + description: 'Kind: Kind of the endpoint for the data connection' + enum: + - IotHub + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + required: + - consumerGroup + - iotHubResourceReference + - kind + - sharedAccessPolicyName + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -25288,7 +83655,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a kusto.azure.com/Database resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -25297,27 +83664,8 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - maxLength: 100 - minLength: 1 - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - maxLength: 100 - minLength: 1 - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - enum: - - Header - - Query - - Segment - type: string required: - - displayName - owner - - versioningScheme type: object status: properties: @@ -25365,32 +83713,245 @@ spec: - type type: object type: array - description: - description: 'Description: Description of API Version Set.' - type: string - displayName: - description: 'DisplayName: Name of API Version Set' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string + cosmosDb: + description: 'CosmosDb: Mutually exclusive with all other properties' + properties: + cosmosDbAccountResourceId: + description: 'CosmosDbAccountResourceId: The resource ID of the Cosmos DB account used to create the data connection.' + type: string + cosmosDbContainer: + description: 'CosmosDbContainer: The name of an existing container in the Cosmos DB database.' + type: string + cosmosDbDatabase: + description: 'CosmosDbDatabase: The name of an existing database in the Cosmos DB account.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managed identity resource.' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + type: string + mappingRuleName: + description: 'MappingRuleName: The name of an existing mapping rule to use when ingesting the retrieved data.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: Optional. If defined, the data connection retrieves Cosmos DB documents created or updated after the + specified retrieval start date. + type: string + tableName: + description: |- + TableName: The case-sensitive name of the existing target table in your cluster. Retrieved data is ingested into this + table. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + eventGrid: + description: 'EventGrid: Mutually exclusive with all other properties' + properties: + blobStorageEventType: + description: 'BlobStorageEventType: The name of blob storage event type to process.' + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventGridResourceId: + description: 'EventGridResourceId: The resource ID of the event grid that is subscribed to the storage account events.' + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID where the event grid is configured to send events.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + ignoreFirstRecord: + description: |- + IgnoreFirstRecord: A Boolean value that, if set to true, indicates that ingestion should ignore the first record of + every file + type: boolean + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub and storage account. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: The resource ID of the storage account where the data resides.' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + compression: + description: 'Compression: The event hub messages compression type' + type: string + consumerGroup: + description: 'ConsumerGroup: The event hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventHubResourceId: + description: 'EventHubResourceId: The resource ID of the event hub to be used to create a data connection.' + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the event hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + managedIdentityObjectId: + description: 'ManagedIdentityObjectId: The object ID of the managedIdentityResourceId' + type: string + managedIdentityResourceId: + description: |- + ManagedIdentityResourceId: The resource ID of a managed identity (system or user assigned) to be used to authenticate + with event hub. + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + iotHub: + description: 'IotHub: Mutually exclusive with all other properties' + properties: + consumerGroup: + description: 'ConsumerGroup: The iot hub consumer group.' + type: string + dataFormat: + description: 'DataFormat: The data format of the message. Optionally the data format can be added to each message.' + type: string + databaseRouting: + description: |- + DatabaseRouting: Indication for database routing information from the data connection, by default only database routing + information is allowed + type: string + eventSystemProperties: + description: 'EventSystemProperties: System properties of the iot hub' + items: + type: string + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + iotHubResourceId: + description: 'IotHubResourceId: The resource ID of the Iot hub to be used to create a data connection.' + type: string + kind: + description: 'Kind: Kind of the endpoint for the data connection' + type: string + location: + description: 'Location: Resource location.' + type: string + mappingRuleName: + description: |- + MappingRuleName: The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each + message. + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + retrievalStartDate: + description: |- + RetrievalStartDate: When defined, the data connection retrieves existing Event hub events created since the Retrieval + start date. It can only retrieve events retained by the Event hub, based on its retention period. + type: string + sharedAccessPolicyName: + description: 'SharedAccessPolicyName: The name of the share access policy' + type: string + tableName: + description: 'TableName: The table where the data should be ingested. Optionally the table information can be added to each message.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object name: description: 'Name: The name of the resource' type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - type: string type: object type: object served: true @@ -25410,14 +83971,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20240413storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.ApiVersionSet + Storage version of v1api20240413.DataConnection Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimapiversionsets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName} properties: apiVersion: description: |- @@ -25437,7 +83998,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.ApiVersionSet_Spec + description: Storage version of v1api20240413.DataConnection_Spec properties: $propertyBag: additionalProperties: @@ -25446,18 +84007,330 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - description: - type: string - displayName: - type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + cosmosDbDataConnection: + description: Storage version of v1api20240413.CosmosDbDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDbAccountResourceReference: + description: 'CosmosDbAccountResourceReference: The resource ID of the Cosmos DB account used to create the data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + cosmosDbContainer: + type: string + cosmosDbDatabase: + type: string + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed system or user-assigned identity. The identity is used to + authenticate with Cosmos DB. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + retrievalStartDate: + type: string + tableName: + type: string + required: + - cosmosDbAccountResourceReference + - managedIdentityResourceReference + type: object + eventGridDataConnection: + description: Storage version of v1api20240413.EventGridDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceReference: + description: 'EventGridResourceReference: The resource ID of the event grid that is subscribed to the storage account events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID where the event grid is configured to send events.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub and storage account. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: The resource ID of the storage account where the data resides.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tableName: + type: string + required: + - eventHubResourceReference + - storageAccountResourceReference + type: object + eventHubDataConnection: + description: Storage version of v1api20240413.EventHubDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceReference: + description: 'EventHubResourceReference: The resource ID of the event hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventSystemProperties: + items: + type: string + type: array + kind: + type: string + location: + type: string + managedIdentityResourceReference: + description: |- + ManagedIdentityResourceReference: The resource ID of a managed identity (system or user assigned) to be used to + authenticate with event hub. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + mappingRuleName: + type: string + retrievalStartDate: + type: string + tableName: + type: string + required: + - eventHubResourceReference + type: object + iotHubDataConnection: + description: Storage version of v1api20240413.IotHubDataConnection + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + iotHubResourceReference: + description: 'IotHubResourceReference: The resource ID of the Iot hub to be used to create a data connection.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kind: + type: string + location: + type: string + mappingRuleName: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + required: + - iotHubResourceReference + type: object operatorSpec: description: |- - Storage version of v1api20220801.ApiVersionSetOperatorSpec + Storage version of v1api20240413.DataConnectionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -25532,7 +84405,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a kusto.azure.com/Database resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -25541,17 +84414,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string required: - owner type: object status: - description: Storage version of v1api20220801.ApiVersionSet_STATUS + description: Storage version of v1api20240413.DataConnection_STATUS properties: $propertyBag: additionalProperties: @@ -25603,28 +84470,217 @@ spec: - type type: object type: array - description: - type: string - displayName: - type: string - id: - type: string + cosmosDb: + description: Storage version of v1api20240413.CosmosDbDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cosmosDbAccountResourceId: + type: string + cosmosDbContainer: + type: string + cosmosDbDatabase: + type: string + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: + type: string + type: object + eventGrid: + description: Storage version of v1api20240413.EventGridDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobStorageEventType: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventGridResourceId: + type: string + eventHubResourceId: + type: string + id: + type: string + ignoreFirstRecord: + type: boolean + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + storageAccountResourceId: + type: string + tableName: + type: string + type: + type: string + type: object + eventHub: + description: Storage version of v1api20240413.EventHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compression: + type: string + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventHubResourceId: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + kind: + type: string + location: + type: string + managedIdentityObjectId: + type: string + managedIdentityResourceId: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + tableName: + type: string + type: + type: string + type: object + iotHub: + description: Storage version of v1api20240413.IotHubDataConnection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + consumerGroup: + type: string + dataFormat: + type: string + databaseRouting: + type: string + eventSystemProperties: + items: + type: string + type: array + id: + type: string + iotHubResourceId: + type: string + kind: + type: string + location: + type: string + mappingRuleName: + type: string + provisioningState: + type: string + retrievalStartDate: + type: string + sharedAccessPolicyName: + type: string + tableName: + type: string + type: + type: string + type: object name: type: string - type: - type: string - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string type: object type: object served: true storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: deployments.cognitiveservices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cognitiveservices.azure.com + names: + categories: + - azure + - cognitiveservices + kind: Deployment + listKind: DeploymentList + plural: deployments + singular: deployment + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -25638,13 +84694,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20250601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapiversionsets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName} properties: apiVersion: description: |- @@ -25669,17 +84725,6 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 80 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ - type: string - description: - description: 'Description: Description of API Version Set.' - type: string - displayName: - description: 'DisplayName: Name of API Version Set' - maxLength: 100 - minLength: 1 type: string operatorSpec: description: |- @@ -25751,7 +84796,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a cognitiveservices.azure.com/Account resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -25760,27 +84805,217 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - maxLength: 100 - minLength: 1 - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - maxLength: 100 - minLength: 1 - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - enum: - - Header - - Query - - Segment - type: string + properties: + description: 'Properties: Properties of Cognitive Services account deployment.' + properties: + capacitySettings: + description: 'CapacitySettings: Internal use only.' + properties: + designatedCapacity: + description: 'DesignatedCapacity: The designated capacity.' + minimum: 0 + type: integer + priority: + description: 'Priority: The priority of this capacity setting.' + minimum: 0 + type: integer + type: object + model: + description: 'Model: Properties of Cognitive Services account deployment model.' + properties: + format: + description: 'Format: Deployment model format.' + type: string + formatFromConfig: + description: 'FormatFromConfig: Deployment model format.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + description: 'Name: Deployment model name.' + type: string + nameFromConfig: + description: 'NameFromConfig: Deployment model name.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publisher: + description: 'Publisher: Deployment model publisher.' + type: string + publisherFromConfig: + description: 'PublisherFromConfig: Deployment model publisher.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceAccountReference: + description: 'SourceAccountReference: Optional. Source of the model, another Microsoft.CognitiveServices accounts ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceReference: + description: 'SourceReference: Optional. Deployment model source ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + version: + description: |- + Version: Optional. Deployment model version. If version is not specified, a default version will be assigned. The + default version is different for different models and might change when there is new version available for a model. + Default version for a model could be found from list models API. + type: string + versionFromConfig: + description: |- + VersionFromConfig: Optional. Deployment model version. If version is not specified, a default version will be assigned. + The default version is different for different models and might change when there is new version available for a model. + Default version for a model could be found from list models API. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + parentDeploymentName: + description: 'ParentDeploymentName: The name of parent deployment.' + type: string + raiPolicyName: + description: 'RaiPolicyName: The name of RAI policy.' + type: string + scaleSettings: + description: |- + ScaleSettings: Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku + instead.) + properties: + capacity: + description: 'Capacity: Deployment capacity.' + type: integer + scaleType: + description: 'ScaleType: Deployment scale type.' + enum: + - Manual + - Standard + type: string + type: object + spilloverDeploymentName: + description: |- + SpilloverDeploymentName: Specifies the deployment name that should serve requests when the request would have otherwise + been throttled due to reaching current deployment throughput limit. + type: string + versionUpgradeOption: + description: 'VersionUpgradeOption: Deployment model version upgrade option.' + enum: + - NoAutoUpgrade + - OnceCurrentVersionExpired + - OnceNewDefaultVersionAvailable + type: string + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + enum: + - Basic + - Enterprise + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - - displayName - owner - - versioningScheme type: object status: properties: @@ -25828,11 +85063,8 @@ spec: - type type: object type: array - description: - description: 'Description: Description of API Version Set.' - type: string - displayName: - description: 'DisplayName: Name of API Version Set' + etag: + description: 'Etag: Resource Etag.' type: string id: description: |- @@ -25842,18 +85074,237 @@ spec: name: description: 'Name: The name of the resource' type: string + properties: + description: 'Properties: Properties of Cognitive Services account deployment.' + properties: + callRateLimit: + description: 'CallRateLimit: The call rate limit Cognitive Services account.' + properties: + count: + description: 'Count: The count value of Call Rate Limit.' + type: number + renewalPeriod: + description: 'RenewalPeriod: The renewal period in seconds of Call Rate Limit.' + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + additionalProperties: + type: string + description: 'Capabilities: The capabilities.' + type: object + capacitySettings: + description: 'CapacitySettings: Internal use only.' + properties: + designatedCapacity: + description: 'DesignatedCapacity: The designated capacity.' + type: integer + priority: + description: 'Priority: The priority of this capacity setting.' + type: integer + type: object + currentCapacity: + description: 'CurrentCapacity: The current capacity.' + type: integer + dynamicThrottlingEnabled: + description: 'DynamicThrottlingEnabled: If the dynamic throttling is enabled.' + type: boolean + model: + description: 'Model: Properties of Cognitive Services account deployment model.' + properties: + callRateLimit: + description: 'CallRateLimit: The call rate limit Cognitive Services account.' + properties: + count: + description: 'Count: The count value of Call Rate Limit.' + type: number + renewalPeriod: + description: 'RenewalPeriod: The renewal period in seconds of Call Rate Limit.' + type: number + rules: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + format: + description: 'Format: Deployment model format.' + type: string + name: + description: 'Name: Deployment model name.' + type: string + publisher: + description: 'Publisher: Deployment model publisher.' + type: string + source: + description: 'Source: Optional. Deployment model source ARM resource ID.' + type: string + sourceAccount: + description: 'SourceAccount: Optional. Source of the model, another Microsoft.CognitiveServices accounts ARM resource ID.' + type: string + version: + description: |- + Version: Optional. Deployment model version. If version is not specified, a default version will be assigned. The + default version is different for different models and might change when there is new version available for a model. + Default version for a model could be found from list models API. + type: string + type: object + parentDeploymentName: + description: 'ParentDeploymentName: The name of parent deployment.' + type: string + provisioningState: + description: 'ProvisioningState: Gets the status of the resource at the time the operation was called.' + type: string + raiPolicyName: + description: 'RaiPolicyName: The name of RAI policy.' + type: string + rateLimits: + items: + properties: + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + properties: + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + scaleSettings: + description: |- + ScaleSettings: Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku + instead.) + properties: + activeCapacity: + description: |- + ActiveCapacity: Deployment active capacity. This value might be different from `capacity` if customer recently updated + `capacity`. + type: integer + capacity: + description: 'Capacity: Deployment capacity.' + type: integer + scaleType: + description: 'ScaleType: Deployment scale type.' + type: string + type: object + spilloverDeploymentName: + description: |- + SpilloverDeploymentName: Specifies the deployment name that should serve requests when the request would have otherwise + been throttled due to reaching current deployment throughput limit. + type: string + versionUpgradeOption: + description: 'VersionUpgradeOption: Deployment model version upgrade option.' + type: string + type: object + sku: + description: 'Sku: The resource model definition representing SKU' + properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. + type: string + tier: + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - versionHeaderName: - description: 'VersionHeaderName: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.' - type: string - versionQueryName: - description: 'VersionQueryName: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.' - type: string - versioningScheme: - description: 'VersioningScheme: An value that determines where the API Version identifier will be located in a HTTP request.' - type: string type: object type: object served: true @@ -25873,14 +85324,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20250601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.ApiVersionSet + Storage version of v1api20250601.Deployment Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimapiversionsets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId} + - Generated from: /cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2025-06-01/cognitiveservices.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName} properties: apiVersion: description: |- @@ -25900,7 +85351,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.ApiVersionSet_Spec + description: Storage version of v1api20250601.Deployment_Spec properties: $propertyBag: additionalProperties: @@ -25914,13 +85365,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - description: - type: string - displayName: - type: string operatorSpec: description: |- - Storage version of v1api20230501preview.ApiVersionSetOperatorSpec + Storage version of v1api20250601.DeploymentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -25993,99 +85440,594 @@ spec: type: string owner: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cognitiveservices.azure.com/Account resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: |- + Storage version of v1api20250601.DeploymentProperties + Properties of Cognitive Services account deployment. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacitySettings: + description: |- + Storage version of v1api20250601.DeploymentCapacitySettings + Internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + designatedCapacity: + type: integer + priority: + type: integer + type: object + model: + description: |- + Storage version of v1api20250601.DeploymentModel + Properties of Cognitive Services account deployment model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: + type: string + formatFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + name: + type: string + nameFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + publisher: + type: string + publisherFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceAccountReference: + description: 'SourceAccountReference: Optional. Source of the model, another Microsoft.CognitiveServices accounts ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceReference: + description: 'SourceReference: Optional. Deployment model source ARM resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + version: + type: string + versionFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + parentDeploymentName: + type: string + raiPolicyName: + type: string + scaleSettings: + description: |- + Storage version of v1api20250601.DeploymentScaleSettings + Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku instead.) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + scaleType: + type: string + type: object + spilloverDeploymentName: + type: string + versionUpgradeOption: + type: string + type: object + sku: + description: |- + Storage version of v1api20250601.Sku + The resource model definition representing SKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20250601.Deployment_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + id: + type: string + name: + type: string + properties: + description: |- + Storage version of v1api20250601.DeploymentProperties_STATUS + Properties of Cognitive Services account deployment. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callRateLimit: + description: |- + Storage version of v1api20250601.CallRateLimit_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + capabilities: + additionalProperties: + type: string + type: object + capacitySettings: + description: |- + Storage version of v1api20250601.DeploymentCapacitySettings_STATUS + Internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + designatedCapacity: + type: integer + priority: + type: integer + type: object + currentCapacity: + type: integer + dynamicThrottlingEnabled: + type: boolean + model: + description: |- + Storage version of v1api20250601.DeploymentModel_STATUS + Properties of Cognitive Services account deployment model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + callRateLimit: + description: |- + Storage version of v1api20250601.CallRateLimit_STATUS + The call rate limit Cognitive Services account. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + renewalPeriod: + type: number + rules: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + type: object + format: + type: string + name: + type: string + publisher: + type: string + source: + type: string + sourceAccount: + type: string + version: + type: string + type: object + parentDeploymentName: + type: string + provisioningState: + type: string + raiPolicyName: + type: string + rateLimits: + items: + description: Storage version of v1api20250601.ThrottlingRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: number + dynamicThrottlingEnabled: + type: boolean + key: + type: string + matchPatterns: + items: + description: Storage version of v1api20250601.RequestMatchPattern_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + method: + type: string + path: + type: string + type: object + type: array + minCount: + type: number + renewalPeriod: + type: number + type: object + type: array + scaleSettings: + description: |- + Storage version of v1api20250601.DeploymentScaleSettings_STATUS + Properties of Cognitive Services account deployment model. (Deprecated, please use Deployment.sku instead.) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeCapacity: + type: integer + capacity: + type: integer + scaleType: + type: string + type: object + spilloverDeploymentName: + type: string + versionUpgradeOption: + type: string + type: object + sku: + description: |- + Storage version of v1api20250601.Sku_STATUS + The resource model definition representing SKU properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: type: string name: - description: This is the name of the Kubernetes resource to reference. + type: string + size: + type: string + tier: type: string type: object - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230501preview.ApiVersionSet_STATUS - properties: - $propertyBag: + systemData: + description: |- + Storage version of v1api20250601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - description: - type: string - displayName: - type: string - id: - type: string - name: - type: string type: type: string - versionHeaderName: - type: string - versionQueryName: - type: string - versioningScheme: - type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -26094,11 +86036,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: applicationgateways.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: diagnosticsettings.insights.azure.com spec: conversion: strategy: Webhook @@ -26111,12 +86053,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: insights.azure.com names: - kind: ApplicationGateway - listKind: ApplicationGatewayList - plural: applicationgateways - singular: applicationgateway + categories: + - azure + - insights + kind: DiagnosticSetting + listKind: DiagnosticSettingList + plural: diagnosticsettings + singular: diagnosticsetting preserveUnknownFields: false scope: Namespaced versions: @@ -26133,13 +86078,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20210501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/applicationGateway.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} properties: apiVersion: description: |- @@ -26160,895 +86105,132 @@ spec: type: object spec: properties: - authenticationCertificates: - description: |- - AuthenticationCertificates: Authentication certificates of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Authentication certificates of an application gateway. - properties: - data: - description: 'Data: Certificate public data.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - name: - description: 'Name: Name of the authentication certificate that is unique within an Application Gateway.' - type: string - type: object - type: array - autoscaleConfiguration: - description: 'AutoscaleConfiguration: Autoscale Configuration.' - properties: - maxCapacity: - description: 'MaxCapacity: Upper bound on number of Application Gateway capacity.' - minimum: 2 - type: integer - minCapacity: - description: 'MinCapacity: Lower bound on number of Application Gateway capacity.' - minimum: 0 - type: integer - required: - - minCapacity - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backendAddressPools: + eventHubAuthorizationRuleReference: + description: 'EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubName: + description: 'EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.' + type: string + logAnalyticsDestinationType: description: |- - BackendAddressPools: Backend address pool of the application gateway resource. For default limits, see [Application - Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + type: string + logs: + description: 'Logs: The list of logs settings.' items: - description: Backend Address Pool of an application gateway. + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. properties: - backendAddresses: - description: 'BackendAddresses: Backend addresses.' - items: - description: Backend address of an application gateway. - properties: - fqdn: - description: 'Fqdn: Fully qualified domain name (FQDN).' - type: string - ipAddress: - description: 'IpAddress: IP address.' - type: string - type: object - type: array - name: - description: 'Name: Name of the backend address pool that is unique within an Application Gateway.' + category: + description: |- + Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. type: string - type: object - type: array - backendHttpSettingsCollection: - description: |- - BackendHttpSettingsCollection: Backend http settings of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Backend address pool settings of an application gateway. - properties: - affinityCookieName: - description: 'AffinityCookieName: Cookie name to use for the affinity cookie.' + categoryGroup: + description: |- + CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. type: string - authenticationCertificates: - description: 'AuthenticationCertificates: Array of references to application gateway authentication certificates.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - connectionDraining: - description: 'ConnectionDraining: Connection draining of the backend http settings resource.' + enabled: + description: 'Enabled: a value indicating whether this log is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this log.' properties: - drainTimeoutInSec: - description: |- - DrainTimeoutInSec: The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 - seconds. - maximum: 3600 - minimum: 1 + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + minimum: 0 type: integer enabled: - description: 'Enabled: Whether connection draining is enabled or not.' + description: 'Enabled: a value indicating whether the retention policy is enabled.' type: boolean required: - - drainTimeoutInSec + - days - enabled type: object - cookieBasedAffinity: - description: 'CookieBasedAffinity: Cookie based affinity.' - enum: - - Disabled - - Enabled - type: string - hostName: - description: 'HostName: Host header to be sent to the backend servers.' - type: string - name: - description: 'Name: Name of the backend http settings that is unique within an Application Gateway.' - type: string - path: - description: |- - Path: Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is - null. - type: string - pickHostNameFromBackendAddress: - description: |- - PickHostNameFromBackendAddress: Whether to pick host header should be picked from the host name of the backend server. - Default value is false. - type: boolean - port: - description: 'Port: The destination port on the backend.' - type: integer - probe: - description: 'Probe: Probe resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - probeEnabled: - description: 'ProbeEnabled: Whether the probe is enabled. Default value is false.' - type: boolean - protocol: - description: 'Protocol: The protocol used to communicate with the backend.' - enum: - - Http - - Https - - Tcp - - Tls - type: string - requestTimeout: - description: |- - RequestTimeout: Request timeout in seconds. Application Gateway will fail the request if response is not received within - RequestTimeout. Acceptable values are from 1 second to 86400 seconds. - type: integer - trustedRootCertificates: - description: 'TrustedRootCertificates: Array of references to application gateway trusted root certificates.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - backendSettingsCollection: - description: |- - BackendSettingsCollection: Backend settings of the application gateway resource. For default limits, see [Application - Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Backend address pool settings of an application gateway. - properties: - hostName: - description: 'HostName: Server name indication to be sent to the backend servers for Tls protocol.' - type: string - name: - description: 'Name: Name of the backend settings that is unique within an Application Gateway.' - type: string - pickHostNameFromBackendAddress: - description: |- - PickHostNameFromBackendAddress: Whether to pick server name indication from the host name of the backend server for Tls - protocol. Default value is false. - type: boolean - port: - description: 'Port: The destination port on the backend.' - type: integer - probe: - description: 'Probe: Probe resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - protocol: - description: 'Protocol: The protocol used to communicate with the backend.' - enum: - - Http - - Https - - Tcp - - Tls - type: string - timeout: - description: |- - Timeout: Connection timeout in seconds. Application Gateway will fail the request if response is not received within - ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds. - type: integer - trustedRootCertificates: - description: 'TrustedRootCertificates: Array of references to application gateway trusted root certificates.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - customErrorConfigurations: - description: 'CustomErrorConfigurations: Custom error configurations of the application gateway resource.' - items: - description: Customer error of an application gateway. - properties: - customErrorPageUrl: - description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' - type: string - statusCode: - description: 'StatusCode: Status code of the application gateway customer error.' - enum: - - HttpStatus403 - - HttpStatus502 - type: string - type: object - type: array - enableFips: - description: 'EnableFips: Whether FIPS is enabled on the application gateway resource.' - type: boolean - enableHttp2: - description: 'EnableHttp2: Whether HTTP2 is enabled on the application gateway resource.' - type: boolean - firewallPolicy: - description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - forceFirewallPolicyAssociation: - description: |- - ForceFirewallPolicyAssociation: If true, associates a firewall policy with an application gateway regardless whether the - policy differs from the WAF Config. - type: boolean - frontendIPConfigurations: - description: |- - FrontendIPConfigurations: Frontend IP addresses of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Frontend IP configuration of an application gateway. - properties: - name: - description: 'Name: Name of the frontend IP configuration that is unique within an Application Gateway.' - type: string - privateIPAddress: - description: 'PrivateIPAddress: PrivateIPAddress of the network interface IP Configuration.' - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - enum: - - Dynamic - - Static - type: string - privateLinkConfiguration: - description: 'PrivateLinkConfiguration: Reference to the application gateway private link configuration.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - publicIPAddress: - description: 'PublicIPAddress: Reference to the PublicIP resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: 'Subnet: Reference to the subnet resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - frontendPorts: - description: |- - FrontendPorts: Frontend ports of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Frontend port of an application gateway. - properties: - name: - description: 'Name: Name of the frontend port that is unique within an Application Gateway.' - type: string - port: - description: 'Port: Frontend port.' - type: integer - type: object - type: array - gatewayIPConfigurations: - description: |- - GatewayIPConfigurations: Subnets of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. - properties: - name: - description: 'Name: Name of the IP configuration that is unique within an Application Gateway.' - type: string - subnet: - description: 'Subnet: Reference to the subnet resource. A subnet from where application gateway gets its private address.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + required: + - enabled type: object type: array - globalConfiguration: - description: 'GlobalConfiguration: Global Configuration.' - properties: - enableRequestBuffering: - description: 'EnableRequestBuffering: Enable request buffering.' - type: boolean - enableResponseBuffering: - description: 'EnableResponseBuffering: Enable response buffering.' - type: boolean - type: object - httpListeners: + marketplacePartnerReference: description: |- - HttpListeners: Http listeners of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Http listener of an application gateway. - properties: - customErrorConfigurations: - description: 'CustomErrorConfigurations: Custom error configurations of the HTTP listener.' - items: - description: Customer error of an application gateway. - properties: - customErrorPageUrl: - description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' - type: string - statusCode: - description: 'StatusCode: Status code of the application gateway customer error.' - enum: - - HttpStatus403 - - HttpStatus502 - type: string - type: object - type: array - firewallPolicy: - description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendIPConfiguration: - description: 'FrontendIPConfiguration: Frontend IP configuration resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPort: - description: 'FrontendPort: Frontend port resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - hostName: - description: 'HostName: Host name of HTTP listener.' - type: string - hostNames: - description: 'HostNames: List of Host names for HTTP Listener that allows special wildcard characters as well.' - items: - type: string - type: array - name: - description: 'Name: Name of the HTTP listener that is unique within an Application Gateway.' - type: string - protocol: - description: 'Protocol: Protocol of the HTTP listener.' - enum: - - Http - - Https - - Tcp - - Tls - type: string - requireServerNameIndication: - description: 'RequireServerNameIndication: Applicable only if protocol is https. Enables SNI for multi-hosting.' - type: boolean - sslCertificate: - description: 'SslCertificate: SSL certificate resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - sslProfile: - description: 'SslProfile: SSL profile resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - identity: - description: 'Identity: The identity of the application gateway, if configured.' + MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send + Diagnostic Logs. properties: - type: + armId: description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual - machine. - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - listeners: - description: |- - Listeners: Listeners of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Listener of an application gateway. - properties: - frontendIPConfiguration: - description: 'FrontendIPConfiguration: Frontend IP configuration resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPort: - description: 'FrontendPort: Frontend port resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - description: 'Name: Name of the listener that is unique within an Application Gateway.' - type: string - protocol: - description: 'Protocol: Protocol of the listener.' - enum: - - Http - - Https - - Tcp - - Tls - type: string - sslCertificate: - description: 'SslCertificate: SSL certificate resource of an application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - sslProfile: - description: 'SslProfile: SSL profile resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - loadDistributionPolicies: - description: 'LoadDistributionPolicies: Load distribution policies of the application gateway resource.' + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metrics: + description: 'Metrics: The list of metric settings.' items: - description: Load Distribution Policy of an application gateway. + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. properties: - loadDistributionAlgorithm: - description: 'LoadDistributionAlgorithm: Load Distribution Targets resource of an application gateway.' - enum: - - IpHash - - LeastConnections - - RoundRobin + category: + description: |- + Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. type: string - loadDistributionTargets: - description: 'LoadDistributionTargets: Load Distribution Targets resource of an application gateway.' - items: - description: Load Distribution Target of an application gateway. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - name: - description: 'Name: Name of the load distribution policy that is unique within an Application Gateway.' + enabled: + description: 'Enabled: a value indicating whether this category is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this category.' + properties: + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + minimum: 0 + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean + required: + - days + - enabled + type: object + timeGrain: + description: 'TimeGrain: the timegrain of the metric in ISO8601 format.' type: string + required: + - enabled type: object type: array - location: - description: 'Location: Resource location.' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -27118,1283 +86300,927 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkConfigurations: - description: 'PrivateLinkConfigurations: PrivateLink configurations on application gateway.' - items: - description: Private Link Configuration on an application gateway. - properties: - ipConfigurations: - description: 'IpConfigurations: An array of application gateway private link ip configurations.' - items: - description: The application gateway private link ip configuration. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - name: - description: 'Name: Name of the private link configuration that is unique within an Application Gateway.' - type: string - type: object - type: array - probes: - description: 'Probes: Probes of the application gateway resource.' - items: - description: Probe of the application gateway. - properties: - host: - description: 'Host: Host name to send the probe to.' - type: string - interval: - description: |- - Interval: The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values - are from 1 second to 86400 seconds. - type: integer - match: - description: 'Match: Criterion for classifying a healthy probe response.' - properties: - body: - description: 'Body: Body that must be contained in the health response. Default value is empty.' - type: string - statusCodes: - description: 'StatusCodes: Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399.' - items: - type: string - type: array - type: object - minServers: - description: 'MinServers: Minimum number of servers that are always marked healthy. Default value is 0.' - type: integer - name: - description: 'Name: Name of the probe that is unique within an Application Gateway.' - type: string - path: - description: 'Path: Relative path of probe. Valid path starts from ''/''. Probe is sent to ://:.' - type: string - pickHostNameFromBackendHttpSettings: - description: |- - PickHostNameFromBackendHttpSettings: Whether the host header should be picked from the backend http settings. Default - value is false. - type: boolean - pickHostNameFromBackendSettings: - description: |- - PickHostNameFromBackendSettings: Whether the server name indication should be picked from the backend settings for Tls - protocol. Default value is false. - type: boolean - port: - description: |- - Port: Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case - not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The protocol used for the probe.' - enum: - - Http - - Https - - Tcp - - Tls - type: string - timeout: - description: |- - Timeout: The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout - period. Acceptable values are from 1 second to 86400 seconds. - type: integer - unhealthyThreshold: - description: |- - UnhealthyThreshold: The probe retry count. Backend server is marked down after consecutive probe failure count reaches - UnhealthyThreshold. Acceptable values are from 1 second to 20. - type: integer - type: object - type: array - redirectConfigurations: - description: |- - RedirectConfigurations: Redirect configurations of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Redirect configuration of an application gateway. - properties: - includePath: - description: 'IncludePath: Include path in the redirected url.' - type: boolean - includeQueryString: - description: 'IncludeQueryString: Include query string in the redirected url.' - type: boolean - name: - description: 'Name: Name of the redirect configuration that is unique within an Application Gateway.' - type: string - pathRules: - description: 'PathRules: Path rules specifying redirect configuration.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - redirectType: - description: 'RedirectType: HTTP redirection type.' - enum: - - Found - - Permanent - - SeeOther - - Temporary - type: string - requestRoutingRules: - description: 'RequestRoutingRules: Request routing specifying redirect configuration.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - targetListener: - description: 'TargetListener: Reference to a listener to redirect the request to.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - targetUrl: - description: 'TargetUrl: Url to redirect the request to.' - type: string - urlPathMaps: - description: 'UrlPathMaps: Url path maps specifying default redirect configuration.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - requestRoutingRules: - description: 'RequestRoutingRules: Request routing rules of the application gateway resource.' - items: - description: Request routing rule of an application gateway. - properties: - backendAddressPool: - description: 'BackendAddressPool: Backend address pool resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - backendHttpSettings: - description: 'BackendHttpSettings: Backend http settings resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - httpListener: - description: 'HttpListener: Http listener resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - loadDistributionPolicy: - description: 'LoadDistributionPolicy: Load Distribution Policy resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - description: 'Name: Name of the request routing rule that is unique within an Application Gateway.' - type: string - priority: - description: 'Priority: Priority of the request routing rule.' - maximum: 20000 - minimum: 1 - type: integer - redirectConfiguration: - description: 'RedirectConfiguration: Redirect configuration resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - rewriteRuleSet: - description: 'RewriteRuleSet: Rewrite Rule Set resource in Basic rule of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - ruleType: - description: 'RuleType: Rule type.' - enum: - - Basic - - PathBasedRouting - type: string - urlPathMap: - description: 'UrlPathMap: URL path map resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - rewriteRuleSets: - description: 'RewriteRuleSets: Rewrite rules for the application gateway resource.' - items: - description: Rewrite rule set of an application gateway. - properties: - name: - description: 'Name: Name of the rewrite rule set that is unique within an Application Gateway.' - type: string - rewriteRules: - description: 'RewriteRules: Rewrite rules in the rewrite rule set.' - items: - description: Rewrite rule of an application gateway. - properties: - actionSet: - description: 'ActionSet: Set of actions to be done as part of the rewrite Rule.' - properties: - requestHeaderConfigurations: - description: 'RequestHeaderConfigurations: Request Header Actions in the Action Set.' - items: - description: Header configuration of the Actions set in Application Gateway. - properties: - headerName: - description: 'HeaderName: Header name of the header configuration.' - type: string - headerValue: - description: 'HeaderValue: Header value of the header configuration.' - type: string - type: object - type: array - responseHeaderConfigurations: - description: 'ResponseHeaderConfigurations: Response Header Actions in the Action Set.' - items: - description: Header configuration of the Actions set in Application Gateway. - properties: - headerName: - description: 'HeaderName: Header name of the header configuration.' - type: string - headerValue: - description: 'HeaderValue: Header value of the header configuration.' - type: string - type: object - type: array - urlConfiguration: - description: 'UrlConfiguration: Url Configuration Action in the Action Set.' - properties: - modifiedPath: - description: |- - ModifiedPath: Url path which user has provided for url rewrite. Null means no path will be updated. Default value is - null. - type: string - modifiedQueryString: - description: |- - ModifiedQueryString: Query string which user has provided for url rewrite. Null means no query string will be updated. - Default value is null. - type: string - reroute: - description: |- - Reroute: If set as true, it will re-evaluate the url path map provided in path based request routing rules using - modified path. Default value is false. - type: boolean - type: object - type: object - conditions: - description: 'Conditions: Conditions based on which the action set execution will be evaluated.' - items: - description: Set of conditions in the Rewrite Rule in Application Gateway. - properties: - ignoreCase: - description: 'IgnoreCase: Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison.' - type: boolean - negate: - description: 'Negate: Setting this value as truth will force to check the negation of the condition given by the user.' - type: boolean - pattern: - description: 'Pattern: The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.' - type: string - variable: - description: 'Variable: The condition parameter of the RewriteRuleCondition.' - type: string - type: object - type: array - name: - description: 'Name: Name of the rewrite rule that is unique within an Application Gateway.' - type: string - ruleSequence: - description: |- - RuleSequence: Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a - RewriteRuleSet. - type: integer - type: object - type: array - type: object - type: array - routingRules: - description: 'RoutingRules: Routing rules of the application gateway resource.' - items: - description: Routing rule of an application gateway. - properties: - backendAddressPool: - description: 'BackendAddressPool: Backend address pool resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - backendSettings: - description: 'BackendSettings: Backend settings resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - listener: - description: 'Listener: Listener resource of the application gateway.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - description: 'Name: Name of the routing rule that is unique within an Application Gateway.' - type: string - priority: - description: 'Priority: Priority of the routing rule.' - maximum: 20000 - minimum: 1 - type: integer - ruleType: - description: 'RuleType: Rule type.' - enum: - - Basic - - PathBasedRouting - type: string - required: - - priority - type: object - type: array - sku: - description: 'Sku: SKU of the application gateway resource.' + serviceBusRuleId: + description: 'ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.' + type: string + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.' properties: - capacity: - description: 'Capacity: Capacity (instance count) of an application gateway.' - type: integer - name: - description: 'Name: Name of an application gateway SKU.' - enum: - - Standard_Large - - Standard_Medium - - Standard_Small - - Standard_v2 - - WAF_Large - - WAF_Medium - - WAF_v2 + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: - description: 'Tier: Tier of an application gateway.' - enum: - - Standard - - Standard_v2 - - WAF - - WAF_v2 + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - sslCertificates: + workspaceReference: description: |- - SslCertificates: SSL certificates of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: SSL certificates of an application gateway. - properties: - data: - description: 'Data: Base-64 encoded pfx certificate. Only applicable in PUT Request.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - keyVaultSecretId: - description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' - type: string - name: - description: 'Name: Name of the SSL certificate that is unique within an Application Gateway.' - type: string - password: - description: 'Password: Password for the pfx file specified in data. Only applicable in PUT request.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - type: array - sslPolicy: - description: 'SslPolicy: SSL policy of the application gateway resource.' + WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic + Logs. Example: + /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 properties: - cipherSuites: - description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' - items: - description: Ssl cipher suites enums. - enum: - - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA - - TLS_DHE_DSS_WITH_AES_128_CBC_SHA - - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 - - TLS_DHE_DSS_WITH_AES_256_CBC_SHA - - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 - - TLS_DHE_RSA_WITH_AES_128_CBC_SHA - - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_DHE_RSA_WITH_AES_256_CBC_SHA - - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_RSA_WITH_3DES_EDE_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA256 - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_256_CBC_SHA256 - - TLS_RSA_WITH_AES_256_GCM_SHA384 - type: string - type: array - disabledSslProtocols: - description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' - items: - description: Ssl protocol enums. - enum: - - TLSv1_0 - - TLSv1_1 - - TLSv1_2 - - TLSv1_3 - type: string - type: array - minProtocolVersion: - description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' - enum: - - TLSv1_0 - - TLSv1_1 - - TLSv1_2 - - TLSv1_3 + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - policyName: - description: 'PolicyName: Name of Ssl predefined policy.' - enum: - - AppGwSslPolicy20150501 - - AppGwSslPolicy20170401 - - AppGwSslPolicy20170401S - - AppGwSslPolicy20220101 - - AppGwSslPolicy20220101S + group: + description: Group is the Kubernetes group of the resource. type: string - policyType: - description: 'PolicyType: Type of Ssl Policy.' - enum: - - Custom - - CustomV2 - - Predefined + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - sslProfiles: - description: |- - SslProfiles: SSL profiles of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: SSL profile of an application gateway. + description: Condition defines an extension to status (an observation) of a resource properties: - clientAuthConfiguration: - description: 'ClientAuthConfiguration: Client authentication configuration of the application gateway resource.' - properties: - verifyClientCertIssuerDN: - description: 'VerifyClientCertIssuerDN: Verify client certificate issuer name on the application gateway.' - type: boolean - verifyClientRevocation: - description: 'VerifyClientRevocation: Verify client certificate revocation status.' - enum: - - None - - OCSP - type: string - type: object - name: - description: 'Name: Name of the SSL profile that is unique within an Application Gateway.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - sslPolicy: - description: 'SslPolicy: SSL policy of the application gateway resource.' - properties: - cipherSuites: - description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' - items: - description: Ssl cipher suites enums. - enum: - - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA - - TLS_DHE_DSS_WITH_AES_128_CBC_SHA - - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 - - TLS_DHE_DSS_WITH_AES_256_CBC_SHA - - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 - - TLS_DHE_RSA_WITH_AES_128_CBC_SHA - - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_DHE_RSA_WITH_AES_256_CBC_SHA - - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_RSA_WITH_3DES_EDE_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA256 - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_256_CBC_SHA256 - - TLS_RSA_WITH_AES_256_GCM_SHA384 - type: string - type: array - disabledSslProtocols: - description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' - items: - description: Ssl protocol enums. - enum: - - TLSv1_0 - - TLSv1_1 - - TLSv1_2 - - TLSv1_3 - type: string - type: array - minProtocolVersion: - description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' - enum: - - TLSv1_0 - - TLSv1_1 - - TLSv1_2 - - TLSv1_3 - type: string - policyName: - description: 'PolicyName: Name of Ssl predefined policy.' - enum: - - AppGwSslPolicy20150501 - - AppGwSslPolicy20170401 - - AppGwSslPolicy20170401S - - AppGwSslPolicy20220101 - - AppGwSslPolicy20220101S - type: string - policyType: - description: 'PolicyType: Type of Ssl Policy.' - enum: - - Custom - - CustomV2 - - Predefined - type: string - type: object - trustedClientCertificates: - description: 'TrustedClientCertificates: Array of references to application gateway trusted client certificates.' - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - trustedClientCertificates: + eventHubAuthorizationRuleId: + description: 'EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule.' + type: string + eventHubName: + description: 'EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.' + type: string + id: description: |- - TrustedClientCertificates: Trusted client certificates of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + logAnalyticsDestinationType: + description: |- + LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination + type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + type: string + logs: + description: 'Logs: The list of logs settings.' items: - description: Trusted client certificates of an application gateway. + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. properties: - data: - description: 'Data: Certificate public data.' + category: + description: |- + Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of + Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + type: string + categoryGroup: + description: |- + CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the + list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. + type: string + enabled: + description: 'Enabled: a value indicating whether this log is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this log.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean type: object - name: - description: 'Name: Name of the trusted client certificate that is unique within an Application Gateway.' - type: string type: object type: array - trustedRootCertificates: + marketplacePartnerId: description: |- - TrustedRootCertificates: Trusted Root certificates of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic + Logs. + type: string + metrics: + description: 'Metrics: The list of metric settings.' items: - description: Trusted Root certificates of an application gateway. + description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. properties: - data: - description: 'Data: Certificate public data.' + category: + description: |- + Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of + Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. + type: string + enabled: + description: 'Enabled: a value indicating whether this category is enabled.' + type: boolean + retentionPolicy: + description: 'RetentionPolicy: the retention policy for this category.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + days: + description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' + type: integer + enabled: + description: 'Enabled: a value indicating whether the retention policy is enabled.' + type: boolean type: object - keyVaultSecretId: - description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' - type: string - name: - description: 'Name: Name of the trusted root certificate that is unique within an Application Gateway.' + timeGrain: + description: 'TimeGrain: the timegrain of the metric in ISO8601 format.' type: string type: object type: array - urlPathMaps: + name: + description: 'Name: The name of the resource' + type: string + serviceBusRuleId: + description: 'ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.' + type: string + storageAccountId: + description: 'StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs.' + type: string + systemData: + description: 'SystemData: The system metadata related to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workspaceId: description: |- - UrlPathMaps: URL path map of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. + Example: + /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501preview.DiagnosticSetting + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json + - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501preview.DiagnosticSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + eventHubAuthorizationRuleReference: + description: 'EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + eventHubName: + type: string + logAnalyticsDestinationType: + type: string + logs: items: - description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + description: |- + Storage version of v1api20210501preview.LogSettings + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. properties: - defaultBackendAddressPool: - description: 'DefaultBackendAddressPool: Default backend address pool resource of URL path map.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defaultBackendHttpSettings: - description: 'DefaultBackendHttpSettings: Default backend http settings resource of URL path map.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - defaultLoadDistributionPolicy: - description: 'DefaultLoadDistributionPolicy: Default Load Distribution Policy resource of URL path map.' + category: + type: string + categoryGroup: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy + Specifies the retention policy for the log. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + days: + type: integer + enabled: + type: boolean type: object - defaultRedirectConfiguration: - description: 'DefaultRedirectConfiguration: Default redirect configuration resource of URL path map.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: object + type: array + marketplacePartnerReference: + description: |- + MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send + Diagnostic Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metrics: + items: + description: |- + Storage version of v1api20210501preview.MetricSettings + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - defaultRewriteRuleSet: - description: 'DefaultRewriteRuleSet: Default Rewrite rule set resource of URL path map.' + category: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy + Specifies the retention policy for the log. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + days: + type: integer + enabled: + type: boolean type: object - name: - description: 'Name: Name of the URL path map that is unique within an Application Gateway.' + timeGrain: type: string - pathRules: - description: 'PathRules: Path rule of URL path map resource.' - items: - description: Path rule of URL path map of an application gateway. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object type: array - webApplicationFirewallConfiguration: - description: 'WebApplicationFirewallConfiguration: Web application firewall configuration.' + operatorSpec: + description: |- + Storage version of v1api20210501preview.DiagnosticSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - disabledRuleGroups: - description: 'DisabledRuleGroups: The disabled rule groups.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: - description: Allows to disable rules within a rule group or an entire rule group. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - ruleGroupName: - description: 'RuleGroupName: The name of the rule group that will be disabled.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - rules: - description: 'Rules: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.' - items: - type: integer - type: array required: - - ruleGroupName + - name + - value type: object type: array - enabled: - description: 'Enabled: Whether the web application firewall is enabled or not.' - type: boolean - exclusions: - description: 'Exclusions: The exclusion list.' + secretExpressions: items: - description: Allow to exclude some variable satisfy the condition for the WAF check. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - matchVariable: - description: 'MatchVariable: The variable to be excluded.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - selector: + name: description: |- - Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion - applies to. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - selectorMatchOperator: + value: description: |- - SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the - collection this exclusion applies to. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string required: - - matchVariable - - selector - - selectorMatchOperator + - name + - value type: object type: array - fileUploadLimitInMb: - description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' - minimum: 0 - type: integer - firewallMode: - description: 'FirewallMode: Web application firewall mode.' - enum: - - Detection - - Prevention + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - maxRequestBodySize: - description: 'MaxRequestBodySize: Maximum request body size for WAF.' - maximum: 128 - minimum: 8 - type: integer - maxRequestBodySizeInKb: - description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' - maximum: 128 - minimum: 8 - type: integer - requestBodyCheck: - description: 'RequestBodyCheck: Whether allow WAF to check request Body.' - type: boolean - ruleSetType: - description: 'RuleSetType: The type of the web application firewall rule set. Possible values are: ''OWASP''.' + group: + description: Group is the Kubernetes group of the resource. type: string - ruleSetVersion: - description: 'RuleSetVersion: The version of the rule set type.' + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serviceBusRuleId: + type: string + storageAccountReference: + description: 'StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workspaceReference: + description: |- + WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic + Logs. Example: + /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - enabled - - firewallMode - - ruleSetType - - ruleSetVersion type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array required: - owner type: object status: - description: Application gateway resource. + description: Storage version of v1api20210501preview.DiagnosticSetting_STATUS properties: - authenticationCertificates: + $propertyBag: + additionalProperties: + type: string description: |- - AuthenticationCertificates: Authentication certificates of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: Authentication certificates of an application gateway. + description: Condition defines an extension to status (an observation) of a resource properties: - id: - description: 'Id: Resource ID.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - autoscaleConfiguration: - description: 'AutoscaleConfiguration: Autoscale Configuration.' - properties: - maxCapacity: - description: 'MaxCapacity: Upper bound on number of Application Gateway capacity.' - type: integer - minCapacity: - description: 'MinCapacity: Lower bound on number of Application Gateway capacity.' - type: integer - type: object - backendAddressPools: - description: |- - BackendAddressPools: Backend address pool of the application gateway resource. For default limits, see [Application - Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + eventHubAuthorizationRuleId: + type: string + eventHubName: + type: string + id: + type: string + logAnalyticsDestinationType: + type: string + logs: items: - description: Backend Address Pool of an application gateway. + description: |- + Storage version of v1api20210501preview.LogSettings_STATUS + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. properties: - id: - description: 'Id: Resource ID.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + categoryGroup: type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy_STATUS + Specifies the retention policy for the log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object type: object type: array - backendHttpSettingsCollection: - description: |- - BackendHttpSettingsCollection: Backend http settings of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + marketplacePartnerId: + type: string + metrics: items: - description: Backend address pool settings of an application gateway. + description: |- + Storage version of v1api20210501preview.MetricSettings_STATUS + Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. properties: - id: - description: 'Id: Resource ID.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + category: + type: string + enabled: + type: boolean + retentionPolicy: + description: |- + Storage version of v1api20210501preview.RetentionPolicy_STATUS + Specifies the retention policy for the log. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + enabled: + type: boolean + type: object + timeGrain: type: string type: object type: array - backendSettingsCollection: + name: + type: string + serviceBusRuleId: + type: string + storageAccountId: + type: string + systemData: description: |- - BackendSettingsCollection: Backend settings of the application gateway resource. For default limits, see [Application - Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Backend address pool settings of an application gateway. - properties: - id: - description: 'Id: Resource ID.' + Storage version of v1api20210501preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + workspaceId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: diskaccesses.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: DiskAccess + listKind: DiskAccessList + plural: diskaccesses + singular: diskaccess + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskAccess.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk access will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: disk access resource. + properties: conditions: description: 'Conditions: The observed state of the resource' items: @@ -28439,423 +87265,51 @@ spec: - type type: object type: array - customErrorConfigurations: - description: 'CustomErrorConfigurations: Custom error configurations of the application gateway resource.' - items: - description: Customer error of an application gateway. - properties: - customErrorPageUrl: - description: 'CustomErrorPageUrl: Error page URL of the application gateway customer error.' - type: string - statusCode: - description: 'StatusCode: Status code of the application gateway customer error.' - type: string - type: object - type: array - enableFips: - description: 'EnableFips: Whether FIPS is enabled on the application gateway resource.' - type: boolean - enableHttp2: - description: 'EnableHttp2: Whether HTTP2 is enabled on the application gateway resource.' - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - firewallPolicy: - description: 'FirewallPolicy: Reference to the FirewallPolicy resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - forceFirewallPolicyAssociation: - description: |- - ForceFirewallPolicyAssociation: If true, associates a firewall policy with an application gateway regardless whether the - policy differs from the WAF Config. - type: boolean - frontendIPConfigurations: - description: |- - FrontendIPConfigurations: Frontend IP addresses of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Frontend IP configuration of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - frontendPorts: - description: |- - FrontendPorts: Frontend ports of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Frontend port of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - gatewayIPConfigurations: - description: |- - GatewayIPConfigurations: Subnets of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - globalConfiguration: - description: 'GlobalConfiguration: Global Configuration.' - properties: - enableRequestBuffering: - description: 'EnableRequestBuffering: Enable request buffering.' - type: boolean - enableResponseBuffering: - description: 'EnableResponseBuffering: Enable response buffering.' - type: boolean - type: object - httpListeners: - description: |- - HttpListeners: Http listeners of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Http listener of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - id: - description: 'Id: Resource ID.' - type: string - identity: - description: 'Identity: The identity of the application gateway, if configured.' + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk access will be created. Extended location cannot be changed.' properties: - principalId: - description: |- - PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned - identity. - type: string - tenantId: - description: |- - TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned - identity. + name: + description: 'Name: The name of the extended location.' type: string type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual - machine. + description: 'Type: The type of the extended location.' type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object type: object - listeners: - description: |- - Listeners: Listeners of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Listener of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - loadDistributionPolicies: - description: 'LoadDistributionPolicies: Load distribution policies of the application gateway resource.' - items: - description: Load Distribution Policy of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array + id: + description: 'Id: Resource Id' + type: string location: - description: 'Location: Resource location.' + description: 'Location: Resource location' type: string name: - description: 'Name: Resource name.' - type: string - operationalState: - description: 'OperationalState: Operational state of the application gateway resource.' + description: 'Name: Resource name' type: string privateEndpointConnections: - description: 'PrivateEndpointConnections: Private Endpoint connections on application gateway.' - items: - description: Private Endpoint connection on an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - privateLinkConfigurations: - description: 'PrivateLinkConfigurations: PrivateLink configurations on application gateway.' - items: - description: Private Link Configuration on an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - probes: - description: 'Probes: Probes of the application gateway resource.' - items: - description: Probe of the application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the application gateway resource.' - type: string - redirectConfigurations: description: |- - RedirectConfigurations: Redirect configurations of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Redirect configuration of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - requestRoutingRules: - description: 'RequestRoutingRules: Request routing rules of the application gateway resource.' + PrivateEndpointConnections: A readonly collection of private endpoint connections created on the disk. Currently only + one endpoint connection is supported. items: - description: Request routing rule of an application gateway. + description: The Private Endpoint Connection resource. properties: id: - description: 'Id: Resource ID.' + description: 'Id: private endpoint connection Id' type: string type: object type: array - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the application gateway resource.' + provisioningState: + description: 'ProvisioningState: The disk access resource provisioning state.' type: string - rewriteRuleSets: - description: 'RewriteRuleSets: Rewrite rules for the application gateway resource.' - items: - description: Rewrite rule set of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - routingRules: - description: 'RoutingRules: Routing rules of the application gateway resource.' - items: - description: Routing rule of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - sku: - description: 'Sku: SKU of the application gateway resource.' - properties: - capacity: - description: 'Capacity: Capacity (instance count) of an application gateway.' - type: integer - name: - description: 'Name: Name of an application gateway SKU.' - type: string - tier: - description: 'Tier: Tier of an application gateway.' - type: string - type: object - sslCertificates: - description: |- - SslCertificates: SSL certificates of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: SSL certificates of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - sslPolicy: - description: 'SslPolicy: SSL policy of the application gateway resource.' - properties: - cipherSuites: - description: 'CipherSuites: Ssl cipher suites to be enabled in the specified order to application gateway.' - items: - description: Ssl cipher suites enums. - type: string - type: array - disabledSslProtocols: - description: 'DisabledSslProtocols: Ssl protocols to be disabled on application gateway.' - items: - description: Ssl protocol enums. - type: string - type: array - minProtocolVersion: - description: 'MinProtocolVersion: Minimum version of Ssl protocol to be supported on application gateway.' - type: string - policyName: - description: 'PolicyName: Name of Ssl predefined policy.' - type: string - policyType: - description: 'PolicyType: Type of Ssl Policy.' - type: string - type: object - sslProfiles: - description: |- - SslProfiles: SSL profiles of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: SSL profile of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object - trustedClientCertificates: - description: |- - TrustedClientCertificates: Trusted client certificates of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Trusted client certificates of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - trustedRootCertificates: - description: |- - TrustedRootCertificates: Trusted Root certificates of the application gateway resource. For default limits, see - [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: Trusted Root certificates of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array + timeCreated: + description: 'TimeCreated: The time when the disk access was created.' + type: string type: - description: 'Type: Resource type.' + description: 'Type: Resource type' type: string - urlPathMaps: - description: |- - UrlPathMaps: URL path map of the application gateway resource. For default limits, see [Application Gateway - limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). - items: - description: UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - webApplicationFirewallConfiguration: - description: 'WebApplicationFirewallConfiguration: Web application firewall configuration.' - properties: - disabledRuleGroups: - description: 'DisabledRuleGroups: The disabled rule groups.' - items: - description: Allows to disable rules within a rule group or an entire rule group. - properties: - ruleGroupName: - description: 'RuleGroupName: The name of the rule group that will be disabled.' - type: string - rules: - description: 'Rules: The list of rules that will be disabled. If null, all rules of the rule group will be disabled.' - items: - type: integer - type: array - type: object - type: array - enabled: - description: 'Enabled: Whether the web application firewall is enabled or not.' - type: boolean - exclusions: - description: 'Exclusions: The exclusion list.' - items: - description: Allow to exclude some variable satisfy the condition for the WAF check. - properties: - matchVariable: - description: 'MatchVariable: The variable to be excluded.' - type: string - selector: - description: |- - Selector: When matchVariable is a collection, operator used to specify which elements in the collection this exclusion - applies to. - type: string - selectorMatchOperator: - description: |- - SelectorMatchOperator: When matchVariable is a collection, operate on the selector to specify which elements in the - collection this exclusion applies to. - type: string - type: object - type: array - fileUploadLimitInMb: - description: 'FileUploadLimitInMb: Maximum file upload size in Mb for WAF.' - type: integer - firewallMode: - description: 'FirewallMode: Web application firewall mode.' - type: string - maxRequestBodySize: - description: 'MaxRequestBodySize: Maximum request body size for WAF.' - type: integer - maxRequestBodySizeInKb: - description: 'MaxRequestBodySizeInKb: Maximum request body size in Kb for WAF.' - type: integer - requestBodyCheck: - description: 'RequestBodyCheck: Whether allow WAF to check request Body.' - type: boolean - ruleSetType: - description: 'RuleSetType: The type of the web application firewall rule set. Possible values are: ''OWASP''.' - type: string - ruleSetVersion: - description: 'RuleSetVersion: The version of the rule set type.' - type: string - type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -28875,14 +87329,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20240302storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.ApplicationGateway + Storage version of v1api20240302.DiskAccess Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/applicationGateway.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskAccess.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName} properties: apiVersion: description: |- @@ -28902,7 +87356,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.ApplicationGateway_Spec + description: Storage version of v1api20240302.DiskAccess_Spec properties: $propertyBag: additionalProperties: @@ -28911,44 +87365,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authenticationCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayAuthenticationCertificate - Authentication certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - data: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - name: - type: string - type: object - type: array - autoscaleConfiguration: + azureName: description: |- - Storage version of v1api20220701.ApplicationGatewayAutoscaleConfiguration - Application Gateway autoscale configuration. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -28957,330 +87382,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxCapacity: - type: integer - minCapacity: - type: integer + name: + type: string + type: + type: string type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + location: type: string - backendAddressPools: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendAddressPool - Backend Address Pool of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddresses: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendAddress - Backend address of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdn: - type: string - ipAddress: - type: string - type: object - type: array - name: - type: string - type: object - type: array - backendHttpSettingsCollection: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendHttpSettings - Backend address pool settings of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - affinityCookieName: - type: string - authenticationCertificates: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - connectionDraining: - description: |- - Storage version of v1api20220701.ApplicationGatewayConnectionDraining - Connection draining allows open connections to a backend server to be active for a specified time after the backend - server got removed from the configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInSec: - type: integer - enabled: - type: boolean - type: object - cookieBasedAffinity: - type: string - hostName: - type: string - name: - type: string - path: - type: string - pickHostNameFromBackendAddress: - type: boolean - port: - type: integer - probe: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - probeEnabled: - type: boolean - protocol: - type: string - requestTimeout: - type: integer - trustedRootCertificates: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - backendSettingsCollection: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendSettings - Backend address pool settings of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - hostName: - type: string - name: - type: string - pickHostNameFromBackendAddress: - type: boolean - port: - type: integer - probe: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - protocol: - type: string - timeout: - type: integer - trustedRootCertificates: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - customErrorConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayCustomError - Customer error of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customErrorPageUrl: - type: string - statusCode: - type: string - type: object - type: array - enableFips: - type: boolean - enableHttp2: - type: boolean - firewallPolicy: + operatorSpec: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20240302.DiskAccessOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -29289,222 +87401,146 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - forceFirewallPolicyAssociation: - type: boolean - frontendIPConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayFrontendIPConfiguration - Frontend IP configuration of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - privateIPAddress: - type: string - privateIPAllocationMethod: - type: string - privateLinkConfiguration: + configMapExpressions: + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - publicIPAddress: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - subnet: + type: array + secretExpressions: + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - type: object - type: array - frontendPorts: + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240302.DiskAccess_STATUS + disk access resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: |- - Storage version of v1api20220701.ApplicationGatewayFrontendPort - Frontend port of an application gateway. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - port: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - type: object - type: array - gatewayIPConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayIPConfiguration_ApplicationGateway_SubResourceEmbedded - IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. - properties: - $propertyBag: - additionalProperties: - type: string + reason: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - subnet: + severity: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - globalConfiguration: + extendedLocation: description: |- - Storage version of v1api20220701.ApplicationGatewayGlobalConfiguration - Application Gateway global configuration. + Storage version of v1api20240302.ExtendedLocation_STATUS + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -29513,16 +87549,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enableRequestBuffering: - type: boolean - enableResponseBuffering: - type: boolean + name: + type: string + type: + type: string type: object - httpListeners: + id: + type: string + location: + type: string + name: + type: string + privateEndpointConnections: items: description: |- - Storage version of v1api20220701.ApplicationGatewayHttpListener - Http listener of an application gateway. + Storage version of v1api20240302.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. properties: $propertyBag: additionalProperties: @@ -29531,39 +87573,213 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - customErrorConfigurations: - items: + id: + type: string + type: object + type: array + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: diskencryptionsets.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: DiskEncryptionSet + listKind: DiskEncryptionSetList + plural: diskencryptionsets + singular: diskencryptionset + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220702 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2022-07-02/diskEncryptionSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + keyUrlFromConfig: + description: |- + KeyUrlFromConfig: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required + regardless of rotationToLatestKeyVersionEnabled value. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - Storage version of v1api20220701.ApplicationGatewayCustomError - Customer error of an application gateway. + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + reference: + description: 'Reference: Resource Id' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customErrorPageUrl: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - statusCode: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - type: array - firewallPolicy: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + enum: + - ConfidentialVmEncryptedWithCustomerKey + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + federatedClientIdFromConfig: + description: |- + FederatedClientIdFromConfig: Multi-tenant application client id to access key vault in a different tenant. Setting the + value to 'None' will clear the property. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -29583,322 +87799,473 @@ spec: type: string type: object type: object - frontendIPConfiguration: + type: array + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - frontendPort: + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - hostName: - type: string - hostNames: - items: + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: disk encryption set resource. + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + id: + description: 'Id: Resource Id' type: string - type: array - name: + type: object + type: object + autoKeyRotationError: + description: |- + AutoKeyRotationError: The error that was encountered during auto-key rotation. If an error is present, then auto-key + rotation will not be attempted until the error on this disk encryption set is fixed. + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' + items: + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + type: array + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - protocol: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - requireServerNameIndication: - type: boolean - sslCertificate: + observedGeneration: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - sslProfile: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + id: + description: 'Id: Resource Id' + type: string identity: description: |- - Storage version of v1api20220701.ManagedServiceIdentity - Identity for the resource. + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. properties: - $propertyBag: - additionalProperties: - type: string + principalId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + PrincipalId: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + tenantId: + description: |- + TenantId: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. type: string userAssignedIdentities: - items: - description: |- - Storage version of v1api20220701.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + additionalProperties: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string type: object - type: array + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object type: object - listeners: + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: The time when the active key of this disk encryption set was updated.' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + previousKeys: + description: |- + PreviousKeys: A readonly collection of key vault keys previously used by this disk encryption set while a key rotation + is in progress. It will be empty if there is no ongoing key rotation. items: - description: |- - Storage version of v1api20220701.ApplicationGatewayListener - Listener of an application gateway. + description: Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - frontendIPConfiguration: + keyUrl: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPort: + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + id: + description: 'Id: Resource Id' + type: string type: object - name: + type: object + type: array + provisioningState: + description: 'ProvisioningState: The disk encryption set provisioning state.' + type: string + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220702storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220702.DiskEncryptionSet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2022-07-02/diskEncryptionSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220702.DiskEncryptionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20220702.KeyForDiskEncryptionSet + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: type: string - protocol: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + keyUrlFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + Storage version of v1api20220702.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + type: string + federatedClientId: + type: string + federatedClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Storage version of v1api20220702.EncryptionSetIdentity + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: type: string - sslCertificate: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - sslProfile: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20220702.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -29908,7 +88275,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -29928,67 +88295,13 @@ spec: type: string type: object type: object - type: object - type: array - loadDistributionPolicies: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayLoadDistributionPolicy - Load Distribution Policy of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - loadDistributionAlgorithm: - type: string - loadDistributionTargets: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayLoadDistributionTarget - Load Distribution Target of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - name: - type: string - type: object - type: array + type: array + type: object location: type: string operatorSpec: description: |- - Storage version of v1api20220701.ApplicationGatewayOperatorSpec + Storage version of v1api20220702.DiskEncryptionSetOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -30072,79 +88385,77 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayPrivateLinkConfiguration - Private Link Configuration on an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipConfigurations: - items: + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220702.DiskEncryptionSet_STATUS + disk encryption set resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20220702.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20220702.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220701.ApplicationGatewayPrivateLinkIpConfiguration - The application gateway private link ip configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - name: - type: string - type: object - type: array - probes: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayProbe - Probe of the application gateway. - properties: - $propertyBag: - additionalProperties: + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - host: + type: object + type: object + autoKeyRotationError: + description: |- + Storage version of v1api20220702.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: type: string - interval: - type: integer - match: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: description: |- - Storage version of v1api20220701.ApplicationGatewayProbeHealthResponseMatch - Application gateway probe health response match. + Storage version of v1api20220702.ApiErrorBase_STATUS + Api error base. properties: $propertyBag: additionalProperties: @@ -30153,128 +88464,107 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - body: + code: + type: string + message: + type: string + target: type: string - statusCodes: - items: - type: string - type: array type: object - minServers: - type: integer - name: + type: array + innererror: + description: |- + Storage version of v1api20220702.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: + type: string + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - path: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - pickHostNameFromBackendHttpSettings: - type: boolean - pickHostNameFromBackendSettings: - type: boolean - port: + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - protocol: + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - timeout: - type: integer - unhealthyThreshold: - type: integer - type: object - type: array - redirectConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRedirectConfiguration - Redirect configuration of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string + severity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - includePath: - type: boolean - includeQueryString: - type: boolean - name: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - pathRules: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - redirectType: + status: + description: Status of the condition, one of True, False, or Unknown. type: string - requestRoutingRules: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - targetListener: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryptionType: + type: string + federatedClientId: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20220702.EncryptionSetIdentity_STATUS + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220702.EncryptionSetIdentity_UserAssignedIdentities_STATUS properties: $propertyBag: additionalProperties: @@ -30283,71 +88573,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + clientId: + type: string + principalId: + type: string type: object - targetUrl: - type: string - urlPathMaps: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - requestRoutingRules: + type: object + type: object + lastKeyRotationTimestamp: + type: string + location: + type: string + name: + type: string + previousKeys: items: description: |- - Storage version of v1api20220701.ApplicationGatewayRequestRoutingRule - Request routing rule of an application gateway. + Storage version of v1api20220702.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots properties: $propertyBag: additionalProperties: @@ -30356,214 +88599,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendAddressPool: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - backendHttpSettings: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - httpListener: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - loadDistributionPolicy: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - priority: - type: integer - redirectConfiguration: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - rewriteRuleSet: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - ruleType: + keyUrl: type: string - urlPathMap: + sourceVault: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20220702.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} properties: $propertyBag: additionalProperties: @@ -30572,251 +88614,179 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + id: + type: string type: object type: object type: array - rewriteRuleSets: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRewriteRuleSet - Rewrite rule set of an application gateway. - properties: - $propertyBag: - additionalProperties: + provisioningState: + type: string + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskEncryptionSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: + description: |- + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + keyUrlFromConfig: + description: |- + KeyUrlFromConfig: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required + regardless of rotationToLatestKeyVersionEnabled value. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - rewriteRules: - items: + name: description: |- - Storage version of v1api20220701.ApplicationGatewayRewriteRule - Rewrite rule of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionSet: - description: |- - Storage version of v1api20220701.ApplicationGatewayRewriteRuleActionSet - Set of actions in the Rewrite Rule in Application Gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - requestHeaderConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayHeaderConfiguration - Header configuration of the Actions set in Application Gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerName: - type: string - headerValue: - type: string - type: object - type: array - responseHeaderConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayHeaderConfiguration - Header configuration of the Actions set in Application Gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerName: - type: string - headerValue: - type: string - type: object - type: array - urlConfiguration: - description: |- - Storage version of v1api20220701.ApplicationGatewayUrlConfiguration - Url configuration of the Actions set in Application Gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - modifiedPath: - type: string - modifiedQueryString: - type: string - reroute: - type: boolean - type: object - type: object - conditions: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRewriteRuleCondition - Set of conditions in the Rewrite Rule in Application Gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ignoreCase: - type: boolean - negate: - type: boolean - pattern: - type: string - variable: - type: string - type: object - type: array - name: - type: string - ruleSequence: - type: integer - type: object - type: array - type: object - type: array - routingRules: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRoutingRule - Routing rule of an application gateway. - properties: - $propertyBag: - additionalProperties: + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddressPool: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - backendSettings: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: + required: + - key + - name + type: object + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - listener: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + enum: + - ConfidentialVmEncryptedWithCustomerKey + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + federatedClientIdFromConfig: + description: |- + FederatedClientIdFromConfig: Multi-tenant application client id to access key vault in a different tenant. Setting the + value to 'None' will clear the property. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -30836,432 +88806,473 @@ spec: type: string type: object type: object - name: - type: string - priority: - type: integer - ruleType: - type: string - type: object - type: array - sku: + type: array + type: object + location: + description: 'Location: Resource location' + type: string + operatorSpec: description: |- - Storage version of v1api20220701.ApplicationGatewaySku - SKU of an application gateway. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - sslCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewaySslCertificate - SSL certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - data: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: key: - description: Key is the key in the Kubernetes secret being referenced + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string required: - - key - name + - value type: object - keyVaultSecretId: - type: string - name: - type: string - password: + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: key: - description: Key is the key in the Kubernetes secret being referenced + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string required: - - key - name + - value type: object - type: object - type: array - sslPolicy: + type: array + type: object + owner: description: |- - Storage version of v1api20220701.ApplicationGatewaySslPolicy - Application Gateway Ssl policy. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: - $propertyBag: - additionalProperties: - type: string + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - location + - owner + type: object + status: + description: disk encryption set resource. + properties: + activeKey: + description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + properties: + keyUrl: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: + description: |- + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. + properties: + id: + description: 'Id: Resource Id' + type: string type: object - cipherSuites: - items: - type: string - type: array - disabledSslProtocols: + type: object + autoKeyRotationError: + description: |- + AutoKeyRotationError: The error that was encountered during auto-key rotation. If an error is present, then auto-key + rotation will not be attempted until the error on this disk encryption set is fixed. + properties: + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The Api error details' items: - type: string + description: Api error base. + properties: + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The target of the particular error.' + type: string + type: object type: array - minProtocolVersion: - type: string - policyName: + innererror: + description: 'Innererror: The Api inner error' + properties: + errordetail: + description: 'Errordetail: The internal error message or exception dump.' + type: string + exceptiontype: + description: 'Exceptiontype: The exception type.' + type: string + type: object + message: + description: 'Message: The error message.' type: string - policyType: + target: + description: 'Target: The target of the particular error.' type: string type: object - sslProfiles: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: |- - Storage version of v1api20220701.ApplicationGatewaySslProfile - SSL profile of an application gateway. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientAuthConfiguration: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - Storage version of v1api20220701.ApplicationGatewayClientAuthConfiguration - Application gateway client authentication configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - verifyClientCertIssuerDN: - type: boolean - verifyClientRevocation: - type: string - type: object - name: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - sslPolicy: + severity: description: |- - Storage version of v1api20220701.ApplicationGatewaySslPolicy - Application Gateway Ssl policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cipherSuites: - items: - type: string - type: array - disabledSslProtocols: - items: - type: string - type: array - minProtocolVersion: - type: string - policyName: - type: string - policyType: - type: string - type: object - trustedClientCertificates: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - tags: - additionalProperties: - type: string - type: object - trustedClientCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayTrustedClientCertificate - Trusted client certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - data: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + encryptionType: + description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + type: string + federatedClientId: + description: |- + FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to + 'None' will clear the property. + type: string + id: + description: 'Id: Resource Id' + type: string + identity: + description: |- + Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can + be used to encrypt disks. + properties: + principalId: + description: |- + PrincipalId: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + tenantId: + description: |- + TenantId: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the + x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + type: string + type: + description: |- + Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. + Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active + Directory tenant; it will cause the encrypted resources to lose access to the keys. + type: string + userAssignedIdentities: + additionalProperties: properties: - key: - description: Key is the key in the Kubernetes secret being referenced + clientId: + description: 'ClientId: The client id of user assigned identity.' type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' type: string - required: - - key - - name type: object - name: - type: string - type: object - type: array - trustedRootCertificates: + description: |- + UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: The time when the active key of this disk encryption set was updated.' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + previousKeys: + description: |- + PreviousKeys: A readonly collection of key vault keys previously used by this disk encryption set while a key rotation + is in progress. It will be empty if there is no ongoing key rotation. items: - description: |- - Storage version of v1api20220701.ApplicationGatewayTrustedRootCertificate - Trusted Root certificates of an application gateway. + description: Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots properties: - $propertyBag: - additionalProperties: - type: string + keyUrl: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - data: + KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of + rotationToLatestKeyVersionEnabled value. + type: string + sourceVault: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if + the KeyVault subscription is not the same as the Disk Encryption Set subscription. properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + id: + description: 'Id: Resource Id' type: string - required: - - key - - name type: object - keyVaultSecretId: - type: string - name: - type: string type: object type: array - urlPathMaps: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayUrlPathMap - UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. - properties: - $propertyBag: - additionalProperties: + provisioningState: + description: 'ProvisioningState: The disk encryption set provisioning state.' + type: string + rotationToLatestKeyVersionEnabled: + description: |- + RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the + latest key version. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240302storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240302.DiskEncryptionSet + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskEncryptionSet.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240302.DiskEncryptionSet_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeKey: + description: |- + Storage version of v1api20240302.KeyForDiskEncryptionSet + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + keyUrlFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultBackendAddressPool: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defaultBackendHttpSettings: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defaultLoadDistributionPolicy: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defaultRedirectConfiguration: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: + name: + description: Name is the Kubernetes name of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defaultRewriteRuleSet: + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryptionType: + type: string + federatedClientId: + type: string + federatedClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Storage version of v1api20240302.EncryptionSetIdentity + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20240302.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -31271,7 +89282,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -31291,49 +89302,14 @@ spec: type: string type: object type: object - name: - type: string - pathRules: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayPathRule - Path rule of URL path map of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: array - webApplicationFirewallConfiguration: + type: array + type: object + location: + type: string + operatorSpec: description: |- - Storage version of v1api20220701.ApplicationGatewayWebApplicationFirewallConfiguration - Application gateway web application firewall configuration. + Storage version of v1api20240302.DiskEncryptionSetOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -31342,76 +89318,93 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - disabledRuleGroups: + configMapExpressions: items: description: |- - Storage version of v1api20220701.ApplicationGatewayFirewallDisabledRuleGroup - Allows to disable rules within a rule group or an entire rule group. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ruleGroupName: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - rules: - items: - type: integer - type: array + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - enabled: - type: boolean - exclusions: + secretExpressions: items: description: |- - Storage version of v1api20220701.ApplicationGatewayFirewallExclusion - Allow to exclude some variable satisfy the condition for the WAF check. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchVariable: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - selector: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - selectorMatchOperator: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - type: object - type: array - fileUploadLimitInMb: - type: integer - firewallMode: - type: string - maxRequestBodySize: - type: integer - maxRequestBodySizeInKb: - type: integer - requestBodyCheck: - type: boolean - ruleSetType: + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - ruleSetVersion: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - zones: - items: + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: type: string - type: array + type: object required: - owner type: object status: description: |- - Storage version of v1api20220701.ApplicationGateway_STATUS_ApplicationGateway_SubResourceEmbedded - Application gateway resource. + Storage version of v1api20240302.DiskEncryptionSet_STATUS + disk encryption set resource. properties: $propertyBag: additionalProperties: @@ -31420,27 +89413,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authenticationCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayAuthenticationCertificate_STATUS - Authentication certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - autoscaleConfiguration: + activeKey: description: |- - Storage version of v1api20220701.ApplicationGatewayAutoscaleConfiguration_STATUS - Application Gateway autoscale configuration. + Storage version of v1api20240302.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots properties: $propertyBag: additionalProperties: @@ -31449,62 +89425,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxCapacity: - type: integer - minCapacity: - type: integer - type: object - backendAddressPools: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendAddressPool_STATUS - Backend Address Pool of an application gateway. - properties: - $propertyBag: - additionalProperties: + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + type: object + type: object + autoKeyRotationError: + description: |- + Storage version of v1api20240302.ApiError_STATUS + Api error. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - backendHttpSettingsCollection: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendHttpSettings_STATUS - Backend address pool settings of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240302.ApiErrorBase_STATUS + Api error base. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string type: object - id: - type: string - type: object - type: array - backendSettingsCollection: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayBackendSettings_STATUS - Backend address pool settings of an application gateway. - properties: - $propertyBag: - additionalProperties: + type: array + innererror: + description: |- + Storage version of v1api20240302.InnerError_STATUS + Inner error details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + errordetail: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array + exceptiontype: + type: string + type: object + message: + type: string + target: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -31548,139 +89544,17 @@ spec: - type type: object type: array - customErrorConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayCustomError_STATUS - Customer error of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customErrorPageUrl: - type: string - statusCode: - type: string - type: object - type: array - enableFips: - type: boolean - enableHttp2: - type: boolean - etag: + encryptionType: + type: string + federatedClientId: type: string - firewallPolicy: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - forceFirewallPolicyAssociation: - type: boolean - frontendIPConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayFrontendIPConfiguration_STATUS - Frontend IP configuration of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - frontendPorts: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayFrontendPort_STATUS - Frontend port of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - gatewayIPConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayIPConfiguration_STATUS_ApplicationGateway_SubResourceEmbedded - IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - globalConfiguration: - description: |- - Storage version of v1api20220701.ApplicationGatewayGlobalConfiguration_STATUS - Application Gateway global configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableRequestBuffering: - type: boolean - enableResponseBuffering: - type: boolean - type: object - httpListeners: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayHttpListener_STATUS - Http listener of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array id: type: string identity: description: |- - Storage version of v1api20220701.ManagedServiceIdentity_STATUS - Identity for the resource. + Storage version of v1api20240302.EncryptionSetIdentity_STATUS + The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used + to encrypt disks. properties: $propertyBag: additionalProperties: @@ -31697,7 +89571,7 @@ spec: type: string userAssignedIdentities: additionalProperties: - description: Storage version of v1api20220701.ManagedServiceIdentity_UserAssignedIdentities_STATUS + description: Storage version of v1api20240302.EncryptionSetIdentity_UserAssignedIdentities_STATUS properties: $propertyBag: additionalProperties: @@ -31713,294 +89587,17 @@ spec: type: object type: object type: object - listeners: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayListener_STATUS - Listener of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - loadDistributionPolicies: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayLoadDistributionPolicy_STATUS - Load Distribution Policy of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array + lastKeyRotationTimestamp: + type: string location: type: string name: type: string - operationalState: - type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayPrivateEndpointConnection_STATUS - Private Endpoint connection on an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - privateLinkConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayPrivateLinkConfiguration_STATUS - Private Link Configuration on an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - probes: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayProbe_STATUS - Probe of the application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - redirectConfigurations: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRedirectConfiguration_STATUS - Redirect configuration of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - requestRoutingRules: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRequestRoutingRule_STATUS - Request routing rule of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - resourceGuid: - type: string - rewriteRuleSets: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRewriteRuleSet_STATUS - Rewrite rule set of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - routingRules: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayRoutingRule_STATUS - Routing rule of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - sku: - description: |- - Storage version of v1api20220701.ApplicationGatewaySku_STATUS - SKU of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - sslCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewaySslCertificate_STATUS - SSL certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - sslPolicy: - description: |- - Storage version of v1api20220701.ApplicationGatewaySslPolicy_STATUS - Application Gateway Ssl policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cipherSuites: - items: - type: string - type: array - disabledSslProtocols: - items: - type: string - type: array - minProtocolVersion: - type: string - policyName: - type: string - policyType: - type: string - type: object - sslProfiles: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewaySslProfile_STATUS - SSL profile of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - tags: - additionalProperties: - type: string - type: object - trustedClientCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayTrustedClientCertificate_STATUS - Trusted client certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - trustedRootCertificates: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayTrustedRootCertificate_STATUS - Trusted Root certificates of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: - type: string - urlPathMaps: + previousKeys: items: description: |- - Storage version of v1api20220701.ApplicationGatewayUrlPathMap_STATUS - UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. + Storage version of v1api20240302.KeyForDiskEncryptionSet_STATUS + Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots properties: $propertyBag: additionalProperties: @@ -32009,50 +89606,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string - type: object - type: array - webApplicationFirewallConfiguration: - description: |- - Storage version of v1api20220701.ApplicationGatewayWebApplicationFirewallConfiguration_STATUS - Application gateway web application firewall configuration. - properties: - $propertyBag: - additionalProperties: + keyUrl: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disabledRuleGroups: - items: - description: |- - Storage version of v1api20220701.ApplicationGatewayFirewallDisabledRuleGroup_STATUS - Allows to disable rules within a rule group or an entire rule group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ruleGroupName: - type: string - rules: - items: - type: integer - type: array - type: object - type: array - enabled: - type: boolean - exclusions: - items: + sourceVault: description: |- - Storage version of v1api20220701.ApplicationGatewayFirewallExclusion_STATUS - Allow to exclude some variable satisfy the condition for the WAF check. + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} properties: $propertyBag: additionalProperties: @@ -32061,33 +89621,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - matchVariable: - type: string - selector: - type: string - selectorMatchOperator: + id: type: string type: object - type: array - fileUploadLimitInMb: - type: integer - firewallMode: - type: string - maxRequestBodySize: - type: integer - maxRequestBodySizeInKb: - type: integer - requestBodyCheck: - type: boolean - ruleSetType: - type: string - ruleSetVersion: - type: string - type: object - zones: - items: - type: string + type: object type: array + provisioningState: + type: string + rotationToLatestKeyVersionEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string type: object type: object served: true @@ -32100,11 +89648,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: applicationsecuritygroups.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: disks.compute.azure.com spec: conversion: strategy: Webhook @@ -32117,12 +89665,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: compute.azure.com names: - kind: ApplicationSecurityGroup - listKind: ApplicationSecurityGroupList - plural: applicationsecuritygroups - singular: applicationsecuritygroup + categories: + - azure + - compute + kind: Disk + listKind: DiskList + plural: disks + singular: disk preserveUnknownFields: false scope: Namespaced versions: @@ -32139,13 +89690,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240101 + name: v1api20200930 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} properties: apiVersion: description: |- @@ -32171,8 +89722,334 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - Empty + - FromImage + - Import + - Restore + - Upload + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string location: - description: 'Location: Resource location.' + description: 'Location: Resource location' + type: string + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll type: string operatorSpec: description: |- @@ -32240,6 +90117,12 @@ spec: type: object type: array type: object + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -32253,17 +90136,70 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + sku: + description: 'Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS.' + properties: + name: + description: 'Name: The sku name.' + enum: + - Premium_LRS + - StandardSSD_LRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array required: + - creationData + - location - owner type: object status: - description: An application security group in a resource group. + description: Disk resource. properties: + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -32308,34 +90244,272 @@ spec: - type type: object type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + type: object + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' + type: string + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the disk.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' type: string id: - description: 'Id: Resource ID.' + description: 'Id: Resource Id' type: string location: - description: 'Location: Resource location.' + description: 'Location: Resource location' + type: string + managedBy: + description: 'ManagedBy: A relative URI containing the ID of the VM that has the disk attached.' type: string + managedByExtended: + description: |- + ManagedByExtended: List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be + set to a value greater than one for disks to allow attaching them to multiple VMs. + items: + type: string + type: array + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer name: - description: 'Name: Resource name.' + description: 'Name: Resource name' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + osType: + description: 'OsType: The Operating System type.' type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the application security group resource.' + description: 'ProvisioningState: The disk provisioning state.' type: string - resourceGuid: + purchasePlan: description: |- - ResourceGuid: The resource GUID property of the application security group resource. It uniquely identifies a resource, - even if the user changes its name or migrate the resource across subscriptions or resource groups. - type: string + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + shareInfo: + description: |- + ShareInfo: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than + one for disks to allow attaching them to multiple VMs. + items: + properties: + vmUri: + description: 'VmUri: A relative URI containing the ID of the VM that has the disk attached.' + type: string + type: object + type: array + sku: + description: 'Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS.' + properties: + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + timeCreated: + description: 'TimeCreated: The time when the disk was created.' + type: string type: - description: 'Type: Resource type.' + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array type: object type: object served: true @@ -32355,14 +90529,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240101storage + name: v1api20200930storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240101.ApplicationSecurityGroup + Storage version of v1api20200930.Disk Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} properties: apiVersion: description: |- @@ -32382,7 +90556,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240101.ApplicationSecurityGroup_Spec + description: Storage version of v1api20200930.Disk_Spec properties: $propertyBag: additionalProperties: @@ -32396,11 +90570,348 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + burstingEnabled: + type: boolean + creationData: + description: |- + Storage version of v1api20200930.CreationData + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + encryption: + description: |- + Storage version of v1api20200930.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20200930.EncryptionSettingsElement + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string location: type: string + maxShares: + type: integer + networkAccessPolicy: + type: string operatorSpec: description: |- - Storage version of v1api20240101.ApplicationSecurityGroupOperatorSpec + Storage version of v1api20200930.DiskOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -32471,137 +90982,429 @@ spec: type: object originalVersion: type: string - owner: + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + sku: + description: |- + Storage version of v1api20200930.DiskSku + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tier: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20200930.Disk_STATUS + Disk resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + burstingEnabled: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: |- + Storage version of v1api20200930.CreationData_STATUS + Data used when creating a disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + logicalSectorSize: + type: integer + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + diskAccessId: + type: string + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20200930.Encryption_STATUS + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20200930.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + location: + type: string + managedBy: + type: string + managedByExtended: + items: + type: string + type: array + maxShares: + type: integer + name: + type: string + networkAccessPolicy: + type: string + osType: + type: string + provisioningState: + type: string + purchasePlan: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + Storage version of v1api20200930.PurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: This is the name of the Kubernetes resource to reference. + type: string + product: + type: string + promotionCode: + type: string + publisher: type: string type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20240101.ApplicationSecurityGroup_STATUS - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: + shareInfo: items: - description: Condition defines an extension to status (an observation) of a resource + description: Storage version of v1api20200930.ShareInfoElement_STATUS properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmUri: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - etag: - type: string - id: - type: string - location: - type: string - name: - type: string - provisioningState: - type: string - resourceGuid: - type: string + sku: + description: |- + Storage version of v1api20200930.DiskSku_STATUS + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object tags: additionalProperties: type: string type: object + tier: + type: string + timeCreated: + type: string type: type: string + uniqueId: + type: string + zones: + items: + type: string + type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: authorizationproviders.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: AuthorizationProvider - listKind: AuthorizationProviderList - plural: authorizationproviders - singular: authorizationprovider - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -32615,13 +91418,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20240302 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} properties: apiVersion: description: |- @@ -32646,51 +91449,399 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ - type: string - displayName: - description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' - maxLength: 300 - minLength: 1 - type: string - identityProvider: - description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' type: string - oauth2: - description: 'Oauth2: OAuth2 settings' + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' properties: - grantTypes: - description: 'GrantTypes: OAuth2 settings' + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - CopyFromSanSnapshot + - CopyStart + - Empty + - FromImage + - Import + - ImportSecure + - Restore + - Upload + - UploadPreparedSecure + type: string + elasticSanResourceReference: + description: |- + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. properties: - authorizationCode: - description: 'AuthorizationCode: OAuth2 authorization code grant parameters' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. properties: - name: + armId: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name type: object - clientCredentials: - description: 'ClientCredentials: OAuth2 client credential grant parameters' + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. properties: - name: + armId: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string type: object - redirectUrl: - description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + enum: + - Enhanced + - None + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + enum: + - AzureActiveDirectory + - None + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone type: string type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + location: + description: 'Location: Resource location' + type: string + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -32757,11 +91908,24 @@ spec: type: object type: array type: object + optimizedForFrequentAttach: + description: |- + OptimizedForFrequentAttach: Setting this property to true improves reliability and performance of data disks that are + frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should + not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault + domain of the virtual machine. + type: boolean + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -32770,11 +91934,146 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + enum: + - Disabled + - Enabled + type: string + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + enum: + - ConfidentialVM_DiskEncryptedWithCustomerKey + - ConfidentialVM_DiskEncryptedWithPlatformKey + - ConfidentialVM_NonPersistedTPM + - ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey + - TrustedLaunch + type: string + type: object + sku: + description: |- + Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, + or PremiumV2_LRS. + properties: + name: + description: 'Name: The sku name.' + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + type: object + supportedCapabilities: + description: 'SupportedCapabilities: List of supported capabilities for the image from which the OS disk was created.' + properties: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + enum: + - Arm64 + - x64 + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a disk supports hibernation.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array required: + - creationData + - location - owner type: object status: + description: Disk resource. properties: + LastOwnershipUpdateTime: + description: |- + LastOwnershipUpdateTime: The UTC time when the ownership state of the disk was last changed i.e., the time the disk was + last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + type: string + burstingEnabled: + description: |- + BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is + disabled by default. Does not apply to Ultra disks. + type: boolean + burstingEnabledTime: + description: 'BurstingEnabledTime: Latest time when bursting was last enabled on a disk.' + type: string + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number conditions: description: 'Conditions: The observed state of the resource' items: @@ -32812,51 +92111,359 @@ spec: type: description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + elasticSanResourceId: + description: |- + ElasticSanResourceId: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san + volume snapshot. + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + type: string + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' + type: string + diskIOPSReadOnly: + description: |- + DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One + operation can transfer between 4k and 256k bytes. + type: integer + diskIOPSReadWrite: + description: |- + DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can + transfer between 4k and 256k bytes. + type: integer + diskMBpsReadOnly: + description: |- + DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. + MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskMBpsReadWrite: + description: |- + DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes + per second - MB here uses the ISO notation, of powers of 10. + type: integer + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the disk.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. + properties: + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: 'Id: Resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + managedBy: + description: 'ManagedBy: A relative URI containing the ID of the VM that has the disk attached.' + type: string + managedByExtended: + description: |- + ManagedByExtended: List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be + set to a value greater than one for disks to allow attaching them to multiple VMs. + items: + type: string + type: array + maxShares: + description: |- + MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a + disk that can be mounted on multiple VMs at the same time. + type: integer + name: + description: 'Name: Resource name' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + optimizedForFrequentAttach: + description: |- + OptimizedForFrequentAttach: Setting this property to true improves reliability and performance of data disks that are + frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should + not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault + domain of the virtual machine. + type: boolean + osType: + description: 'OsType: The Operating System type.' + type: string + propertyUpdatesInProgress: + description: 'PropertyUpdatesInProgress: Properties of the disk for which update is pending.' + properties: + targetTier: + description: 'TargetTier: The target performance tier of the disk if a tier change operation is in progress.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The disk provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + type: string + purchasePlan: + description: |- + PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: + 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetId: + description: |- + SecureVMDiskEncryptionSetId: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + type: string + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + type: string + type: object + shareInfo: + description: |- + ShareInfo: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than + one for disks to allow attaching them to multiple VMs. + items: + properties: + vmUri: + description: 'VmUri: A relative URI containing the ID of the VM that has the disk attached.' + type: string type: object type: array - displayName: - description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' - type: string - id: + sku: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - identityProvider: - description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' - type: string - name: - description: 'Name: The name of the resource' - type: string - oauth2: - description: 'Oauth2: OAuth2 settings' + Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, + or PremiumV2_LRS. properties: - grantTypes: - description: 'GrantTypes: OAuth2 settings' - properties: - authorizationCode: - additionalProperties: - type: string - description: 'AuthorizationCode: OAuth2 authorization code grant parameters' - type: object - clientCredentials: - additionalProperties: - type: string - description: 'ClientCredentials: OAuth2 client credential grant parameters' - type: object - type: object - redirectUrl: - description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' type: string type: object + supportedCapabilities: + description: 'SupportedCapabilities: List of supported capabilities for the image from which the OS disk was created.' + properties: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a disk supports hibernation.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + tier: + description: |- + Tier: Performance tier of the disk (e.g, P4, S10) as described here: + https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + type: string + timeCreated: + description: 'TimeCreated: The time when the disk was created.' + type: string type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' type: string + zones: + description: 'Zones: The Logical zone list for Disk.' + items: + type: string + type: array type: object type: object served: true @@ -32876,14 +92483,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20240302storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.AuthorizationProvider + Storage version of v1api20240302.Disk Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} properties: apiVersion: description: |- @@ -32903,7 +92510,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.AuthorizationProvider_Spec + description: Storage version of v1api20240302.Disk_Spec properties: $propertyBag: additionalProperties: @@ -32917,14 +92524,14 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - displayName: - type: string - identityProvider: - type: string - oauth2: + burstingEnabled: + type: boolean + completionPercent: + type: number + creationData: description: |- - Storage version of v1api20220801.AuthorizationProviderOAuth2Settings - OAuth2 settings details + Storage version of v1api20240302.CreationData + Data used when creating a disk. properties: $propertyBag: additionalProperties: @@ -32933,10 +92540,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - grantTypes: + createOption: + type: string + elasticSanResourceReference: description: |- - Storage version of v1api20220801.AuthorizationProviderOAuth2GrantTypes - Authorization Provider oauth2 grant types settings + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + galleryImageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. properties: $propertyBag: additionalProperties: @@ -32945,39 +92576,336 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationCode: + communityGalleryImageId: + type: string + lun: + type: integer + reference: description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. properties: - name: + armId: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name type: object - clientCredentials: + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + lun: + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. properties: - name: + armId: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name type: object + sharedGalleryImageId: + type: string type: object - redirectUrl: + logicalSectorSize: + type: integer + performancePlus: + type: boolean + provisionedBandwidthCopySpeed: + type: string + securityDataUri: + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + dataAccessAuthMode: + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeGB: + type: integer + encryption: + description: |- + Storage version of v1api20240302.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20240302.EncryptionSettingsElement + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: type: string type: object + hyperVGeneration: + type: string + location: + type: string + maxShares: + type: integer + networkAccessPolicy: + type: string operatorSpec: description: |- - Storage version of v1api20220801.AuthorizationProviderOperatorSpec + Storage version of v1api20240302.DiskOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -33046,13 +92974,17 @@ spec: type: object type: array type: object + optimizedForFrequentAttach: + type: boolean originalVersion: type: string + osType: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -33061,11 +92993,120 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + publicNetworkAccess: + type: string + purchasePlan: + description: |- + Storage version of v1api20240302.PurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: + type: string + type: object + sku: + description: |- + Storage version of v1api20240302.DiskSku + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or + PremiumV2_LRS. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: + type: string + type: object + supportsHibernation: + type: boolean + tags: + additionalProperties: + type: string + type: object + tier: + type: string + zones: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20220801.AuthorizationProvider_STATUS + description: |- + Storage version of v1api20240302.Disk_STATUS + Disk resource. properties: $propertyBag: additionalProperties: @@ -33074,6 +93115,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + LastOwnershipUpdateTime: + type: string + burstingEnabled: + type: boolean + burstingEnabledTime: + type: string + completionPercent: + type: number conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -33117,18 +93166,10 @@ spec: - type type: object type: array - displayName: - type: string - id: - type: string - identityProvider: - type: string - name: - type: string - oauth2: + creationData: description: |- - Storage version of v1api20220801.AuthorizationProviderOAuth2Settings_STATUS - OAuth2 settings details + Storage version of v1api20240302.CreationData_STATUS + Data used when creating a disk. properties: $propertyBag: additionalProperties: @@ -33137,10 +93178,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - grantTypes: + createOption: + type: string + elasticSanResourceId: + type: string + galleryImageReference: description: |- - Storage version of v1api20220801.AuthorizationProviderOAuth2GrantTypes_STATUS - Authorization Provider oauth2 grant types settings + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. properties: $propertyBag: additionalProperties: @@ -33149,349 +93194,227 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationCode: - additionalProperties: - type: string - type: object - clientCredentials: + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string type: object - redirectUrl: + logicalSectorSize: + type: integer + performancePlus: + type: boolean + provisionedBandwidthCopySpeed: + type: string + securityDataUri: + type: string + sourceResourceId: type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ + dataAccessAuthMode: type: string - displayName: - description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' - maxLength: 300 - minLength: 1 + diskAccessId: type: string - identityProvider: - description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' + diskIOPSReadOnly: + type: integer + diskIOPSReadWrite: + type: integer + diskMBpsReadOnly: + type: integer + diskMBpsReadWrite: + type: integer + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: type: string - oauth2: - description: 'Oauth2: OAuth2 settings' + encryption: + description: |- + Storage version of v1api20240302.Encryption_STATUS + Encryption at rest settings for disk or snapshot properties: - grantTypes: - description: 'GrantTypes: OAuth2 settings' - properties: - authorizationCode: - description: 'AuthorizationCode: OAuth2 authorization code grant parameters' - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object - clientCredentials: - description: 'ClientCredentials: OAuth2 client credential grant parameters' - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - redirectUrl: - description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + diskEncryptionSetId: + type: string + type: type: string type: object - operatorSpec: + encryptionSettingsCollection: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20240302.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240302.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + Storage version of v1api20240302.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20240302.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object type: object type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + encryptionSettingsVersion: type: string type: object - required: - - owner - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - displayName: - description: 'DisplayName: Authorization Provider name. Must be 1 to 300 characters long.' - type: string - id: + extendedLocation: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - identityProvider: - description: 'IdentityProvider: Identity provider name. Must be 1 to 300 characters long.' - type: string - name: - description: 'Name: The name of the resource' - type: string - oauth2: - description: 'Oauth2: OAuth2 settings' + Storage version of v1api20240302.ExtendedLocation_STATUS + The complex type of the extended location. properties: - grantTypes: - description: 'GrantTypes: OAuth2 settings' - properties: - authorizationCode: - additionalProperties: - type: string - description: 'AuthorizationCode: OAuth2 authorization code grant parameters' - type: object - clientCredentials: - additionalProperties: - type: string - description: 'ClientCredentials: OAuth2 client credential grant parameters' - type: object + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - redirectUrl: - description: 'RedirectUrl: Redirect URL to be set in the OAuth application.' + name: + type: string + type: type: string type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + hyperVGeneration: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501previewstorage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230501preview.AuthorizationProvider - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230501preview.AuthorizationProvider_Spec - properties: - $propertyBag: - additionalProperties: + id: + type: string + location: + type: string + managedBy: + type: string + managedByExtended: + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + type: array + maxShares: + type: integer + name: type: string - displayName: + networkAccessPolicy: type: string - identityProvider: + optimizedForFrequentAttach: + type: boolean + osType: type: string - oauth2: + propertyUpdatesInProgress: description: |- - Storage version of v1api20230501preview.AuthorizationProviderOAuth2Settings - OAuth2 settings details + Storage version of v1api20240302.PropertyUpdatesInProgress_STATUS + Properties of the disk for which update is pending. properties: $propertyBag: additionalProperties: @@ -33500,52 +93423,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - grantTypes: - description: |- - Storage version of v1api20230501preview.AuthorizationProviderOAuth2GrantTypes - Authorization Provider oauth2 grant types settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationCode: - description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object - clientCredentials: - description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object - type: object - redirectUrl: + targetTier: type: string type: object - operatorSpec: + provisioningState: + type: string + publicNetworkAccess: + type: string + purchasePlan: description: |- - Storage version of v1api20230501preview.AuthorizationProviderOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20240302.PurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. properties: $propertyBag: additionalProperties: @@ -33554,148 +93442,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string type: object - originalVersion: - type: string - owner: + securityProfile: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + Storage version of v1api20240302.DiskSecurityProfile_STATUS + Contains the security related information for the resource. properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetId: type: string - name: - description: This is the name of the Kubernetes resource to reference. + securityType: type: string type: object - required: - - owner - type: object - status: - description: Storage version of v1api20230501preview.AuthorizationProvider_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: + shareInfo: items: - description: Condition defines an extension to status (an observation) of a resource + description: Storage version of v1api20240302.ShareInfoElement_STATUS properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + vmUri: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - displayName: - type: string - id: - type: string - identityProvider: - type: string - name: - type: string - oauth2: + sku: description: |- - Storage version of v1api20230501preview.AuthorizationProviderOAuth2Settings_STATUS - OAuth2 settings details + Storage version of v1api20240302.DiskSku_STATUS + The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or + PremiumV2_LRS. properties: $propertyBag: additionalProperties: @@ -33704,36 +93496,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - grantTypes: + name: + type: string + tier: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities_STATUS + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230501preview.AuthorizationProviderOAuth2GrantTypes_STATUS - Authorization Provider oauth2 grant types settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizationCode: - additionalProperties: - type: string - type: object - clientCredentials: - additionalProperties: - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - redirectUrl: + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: type: string type: object + supportsHibernation: + type: boolean + tags: + additionalProperties: + type: string + type: object + tier: + type: string + timeCreated: + type: string type: type: string + uniqueId: + type: string + zones: + items: + type: string + type: array type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -33742,11 +93550,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: authorizationprovidersauthorizations.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnsforwardingrulesets.network.azure.com spec: conversion: strategy: Webhook @@ -33759,12 +93567,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: apimanagement.azure.com + group: network.azure.com names: - kind: AuthorizationProvidersAuthorization - listKind: AuthorizationProvidersAuthorizationList - plural: authorizationprovidersauthorizations - singular: authorizationprovidersauthorization + categories: + - azure + - network + kind: DnsForwardingRuleset + listKind: DnsForwardingRulesetList + plural: dnsforwardingrulesets + singular: dnsforwardingruleset preserveUnknownFields: false scope: Namespaced versions: @@ -33781,13 +93592,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName} properties: apiVersion: description: |- @@ -33808,24 +93619,42 @@ spec: type: object spec: properties: - authorizationType: - description: 'AuthorizationType: Authorization type options' - enum: - - OAuth2 - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ type: string - oauth2grantType: - description: 'Oauth2GrantType: OAuth2 grant type options' - enum: - - AuthorizationCode - - ClientCredentials + dnsResolverOutboundEndpoints: + description: |- + DnsResolverOutboundEndpoints: The reference to the DNS resolver outbound endpoints that are used to route DNS queries + matching the forwarding rules in the ruleset to the target DNS servers. + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' type: string operatorSpec: description: |- @@ -33897,7 +93726,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvider resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -33906,25 +93735,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: 'Parameters: Authorization parameters' - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object required: + - dnsResolverOutboundEndpoints + - location - owner type: object status: + description: Describes a DNS forwarding ruleset. properties: - authorizationType: - description: 'AuthorizationType: Authorization type options' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -33969,35 +93792,67 @@ spec: - type type: object type: array - error: - description: 'Error: Authorization error details.' - properties: - code: - description: 'Code: Error code' - type: string - message: - description: 'Message: Error message' - type: string - type: object + dnsResolverOutboundEndpoints: + description: |- + DnsResolverOutboundEndpoints: The reference to the DNS resolver outbound endpoints that are used to route DNS queries + matching the forwarding rules in the ruleset to the target DNS servers. + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: ETag of the DNS forwarding ruleset.' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string name: description: 'Name: The name of the resource' type: string - oauth2grantType: - description: 'Oauth2GrantType: OAuth2 grant type options' + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the DNS forwarding ruleset. This is a read-only property and any + attempt to set this value will be ignored. type: string - parameters: + resourceGuid: + description: 'ResourceGuid: The resourceGuid for the DNS forwarding ruleset.' + type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: additionalProperties: type: string - description: 'Parameters: Authorization parameters' + description: 'Tags: Resource tags.' type: object - status: - description: 'Status: Status of the Authorization' - type: string type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -34020,14 +93875,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.AuthorizationProvidersAuthorization + Storage version of v1api20220701.DnsForwardingRuleset Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName} properties: apiVersion: description: |- @@ -34047,7 +93902,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.AuthorizationProvidersAuthorization_Spec + description: Storage version of v1api20220701.DnsForwardingRuleset_Spec properties: $propertyBag: additionalProperties: @@ -34056,18 +93911,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationType: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - oauth2grantType: + dnsResolverOutboundEndpoints: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + location: type: string operatorSpec: description: |- - Storage version of v1api20220801.AuthorizationProvidersAuthorizationOperatorSpec + Storage version of v1api20220701.DnsForwardingRulesetOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -34142,7 +94030,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvider resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -34151,24 +94039,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20220801.AuthorizationProvidersAuthorization_STATUS + description: |- + Storage version of v1api20220701.DnsForwardingRuleset_STATUS + Describes a DNS forwarding ruleset. properties: $propertyBag: additionalProperties: @@ -34177,8 +94058,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationType: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -34222,10 +94101,39 @@ spec: - type type: object type: array - error: + dnsResolverOutboundEndpoints: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: + type: string + systemData: description: |- - Storage version of v1api20220801.AuthorizationError_STATUS - Authorization error details. + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -34234,23 +94142,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: + createdAt: type: string - message: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - id: - type: string - name: - type: string - oauth2grantType: - type: string - parameters: + tags: additionalProperties: type: string type: object - status: - type: string type: type: string type: object @@ -34259,6 +94167,41 @@ spec: storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnsforwardingrulesetsforwardingrules.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsForwardingRuleSetsForwardingRule + listKind: DnsForwardingRuleSetsForwardingRuleList + plural: dnsforwardingrulesetsforwardingrules + singular: dnsforwardingrulesetsforwardingrule + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -34272,13 +94215,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName} properties: apiVersion: description: |- @@ -34299,25 +94242,25 @@ spec: type: object spec: properties: - authorizationType: - description: 'AuthorizationType: Authorization type options' - enum: - - OAuth2 - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ type: string - oauth2grantType: - description: 'Oauth2GrantType: OAuth2 grant type options' + domainName: + description: 'DomainName: The domain name for the forwarding rule.' + type: string + forwardingRuleState: + description: 'ForwardingRuleState: The state of forwarding rule.' enum: - - AuthorizationCode - - ClientCredentials + - Disabled + - Enabled type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the forwarding rule.' + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -34388,7 +94331,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvider resource + reference to a network.azure.com/DnsForwardingRuleset resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -34397,25 +94340,41 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: 'Parameters: Authorization parameters' - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object + targetDnsServers: + description: 'TargetDnsServers: DNS servers to forward the DNS query to.' + items: + description: Describes a server to forward the DNS queries to. + properties: + ipAddress: + description: 'IpAddress: DNS server IP address.' + type: string + ipAddressFromConfig: + description: 'IpAddressFromConfig: DNS server IP address.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + port: + description: 'Port: DNS server port.' + type: integer + type: object + type: array required: + - domainName - owner + - targetDnsServers type: object status: properties: - authorizationType: - description: 'AuthorizationType: Authorization type options' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -34460,35 +94419,68 @@ spec: - type type: object type: array - error: - description: 'Error: Authorization error details.' - properties: - code: - description: 'Code: Error code' - type: string - message: - description: 'Message: Error message' - type: string - type: object + domainName: + description: 'DomainName: The domain name for the forwarding rule.' + type: string + etag: + description: 'Etag: ETag of the forwarding rule.' + type: string + forwardingRuleState: + description: 'ForwardingRuleState: The state of forwarding rule.' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the forwarding rule.' + type: object name: description: 'Name: The name of the resource' type: string - oauth2grantType: - description: 'Oauth2GrantType: OAuth2 grant type options' + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the forwarding rule. This is a read-only property and any attempt + to set this value will be ignored. type: string - parameters: - additionalProperties: - type: string - description: 'Parameters: Authorization parameters' + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object - status: - description: 'Status: Status of the Authorization' - type: string + targetDnsServers: + description: 'TargetDnsServers: DNS servers to forward the DNS query to.' + items: + description: Describes a server to forward the DNS queries to. + properties: + ipAddress: + description: 'IpAddress: DNS server IP address.' + type: string + port: + description: 'Port: DNS server port.' + type: integer + type: object + type: array type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -34511,14 +94503,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.AuthorizationProvidersAuthorization + Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName} properties: apiVersion: description: |- @@ -34538,7 +94530,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorization_Spec + description: Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule_Spec properties: $propertyBag: additionalProperties: @@ -34547,18 +94539,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationType: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - oauth2grantType: + domainName: type: string + forwardingRuleState: + type: string + metadata: + additionalProperties: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationOperatorSpec + Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -34633,7 +94629,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvider resource + reference to a network.azure.com/DnsForwardingRuleset resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -34642,24 +94638,47 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object + targetDnsServers: + items: + description: |- + Storage version of v1api20220701.TargetDnsServer + Describes a server to forward the DNS queries to. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + ipAddressFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + port: + type: integer + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorization_STATUS + description: Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule_STATUS properties: $propertyBag: additionalProperties: @@ -34668,8 +94687,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizationType: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -34713,10 +94730,26 @@ spec: - type type: object type: array - error: + domainName: + type: string + etag: + type: string + forwardingRuleState: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + systemData: description: |- - Storage version of v1api20230501preview.AuthorizationError_STATUS - Authorization error details. + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -34725,29 +94758,44 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: + createdAt: type: string - message: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - id: - type: string - name: - type: string - oauth2grantType: - type: string - parameters: - additionalProperties: - type: string - type: object - status: - type: string + targetDnsServers: + items: + description: |- + Storage version of v1api20220701.TargetDnsServer_STATUS + Describes a server to forward the DNS queries to. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + port: + type: integer + type: object + type: array type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -34756,11 +94804,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnsforwardingrulesetsvirtualnetworklinks.network.azure.com spec: conversion: strategy: Webhook @@ -34773,12 +94821,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: apimanagement.azure.com + group: network.azure.com names: - kind: AuthorizationProvidersAuthorizationsAccessPolicy - listKind: AuthorizationProvidersAuthorizationsAccessPolicyList - plural: authorizationprovidersauthorizationsaccesspolicies - singular: authorizationprovidersauthorizationsaccesspolicy + categories: + - azure + - network + kind: DnsForwardingRuleSetsVirtualNetworkLink + listKind: DnsForwardingRuleSetsVirtualNetworkLinkList + plural: dnsforwardingrulesetsvirtualnetworklinks + singular: dnsforwardingrulesetsvirtualnetworklink preserveUnknownFields: false scope: Namespaced versions: @@ -34795,13 +94846,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName} properties: apiVersion: description: |- @@ -34826,27 +94877,11 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ type: string - objectId: - description: 'ObjectId: The Object Id' - type: string - objectIdFromConfig: - description: 'ObjectIdFromConfig: The Object Id' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the virtual network link.' type: object operatorSpec: description: |- @@ -34918,35 +94953,42 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + reference to a network.azure.com/DnsForwardingRuleset resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - tenantId: - description: 'TenantId: The Tenant Id' - type: string - tenantIdFromConfig: - description: 'TenantIdFromConfig: The Tenant Id' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + description: This is the name of the Kubernetes resource to reference. type: string - required: - - key - - name + type: object + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: - owner + - virtualNetwork type: object status: properties: @@ -34994,23 +95036,59 @@ spec: - type type: object type: array + etag: + description: 'Etag: ETag of the virtual network link.' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: Metadata attached to the virtual network link.' + type: object name: description: 'Name: The name of the resource' type: string - objectId: - description: 'ObjectId: The Object Id' - type: string - tenantId: - description: 'TenantId: The Tenant Id' + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the virtual network link. This is a read-only property and any + attempt to set this value will be ignored. type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: object type: object served: true @@ -35030,14 +95108,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy + Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName} properties: apiVersion: description: |- @@ -35057,7 +95135,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + description: Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink_Spec properties: $propertyBag: additionalProperties: @@ -35071,28 +95149,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - objectId: - type: string - objectIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + metadata: + additionalProperties: + type: string type: object operatorSpec: description: |- - Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLinkOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -35167,7 +95230,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + reference to a network.azure.com/DnsForwardingRuleset resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -35176,30 +95239,44 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tenantId: - type: string - tenantIdFromConfig: + virtualNetwork: description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + Storage version of v1api20220701.SubResource + Reference to another ARM resource. properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: - owner type: object status: - description: Storage version of v1api20220801.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + description: Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink_STATUS properties: $propertyBag: additionalProperties: @@ -35251,22 +95328,101 @@ spec: - type type: object type: array + etag: + type: string id: type: string + metadata: + additionalProperties: + type: string + type: object name: type: string - objectId: - type: string - tenantId: + provisioningState: type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object type: type: string + virtualNetwork: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object type: object type: object served: true storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnsresolvers.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsResolver + listKind: DnsResolverList + plural: dnsresolvers + singular: dnsresolver + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -35280,13 +95436,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName} properties: apiVersion: description: |- @@ -35307,37 +95463,14 @@ spec: type: object spec: properties: - appIds: - description: 'AppIds: The allowed Azure Active Directory Application IDs' - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - minLength: 1 - pattern: ^[^*#&+:<>?]+$ type: string - objectId: - description: 'ObjectId: The Object Id' + location: + description: 'Location: The geo-location where the resource lives' type: string - objectIdFromConfig: - description: 'ObjectIdFromConfig: The Object Id' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -35408,7 +95541,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -35417,34 +95550,43 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tenantId: - description: 'TenantId: The Tenant Id' - type: string - tenantIdFromConfig: - description: 'TenantIdFromConfig: The Tenant Id' + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: + - location - owner + - virtualNetwork type: object status: + description: Describes a DNS resolver. properties: - appIds: - description: 'AppIds: The allowed Azure Active Directory Application IDs' - items: - type: string - type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -35489,23 +95631,70 @@ spec: - type type: object type: array + dnsResolverState: + description: |- + DnsResolverState: The current status of the DNS resolver. This is a read-only property and any attempt to set this value + will be ignored. + type: string + etag: + description: 'Etag: ETag of the DNS resolver.' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string name: description: 'Name: The name of the resource' type: string - objectId: - description: 'ObjectId: The Object Id' + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the DNS resolver. This is a read-only property and any attempt to + set this value will be ignored. type: string - tenantId: - description: 'TenantId: The Tenant Id' + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the DNS resolver resource.' type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + virtualNetwork: + description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: object type: object served: true @@ -35525,14 +95714,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy + Storage version of v1api20220701.DnsResolver Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimauthorizationproviders.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationProviders/{authorizationProviderId}/authorizations/{authorizationId}/accessPolicies/{authorizationAccessPolicyId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName} properties: apiVersion: description: |- @@ -35552,7 +95741,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy_Spec + description: Storage version of v1api20220701.DnsResolver_Spec properties: $propertyBag: additionalProperties: @@ -35561,37 +95750,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appIds: - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - objectId: + location: type: string - objectIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object operatorSpec: description: |- - Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicyOperatorSpec + Storage version of v1api20220701.DnsResolverOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -35666,7 +95834,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/AuthorizationProvidersAuthorization resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -35675,30 +95843,50 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tenantId: - type: string - tenantIdFromConfig: + tags: + additionalProperties: + type: string + type: object + virtualNetwork: description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + Storage version of v1api20220701.SubResource + Reference to another ARM resource. properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: - owner type: object status: - description: Storage version of v1api20230501preview.AuthorizationProvidersAuthorizationsAccessPolicy_STATUS + description: |- + Storage version of v1api20220701.DnsResolver_STATUS + Describes a DNS resolver. properties: $propertyBag: additionalProperties: @@ -35707,10 +95895,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appIds: - items: - type: string - type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -35754,20 +95938,70 @@ spec: - type type: object type: array + dnsResolverState: + type: string + etag: + type: string id: type: string + location: + type: string name: type: string - objectId: + provisioningState: type: string - tenantId: + resourceGuid: type: string + systemData: + description: |- + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object type: type: string + virtualNetwork: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -35776,11 +96010,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: autoscalesettings.insights.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnsresolversinboundendpoints.network.azure.com spec: conversion: strategy: Webhook @@ -35793,12 +96027,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: insights.azure.com + group: network.azure.com names: - kind: AutoscaleSetting - listKind: AutoscaleSettingList - plural: autoscalesettings - singular: autoscalesetting + categories: + - azure + - network + kind: DnsResolversInboundEndpoint + listKind: DnsResolversInboundEndpointList + plural: dnsresolversinboundendpoints + singular: dnsresolversinboundendpoint preserveUnknownFields: false scope: Namespaced versions: @@ -35815,13 +96052,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001 + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-10-01/autoscale_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName} properties: apiVersion: description: |- @@ -35847,505 +96084,139 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enabled: - description: 'Enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is ''false''.' - type: boolean - location: - description: 'Location: Resource location' - type: string - name: - description: 'Name: the name of the autoscale setting.' - type: string - notifications: - description: 'Notifications: the collection of notifications.' + ipConfigurations: + description: 'IpConfigurations: IP configurations for the inbound endpoint.' items: - description: Autoscale notification. + description: IP configuration. properties: - email: - description: 'Email: the email notification.' - properties: - customEmails: - description: 'CustomEmails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored.' - items: - type: string - type: array - sendToSubscriptionAdministrator: - description: 'SendToSubscriptionAdministrator: a value indicating whether to send email to subscription administrator.' - type: boolean - sendToSubscriptionCoAdministrators: - description: 'SendToSubscriptionCoAdministrators: a value indicating whether to send email to subscription co-administrators.' - type: boolean - type: object - operation: - description: 'Operation: the operation associated with the notification and its value must be "scale"' - enum: - - Scale + privateIpAddress: + description: 'PrivateIpAddress: Private IP address of the IP configuration.' type: string - webhooks: - description: 'Webhooks: the collection of webhook notifications.' - items: - description: Webhook notification of an autoscale event. - properties: - properties: - additionalProperties: - type: string - description: 'Properties: a property bag of settings. This value can be empty.' - type: object - serviceUri: - description: 'ServiceUri: the service address to receive the notification.' - type: string - type: object - type: array - required: - - operation - type: object - type: array - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - predictiveAutoscalePolicy: - description: 'PredictiveAutoscalePolicy: the predictive autoscale policy mode.' - properties: - scaleLookAheadTime: - description: |- - ScaleLookAheadTime: the amount of time to specify by which instances are launched in advance. It must be between 1 - minute and 60 minutes in ISO 8601 format. - type: string - scaleMode: - description: 'ScaleMode: the predictive autoscale mode' - enum: - - Disabled - - Enabled - - ForecastOnly - type: string - required: - - scaleMode - type: object - profiles: - description: |- - Profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time - periods. A maximum of 20 profiles can be specified. - items: - description: Autoscale profile. - properties: - capacity: - description: 'Capacity: the number of instances that can be used during this profile.' - properties: - default: - description: |- - Default: the number of instances that will be set if metrics are not available for evaluation. The default is only used - if the current instance count is lower than the default. - type: string - maximum: - description: |- - Maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the - cores that are available in the subscription. - type: string - minimum: - description: 'Minimum: the minimum number of instances for the resource.' - type: string - required: - - default - - maximum - - minimum - type: object - fixedDate: - description: 'FixedDate: the specific date-time for the profile. This element is not used if the Recurrence element is used.' - properties: - end: - description: 'End: the end time for the profile in ISO 8601 format.' - type: string - start: - description: 'Start: the start time for the profile in ISO 8601 format.' - type: string - timeZone: - description: |- - TimeZone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline - Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard - Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, - Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern - Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, - Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. - South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo - Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, - Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard - Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, - Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe - Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad - Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard - Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, - Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard - Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard - Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE - Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard - Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard - Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS - Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard - Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji - Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time - type: string - required: - - end - - start - type: object - name: - description: 'Name: the name of the profile.' + privateIpAllocationMethod: + description: 'PrivateIpAllocationMethod: Private IP address allocation method.' + enum: + - Dynamic + - Static type: string - recurrence: - description: 'Recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used.' + subnet: + description: 'Subnet: The reference to the subnet bound to the IP configuration.' properties: - frequency: - description: |- - Frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning - each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the - week. The frequency property specifies that the schedule is repeated weekly. - enum: - - Day - - Hour - - Minute - - Month - - None - - Second - - Week - - Year - type: string - schedule: - description: 'Schedule: the scheduling constraints for when the profile begins.' + reference: + description: 'Reference: Resource ID.' properties: - days: - description: 'Days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday.' - items: - type: string - type: array - hours: - description: |- - Hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM - times are not supported). - items: - type: integer - type: array - minutes: - description: 'Minutes: A collection of minutes at which the profile takes effect at.' - items: - type: integer - type: array - timeZone: + armId: description: |- - TimeZone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, - UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US - Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central - Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard - Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central - Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South - America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard - Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco - Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, - Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan - Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe - Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad - Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard - Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, - Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard - Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard - Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE - Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard - Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard - Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS - Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard - Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji - Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - required: - - days - - hours - - minutes - - timeZone - type: object - required: - - frequency - - schedule - type: object - rules: - description: |- - Rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules - can be specified. - items: - description: A rule that provide the triggers and parameters for the scaling action. - properties: - metricTrigger: - description: 'MetricTrigger: the trigger that results in a scaling action.' - properties: - dimensions: - description: |- - Dimensions: List of dimension conditions. For example: - [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. - items: - description: Specifies an auto scale rule metric dimension. - properties: - DimensionName: - description: 'DimensionName: Name of the dimension.' - type: string - Operator: - description: |- - Operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the - values. 'NotEquals' being not equal to all of the values - enum: - - Equals - - NotEquals - type: string - Values: - description: 'Values: list of dimension values. For example: ["App1","App2"].' - items: - type: string - type: array - required: - - DimensionName - - Operator - - Values - type: object - type: array - dividePerInstance: - description: 'DividePerInstance: a value indicating whether metric should divide per instance.' - type: boolean - metricName: - description: 'MetricName: the name of the metric that defines what the rule monitors.' - type: string - metricNamespace: - description: 'MetricNamespace: the namespace of the metric that defines what the rule monitors.' - type: string - metricResourceLocation: - description: 'MetricResourceLocation: the location of the resource the rule monitors.' - type: string - metricResourceUriReference: - description: 'MetricResourceUriReference: the resource identifier of the resource the rule monitors.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operator: - description: 'Operator: the operator that is used to compare the metric data and the threshold.' - enum: - - Equals - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - NotEquals - type: string - statistic: - description: 'Statistic: the metric statistic type. How the metrics from multiple instances are combined.' - enum: - - Average - - Count - - Max - - Min - - Sum - type: string - threshold: - description: 'Threshold: the threshold of the metric that triggers the scale action.' - type: number - timeAggregation: - description: |- - TimeAggregation: time aggregation type. How the data that is collected should be combined over time. The default value - is Average. - enum: - - Average - - Count - - Last - - Maximum - - Minimum - - Total - type: string - timeGrain: - description: |- - TimeGrain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric - definitions for the metric. Must be between 12 hours and 1 minute. - type: string - timeWindow: - description: |- - TimeWindow: the range of time in which instance data is collected. This value must be greater than the delay in metric - collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. - type: string - required: - - metricName - - metricResourceUriReference - - operator - - statistic - - threshold - - timeAggregation - - timeGrain - - timeWindow - type: object - scaleAction: - description: 'ScaleAction: the parameters for the scaling action.' - properties: - cooldown: - description: |- - Cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week - and 1 minute in ISO 8601 format. - type: string - direction: - description: 'Direction: the scale direction. Whether the scaling action increases or decreases the number of instances.' - enum: - - Decrease - - Increase - - None - type: string - type: - description: 'Type: the type of action that should occur when the scale rule fires.' - enum: - - ChangeCount - - ExactCount - - PercentChangeCount - - ServiceAllowedNextValue - type: string - value: - description: |- - Value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default - value is 1. - type: string - required: - - cooldown - - direction - - type - type: object - required: - - metricTrigger - - scaleAction - type: object - type: array + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object required: - - capacity - - name - - rules + - subnet type: object - maxItems: 20 type: array - tags: - additionalProperties: - type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: description: |- - Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping - this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no - greater in length than 128 characters and a value no greater in length than 256 characters. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - targetResourceLocation: - description: 'TargetResourceLocation: the location of the resource that the autoscale setting should be added to.' - type: string - targetResourceUriReference: - description: 'TargetResourceUriReference: the resource identifier of the resource that the autoscale setting should be added to.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsResolver resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: + - ipConfigurations - location - owner - - profiles type: object status: properties: @@ -36393,371 +96264,50 @@ spec: - type type: object type: array - enabled: - description: 'Enabled: the enabled flag. Specifies whether automatic scaling is enabled for the resource. The default value is ''false''.' - type: boolean - id: - description: 'Id: Azure resource Id' - type: string - location: - description: 'Location: Resource location' + etag: + description: 'Etag: ETag of the inbound endpoint.' type: string - name: - description: 'Name: Azure resource name' + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - notifications: - description: 'Notifications: the collection of notifications.' + ipConfigurations: + description: 'IpConfigurations: IP configurations for the inbound endpoint.' items: - description: Autoscale notification. + description: IP configuration. properties: - email: - description: 'Email: the email notification.' - properties: - customEmails: - description: 'CustomEmails: the custom e-mails list. This value can be null or empty, in which case this attribute will be ignored.' - items: - type: string - type: array - sendToSubscriptionAdministrator: - description: 'SendToSubscriptionAdministrator: a value indicating whether to send email to subscription administrator.' - type: boolean - sendToSubscriptionCoAdministrators: - description: 'SendToSubscriptionCoAdministrators: a value indicating whether to send email to subscription co-administrators.' - type: boolean - type: object - operation: - description: 'Operation: the operation associated with the notification and its value must be "scale"' + privateIpAddress: + description: 'PrivateIpAddress: Private IP address of the IP configuration.' type: string - webhooks: - description: 'Webhooks: the collection of webhook notifications.' - items: - description: Webhook notification of an autoscale event. - properties: - properties: - additionalProperties: - type: string - description: 'Properties: a property bag of settings. This value can be empty.' - type: object - serviceUri: - description: 'ServiceUri: the service address to receive the notification.' - type: string - type: object - type: array - type: object - type: array - predictiveAutoscalePolicy: - description: 'PredictiveAutoscalePolicy: the predictive autoscale policy mode.' - properties: - scaleLookAheadTime: - description: |- - ScaleLookAheadTime: the amount of time to specify by which instances are launched in advance. It must be between 1 - minute and 60 minutes in ISO 8601 format. - type: string - scaleMode: - description: 'ScaleMode: the predictive autoscale mode' - type: string - type: object - profiles: - description: |- - Profiles: the collection of automatic scaling profiles that specify different scaling parameters for different time - periods. A maximum of 20 profiles can be specified. - items: - description: Autoscale profile. - properties: - capacity: - description: 'Capacity: the number of instances that can be used during this profile.' - properties: - default: - description: |- - Default: the number of instances that will be set if metrics are not available for evaluation. The default is only used - if the current instance count is lower than the default. - type: string - maximum: - description: |- - Maximum: the maximum number of instances for the resource. The actual maximum number of instances is limited by the - cores that are available in the subscription. - type: string - minimum: - description: 'Minimum: the minimum number of instances for the resource.' - type: string - required: - - default - - maximum - - minimum - type: object - fixedDate: - description: 'FixedDate: the specific date-time for the profile. This element is not used if the Recurrence element is used.' - properties: - end: - description: 'End: the end time for the profile in ISO 8601 format.' - type: string - start: - description: 'Start: the start time for the profile in ISO 8601 format.' - type: string - timeZone: - description: |- - TimeZone: the timezone of the start and end times for the profile. Some examples of valid time zones are: Dateline - Standard Time, UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard - Time, US Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, - Central Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern - Standard Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, - Central Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. - South America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo - Standard Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, - Morocco Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard - Time, Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, - Jordan Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe - Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad - Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard - Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, - Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard - Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard - Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE - Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard - Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard - Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS - Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard - Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji - Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time - type: string - required: - - end - - start - type: object - name: - description: 'Name: the name of the profile.' + privateIpAllocationMethod: + description: 'PrivateIpAllocationMethod: Private IP address allocation method.' type: string - recurrence: - description: 'Recurrence: the repeating times at which this profile begins. This element is not used if the FixedDate element is used.' + subnet: + description: 'Subnet: The reference to the subnet bound to the IP configuration.' properties: - frequency: - description: |- - Frequency: the recurrence frequency. How often the schedule profile should take effect. This value must be Week, meaning - each week will have the same set of profiles. For example, to set a daily schedule, set schedule to every day of the - week. The frequency property specifies that the schedule is repeated weekly. - enum: - - Day - - Hour - - Minute - - Month - - None - - Second - - Week - - Year + id: + description: 'Id: Resource ID.' type: string - schedule: - description: 'Schedule: the scheduling constraints for when the profile begins.' - properties: - days: - description: 'Days: the collection of days that the profile takes effect on. Possible values are Sunday through Saturday.' - items: - type: string - type: array - hours: - description: |- - Hours: A collection of hours that the profile takes effect on. Values supported are 0 to 23 on the 24-hour clock (AM/PM - times are not supported). - items: - type: integer - type: array - minutes: - description: 'Minutes: A collection of minutes at which the profile takes effect at.' - items: - type: integer - type: array - timeZone: - description: |- - TimeZone: the timezone for the hours of the profile. Some examples of valid time zones are: Dateline Standard Time, - UTC-11, Hawaiian Standard Time, Alaskan Standard Time, Pacific Standard Time (Mexico), Pacific Standard Time, US - Mountain Standard Time, Mountain Standard Time (Mexico), Mountain Standard Time, Central America Standard Time, Central - Standard Time, Central Standard Time (Mexico), Canada Central Standard Time, SA Pacific Standard Time, Eastern Standard - Time, US Eastern Standard Time, Venezuela Standard Time, Paraguay Standard Time, Atlantic Standard Time, Central - Brazilian Standard Time, SA Western Standard Time, Pacific SA Standard Time, Newfoundland Standard Time, E. South - America Standard Time, Argentina Standard Time, SA Eastern Standard Time, Greenland Standard Time, Montevideo Standard - Time, Bahia Standard Time, UTC-02, Mid-Atlantic Standard Time, Azores Standard Time, Cape Verde Standard Time, Morocco - Standard Time, UTC, GMT Standard Time, Greenwich Standard Time, W. Europe Standard Time, Central Europe Standard Time, - Romance Standard Time, Central European Standard Time, W. Central Africa Standard Time, Namibia Standard Time, Jordan - Standard Time, GTB Standard Time, Middle East Standard Time, Egypt Standard Time, Syria Standard Time, E. Europe - Standard Time, South Africa Standard Time, FLE Standard Time, Turkey Standard Time, Israel Standard Time, Kaliningrad - Standard Time, Libya Standard Time, Arabic Standard Time, Arab Standard Time, Belarus Standard Time, Russian Standard - Time, E. Africa Standard Time, Iran Standard Time, Arabian Standard Time, Azerbaijan Standard Time, Russia Time Zone 3, - Mauritius Standard Time, Georgian Standard Time, Caucasus Standard Time, Afghanistan Standard Time, West Asia Standard - Time, Ekaterinburg Standard Time, Pakistan Standard Time, India Standard Time, Sri Lanka Standard Time, Nepal Standard - Time, Central Asia Standard Time, Bangladesh Standard Time, N. Central Asia Standard Time, Myanmar Standard Time, SE - Asia Standard Time, North Asia Standard Time, China Standard Time, North Asia East Standard Time, Singapore Standard - Time, W. Australia Standard Time, Taipei Standard Time, Ulaanbaatar Standard Time, Tokyo Standard Time, Korea Standard - Time, Yakutsk Standard Time, Cen. Australia Standard Time, AUS Central Standard Time, E. Australia Standard Time, AUS - Eastern Standard Time, West Pacific Standard Time, Tasmania Standard Time, Magadan Standard Time, Vladivostok Standard - Time, Russia Time Zone 10, Central Pacific Standard Time, Russia Time Zone 11, New Zealand Standard Time, UTC+12, Fiji - Standard Time, Kamchatka Standard Time, Tonga Standard Time, Samoa Standard Time, Line Islands Standard Time - type: string - required: - - days - - hours - - minutes - - timeZone - type: object - required: - - frequency - - schedule type: object - rules: - description: |- - Rules: the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules - can be specified. - items: - description: A rule that provide the triggers and parameters for the scaling action. - properties: - metricTrigger: - description: 'MetricTrigger: the trigger that results in a scaling action.' - properties: - dimensions: - description: |- - Dimensions: List of dimension conditions. For example: - [{"DimensionName":"AppName","Operator":"Equals","Values":["App1"]},{"DimensionName":"Deployment","Operator":"Equals","Values":["default"]}]. - items: - description: Specifies an auto scale rule metric dimension. - properties: - DimensionName: - description: 'DimensionName: Name of the dimension.' - type: string - Operator: - description: |- - Operator: the dimension operator. Only 'Equals' and 'NotEquals' are supported. 'Equals' being equal to any of the - values. 'NotEquals' being not equal to all of the values - enum: - - Equals - - NotEquals - type: string - Values: - description: 'Values: list of dimension values. For example: ["App1","App2"].' - items: - type: string - type: array - required: - - DimensionName - - Operator - - Values - type: object - type: array - dividePerInstance: - description: 'DividePerInstance: a value indicating whether metric should divide per instance.' - type: boolean - metricName: - description: 'MetricName: the name of the metric that defines what the rule monitors.' - type: string - metricNamespace: - description: 'MetricNamespace: the namespace of the metric that defines what the rule monitors.' - type: string - metricResourceLocation: - description: 'MetricResourceLocation: the location of the resource the rule monitors.' - type: string - metricResourceUri: - description: 'MetricResourceUri: the resource identifier of the resource the rule monitors.' - type: string - operator: - description: 'Operator: the operator that is used to compare the metric data and the threshold.' - enum: - - Equals - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - NotEquals - type: string - statistic: - description: 'Statistic: the metric statistic type. How the metrics from multiple instances are combined.' - enum: - - Average - - Count - - Max - - Min - - Sum - type: string - threshold: - description: 'Threshold: the threshold of the metric that triggers the scale action.' - type: number - timeAggregation: - description: |- - TimeAggregation: time aggregation type. How the data that is collected should be combined over time. The default value - is Average. - enum: - - Average - - Count - - Last - - Maximum - - Minimum - - Total - type: string - timeGrain: - description: |- - TimeGrain: the granularity of metrics the rule monitors. Must be one of the predefined values returned from metric - definitions for the metric. Must be between 12 hours and 1 minute. - type: string - timeWindow: - description: |- - TimeWindow: the range of time in which instance data is collected. This value must be greater than the delay in metric - collection, which can vary from resource-to-resource. Must be between 12 hours and 5 minutes. - type: string - required: - - metricName - - metricResourceUri - - operator - - statistic - - threshold - - timeAggregation - - timeGrain - - timeWindow - type: object - scaleAction: - description: 'ScaleAction: the parameters for the scaling action.' - properties: - cooldown: - description: |- - Cooldown: the amount of time to wait since the last scaling action before this action occurs. It must be between 1 week - and 1 minute in ISO 8601 format. - type: string - direction: - description: 'Direction: the scale direction. Whether the scaling action increases or decreases the number of instances.' - enum: - - Decrease - - Increase - - None - type: string - type: - description: 'Type: the type of action that should occur when the scale rule fires.' - enum: - - ChangeCount - - ExactCount - - PercentChangeCount - - ServiceAllowedNextValue - type: string - value: - description: |- - Value: the number of instances that are involved in the scaling action. This value must be 1 or greater. The default - value is 1. - type: string - required: - - cooldown - - direction - - type - type: object - required: - - metricTrigger - - scaleAction - type: object - type: array - required: - - capacity - - name - - rules type: object type: array - properties_name: - description: 'PropertiesName: the name of the autoscale setting.' + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the inbound endpoint. This is a read-only property and any attempt + to set this value will be ignored. + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the inbound endpoint resource.' type: string systemData: - description: 'SystemData: The system metadata related to the response.' + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -36781,19 +96331,10 @@ spec: tags: additionalProperties: type: string - description: |- - Tags: Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping - this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no - greater in length than 128 characters and a value no greater in length than 256 characters. + description: 'Tags: Resource tags.' type: object - targetResourceLocation: - description: 'TargetResourceLocation: the location of the resource that the autoscale setting should be added to.' - type: string - targetResourceUri: - description: 'TargetResourceUri: the resource identifier of the resource that the autoscale setting should be added to.' - type: string type: - description: 'Type: Azure resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -36814,14 +96355,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001storage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20221001.AutoscaleSetting + Storage version of v1api20220701.DnsResolversInboundEndpoint Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-10-01/autoscale_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Insights/autoscalesettings/{autoscaleSettingName} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName} properties: apiVersion: description: |- @@ -36841,7 +96382,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001.AutoscaleSetting_Spec + description: Storage version of v1api20220701.DnsResolversInboundEndpoint_Spec properties: $propertyBag: additionalProperties: @@ -36855,17 +96396,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enabled: - type: boolean - location: - type: string - name: - type: string - notifications: + ipConfigurations: items: description: |- - Storage version of v1api20221001.AutoscaleNotification - Autoscale notification. + Storage version of v1api20220701.IpConfiguration + IP configuration. properties: $propertyBag: additionalProperties: @@ -36874,10 +96409,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: + privateIpAddress: + type: string + privateIpAllocationMethod: + type: string + subnet: description: |- - Storage version of v1api20221001.EmailNotification - Email notification of an autoscale event. + Storage version of v1api20220701.SubResource + Reference to another ARM resource. properties: $propertyBag: additionalProperties: @@ -36886,43 +96425,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - customEmails: - items: - type: string - type: array - sendToSubscriptionAdministrator: - type: boolean - sendToSubscriptionCoAdministrators: - type: boolean - type: object - operation: - type: string - webhooks: - items: - description: |- - Storage version of v1api20221001.WebhookNotification - Webhook notification of an autoscale event. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + reference: + description: 'Reference: Resource ID.' properties: - additionalProperties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - serviceUri: - type: string - type: object - type: array + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: object type: array + location: + type: string operatorSpec: description: |- - Storage version of v1api20221001.AutoscaleSettingOperatorSpec + Storage version of v1api20220701.DnsResolversInboundEndpointOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -36997,7 +96527,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsResolver resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -37006,265 +96536,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - predictiveAutoscalePolicy: - description: |- - Storage version of v1api20221001.PredictiveAutoscalePolicy - The parameters for enabling predictive autoscale. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scaleLookAheadTime: - type: string - scaleMode: - type: string - type: object - profiles: - items: - description: |- - Storage version of v1api20221001.AutoscaleProfile - Autoscale profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - description: |- - Storage version of v1api20221001.ScaleCapacity - The number of instances that can be used during this profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - default: - type: string - maximum: - type: string - minimum: - type: string - type: object - fixedDate: - description: |- - Storage version of v1api20221001.TimeWindow - A specific date-time for the profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - end: - type: string - start: - type: string - timeZone: - type: string - type: object - name: - type: string - recurrence: - description: |- - Storage version of v1api20221001.Recurrence - The repeating times at which this profile begins. This element is not used if the FixedDate element is used. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - frequency: - type: string - schedule: - description: |- - Storage version of v1api20221001.RecurrentSchedule - The scheduling constraints for when the profile begins. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - items: - type: string - type: array - hours: - items: - type: integer - type: array - minutes: - items: - type: integer - type: array - timeZone: - type: string - type: object - type: object - rules: - items: - description: |- - Storage version of v1api20221001.ScaleRule - A rule that provide the triggers and parameters for the scaling action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricTrigger: - description: |- - Storage version of v1api20221001.MetricTrigger - The trigger that results in a scaling action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dimensions: - items: - description: |- - Storage version of v1api20221001.ScaleRuleMetricDimension - Specifies an auto scale rule metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - DimensionName: - type: string - Operator: - type: string - Values: - items: - type: string - type: array - type: object - type: array - dividePerInstance: - type: boolean - metricName: - type: string - metricNamespace: - type: string - metricResourceLocation: - type: string - metricResourceUriReference: - description: 'MetricResourceUriReference: the resource identifier of the resource the rule monitors.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operator: - type: string - statistic: - type: string - threshold: - type: number - timeAggregation: - type: string - timeGrain: - type: string - timeWindow: - type: string - required: - - metricResourceUriReference - type: object - scaleAction: - description: |- - Storage version of v1api20221001.ScaleAction - The parameters for the scaling action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cooldown: - type: string - direction: - type: string - type: - type: string - value: - type: string - type: object - type: object - type: array - type: object - type: array tags: additionalProperties: type: string type: object - targetResourceLocation: - type: string - targetResourceUriReference: - description: 'TargetResourceUriReference: the resource identifier of the resource that the autoscale setting should be added to.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object required: - owner type: object status: - description: Storage version of v1api20221001.Autoscalesetting_STATUS + description: Storage version of v1api20220701.DnsResolversInboundEndpoint_STATUS properties: $propertyBag: additionalProperties: @@ -37316,286 +96596,55 @@ spec: - type type: object type: array - enabled: - type: boolean - id: - type: string - location: + etag: type: string - name: + id: type: string - notifications: - items: - description: |- - Storage version of v1api20221001.AutoscaleNotification_STATUS - Autoscale notification. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - description: |- - Storage version of v1api20221001.EmailNotification_STATUS - Email notification of an autoscale event. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customEmails: - items: - type: string - type: array - sendToSubscriptionAdministrator: - type: boolean - sendToSubscriptionCoAdministrators: - type: boolean - type: object - operation: - type: string - webhooks: - items: - description: |- - Storage version of v1api20221001.WebhookNotification_STATUS - Webhook notification of an autoscale event. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - properties: - additionalProperties: - type: string - type: object - serviceUri: - type: string - type: object - type: array - type: object - type: array - predictiveAutoscalePolicy: - description: |- - Storage version of v1api20221001.PredictiveAutoscalePolicy_STATUS - The parameters for enabling predictive autoscale. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scaleLookAheadTime: - type: string - scaleMode: - type: string - type: object - profiles: + ipConfigurations: items: description: |- - Storage version of v1api20221001.AutoscaleProfile_STATUS - Autoscale profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - description: |- - Storage version of v1api20221001.ScaleCapacity_STATUS - The number of instances that can be used during this profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - default: - type: string - maximum: - type: string - minimum: - type: string - type: object - fixedDate: - description: |- - Storage version of v1api20221001.TimeWindow_STATUS - A specific date-time for the profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - end: - type: string - start: - type: string - timeZone: - type: string - type: object - name: - type: string - recurrence: - description: |- - Storage version of v1api20221001.Recurrence_STATUS - The repeating times at which this profile begins. This element is not used if the FixedDate element is used. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - frequency: - type: string - schedule: - description: |- - Storage version of v1api20221001.RecurrentSchedule_STATUS - The scheduling constraints for when the profile begins. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - items: - type: string - type: array - hours: - items: - type: integer - type: array - minutes: - items: - type: integer - type: array - timeZone: - type: string + Storage version of v1api20220701.IpConfiguration_STATUS + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateIpAddress: + type: string + privateIpAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + id: + type: string type: object - rules: - items: - description: |- - Storage version of v1api20221001.ScaleRule_STATUS - A rule that provide the triggers and parameters for the scaling action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricTrigger: - description: |- - Storage version of v1api20221001.MetricTrigger_STATUS - The trigger that results in a scaling action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dimensions: - items: - description: |- - Storage version of v1api20221001.ScaleRuleMetricDimension_STATUS - Specifies an auto scale rule metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - DimensionName: - type: string - Operator: - type: string - Values: - items: - type: string - type: array - type: object - type: array - dividePerInstance: - type: boolean - metricName: - type: string - metricNamespace: - type: string - metricResourceLocation: - type: string - metricResourceUri: - type: string - operator: - type: string - statistic: - type: string - threshold: - type: number - timeAggregation: - type: string - timeGrain: - type: string - timeWindow: - type: string - type: object - scaleAction: - description: |- - Storage version of v1api20221001.ScaleAction_STATUS - The parameters for the scaling action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cooldown: - type: string - direction: - type: string - type: - type: string - value: - type: string - type: object - type: object - type: array type: object type: array - properties_name: + location: + type: string + name: + type: string + provisioningState: + type: string + resourceGuid: type: string systemData: description: |- - Storage version of v1api20221001.SystemData_STATUS + Storage version of v1api20220701.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -37622,10 +96671,6 @@ spec: additionalProperties: type: string type: object - targetResourceLocation: - type: string - targetResourceUri: - type: string type: type: string type: object @@ -37640,11 +96685,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: backends.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnsresolversoutboundendpoints.network.azure.com spec: conversion: strategy: Webhook @@ -37657,12 +96702,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: apimanagement.azure.com + group: network.azure.com names: - kind: Backend - listKind: BackendList - plural: backends - singular: backend + categories: + - azure + - network + kind: DnsResolversOutboundEndpoint + listKind: DnsResolversOutboundEndpointList + plural: dnsresolversoutboundendpoints + singular: dnsresolversoutboundendpoint preserveUnknownFields: false scope: Namespaced versions: @@ -37679,13 +96727,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimbackends.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName} properties: apiVersion: description: |- @@ -37710,60 +96758,9 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 80 - minLength: 1 type: string - credentials: - description: 'Credentials: Backend Credentials Contract Properties' - properties: - authorization: - description: 'Authorization: Authorization header authentication' - properties: - parameter: - description: 'Parameter: Authentication Parameter value.' - maxLength: 300 - minLength: 1 - type: string - scheme: - description: 'Scheme: Authentication Scheme name.' - maxLength: 100 - minLength: 1 - type: string - required: - - parameter - - scheme - type: object - certificate: - description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' - items: - type: string - maxItems: 32 - type: array - certificateIds: - description: 'CertificateIds: List of Client Certificate Ids.' - items: - type: string - maxItems: 32 - type: array - header: - additionalProperties: - items: - type: string - type: array - description: 'Header: Header Parameter description.' - type: object - query: - additionalProperties: - items: - type: string - type: array - description: 'Query: Query Parameter description.' - type: object - type: object - description: - description: 'Description: Backend Description.' - maxLength: 2000 - minLength: 1 + location: + description: 'Location: The geo-location where the resource lives' type: string operatorSpec: description: |- @@ -37835,7 +96832,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a network.azure.com/DnsResolver resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -37844,137 +96841,39 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: Backend Properties contract' + subnet: + description: 'Subnet: The reference to the subnet used for the outbound endpoint.' properties: - serviceFabricCluster: - description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' + reference: + description: 'Reference: Resource ID.' properties: - clientCertificateId: - description: 'ClientCertificateId: The client certificate id for the management endpoint.' - type: string - clientCertificatethumbprint: + armId: description: |- - ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if - certificatesIds are provided + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - managementEndpoints: - description: 'ManagementEndpoints: The cluster management endpoint.' - items: - type: string - type: array - maxPartitionResolutionRetries: - description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' - type: integer - serverCertificateThumbprints: - description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' - items: - type: string - type: array - serverX509Names: - description: 'ServerX509Names: Server X509 Certificate Names Collection' - items: - description: Properties of server X509Names. - properties: - issuerCertificateThumbprint: - description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' - type: string - name: - description: 'Name: Common Name of the Certificate.' - type: string - type: object - type: array - required: - - managementEndpoints - type: object - type: object - protocol: - description: 'Protocol: Backend communication protocol.' - enum: - - http - - soap - type: string - proxy: - description: 'Proxy: Backend gateway Contract Properties' - properties: - password: - description: 'Password: Password to connect to the WebProxy Server' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + description: Name is the Kubernetes name of the resource. type: string - required: - - key - - name type: object - url: - description: |- - Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all - fragments and query strings. - maxLength: 2000 - minLength: 1 - type: string - username: - description: 'Username: Username to connect to the WebProxy server' - type: string - required: - - url - type: object - resourceReference: - description: |- - ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, - Function Apps or API Apps. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string type: object - title: - description: 'Title: Backend Title.' - maxLength: 300 - minLength: 1 - type: string - tls: - description: 'Tls: Backend TLS Properties' - properties: - validateCertificateChain: - description: |- - ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed - certificates for this backend host. - type: boolean - validateCertificateName: - description: |- - ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed - certificates for this backend host. - type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object - url: - description: 'Url: Runtime Url of the Backend.' - maxLength: 2000 - minLength: 1 - type: string required: + - location - owner - - protocol - - url + - subnet type: object status: properties: @@ -38022,140 +96921,65 @@ spec: - type type: object type: array - credentials: - description: 'Credentials: Backend Credentials Contract Properties' - properties: - authorization: - description: 'Authorization: Authorization header authentication' - properties: - parameter: - description: 'Parameter: Authentication Parameter value.' - type: string - scheme: - description: 'Scheme: Authentication Scheme name.' - type: string - type: object - certificate: - description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' - items: - type: string - type: array - certificateIds: - description: 'CertificateIds: List of Client Certificate Ids.' - items: - type: string - type: array - header: - additionalProperties: - items: - type: string - type: array - description: 'Header: Header Parameter description.' - type: object - query: - additionalProperties: - items: - type: string - type: array - description: 'Query: Query Parameter description.' - type: object - type: object - description: - description: 'Description: Backend Description.' + etag: + description: 'Etag: ETag of the outbound endpoint.' type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string name: description: 'Name: The name of the resource' type: string - properties: - description: 'Properties: Backend Properties contract' + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the outbound endpoint. This is a read-only property and any attempt + to set this value will be ignored. + type: string + resourceGuid: + description: 'ResourceGuid: The resourceGuid property of the outbound endpoint resource.' + type: string + subnet: + description: 'Subnet: The reference to the subnet used for the outbound endpoint.' properties: - serviceFabricCluster: - description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' - properties: - clientCertificateId: - description: 'ClientCertificateId: The client certificate id for the management endpoint.' - type: string - clientCertificatethumbprint: - description: |- - ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if - certificatesIds are provided - type: string - managementEndpoints: - description: 'ManagementEndpoints: The cluster management endpoint.' - items: - type: string - type: array - maxPartitionResolutionRetries: - description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' - type: integer - serverCertificateThumbprints: - description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' - items: - type: string - type: array - serverX509Names: - description: 'ServerX509Names: Server X509 Certificate Names Collection' - items: - description: Properties of server X509Names. - properties: - issuerCertificateThumbprint: - description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' - type: string - name: - description: 'Name: Common Name of the Certificate.' - type: string - type: object - type: array - type: object + id: + description: 'Id: Resource ID.' + type: string type: object - protocol: - description: 'Protocol: Backend communication protocol.' - type: string - proxy: - description: 'Proxy: Backend gateway Contract Properties' + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: - url: - description: |- - Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all - fragments and query strings. + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - username: - description: 'Username: Username to connect to the WebProxy server' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - resourceId: - description: |- - ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, - Function Apps or API Apps. - type: string - title: - description: 'Title: Backend Title.' - type: string - tls: - description: 'Tls: Backend TLS Properties' - properties: - validateCertificateChain: - description: |- - ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed - certificates for this backend host. - type: boolean - validateCertificateName: - description: |- - ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed - certificates for this backend host. - type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - url: - description: 'Url: Runtime Url of the Backend.' - type: string type: object type: object served: true @@ -38175,14 +96999,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.Backend + Storage version of v1api20220701.DnsResolversOutboundEndpoint Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimbackends.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName} properties: apiVersion: description: |- @@ -38202,7 +97026,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.Backend_Spec + description: Storage version of v1api20220701.DnsResolversOutboundEndpoint_Spec properties: $propertyBag: additionalProperties: @@ -38216,61 +97040,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - credentials: - description: |- - Storage version of v1api20220801.BackendCredentialsContract - Details of the Credentials used to connect to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorization: - description: |- - Storage version of v1api20220801.BackendAuthorizationHeaderCredentials - Authorization header information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - parameter: - type: string - scheme: - type: string - type: object - certificate: - items: - type: string - type: array - certificateIds: - items: - type: string - type: array - header: - additionalProperties: - items: - type: string - type: array - type: object - query: - additionalProperties: - items: - type: string - type: array - type: object - type: object - description: + location: type: string operatorSpec: description: |- - Storage version of v1api20220801.BackendOperatorSpec + Storage version of v1api20220701.DnsResolversOutboundEndpointOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -38345,7 +97119,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a network.azure.com/DnsResolver resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -38354,10 +97128,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: + subnet: description: |- - Storage version of v1api20220801.BackendProperties - Properties specific to the Backend Type. + Storage version of v1api20220701.SubResource + Reference to another ARM resource. properties: $propertyBag: additionalProperties: @@ -38366,137 +97140,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - serviceFabricCluster: - description: |- - Storage version of v1api20220801.BackendServiceFabricClusterProperties - Properties of the Service Fabric Type Backend. + reference: + description: 'Reference: Resource ID.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertificateId: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - clientCertificatethumbprint: + group: + description: Group is the Kubernetes group of the resource. type: string - managementEndpoints: - items: - type: string - type: array - maxPartitionResolutionRetries: - type: integer - serverCertificateThumbprints: - items: - type: string - type: array - serverX509Names: - items: - description: |- - Storage version of v1api20220801.X509CertificateName - Properties of server X509Names. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - issuerCertificateThumbprint: - type: string - name: - type: string - type: object - type: array - type: object - type: object - protocol: - type: string - proxy: - description: |- - Storage version of v1api20220801.BackendProxyContract - Details of the Backend WebProxy Server to use in the Request to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - password: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + description: Name is the Kubernetes name of the resource. type: string - required: - - key - - name type: object - url: - type: string - username: - type: string - type: object - resourceReference: - description: |- - ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, - Function Apps or API Apps. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string type: object - title: - type: string - tls: - description: |- - Storage version of v1api20220801.BackendTlsProperties - Properties controlling TLS Certificate Validation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - validateCertificateChain: - type: boolean - validateCertificateName: - type: boolean + tags: + additionalProperties: + type: string type: object - url: - type: string required: - owner type: object status: - description: Storage version of v1api20220801.Backend_STATUS + description: Storage version of v1api20220701.DnsResolversOutboundEndpoint_STATUS properties: $propertyBag: additionalProperties: @@ -38548,66 +97221,22 @@ spec: - type type: object type: array - credentials: - description: |- - Storage version of v1api20220801.BackendCredentialsContract_STATUS - Details of the Credentials used to connect to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorization: - description: |- - Storage version of v1api20220801.BackendAuthorizationHeaderCredentials_STATUS - Authorization header information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - parameter: - type: string - scheme: - type: string - type: object - certificate: - items: - type: string - type: array - certificateIds: - items: - type: string - type: array - header: - additionalProperties: - items: - type: string - type: array - type: object - query: - additionalProperties: - items: - type: string - type: array - type: object - type: object - description: + etag: type: string id: type: string + location: + type: string name: type: string - properties: + provisioningState: + type: string + resourceGuid: + type: string + subnet: description: |- - Storage version of v1api20220801.BackendProperties_STATUS - Properties specific to the Backend Type. + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. properties: $propertyBag: additionalProperties: @@ -38616,59 +97245,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - serviceFabricCluster: - description: |- - Storage version of v1api20220801.BackendServiceFabricClusterProperties_STATUS - Properties of the Service Fabric Type Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertificateId: - type: string - clientCertificatethumbprint: - type: string - managementEndpoints: - items: - type: string - type: array - maxPartitionResolutionRetries: - type: integer - serverCertificateThumbprints: - items: - type: string - type: array - serverX509Names: - items: - description: |- - Storage version of v1api20220801.X509CertificateName_STATUS - Properties of server X509Names. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - issuerCertificateThumbprint: - type: string - name: - type: string - type: object - type: array - type: object + id: + type: string type: object - protocol: - type: string - proxy: + systemData: description: |- - Storage version of v1api20220801.BackendProxyContract_STATUS - Details of the Backend WebProxy Server to use in the Request to Backend. + Storage version of v1api20220701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -38677,42 +97260,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - url: + createdAt: type: string - username: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - resourceId: - type: string - title: - type: string - tls: - description: |- - Storage version of v1api20220801.BackendTlsProperties_STATUS - Properties controlling TLS Certificate Validation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - validateCertificateChain: - type: boolean - validateCertificateName: - type: boolean + tags: + additionalProperties: + type: string type: object type: type: string - url: - type: string type: object type: object served: true storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnszones.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZone + listKind: DnsZoneList + plural: dnszones + singular: dnszone + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -38726,13 +97333,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimbackends.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName} properties: apiVersion: description: |- @@ -38746,127 +97353,20 @@ spec: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 80 - minLength: 1 - type: string - circuitBreaker: - description: 'CircuitBreaker: Backend Circuit Breaker Configuration' - properties: - rules: - description: 'Rules: The rules for tripping the backend.' - items: - description: Rule configuration to trip the backend. - properties: - failureCondition: - description: 'FailureCondition: The conditions for tripping the circuit breaker.' - properties: - count: - description: 'Count: The threshold for opening the circuit.' - type: integer - errorReasons: - description: 'ErrorReasons: The error reasons which are considered as failure.' - items: - maxLength: 200 - type: string - maxItems: 10 - type: array - interval: - description: 'Interval: The interval during which the failures are counted.' - type: string - percentage: - description: 'Percentage: The threshold for opening the circuit.' - type: integer - statusCodeRanges: - description: 'StatusCodeRanges: The status code ranges which are considered as failure.' - items: - description: The failure http status code range - properties: - max: - description: 'Max: The maximum http status code.' - maximum: 599 - minimum: 200 - type: integer - min: - description: 'Min: The minimum http status code.' - maximum: 599 - minimum: 200 - type: integer - type: object - maxItems: 10 - type: array - type: object - name: - description: 'Name: The rule name.' - type: string - tripDuration: - description: 'TripDuration: The duration for which the circuit will be tripped.' - type: string - type: object - maxItems: 15 - type: array - type: object - credentials: - description: 'Credentials: Backend Credentials Contract Properties' - properties: - authorization: - description: 'Authorization: Authorization header authentication' - properties: - parameter: - description: 'Parameter: Authentication Parameter value.' - maxLength: 300 - minLength: 1 - type: string - scheme: - description: 'Scheme: Authentication Scheme name.' - maxLength: 100 - minLength: 1 - type: string - required: - - parameter - - scheme - type: object - certificate: - description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' - items: - type: string - maxItems: 32 - type: array - certificateIds: - description: 'CertificateIds: List of Client Certificate Ids.' - items: - type: string - maxItems: 32 - type: array - header: - additionalProperties: - items: - type: string - type: array - description: 'Header: Header Parameter description.' - type: object - query: - additionalProperties: - items: - type: string - type: array - description: 'Query: Query Parameter description.' - type: object - type: object - description: - description: 'Description: Backend Description.' - maxLength: 2000 - minLength: 1 + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -38938,7 +97438,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -38947,235 +97447,81 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - pool: - description: 'Pool: Backend pool information' - properties: - services: - description: 'Services: The list of backend entities belonging to a pool.' - items: - description: Backend pool service information + registrationVirtualNetworks: + description: |- + RegistrationVirtualNetworks: A list of references to virtual networks that register hostnames in this DNS zone. This is + a only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + reference: + description: 'Reference: Resource Id.' properties: - reference: - description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - minItems: 1 - type: array - type: object - properties: - description: 'Properties: Backend Properties contract' - properties: - serviceFabricCluster: - description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' - properties: - clientCertificateId: - description: 'ClientCertificateId: The client certificate id for the management endpoint.' - type: string - clientCertificatethumbprint: - description: |- - ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if - certificatesIds are provided - type: string - managementEndpoints: - description: 'ManagementEndpoints: The cluster management endpoint.' - items: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: array - maxPartitionResolutionRetries: - description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' - type: integer - serverCertificateThumbprints: - description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' - items: + group: + description: Group is the Kubernetes group of the resource. type: string - type: array - serverX509Names: - description: 'ServerX509Names: Server X509 Certificate Names Collection' - items: - description: Properties of server X509Names. - properties: - issuerCertificateThumbprint: - description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' - type: string - name: - description: 'Name: Common Name of the Certificate.' - type: string - type: object - type: array - required: - - managementEndpoints - type: object - type: object - protocol: - description: 'Protocol: Backend communication protocol.' - enum: - - http - - soap - type: string - proxy: - description: 'Proxy: Backend gateway Contract Properties' - properties: - password: - description: 'Password: Password to connect to the WebProxy Server' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - url: - description: |- - Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all - fragments and query strings. - maxLength: 2000 - minLength: 1 - type: string - username: - description: 'Username: Username to connect to the WebProxy server' - type: string - required: - - url - type: object - resourceReference: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + resolutionVirtualNetworks: description: |- - ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, - Function Apps or API Apps. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - title: - description: 'Title: Backend Title.' - maxLength: 300 - minLength: 1 - type: string - tls: - description: 'Tls: Backend TLS Properties' - properties: - validateCertificateChain: - description: |- - ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed - certificates for this backend host. - type: boolean - validateCertificateName: - description: |- - ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed - certificates for this backend host. - type: boolean + ResolutionVirtualNetworks: A list of references to virtual networks that resolve records in this DNS zone. This is a + only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object - type: - description: 'Type: Type of the backend. A backend can be either Single or Pool.' + zoneType: + description: 'ZoneType: The type of this DNS zone (Public or Private).' enum: - - Pool - - Single - type: string - url: - description: 'Url: Runtime Url of the Backend.' - maxLength: 2000 - minLength: 1 + - Private + - Public type: string required: + - location - owner - - protocol - - url type: object status: properties: - circuitBreaker: - description: 'CircuitBreaker: Backend Circuit Breaker Configuration' - properties: - rules: - description: 'Rules: The rules for tripping the backend.' - items: - description: Rule configuration to trip the backend. - properties: - failureCondition: - description: 'FailureCondition: The conditions for tripping the circuit breaker.' - properties: - count: - description: 'Count: The threshold for opening the circuit.' - type: integer - errorReasons: - description: 'ErrorReasons: The error reasons which are considered as failure.' - items: - maxLength: 200 - type: string - maxItems: 10 - type: array - interval: - description: 'Interval: The interval during which the failures are counted.' - type: string - percentage: - description: 'Percentage: The threshold for opening the circuit.' - type: integer - statusCodeRanges: - description: 'StatusCodeRanges: The status code ranges which are considered as failure.' - items: - description: The failure http status code range - properties: - max: - description: 'Max: The maximum http status code.' - maximum: 599 - minimum: 200 - type: integer - min: - description: 'Min: The minimum http status code.' - maximum: 599 - minimum: 200 - type: integer - type: object - maxItems: 10 - type: array - type: object - name: - description: 'Name: The rule name.' - type: string - tripDuration: - description: 'TripDuration: The duration for which the circuit will be tripped.' - type: string - type: object - type: array - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -39220,158 +97566,74 @@ spec: - type type: object type: array - credentials: - description: 'Credentials: Backend Credentials Contract Properties' - properties: - authorization: - description: 'Authorization: Authorization header authentication' - properties: - parameter: - description: 'Parameter: Authentication Parameter value.' - type: string - scheme: - description: 'Scheme: Authentication Scheme name.' - type: string - type: object - certificate: - description: 'Certificate: List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided.' - items: - type: string - type: array - certificateIds: - description: 'CertificateIds: List of Client Certificate Ids.' - items: - type: string - type: array - header: - additionalProperties: - items: - type: string - type: array - description: 'Header: Header Parameter description.' - type: object - query: - additionalProperties: - items: - type: string - type: array - description: 'Query: Query Parameter description.' - type: object - type: object - description: - description: 'Description: Backend Description.' + etag: + description: 'Etag: The etag of the zone.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - pool: - description: 'Pool: Backend pool information' - properties: - services: - description: 'Services: The list of backend entities belonging to a pool.' - items: - description: Backend pool service information - properties: - id: - description: 'Id: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' - type: string - required: - - id - type: object - type: array - type: object - properties: - description: 'Properties: Backend Properties contract' - properties: - serviceFabricCluster: - description: 'ServiceFabricCluster: Backend Service Fabric Cluster Properties' - properties: - clientCertificateId: - description: 'ClientCertificateId: The client certificate id for the management endpoint.' - type: string - clientCertificatethumbprint: - description: |- - ClientCertificatethumbprint: The client certificate thumbprint for the management endpoint. Will be ignored if - certificatesIds are provided - type: string - managementEndpoints: - description: 'ManagementEndpoints: The cluster management endpoint.' - items: - type: string - type: array - maxPartitionResolutionRetries: - description: 'MaxPartitionResolutionRetries: Maximum number of retries while attempting resolve the partition.' - type: integer - serverCertificateThumbprints: - description: 'ServerCertificateThumbprints: Thumbprints of certificates cluster management service uses for tls communication' - items: - type: string - type: array - serverX509Names: - description: 'ServerX509Names: Server X509 Certificate Names Collection' - items: - description: Properties of server X509Names. - properties: - issuerCertificateThumbprint: - description: 'IssuerCertificateThumbprint: Thumbprint for the Issuer of the Certificate.' - type: string - name: - description: 'Name: Common Name of the Certificate.' - type: string - type: object - type: array - type: object - type: object - properties_type: - description: 'PropertiesType: Type of the backend. A backend can be either Single or Pool.' + description: 'Id: Resource ID.' type: string - protocol: - description: 'Protocol: Backend communication protocol.' + location: + description: 'Location: Resource location.' type: string - proxy: - description: 'Proxy: Backend gateway Contract Properties' - properties: - url: - description: |- - Url: WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all - fragments and query strings. - type: string - username: - description: 'Username: Username to connect to the WebProxy server' - type: string - type: object - resourceId: + maxNumberOfRecordSets: description: |- - ResourceId: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, - Function Apps or API Apps. - type: string - title: - description: 'Title: Backend Title.' + MaxNumberOfRecordSets: The maximum number of record sets that can be created in this DNS zone. This is a read-only + property and any attempt to set this value will be ignored. + type: integer + maxNumberOfRecordsPerRecordSet: + description: |- + MaxNumberOfRecordsPerRecordSet: The maximum number of records per record set that can be created in this DNS zone. This + is a read-only property and any attempt to set this value will be ignored. + type: integer + name: + description: 'Name: Resource name.' type: string - tls: - description: 'Tls: Backend TLS Properties' - properties: - validateCertificateChain: - description: |- - ValidateCertificateChain: Flag indicating whether SSL certificate chain validation should be done when using self-signed - certificates for this backend host. - type: boolean - validateCertificateName: - description: |- - ValidateCertificateName: Flag indicating whether SSL certificate name validation should be done when using self-signed - certificates for this backend host. - type: boolean + nameServers: + description: |- + NameServers: The name servers for this DNS zone. This is a read-only property and any attempt to set this value will be + ignored. + items: + type: string + type: array + numberOfRecordSets: + description: |- + NumberOfRecordSets: The current number of record sets in this DNS zone. This is a read-only property and any attempt to + set this value will be ignored. + type: integer + registrationVirtualNetworks: + description: |- + RegistrationVirtualNetworks: A list of references to virtual networks that register hostnames in this DNS zone. This is + a only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: array + resolutionVirtualNetworks: + description: |- + ResolutionVirtualNetworks: A list of references to virtual networks that resolve records in this DNS zone. This is a + only when ZoneType is Private. + items: + description: A reference to a another resource + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string - url: - description: 'Url: Runtime Url of the Backend.' + zoneType: + description: 'ZoneType: The type of this DNS zone (Public or Private).' type: string type: object type: object @@ -39392,14 +97654,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.Backend + Storage version of v1api20180501.DnsZone Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimbackends.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName} properties: apiVersion: description: |- @@ -39419,7 +97681,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.Backend_Spec + description: Storage version of v1api20180501.DnsZone_Spec properties: $propertyBag: additionalProperties: @@ -39433,135 +97695,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - circuitBreaker: - description: |- - Storage version of v1api20230501preview.BackendCircuitBreaker - The configuration of the backend circuit breaker - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - rules: - items: - description: |- - Storage version of v1api20230501preview.CircuitBreakerRule - Rule configuration to trip the backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - failureCondition: - description: |- - Storage version of v1api20230501preview.CircuitBreakerFailureCondition - The trip conditions of the circuit breaker - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - errorReasons: - items: - type: string - type: array - interval: - type: string - percentage: - type: integer - statusCodeRanges: - items: - description: |- - Storage version of v1api20230501preview.FailureStatusCodeRange - The failure http status code range - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - max: - type: integer - min: - type: integer - type: object - type: array - type: object - name: - type: string - tripDuration: - type: string - type: object - type: array - type: object - credentials: - description: |- - Storage version of v1api20230501preview.BackendCredentialsContract - Details of the Credentials used to connect to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorization: - description: |- - Storage version of v1api20230501preview.BackendAuthorizationHeaderCredentials - Authorization header information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - parameter: - type: string - scheme: - type: string - type: object - certificate: - items: - type: string - type: array - certificateIds: - items: - type: string - type: array - header: - additionalProperties: - items: - type: string - type: array - type: object - query: - additionalProperties: - items: - type: string - type: array - type: object - type: object - description: + location: type: string operatorSpec: description: |- - Storage version of v1api20230501preview.BackendOperatorSpec + Storage version of v1api20180501.DnsZoneOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -39636,7 +97774,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -39645,201 +97783,87 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - pool: - description: |- - Storage version of v1api20230501preview.BackendPool - Backend pool information - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - services: - items: + registrationVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230501preview.BackendPoolItem - Backend pool service information + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The unique ARM id of the backend entity. The ARM id should refer to an already existing backend entity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - type: array - type: object - properties: - description: |- - Storage version of v1api20230501preview.BackendProperties - Properties specific to the Backend Type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - serviceFabricCluster: - description: |- - Storage version of v1api20230501preview.BackendServiceFabricClusterProperties - Properties of the Service Fabric Type Backend. - properties: - $propertyBag: - additionalProperties: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertificateId: - type: string - clientCertificatethumbprint: - type: string - managementEndpoints: - items: + group: + description: Group is the Kubernetes group of the resource. type: string - type: array - maxPartitionResolutionRetries: - type: integer - serverCertificateThumbprints: - items: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: array - serverX509Names: - items: - description: |- - Storage version of v1api20230501preview.X509CertificateName - Properties of server X509Names. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - issuerCertificateThumbprint: - type: string - name: - type: string - type: object - type: array - type: object - type: object - protocol: - type: string - proxy: - description: |- - Storage version of v1api20230501preview.BackendProxyContract - Details of the Backend WebProxy Server to use in the Request to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - password: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + resolutionVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: type: string - required: - - key - - name - type: object - url: - type: string - username: - type: string - type: object - resourceReference: - description: |- - ResourceReference: Management Uri of the Resource in External System. This URL can be the Arm Resource Id of Logic Apps, - Function Apps or API Apps. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - title: - type: string - tls: - description: |- - Storage version of v1api20230501preview.BackendTlsProperties - Properties controlling TLS Certificate Validation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - validateCertificateChain: - type: boolean - validateCertificateName: - type: boolean + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + tags: + additionalProperties: + type: string type: object - type: - type: string - url: + zoneType: type: string required: - owner type: object status: - description: Storage version of v1api20230501preview.Backend_STATUS + description: Storage version of v1api20180501.DnsZone_STATUS properties: $propertyBag: additionalProperties: @@ -39848,80 +97872,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - circuitBreaker: - description: |- - Storage version of v1api20230501preview.BackendCircuitBreaker_STATUS - The configuration of the backend circuit breaker - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - rules: - items: - description: |- - Storage version of v1api20230501preview.CircuitBreakerRule_STATUS - Rule configuration to trip the backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - failureCondition: - description: |- - Storage version of v1api20230501preview.CircuitBreakerFailureCondition_STATUS - The trip conditions of the circuit breaker - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - errorReasons: - items: - type: string - type: array - interval: - type: string - percentage: - type: integer - statusCodeRanges: - items: - description: |- - Storage version of v1api20230501preview.FailureStatusCodeRange_STATUS - The failure http status code range - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - max: - type: integer - min: - type: integer - type: object - type: array - type: object - name: - type: string - tripDuration: - type: string - type: object - type: array - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -39954,212 +97904,81 @@ spec: type: string status: description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - credentials: - description: |- - Storage version of v1api20230501preview.BackendCredentialsContract_STATUS - Details of the Credentials used to connect to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorization: - description: |- - Storage version of v1api20230501preview.BackendAuthorizationHeaderCredentials_STATUS - Authorization header information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - parameter: - type: string - scheme: - type: string - type: object - certificate: - items: - type: string - type: array - certificateIds: - items: - type: string - type: array - header: - additionalProperties: - items: - type: string - type: array - type: object - query: - additionalProperties: - items: - type: string - type: array - type: object - type: object - description: + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: type: string id: type: string + location: + type: string + maxNumberOfRecordSets: + type: integer + maxNumberOfRecordsPerRecordSet: + type: integer name: type: string - pool: - description: |- - Storage version of v1api20230501preview.BackendPool_STATUS - Backend pool information - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - services: - items: + nameServers: + items: + type: string + type: array + numberOfRecordSets: + type: integer + registrationVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230501preview.BackendPoolItem_STATUS - Backend pool service information - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - type: object - properties: - description: |- - Storage version of v1api20230501preview.BackendProperties_STATUS - Properties specific to the Backend Type. - properties: - $propertyBag: - additionalProperties: + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - serviceFabricCluster: - description: |- - Storage version of v1api20230501preview.BackendServiceFabricClusterProperties_STATUS - Properties of the Service Fabric Type Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertificateId: - type: string - clientCertificatethumbprint: + type: object + type: array + resolutionVirtualNetworks: + items: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: type: string - managementEndpoints: - items: - type: string - type: array - maxPartitionResolutionRetries: - type: integer - serverCertificateThumbprints: - items: - type: string - type: array - serverX509Names: - items: - description: |- - Storage version of v1api20230501preview.X509CertificateName_STATUS - Properties of server X509Names. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - issuerCertificateThumbprint: - type: string - name: - type: string - type: object - type: array - type: object - type: object - properties_type: - type: string - protocol: - type: string - proxy: - description: |- - Storage version of v1api20230501preview.BackendProxyContract_STATUS - Details of the Backend WebProxy Server to use in the Request to Backend. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - url: - type: string - username: - type: string - type: object - resourceId: - type: string - title: - type: string - tls: - description: |- - Storage version of v1api20230501preview.BackendTlsProperties_STATUS - Properties controlling TLS Certificate Validation. - properties: - $propertyBag: - additionalProperties: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - validateCertificateChain: - type: boolean - validateCertificateName: - type: boolean + type: object + type: array + tags: + additionalProperties: + type: string type: object type: type: string - url: + zoneType: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -40168,11 +97987,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: backupvaults.dataprotection.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnszonesaaaarecords.network.azure.com spec: conversion: strategy: Webhook @@ -40185,12 +98004,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dataprotection.azure.com + group: network.azure.com names: - kind: BackupVault - listKind: BackupVaultList - plural: backupvaults - singular: backupvault + categories: + - azure + - network + kind: DnsZonesAAAARecord + listKind: DnsZonesAAAARecordList + plural: dnszonesaaaarecords + singular: dnszonesaaaarecord preserveUnknownFields: false scope: Namespaced versions: @@ -40207,13 +98029,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/AAAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -40234,21 +98056,151 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - identity: - description: 'Identity: Input Managed Identity Details' - properties: - type: - description: 'Type: The identityType which can be either SystemAssigned or None' - type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' type: object - location: - description: 'Location: Resource location.' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -40284,25 +98236,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - principalId: - description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -40338,7 +98271,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -40347,102 +98280,170 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: BackupVaultResource properties' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - featureSettings: - description: 'FeatureSettings: Feature Settings' - properties: - crossSubscriptionRestoreSettings: - description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' - properties: - state: - description: 'State: CrossSubscriptionRestore state' - enum: - - Disabled - - Enabled - - PermanentlyDisabled - type: string - type: object - type: object - monitoringSettings: - description: 'MonitoringSettings: Monitoring Settings' - properties: - azureMonitorAlertSettings: - description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' - properties: - alertsForAllJobFailures: - enum: - - Disabled - - Enabled - type: string - type: object - type: object - securitySettings: - description: 'SecuritySettings: Security Settings' + reference: + description: 'Reference: Resource Id.' properties: - immutabilitySettings: - description: 'ImmutabilitySettings: Immutability Settings at vault level' - properties: - state: - description: 'State: Immutability state' - enum: - - Disabled - - Locked - - Unlocked - type: string - type: object - softDeleteSettings: - description: 'SoftDeleteSettings: Soft delete related settings' - properties: - retentionDurationInDays: - description: 'RetentionDurationInDays: Soft delete retention duration' - type: number - state: - description: 'State: State of soft delete' - enum: - - AlwaysOn - - "Off" - - "On" - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - storageSettings: - description: 'StorageSettings: Storage Settings' - items: - description: Storage setting - properties: - datastoreType: - description: 'DatastoreType: Gets or sets the type of the datastore.' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - type: - description: 'Type: Gets or sets the type.' - enum: - - GeoRedundant - - LocallyRedundant - - ZoneRedundant - type: string - type: object - type: array - required: - - storageSettings - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' type: object required: - owner - - properties type: object status: - description: Backup Vault Resource properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -40487,149 +98488,35 @@ spec: - type type: object type: array - eTag: - description: 'ETag: Optional ETag.' + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string id: - description: 'Id: Resource Id represents the complete path to the resource.' + description: 'Id: The ID of the record set.' type: string - identity: - description: 'Identity: Input Managed Identity Details' - properties: - principalId: - description: |- - PrincipalId: The object ID of the service principal object for the managed identity that is used to grant role-based - access to an Azure resource. - type: string - tenantId: - description: 'TenantId: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.' - type: string - type: - description: 'Type: The identityType which can be either SystemAssigned or None' - type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' type: object - location: - description: 'Location: Resource location.' - type: string name: - description: 'Name: Resource name associated with the resource.' + description: 'Name: The name of the record set.' type: string - properties: - description: 'Properties: BackupVaultResource properties' - properties: - featureSettings: - description: 'FeatureSettings: Feature Settings' - properties: - crossSubscriptionRestoreSettings: - description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' - properties: - state: - description: 'State: CrossSubscriptionRestore state' - type: string - type: object - type: object - isVaultProtectedByResourceGuard: - description: 'IsVaultProtectedByResourceGuard: Is vault protected by resource guard' - type: boolean - monitoringSettings: - description: 'MonitoringSettings: Monitoring Settings' - properties: - azureMonitorAlertSettings: - description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' - properties: - alertsForAllJobFailures: - type: string - type: object - type: object - provisioningState: - description: 'ProvisioningState: Provisioning state of the BackupVault resource' - type: string - resourceMoveDetails: - description: 'ResourceMoveDetails: Resource move details for backup vault' - properties: - completionTimeUtc: - description: 'CompletionTimeUtc: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' - type: string - operationId: - description: 'OperationId: CorrelationId of latest ResourceMove operation attempted' - type: string - sourceResourcePath: - description: 'SourceResourcePath: ARM resource path of source resource' - type: string - startTimeUtc: - description: 'StartTimeUtc: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' - type: string - targetResourcePath: - description: 'TargetResourcePath: ARM resource path of target resource used in latest ResourceMove operation' - type: string - type: object - resourceMoveState: - description: 'ResourceMoveState: Resource move state for backup vault' - type: string - securitySettings: - description: 'SecuritySettings: Security Settings' - properties: - immutabilitySettings: - description: 'ImmutabilitySettings: Immutability Settings at vault level' - properties: - state: - description: 'State: Immutability state' - type: string - type: object - softDeleteSettings: - description: 'SoftDeleteSettings: Soft delete related settings' - properties: - retentionDurationInDays: - description: 'RetentionDurationInDays: Soft delete retention duration' - type: number - state: - description: 'State: State of soft delete' - type: string - type: object - type: object - storageSettings: - description: 'StorageSettings: Storage Settings' - items: - description: Storage setting - properties: - datastoreType: - description: 'DatastoreType: Gets or sets the type of the datastore.' - type: string - type: - description: 'Type: Gets or sets the type.' - type: string - type: object - type: array - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + id: + description: 'Id: Resource Id.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + description: 'Type: The type of the record set.' type: string type: object type: object @@ -40650,14 +98537,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101storage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230101.BackupVault + Storage version of v1api20180501.DnsZonesAAAARecord Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/AAAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -40677,7 +98564,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230101.BackupVault_Spec + description: Storage version of v1api20180501.DnsZonesAAAARecord_Spec properties: $propertyBag: additionalProperties: @@ -40686,15 +98573,112 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - identity: + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: description: |- - Storage version of v1api20230101.DppIdentityDetails - Identity details + Storage version of v1api20180501.SoaRecord + An SOA record. properties: $propertyBag: additionalProperties: @@ -40703,14 +98687,98 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - type: + email: + type: string + expireTime: + type: integer + host: type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer type: object - location: + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20230101.BackupVaultOperatorSpec + Storage version of v1api20180501.DnsZonesAAAARecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -40732,52 +98800,23 @@ spec: Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - configMaps: - description: Storage version of v1api20230101.BackupVaultOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array secretExpressions: items: description: |- @@ -40814,7 +98853,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -40823,10 +98862,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: + targetResource: description: |- - Storage version of v1api20230101.BackupVaultSpec - Backup Vault + Storage version of v1api20180501.SubResource + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -40835,138 +98874,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - featureSettings: - description: |- - Storage version of v1api20230101.FeatureSettings - Class containing feature settings of vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - crossSubscriptionRestoreSettings: - description: |- - Storage version of v1api20230101.CrossSubscriptionRestoreSettings - CrossSubscriptionRestore Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - type: object - monitoringSettings: - description: |- - Storage version of v1api20230101.MonitoringSettings - Monitoring Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureMonitorAlertSettings: - description: |- - Storage version of v1api20230101.AzureMonitorAlertSettings - Settings for Azure Monitor based alerts - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alertsForAllJobFailures: - type: string - type: object - type: object - securitySettings: - description: |- - Storage version of v1api20230101.SecuritySettings - Class containing security settings of vault + reference: + description: 'Reference: Resource Id.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - immutabilitySettings: - description: |- - Storage version of v1api20230101.ImmutabilitySettings - Immutability Settings at vault level - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - softDeleteSettings: + armId: description: |- - Storage version of v1api20230101.SoftDeleteSettings - Soft delete related settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - retentionDurationInDays: - type: number - state: - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - storageSettings: - items: - description: |- - Storage version of v1api20230101.StorageSetting - Storage setting - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datastoreType: - type: string - type: - type: string - type: object - type: array - type: object - tags: - additionalProperties: - type: string type: object required: - owner type: object status: - description: |- - Storage version of v1api20230101.BackupVaultResource_STATUS - Backup Vault Resource + description: Storage version of v1api20180501.DnsZonesAAAARecord_STATUS properties: $propertyBag: additionalProperties: @@ -40975,6 +98908,200 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -41018,199 +99145,24 @@ spec: - type type: object type: array - eTag: + etag: + type: string + fqdn: type: string id: type: string - identity: - description: |- - Storage version of v1api20230101.DppIdentityDetails_STATUS - Identity details - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string + metadata: + additionalProperties: + type: string type: object - location: - type: string name: type: string - properties: - description: |- - Storage version of v1api20230101.BackupVault_STATUS - Backup Vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - featureSettings: - description: |- - Storage version of v1api20230101.FeatureSettings_STATUS - Class containing feature settings of vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - crossSubscriptionRestoreSettings: - description: |- - Storage version of v1api20230101.CrossSubscriptionRestoreSettings_STATUS - CrossSubscriptionRestore Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - type: object - isVaultProtectedByResourceGuard: - type: boolean - monitoringSettings: - description: |- - Storage version of v1api20230101.MonitoringSettings_STATUS - Monitoring Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureMonitorAlertSettings: - description: |- - Storage version of v1api20230101.AzureMonitorAlertSettings_STATUS - Settings for Azure Monitor based alerts - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alertsForAllJobFailures: - type: string - type: object - type: object - provisioningState: - type: string - resourceMoveDetails: - description: |- - Storage version of v1api20230101.ResourceMoveDetails_STATUS - ResourceMoveDetails will be returned in response to GetResource call from ARM - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completionTimeUtc: - type: string - operationId: - type: string - sourceResourcePath: - type: string - startTimeUtc: - type: string - targetResourcePath: - type: string - type: object - resourceMoveState: - type: string - securitySettings: - description: |- - Storage version of v1api20230101.SecuritySettings_STATUS - Class containing security settings of vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - immutabilitySettings: - description: |- - Storage version of v1api20230101.ImmutabilitySettings_STATUS - Immutability Settings at vault level - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - softDeleteSettings: - description: |- - Storage version of v1api20230101.SoftDeleteSettings_STATUS - Soft delete related settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - retentionDurationInDays: - type: number - state: - type: string - type: object - type: object - storageSettings: - items: - description: |- - Storage version of v1api20230101.StorageSetting_STATUS - Storage setting - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datastoreType: - type: string - type: - type: string - type: object - type: array - type: object - systemData: + provisioningState: + type: string + targetResource: description: |- - Storage version of v1api20230101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -41219,31 +99171,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + id: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnszonesarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesARecord + listKind: DnsZonesARecordList + plural: dnszonesarecords + singular: dnszonesarecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -41257,13 +99230,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231101 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/A/{relativeRecordSetName} properties: apiVersion: description: |- @@ -41284,48 +99257,154 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - identity: - description: 'Identity: Input Managed Identity Details' - properties: - type: - description: 'Type: The identityType which can be either SystemAssigned, UserAssigned, ''SystemAssigned,UserAssigned'' or None' - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Gets or sets the user assigned identities.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: - description: 'Location: Resource location.' + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -41361,25 +99440,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - principalId: - description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -41415,7 +99475,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -41424,116 +99484,170 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: BackupVaultResource properties' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - featureSettings: - description: 'FeatureSettings: Feature Settings' - properties: - crossRegionRestoreSettings: - properties: - state: - description: 'State: CrossRegionRestore state' - enum: - - Disabled - - Enabled - type: string - type: object - crossSubscriptionRestoreSettings: - description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' - properties: - state: - description: 'State: CrossSubscriptionRestore state' - enum: - - Disabled - - Enabled - - PermanentlyDisabled - type: string - type: object - type: object - monitoringSettings: - description: 'MonitoringSettings: Monitoring Settings' - properties: - azureMonitorAlertSettings: - description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' - properties: - alertsForAllJobFailures: - enum: - - Disabled - - Enabled - type: string - type: object - type: object - replicatedRegions: - description: 'ReplicatedRegions: List of replicated regions for Backup Vault' - items: - type: string - type: array - securitySettings: - description: 'SecuritySettings: Security Settings' + reference: + description: 'Reference: Resource Id.' properties: - immutabilitySettings: - description: 'ImmutabilitySettings: Immutability Settings at vault level' - properties: - state: - description: 'State: Immutability state' - enum: - - Disabled - - Locked - - Unlocked - type: string - type: object - softDeleteSettings: - description: 'SoftDeleteSettings: Soft delete related settings' - properties: - retentionDurationInDays: - description: 'RetentionDurationInDays: Soft delete retention duration' - type: number - state: - description: 'State: State of soft delete' - enum: - - AlwaysOn - - "Off" - - "On" - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - storageSettings: - description: 'StorageSettings: Storage Settings' - items: - description: Storage setting - properties: - datastoreType: - description: 'DatastoreType: Gets or sets the type of the datastore.' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - type: - description: 'Type: Gets or sets the type.' - enum: - - GeoRedundant - - LocallyRedundant - - ZoneRedundant - type: string - type: object - type: array - required: - - storageSettings - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' type: object required: - owner - - properties type: object status: - description: Backup Vault Resource properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -41578,176 +99692,35 @@ spec: - type type: object type: array - eTag: - description: 'ETag: Optional ETag.' + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string id: - description: 'Id: Resource Id represents the complete path to the resource.' + description: 'Id: The ID of the record set.' type: string - identity: - description: 'Identity: Input Managed Identity Details' - properties: - principalId: - description: |- - PrincipalId: The object ID of the service principal object for the managed identity that is used to grant role-based - access to an Azure resource. - type: string - tenantId: - description: 'TenantId: A Globally Unique Identifier (GUID) that represents the Azure AD tenant where the resource is now a member.' - type: string - type: - description: 'Type: The identityType which can be either SystemAssigned, UserAssigned, ''SystemAssigned,UserAssigned'' or None' - type: string - userAssignedIdentities: - additionalProperties: - description: User assigned identity properties - properties: - clientId: - description: 'ClientId: The client ID of the assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal ID of the assigned identity.' - type: string - type: object - description: 'UserAssignedIdentities: Gets or sets the user assigned identities.' - type: object + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' type: object - location: - description: 'Location: Resource location.' - type: string name: - description: 'Name: Resource name associated with the resource.' + description: 'Name: The name of the record set.' type: string - properties: - description: 'Properties: BackupVaultResource properties' - properties: - featureSettings: - description: 'FeatureSettings: Feature Settings' - properties: - crossRegionRestoreSettings: - properties: - state: - description: 'State: CrossRegionRestore state' - type: string - type: object - crossSubscriptionRestoreSettings: - description: 'CrossSubscriptionRestoreSettings: CrossSubscriptionRestore Settings' - properties: - state: - description: 'State: CrossSubscriptionRestore state' - type: string - type: object - type: object - isVaultProtectedByResourceGuard: - description: 'IsVaultProtectedByResourceGuard: Is vault protected by resource guard' - type: boolean - monitoringSettings: - description: 'MonitoringSettings: Monitoring Settings' - properties: - azureMonitorAlertSettings: - description: 'AzureMonitorAlertSettings: Settings for Azure Monitor based alerts' - properties: - alertsForAllJobFailures: - type: string - type: object - type: object - provisioningState: - description: 'ProvisioningState: Provisioning state of the BackupVault resource' - type: string - replicatedRegions: - description: 'ReplicatedRegions: List of replicated regions for Backup Vault' - items: - type: string - type: array - resourceMoveDetails: - description: 'ResourceMoveDetails: Resource move details for backup vault' - properties: - completionTimeUtc: - description: 'CompletionTimeUtc: Completion time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' - type: string - operationId: - description: 'OperationId: CorrelationId of latest ResourceMove operation attempted' - type: string - sourceResourcePath: - description: 'SourceResourcePath: ARM resource path of source resource' - type: string - startTimeUtc: - description: 'StartTimeUtc: Start time in UTC of latest ResourceMove operation attempted. ISO 8601 format.' - type: string - targetResourcePath: - description: 'TargetResourcePath: ARM resource path of target resource used in latest ResourceMove operation' - type: string - type: object - resourceMoveState: - description: 'ResourceMoveState: Resource move state for backup vault' - type: string - secureScore: - description: 'SecureScore: Secure Score of Backup Vault' - type: string - securitySettings: - description: 'SecuritySettings: Security Settings' - properties: - immutabilitySettings: - description: 'ImmutabilitySettings: Immutability Settings at vault level' - properties: - state: - description: 'State: Immutability state' - type: string - type: object - softDeleteSettings: - description: 'SoftDeleteSettings: Soft delete related settings' - properties: - retentionDurationInDays: - description: 'RetentionDurationInDays: Soft delete retention duration' - type: number - state: - description: 'State: State of soft delete' - type: string - type: object - type: object - storageSettings: - description: 'StorageSettings: Storage Settings' - items: - description: Storage setting - properties: - datastoreType: - description: 'DatastoreType: Gets or sets the type of the datastore.' - type: string - type: - description: 'Type: Gets or sets the type.' - type: string - type: object - type: array - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + id: + description: 'Id: Resource Id.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + description: 'Type: The type of the record set.' type: string type: object type: object @@ -41768,14 +99741,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231101storage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231101.BackupVault + Storage version of v1api20180501.DnsZonesARecord Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/A/{relativeRecordSetName} properties: apiVersion: description: |- @@ -41795,7 +99768,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231101.BackupVault_Spec + description: Storage version of v1api20180501.DnsZonesARecord_Spec properties: $propertyBag: additionalProperties: @@ -41804,15 +99777,44 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - identity: + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: description: |- - Storage version of v1api20231101.DppIdentityDetails - Identity details + Storage version of v1api20180501.CnameRecord + A CNAME record. properties: $propertyBag: additionalProperties: @@ -41821,49 +99823,168 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - type: + cname: type: string - userAssignedIdentities: - items: + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231101.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer type: object - location: + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + etag: type: string + metadata: + additionalProperties: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20231101.BackupVaultOperatorSpec + Storage version of v1api20180501.DnsZonesARecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -41902,35 +100023,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20231101.BackupVaultOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -41967,7 +100059,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -41976,10 +100068,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: + targetResource: description: |- - Storage version of v1api20231101.BackupVaultSpec - Backup Vault + Storage version of v1api20180501.SubResource + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -41988,155 +100080,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - featureSettings: - description: |- - Storage version of v1api20231101.FeatureSettings - Class containing feature settings of vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - crossRegionRestoreSettings: - description: Storage version of v1api20231101.CrossRegionRestoreSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - crossSubscriptionRestoreSettings: - description: |- - Storage version of v1api20231101.CrossSubscriptionRestoreSettings - CrossSubscriptionRestore Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - type: object - monitoringSettings: - description: |- - Storage version of v1api20231101.MonitoringSettings - Monitoring Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureMonitorAlertSettings: - description: |- - Storage version of v1api20231101.AzureMonitorAlertSettings - Settings for Azure Monitor based alerts - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alertsForAllJobFailures: - type: string - type: object - type: object - replicatedRegions: - items: - type: string - type: array - securitySettings: - description: |- - Storage version of v1api20231101.SecuritySettings - Class containing security settings of vault + reference: + description: 'Reference: Resource Id.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - immutabilitySettings: - description: |- - Storage version of v1api20231101.ImmutabilitySettings - Immutability Settings at vault level - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - softDeleteSettings: + armId: description: |- - Storage version of v1api20231101.SoftDeleteSettings - Soft delete related settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - retentionDurationInDays: - type: number - state: - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - storageSettings: - items: - description: |- - Storage version of v1api20231101.StorageSetting - Storage setting - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datastoreType: - type: string - type: - type: string - type: object - type: array - type: object - tags: - additionalProperties: - type: string type: object required: - owner type: object status: - description: |- - Storage version of v1api20231101.BackupVaultResource_STATUS - Backup Vault Resource + description: Storage version of v1api20180501.DnsZonesARecord_STATUS properties: $propertyBag: additionalProperties: @@ -42145,57 +100114,44 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - conditions: + AAAARecords: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + $propertyBag: + additionalProperties: + type: string description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: type: string - severity: + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - eTag: - type: string - id: - type: string - identity: + CNAMERecord: description: |- - Storage version of v1api20231101.DppIdentityDetails_STATUS - Identity details + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. properties: $propertyBag: additionalProperties: @@ -42204,40 +100160,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - principalId: - type: string - tenantId: - type: string - type: + cname: type: string - userAssignedIdentities: - additionalProperties: + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231101.UserAssignedIdentity_STATUS - User assigned identity properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - type: object - location: - type: string - name: - type: string - properties: + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: description: |- - Storage version of v1api20231101.BackupVault_STATUS - Backup Vault + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. properties: $propertyBag: additionalProperties: @@ -42246,179 +100228,147 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - featureSettings: - description: |- - Storage version of v1api20231101.FeatureSettings_STATUS - Class containing feature settings of vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - crossRegionRestoreSettings: - description: Storage version of v1api20231101.CrossRegionRestoreSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - crossSubscriptionRestoreSettings: - description: |- - Storage version of v1api20231101.CrossSubscriptionRestoreSettings_STATUS - CrossSubscriptionRestore Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - type: object - isVaultProtectedByResourceGuard: - type: boolean - monitoringSettings: - description: |- - Storage version of v1api20231101.MonitoringSettings_STATUS - Monitoring Settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureMonitorAlertSettings: - description: |- - Storage version of v1api20231101.AzureMonitorAlertSettings_STATUS - Settings for Azure Monitor based alerts - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alertsForAllJobFailures: - type: string - type: object - type: object - provisioningState: + email: type: string - replicatedRegions: - items: - type: string - type: array - resourceMoveDetails: - description: |- - Storage version of v1api20231101.ResourceMoveDetails_STATUS - ResourceMoveDetails will be returned in response to GetResource call from ARM - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completionTimeUtc: - type: string - operationId: - type: string - sourceResourcePath: + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: type: string - startTimeUtc: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: type: string - targetResourcePath: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: type: string - type: object - resourceMoveState: - type: string - secureScore: - type: string - securitySettings: - description: |- - Storage version of v1api20231101.SecuritySettings_STATUS - Class containing security settings of vault - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - immutabilitySettings: - description: |- - Storage version of v1api20231101.ImmutabilitySettings_STATUS - Immutability Settings at vault level - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - state: - type: string - type: object - softDeleteSettings: - description: |- - Storage version of v1api20231101.SoftDeleteSettings_STATUS - Soft delete related settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - retentionDurationInDays: - type: number - state: - type: string - type: object - type: object - storageSettings: - items: description: |- - Storage version of v1api20231101.StorageSetting_STATUS - Storage setting - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datastoreType: - type: string - type: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string type: object - systemData: + name: + type: string + provisioningState: + type: string + targetResource: description: |- - Storage version of v1api20231101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -42427,23 +100377,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + id: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string type: object @@ -42458,11 +100394,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: backupvaultsbackupinstances.dataprotection.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnszonescaarecords.network.azure.com spec: conversion: strategy: Webhook @@ -42475,12 +100411,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dataprotection.azure.com + group: network.azure.com names: - kind: BackupVaultsBackupInstance - listKind: BackupVaultsBackupInstanceList - plural: backupvaultsbackupinstances - singular: backupvaultsbackupinstance + categories: + - azure + - network + kind: DnsZonesCAARecord + listKind: DnsZonesCAARecordList + plural: dnszonescaarecords + singular: dnszonescaarecord preserveUnknownFields: false scope: Namespaced versions: @@ -42497,13 +100436,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231101 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -42524,11 +100463,151 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -42599,7 +100678,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dataprotection.azure.com/BackupVault resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -42608,377 +100687,829 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: BackupInstanceResource properties' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - dataSourceInfo: - description: 'DataSourceInfo: Gets or sets the data source information.' + reference: + description: 'Reference: Resource Id.' properties: - datasourceType: - description: 'DatasourceType: DatasourceType of the resource.' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - resourceLocation: - description: 'ResourceLocation: Location of datasource.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - resourceName: - description: 'ResourceName: Unique identifier of the resource in the context of parent.' + group: + description: Group is the Kubernetes group of the resource. type: string - resourceProperties: - description: 'ResourceProperties: Properties specific to data source' - properties: - defaultResourceProperties: - description: 'DefaultResourceProperties: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - DefaultResourceProperties - type: string - required: - - objectType - type: object - type: object - resourceReference: - description: |- - ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will - be the ID created by backup service via Fabric/Vault. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceType: - description: 'ResourceType: Resource Type of Datasource.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - resourceUri: - description: 'ResourceUri: Uri of the resource.' + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - resourceReference type: object - dataSourceSetInfo: - description: 'DataSourceSetInfo: Gets or sets the data source set information.' - properties: - datasourceType: - description: 'DatasourceType: DatasourceType of the resource.' + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesCAARecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CAA/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesCAARecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: type: string - resourceLocation: - description: 'ResourceLocation: Location of datasource.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: type: string - resourceName: - description: 'ResourceName: Unique identifier of the resource in the context of parent.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: type: string - resourceProperties: - description: 'ResourceProperties: Properties specific to data source set' - properties: - defaultResourceProperties: - description: 'DefaultResourceProperties: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - DefaultResourceProperties - type: string - required: - - objectType - type: object - type: object - resourceReference: - description: |- - ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will - be the ID created by backup service via Fabric/Vault. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceType: - description: 'ResourceType: Resource Type of Datasource.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: type: string - resourceUri: - description: 'ResourceUri: Uri of the resource.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: type: string - required: - - resourceReference - type: object - datasourceAuthCredentials: - description: 'DatasourceAuthCredentials: Credentials to use to authenticate with data source provider.' - properties: - secretStoreBasedAuthCredentials: - description: 'SecretStoreBasedAuthCredentials: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - SecretStoreBasedAuthCredentials - type: string - secretStoreResource: - description: 'SecretStoreResource: Secret store resource' - properties: - secretStoreType: - description: 'SecretStoreType: Gets or sets the type of secret store' - enum: - - AzureKeyVault - - Invalid - type: string - uri: - description: 'Uri: Uri to get to the resource' - type: string - value: - description: 'Value: Gets or sets value stored in secret store resource' - type: string - required: - - secretStoreType - type: object - required: - - objectType - type: object - type: object - friendlyName: - description: 'FriendlyName: Gets or sets the Backup Instance friendly name.' - type: string - identityDetails: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - IdentityDetails: Contains information of the Identity Details for the BI. - If it is null, default will be considered as System Assigned. - properties: - useSystemAssignedIdentity: - description: 'UseSystemAssignedIdentity: Specifies if the BI is protected by System Identity.' - type: boolean - userAssignedIdentityArmUrl: - description: 'UserAssignedIdentityArmUrl: ARM URL for User Assigned Identity.' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - objectType: + email: type: string - policyInfo: - description: 'PolicyInfo: Gets or sets the policy information.' - properties: - policyParameters: - description: 'PolicyParameters: Policy parameters for the backup instance' - properties: - backupDatasourceParametersList: - description: 'BackupDatasourceParametersList: Gets or sets the Backup Data Source Parameters' - items: - properties: - blobBackupDatasourceParameters: - description: 'Blob: Mutually exclusive with all other properties' - properties: - containersList: - description: 'ContainersList: List of containers to be backed up during configuration of backup of blobs' - items: - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - BlobBackupDatasourceParameters - type: string - required: - - containersList - - objectType - type: object - kubernetesClusterBackupDatasourceParameters: - description: 'KubernetesCluster: Mutually exclusive with all other properties' - properties: - backupHookReferences: - description: |- - BackupHookReferences: Gets or sets the backup hook references. This property sets the hook reference to be executed - during backup. - items: - description: Class to refer resources which contains namespace and name - properties: - name: - description: 'Name: Name of the resource' - type: string - namespace: - description: 'Namespace: Namespace in which the resource exists' - type: string - type: object - type: array - excludedNamespaces: - description: |- - ExcludedNamespaces: Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded - during backup. - items: - type: string - type: array - excludedResourceTypes: - description: |- - ExcludedResourceTypes: Gets or sets the exclude resource types property. This property sets the resource types to be - excluded during backup. - items: - type: string - type: array - includeClusterScopeResources: - description: |- - IncludeClusterScopeResources: Gets or sets the include cluster resources property. This property if enabled will include - cluster scope resources during backup. - type: boolean - includedNamespaces: - description: |- - IncludedNamespaces: Gets or sets the include namespaces property. This property sets the namespaces to be included - during backup. - items: - type: string - type: array - includedResourceTypes: - description: |- - IncludedResourceTypes: Gets or sets the include resource types property. This property sets the resource types to be - included during backup. - items: - type: string - type: array - labelSelectors: - description: |- - LabelSelectors: Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to - be included during backup. - items: - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - KubernetesClusterBackupDatasourceParameters - type: string - snapshotVolumes: - description: |- - SnapshotVolumes: Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during - backup. - type: boolean - required: - - includeClusterScopeResources - - objectType - - snapshotVolumes - type: object - type: object - type: array - dataStoreParametersList: - description: 'DataStoreParametersList: Gets or sets the DataStore Parameters' - items: - properties: - azureOperationalStoreParameters: - description: 'AzureOperationalStoreParameters: Mutually exclusive with all other properties' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AzureOperationalStoreParameters - type: string - resourceGroupReference: - description: 'ResourceGroupReference: Gets or sets the Snapshot Resource Group Uri.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - dataStoreType - - objectType - type: object - type: object - type: array - type: object - policyReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - policyReference - type: object - validationType: + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesCAARecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ValidationType: Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API - will run again. - enum: - - DeepValidation - - ShallowValidation + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string - required: - - dataSourceInfo - - objectType - - policyInfo type: object - tags: - additionalProperties: - type: string - description: 'Tags: Proxy Resource tags.' + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: - owner type: object status: + description: Storage version of v1api20180501.DnsZonesCAARecord_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -43021,582 +101552,270 @@ spec: - type type: object type: array + etag: + type: string + fqdn: + type: string id: - description: 'Id: Proxy Resource Id represents the complete path to the resource.' type: string + metadata: + additionalProperties: + type: string + type: object name: - description: 'Name: Proxy Resource name associated with the resource.' type: string - properties: - description: 'Properties: BackupInstanceResource properties' + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: - currentProtectionState: - description: 'CurrentProtectionState: Specifies the current protection state of the resource' - type: string - dataSourceInfo: - description: 'DataSourceInfo: Gets or sets the data source information.' - properties: - datasourceType: - description: 'DatasourceType: DatasourceType of the resource.' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - resourceID: - description: |- - ResourceID: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the - ID created by backup service via Fabric/Vault. - type: string - resourceLocation: - description: 'ResourceLocation: Location of datasource.' - type: string - resourceName: - description: 'ResourceName: Unique identifier of the resource in the context of parent.' - type: string - resourceProperties: - description: 'ResourceProperties: Properties specific to data source' - properties: - defaultResourceProperties: - description: 'DefaultResourceProperties: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - resourceType: - description: 'ResourceType: Resource Type of Datasource.' - type: string - resourceUri: - description: 'ResourceUri: Uri of the resource.' - type: string - type: object - dataSourceSetInfo: - description: 'DataSourceSetInfo: Gets or sets the data source set information.' - properties: - datasourceType: - description: 'DatasourceType: DatasourceType of the resource.' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - resourceID: - description: |- - ResourceID: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will be the - ID created by backup service via Fabric/Vault. - type: string - resourceLocation: - description: 'ResourceLocation: Location of datasource.' - type: string - resourceName: - description: 'ResourceName: Unique identifier of the resource in the context of parent.' - type: string - resourceProperties: - description: 'ResourceProperties: Properties specific to data source set' - properties: - defaultResourceProperties: - description: 'DefaultResourceProperties: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - resourceType: - description: 'ResourceType: Resource Type of Datasource.' - type: string - resourceUri: - description: 'ResourceUri: Uri of the resource.' - type: string - type: object - datasourceAuthCredentials: - description: 'DatasourceAuthCredentials: Credentials to use to authenticate with data source provider.' - properties: - secretStoreBasedAuthCredentials: - description: 'SecretStoreBasedAuthCredentials: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - secretStoreResource: - description: 'SecretStoreResource: Secret store resource' - properties: - secretStoreType: - description: 'SecretStoreType: Gets or sets the type of secret store' - type: string - uri: - description: 'Uri: Uri to get to the resource' - type: string - value: - description: 'Value: Gets or sets value stored in secret store resource' - type: string - type: object - type: object - type: object - friendlyName: - description: 'FriendlyName: Gets or sets the Backup Instance friendly name.' - type: string - identityDetails: + $propertyBag: + additionalProperties: + type: string description: |- - IdentityDetails: Contains information of the Identity Details for the BI. - If it is null, default will be considered as System Assigned. - properties: - useSystemAssignedIdentity: - description: 'UseSystemAssignedIdentity: Specifies if the BI is protected by System Identity.' - type: boolean - userAssignedIdentityArmUrl: - description: 'UserAssignedIdentityArmUrl: ARM URL for User Assigned Identity.' - type: string - type: object - objectType: - type: string - policyInfo: - description: 'PolicyInfo: Gets or sets the policy information.' - properties: - policyId: - type: string - policyParameters: - description: 'PolicyParameters: Policy parameters for the backup instance' - properties: - backupDatasourceParametersList: - description: 'BackupDatasourceParametersList: Gets or sets the Backup Data Source Parameters' - items: - properties: - blobBackupDatasourceParameters: - description: 'Blob: Mutually exclusive with all other properties' - properties: - containersList: - description: 'ContainersList: List of containers to be backed up during configuration of backup of blobs' - items: - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - kubernetesClusterBackupDatasourceParameters: - description: 'KubernetesCluster: Mutually exclusive with all other properties' - properties: - backupHookReferences: - description: |- - BackupHookReferences: Gets or sets the backup hook references. This property sets the hook reference to be executed - during backup. - items: - description: Class to refer resources which contains namespace and name - properties: - name: - description: 'Name: Name of the resource' - type: string - namespace: - description: 'Namespace: Namespace in which the resource exists' - type: string - type: object - type: array - excludedNamespaces: - description: |- - ExcludedNamespaces: Gets or sets the exclude namespaces property. This property sets the namespaces to be excluded - during backup. - items: - type: string - type: array - excludedResourceTypes: - description: |- - ExcludedResourceTypes: Gets or sets the exclude resource types property. This property sets the resource types to be - excluded during backup. - items: - type: string - type: array - includeClusterScopeResources: - description: |- - IncludeClusterScopeResources: Gets or sets the include cluster resources property. This property if enabled will include - cluster scope resources during backup. - type: boolean - includedNamespaces: - description: |- - IncludedNamespaces: Gets or sets the include namespaces property. This property sets the namespaces to be included - during backup. - items: - type: string - type: array - includedResourceTypes: - description: |- - IncludedResourceTypes: Gets or sets the include resource types property. This property sets the resource types to be - included during backup. - items: - type: string - type: array - labelSelectors: - description: |- - LabelSelectors: Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to - be included during backup. - items: - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - snapshotVolumes: - description: |- - SnapshotVolumes: Gets or sets the volume snapshot property. This property if enabled will take volume snapshots during - backup. - type: boolean - type: object - type: object - type: array - dataStoreParametersList: - description: 'DataStoreParametersList: Gets or sets the DataStore Parameters' - items: - properties: - azureOperationalStoreParameters: - description: 'AzureOperationalStoreParameters: Mutually exclusive with all other properties' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - resourceGroupId: - description: 'ResourceGroupId: Gets or sets the Snapshot Resource Group Uri.' - type: string - type: object - type: object - type: array - type: object - policyVersion: - type: string - type: object - protectionErrorDetails: - description: 'ProtectionErrorDetails: Specifies the protection error of the resource' - properties: - code: - description: 'Code: Unique code for this error' - type: string - details: - description: 'Details: Additional related Errors' - items: - properties: - code: - description: 'Code: Unique code for this error' - type: string - innerError: - description: 'InnerError: Inner Error' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - embeddedInnerError: - description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - type: object - type: object - isRetryable: - description: 'IsRetryable: Whether the operation will be retryable or not' - type: boolean - isUserError: - description: 'IsUserError: Whether the operation is due to a user error or service error' - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - description: 'Properties: Any key value pairs that can be injected inside error object' - type: object - recommendedAction: - description: 'RecommendedAction: RecommendedAction � localized.' - items: - type: string - type: array - target: - description: 'Target: Target of the error.' - type: string - type: object - type: array - innerError: - description: 'InnerError: Inner Error' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - embeddedInnerError: - description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - type: object - type: object - isRetryable: - description: 'IsRetryable: Whether the operation will be retryable or not' - type: boolean - isUserError: - description: 'IsUserError: Whether the operation is due to a user error or service error' - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - description: 'Properties: Any key value pairs that can be injected inside error object' - type: object - recommendedAction: - description: 'RecommendedAction: RecommendedAction � localized.' - items: - type: string - type: array - target: - description: 'Target: Target of the error.' - type: string - type: object - protectionStatus: - description: 'ProtectionStatus: Specifies the protection status of the resource' - properties: - errorDetails: - description: 'ErrorDetails: Specifies the protection status error of the resource' - properties: - code: - description: 'Code: Unique code for this error' - type: string - details: - description: 'Details: Additional related Errors' - items: - properties: - code: - description: 'Code: Unique code for this error' - type: string - innerError: - description: 'InnerError: Inner Error' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - embeddedInnerError: - description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - type: object - type: object - isRetryable: - description: 'IsRetryable: Whether the operation will be retryable or not' - type: boolean - isUserError: - description: 'IsUserError: Whether the operation is due to a user error or service error' - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - description: 'Properties: Any key value pairs that can be injected inside error object' - type: object - recommendedAction: - description: 'RecommendedAction: RecommendedAction � localized.' - items: - type: string - type: array - target: - description: 'Target: Target of the error.' - type: string - type: object - type: array - innerError: - description: 'InnerError: Inner Error' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - embeddedInnerError: - description: 'EmbeddedInnerError: Child Inner Error, to allow Nesting.' - properties: - additionalInfo: - additionalProperties: - type: string - description: 'AdditionalInfo: Any Key value pairs that can be provided to the client for additional verbose information.' - type: object - code: - description: 'Code: Unique code for this error' - type: string - type: object - type: object - isRetryable: - description: 'IsRetryable: Whether the operation will be retryable or not' - type: boolean - isUserError: - description: 'IsUserError: Whether the operation is due to a user error or service error' - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - description: 'Properties: Any key value pairs that can be injected inside error object' - type: object - recommendedAction: - description: 'RecommendedAction: RecommendedAction � localized.' - items: - type: string - type: array - target: - description: 'Target: Target of the error.' - type: string - type: object - status: - description: 'Status: Specifies the protection status of the resource' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - provisioningState: - description: 'ProvisioningState: Specifies the provisioning state of the resource i.e. provisioning/updating/Succeeded/Failed' - type: string - validationType: - description: |- - ValidationType: Specifies the type of validation. In case of DeepValidation, all validations from /validateForBackup API - will run again. + id: type: string type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnszonescnamerecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesCNAMERecord + listKind: DnsZonesCNAMERecordList + plural: dnszonescnamerecords + singular: dnszonescnamerecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + cname: + description: 'Cname: The canonical name for this CNAME record.' type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object - tags: - additionalProperties: - type: string - description: 'Tags: Proxy Resource tags.' - type: object - type: - description: 'Type: Proxy Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20231101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20231101.BackupVaultsBackupInstance - Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20231101.BackupVaultsBackupInstance_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object operatorSpec: description: |- - Storage version of v1api20231101.BackupVaultsBackupInstanceOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -43626,6 +101845,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -43655,13 +101875,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dataprotection.azure.com/BackupVault resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -43670,420 +101888,626 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: |- - Storage version of v1api20231101.BackupInstance - Backup Instance + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataSourceInfo: - description: |- - Storage version of v1api20231101.Datasource - Datasource to be backed up + reference: + description: 'Reference: Resource Id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceType: - type: string - objectType: - type: string - resourceLocation: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - resourceName: + group: + description: Group is the Kubernetes group of the resource. type: string - resourceProperties: - description: Storage version of v1api20231101.BaseResourceProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultResourceProperties: - description: Storage version of v1api20231101.DefaultResourceProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - resourceReference: - description: |- - ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will - be the ID created by backup service via Fabric/Vault. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceType: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - resourceUri: + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - resourceReference type: object - dataSourceSetInfo: - description: |- - Storage version of v1api20231101.DatasourceSet - DatasourceSet details of datasource to be backed up - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceType: + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: type: string - objectType: + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string + id: + description: 'Id: The ID of the record set.' + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + name: + description: 'Name: The name of the record set.' + type: string + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesCNAMERecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CNAME/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesCNAMERecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: type: string - resourceLocation: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: type: string - resourceName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: type: string - resourceProperties: - description: Storage version of v1api20231101.BaseResourceProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultResourceProperties: - description: Storage version of v1api20231101.DefaultResourceProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - resourceReference: - description: |- - ResourceReference: Full ARM ID of the resource. For azure resources, this is ARM ID. For non azure resources, this will - be the ID created by backup service via Fabric/Vault. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceType: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: type: string - resourceUri: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: type: string - required: - - resourceReference - type: object - datasourceAuthCredentials: - description: Storage version of v1api20231101.AuthCredentials - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretStoreBasedAuthCredentials: - description: Storage version of v1api20231101.SecretStoreBasedAuthCredentials - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - secretStoreResource: - description: |- - Storage version of v1api20231101.SecretStoreResource - Class representing a secret store resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretStoreType: - type: string - uri: - type: string - value: - type: string - type: object - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - friendlyName: + email: type: string - identityDetails: - description: Storage version of v1api20231101.IdentityDetails - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - useSystemAssignedIdentity: - type: boolean - userAssignedIdentityArmUrl: - type: string - type: object - objectType: + expireTime: + type: integer + host: type: string - policyInfo: - description: |- - Storage version of v1api20231101.PolicyInfo - Policy Info in backupInstance - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - policyParameters: - description: |- - Storage version of v1api20231101.PolicyParameters - Parameters in Policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupDatasourceParametersList: - items: - description: Storage version of v1api20231101.BackupDatasourceParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobBackupDatasourceParameters: - description: Storage version of v1api20231101.BlobBackupDatasourceParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - containersList: - items: - type: string - type: array - objectType: - type: string - type: object - kubernetesClusterBackupDatasourceParameters: - description: Storage version of v1api20231101.KubernetesClusterBackupDatasourceParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupHookReferences: - items: - description: |- - Storage version of v1api20231101.NamespacedNameResource - Class to refer resources which contains namespace and name - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - type: object - type: array - excludedNamespaces: - items: - type: string - type: array - excludedResourceTypes: - items: - type: string - type: array - includeClusterScopeResources: - type: boolean - includedNamespaces: - items: - type: string - type: array - includedResourceTypes: - items: - type: string - type: array - labelSelectors: - items: - type: string - type: array - objectType: - type: string - snapshotVolumes: - type: boolean - type: object - type: object - type: array - dataStoreParametersList: - items: - description: Storage version of v1api20231101.DataStoreParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureOperationalStoreParameters: - description: Storage version of v1api20231101.AzureOperationalStoreParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - resourceGroupReference: - description: 'ResourceGroupReference: Gets or sets the Snapshot Resource Group Uri.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - type: object - policyReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - policyReference + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesCNAMERecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - validationType: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: - owner type: object status: - description: Storage version of v1api20231101.BackupVaultsBackupInstance_STATUS + description: Storage version of v1api20180501.DnsZonesCNAMERecord_STATUS properties: $propertyBag: additionalProperties: @@ -44092,6 +102516,200 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -44135,626 +102753,24 @@ spec: - type type: object type: array + etag: + type: string + fqdn: + type: string id: type: string + metadata: + additionalProperties: + type: string + type: object name: type: string - properties: - description: |- - Storage version of v1api20231101.BackupInstance_STATUS - Backup Instance - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - currentProtectionState: - type: string - dataSourceInfo: - description: |- - Storage version of v1api20231101.Datasource_STATUS - Datasource to be backed up - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceType: - type: string - objectType: - type: string - resourceID: - type: string - resourceLocation: - type: string - resourceName: - type: string - resourceProperties: - description: Storage version of v1api20231101.BaseResourceProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultResourceProperties: - description: Storage version of v1api20231101.DefaultResourceProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - resourceType: - type: string - resourceUri: - type: string - type: object - dataSourceSetInfo: - description: |- - Storage version of v1api20231101.DatasourceSet_STATUS - DatasourceSet details of datasource to be backed up - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceType: - type: string - objectType: - type: string - resourceID: - type: string - resourceLocation: - type: string - resourceName: - type: string - resourceProperties: - description: Storage version of v1api20231101.BaseResourceProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultResourceProperties: - description: Storage version of v1api20231101.DefaultResourceProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - resourceType: - type: string - resourceUri: - type: string - type: object - datasourceAuthCredentials: - description: Storage version of v1api20231101.AuthCredentials_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretStoreBasedAuthCredentials: - description: Storage version of v1api20231101.SecretStoreBasedAuthCredentials_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - secretStoreResource: - description: |- - Storage version of v1api20231101.SecretStoreResource_STATUS - Class representing a secret store resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretStoreType: - type: string - uri: - type: string - value: - type: string - type: object - type: object - type: object - friendlyName: - type: string - identityDetails: - description: Storage version of v1api20231101.IdentityDetails_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - useSystemAssignedIdentity: - type: boolean - userAssignedIdentityArmUrl: - type: string - type: object - objectType: - type: string - policyInfo: - description: |- - Storage version of v1api20231101.PolicyInfo_STATUS - Policy Info in backupInstance - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - policyId: - type: string - policyParameters: - description: |- - Storage version of v1api20231101.PolicyParameters_STATUS - Parameters in Policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupDatasourceParametersList: - items: - description: Storage version of v1api20231101.BackupDatasourceParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobBackupDatasourceParameters: - description: Storage version of v1api20231101.BlobBackupDatasourceParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - containersList: - items: - type: string - type: array - objectType: - type: string - type: object - kubernetesClusterBackupDatasourceParameters: - description: Storage version of v1api20231101.KubernetesClusterBackupDatasourceParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupHookReferences: - items: - description: |- - Storage version of v1api20231101.NamespacedNameResource_STATUS - Class to refer resources which contains namespace and name - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - type: object - type: array - excludedNamespaces: - items: - type: string - type: array - excludedResourceTypes: - items: - type: string - type: array - includeClusterScopeResources: - type: boolean - includedNamespaces: - items: - type: string - type: array - includedResourceTypes: - items: - type: string - type: array - labelSelectors: - items: - type: string - type: array - objectType: - type: string - snapshotVolumes: - type: boolean - type: object - type: object - type: array - dataStoreParametersList: - items: - description: Storage version of v1api20231101.DataStoreParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureOperationalStoreParameters: - description: Storage version of v1api20231101.AzureOperationalStoreParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - resourceGroupId: - type: string - type: object - type: object - type: array - type: object - policyVersion: - type: string - type: object - protectionErrorDetails: - description: |- - Storage version of v1api20231101.UserFacingError_STATUS - Error object used by layers that have access to localized content, and propagate that to user - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - details: - items: - description: Storage version of v1api20231101.UserFacingError_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - innerError: - description: |- - Storage version of v1api20231101.InnerError_STATUS - Inner Error - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - embeddedInnerError: - description: Storage version of v1api20231101.InnerError_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - type: object - type: object - isRetryable: - type: boolean - isUserError: - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - type: object - recommendedAction: - items: - type: string - type: array - target: - type: string - type: object - type: array - innerError: - description: |- - Storage version of v1api20231101.InnerError_STATUS - Inner Error - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - embeddedInnerError: - description: Storage version of v1api20231101.InnerError_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - type: object - type: object - isRetryable: - type: boolean - isUserError: - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - type: object - recommendedAction: - items: - type: string - type: array - target: - type: string - type: object - protectionStatus: - description: |- - Storage version of v1api20231101.ProtectionStatusDetails_STATUS - Protection status details - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - errorDetails: - description: |- - Storage version of v1api20231101.UserFacingError_STATUS - Error object used by layers that have access to localized content, and propagate that to user - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - details: - items: - description: Storage version of v1api20231101.UserFacingError_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - innerError: - description: |- - Storage version of v1api20231101.InnerError_STATUS - Inner Error - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - embeddedInnerError: - description: Storage version of v1api20231101.InnerError_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - type: object - type: object - isRetryable: - type: boolean - isUserError: - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - type: object - recommendedAction: - items: - type: string - type: array - target: - type: string - type: object - type: array - innerError: - description: |- - Storage version of v1api20231101.InnerError_STATUS - Inner Error - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - embeddedInnerError: - description: Storage version of v1api20231101.InnerError_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - additionalProperties: - type: string - type: object - code: - type: string - type: object - type: object - isRetryable: - type: boolean - isUserError: - type: boolean - message: - type: string - properties: - additionalProperties: - type: string - type: object - recommendedAction: - items: - type: string - type: array - target: - type: string - type: object - status: - type: string - type: object - provisioningState: - type: string - validationType: - type: string - type: object - systemData: + provisioningState: + type: string + targetResource: description: |- - Storage version of v1api20231101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -44763,23 +102779,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + id: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string type: object @@ -44794,11 +102796,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: backupvaultsbackuppolicies.dataprotection.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnszonesmxrecords.network.azure.com spec: conversion: strategy: Webhook @@ -44811,12 +102813,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dataprotection.azure.com + group: network.azure.com names: - kind: BackupVaultsBackupPolicy - listKind: BackupVaultsBackupPolicyList - plural: backupvaultsbackuppolicies - singular: backupvaultsbackuppolicy + categories: + - azure + - network + kind: DnsZonesMXRecord + listKind: DnsZonesMXRecordList + plural: dnszonesmxrecords + singular: dnszonesmxrecord preserveUnknownFields: false scope: Namespaced versions: @@ -44833,13 +102838,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/MX/{relativeRecordSetName} properties: apiVersion: description: |- @@ -44860,11 +102865,151 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -44935,7 +103080,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dataprotection.azure.com/BackupVault resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -44944,378 +103089,28 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: BaseBackupPolicyResource properties' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - backupPolicy: - description: 'BackupPolicy: Mutually exclusive with all other properties' + reference: + description: 'Reference: Resource Id.' properties: - datasourceTypes: - description: 'DatasourceTypes: Type of datasource for the backup management' - items: - type: string - type: array - objectType: - enum: - - BackupPolicy + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - policyRules: - description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' - items: - properties: - azureBackupRule: - description: 'AzureBackup: Mutually exclusive with all other properties' - properties: - backupParameters: - properties: - azureBackupParams: - description: 'AzureBackupParams: Mutually exclusive with all other properties' - properties: - backupType: - description: 'BackupType: BackupType ; Full/Incremental etc' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AzureBackupParams - type: string - required: - - backupType - - objectType - type: object - type: object - dataStore: - description: 'DataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - required: - - dataStoreType - - objectType - type: object - name: - type: string - objectType: - enum: - - AzureBackupRule - type: string - trigger: - properties: - adhocBasedTriggerContext: - description: 'Adhoc: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AdhocBasedTriggerContext - type: string - taggingCriteria: - description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' - properties: - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - required: - - tagName - type: object - type: object - required: - - objectType - - taggingCriteria - type: object - scheduleBasedTriggerContext: - description: 'Schedule: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - ScheduleBasedTriggerContext - type: string - schedule: - description: 'Schedule: Schedule for this backup' - properties: - repeatingTimeIntervals: - description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' - items: - type: string - type: array - timeZone: - description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' - type: string - required: - - repeatingTimeIntervals - type: object - taggingCriteria: - description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' - items: - description: Tagging criteria - properties: - criteria: - description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' - items: - properties: - scheduleBasedBackupCriteria: - description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' - properties: - absoluteCriteria: - description: |- - AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" - and should be part of AbsoluteMarker enum - items: - enum: - - AllBackup - - FirstOfDay - - FirstOfMonth - - FirstOfWeek - - FirstOfYear - type: string - type: array - daysOfMonth: - description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' - items: - description: Day of the week - properties: - date: - description: 'Date: Date of the month' - type: integer - isLast: - description: 'IsLast: Whether Date is last date of month' - type: boolean - type: object - type: array - daysOfTheWeek: - description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' - items: - enum: - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - type: string - type: array - monthsOfYear: - description: 'MonthsOfYear: It should be January/February/....../December' - items: - enum: - - April - - August - - December - - February - - January - - July - - June - - March - - May - - November - - October - - September - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - ScheduleBasedBackupCriteria - type: string - scheduleTimes: - description: 'ScheduleTimes: List of schedule times for backup' - items: - type: string - type: array - weeksOfTheMonth: - description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' - items: - enum: - - First - - Fourth - - Last - - Second - - Third - type: string - type: array - required: - - objectType - type: object - type: object - type: array - isDefault: - description: 'IsDefault: Specifies if tag is default.' - type: boolean - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - required: - - tagName - type: object - taggingPriority: - description: 'TaggingPriority: Retention Tag priority.' - type: integer - required: - - isDefault - - tagInfo - - taggingPriority - type: object - type: array - required: - - objectType - - schedule - - taggingCriteria - type: object - type: object - required: - - dataStore - - name - - objectType - - trigger - type: object - azureRetentionRule: - description: 'AzureRetention: Mutually exclusive with all other properties' - properties: - isDefault: - type: boolean - lifecycles: - items: - description: Source LifeCycle - properties: - deleteAfter: - properties: - absoluteDeleteOption: - description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Duration of deletion after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AbsoluteDeleteOption - type: string - required: - - duration - - objectType - type: object - type: object - sourceDataStore: - description: 'SourceDataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - required: - - dataStoreType - - objectType - type: object - targetDataStoreCopySettings: - items: - description: Target copy settings - properties: - copyAfter: - description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' - properties: - copyOnExpiryOption: - description: 'CopyOnExpiry: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - CopyOnExpiryOption - type: string - required: - - objectType - type: object - customCopyOption: - description: 'CustomCopy: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Data copied after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - CustomCopyOption - type: string - required: - - objectType - type: object - immediateCopyOption: - description: 'ImmediateCopy: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - ImmediateCopyOption - type: string - required: - - objectType - type: object - type: object - dataStore: - description: 'DataStore: Info of target datastore' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - required: - - dataStoreType - - objectType - type: object - required: - - copyAfter - - dataStore - type: object - type: array - required: - - deleteAfter - - sourceDataStore - type: object - type: array - name: - type: string - objectType: - enum: - - AzureRetentionRule - type: string - required: - - lifecycles - - name - - objectType - type: object - type: object - type: array - required: - - datasourceTypes - - objectType - - policyRules type: object type: object required: @@ -45323,6 +103118,141 @@ spec: type: object status: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -45367,296 +103297,35 @@ spec: - type type: object type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string id: - description: 'Id: Resource Id represents the complete path to the resource.' + description: 'Id: The ID of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object name: - description: 'Name: Resource name associated with the resource.' + description: 'Name: The name of the record set.' type: string - properties: - description: 'Properties: BaseBackupPolicyResource properties' - properties: - backupPolicy: - description: 'BackupPolicy: Mutually exclusive with all other properties' - properties: - datasourceTypes: - description: 'DatasourceTypes: Type of datasource for the backup management' - items: - type: string - type: array - objectType: - type: string - policyRules: - description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' - items: - properties: - azureBackupRule: - description: 'AzureBackup: Mutually exclusive with all other properties' - properties: - backupParameters: - properties: - azureBackupParams: - description: 'AzureBackupParams: Mutually exclusive with all other properties' - properties: - backupType: - description: 'BackupType: BackupType ; Full/Incremental etc' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - dataStore: - description: 'DataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - type: object - name: - type: string - objectType: - type: string - trigger: - properties: - adhocBasedTriggerContext: - description: 'Adhoc: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - taggingCriteria: - description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' - properties: - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - eTag: - description: 'ETag: Retention Tag version.' - type: string - id: - description: 'Id: Retention Tag version.' - type: string - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - type: object - type: object - type: object - scheduleBasedTriggerContext: - description: 'Schedule: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - schedule: - description: 'Schedule: Schedule for this backup' - properties: - repeatingTimeIntervals: - description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' - items: - type: string - type: array - timeZone: - description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' - type: string - type: object - taggingCriteria: - description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' - items: - description: Tagging criteria - properties: - criteria: - description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' - items: - properties: - scheduleBasedBackupCriteria: - description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' - properties: - absoluteCriteria: - description: |- - AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" - and should be part of AbsoluteMarker enum - items: - type: string - type: array - daysOfMonth: - description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' - items: - description: Day of the week - properties: - date: - description: 'Date: Date of the month' - type: integer - isLast: - description: 'IsLast: Whether Date is last date of month' - type: boolean - type: object - type: array - daysOfTheWeek: - description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' - items: - type: string - type: array - monthsOfYear: - description: 'MonthsOfYear: It should be January/February/....../December' - items: - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - scheduleTimes: - description: 'ScheduleTimes: List of schedule times for backup' - items: - type: string - type: array - weeksOfTheMonth: - description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' - items: - type: string - type: array - type: object - type: object - type: array - isDefault: - description: 'IsDefault: Specifies if tag is default.' - type: boolean - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - eTag: - description: 'ETag: Retention Tag version.' - type: string - id: - description: 'Id: Retention Tag version.' - type: string - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - type: object - taggingPriority: - description: 'TaggingPriority: Retention Tag priority.' - type: integer - type: object - type: array - type: object - type: object - type: object - azureRetentionRule: - description: 'AzureRetention: Mutually exclusive with all other properties' - properties: - isDefault: - type: boolean - lifecycles: - items: - description: Source LifeCycle - properties: - deleteAfter: - properties: - absoluteDeleteOption: - description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Duration of deletion after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - sourceDataStore: - description: 'SourceDataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - type: object - targetDataStoreCopySettings: - items: - description: Target copy settings - properties: - copyAfter: - description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' - properties: - copyOnExpiryOption: - description: 'CopyOnExpiry: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - customCopyOption: - description: 'CustomCopy: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Data copied after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - immediateCopyOption: - description: 'ImmediateCopy: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - dataStore: - description: 'DataStore: Info of target datastore' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - type: object - type: object - type: array - type: object - type: array - name: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + id: + description: 'Id: Resource Id.' type: string type: object type: - description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + description: 'Type: The type of the record set.' type: string type: object type: object @@ -45677,14 +103346,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101storage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230101.BackupVaultsBackupPolicy + Storage version of v1api20180501.DnsZonesMXRecord Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/MX/{relativeRecordSetName} properties: apiVersion: description: |- @@ -45704,23 +103373,221 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230101.BackupVaultsBackupPolicy_Spec + description: Storage version of v1api20180501.DnsZonesMXRecord_Spec properties: $propertyBag: additionalProperties: type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20230101.BackupVaultsBackupPolicyOperatorSpec + Storage version of v1api20180501.DnsZonesMXRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -45795,7 +103662,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dataprotection.azure.com/BackupVault resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -45804,8 +103671,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: Storage version of v1api20230101.BaseBackupPolicy + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -45814,451 +103683,779 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupPolicy: - description: Storage version of v1api20230101.BackupPolicy + reference: + description: 'Reference: Resource Id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceTypes: - items: - type: string - type: array - objectType: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesMXRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnszonesnsrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesNSRecord + listKind: DnsZonesNSRecordList + plural: dnszonesnsrecords + singular: dnszonesnsrecord + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/NS/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - policyRules: - items: - description: Storage version of v1api20230101.BasePolicyRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupRule: - description: Storage version of v1api20230101.AzureBackupRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupParameters: - description: Storage version of v1api20230101.BackupParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupParams: - description: Storage version of v1api20230101.AzureBackupParams - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupType: - type: string - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20230101.DataStoreInfoBase - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - name: - type: string - objectType: - type: string - trigger: - description: Storage version of v1api20230101.TriggerContext - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adhocBasedTriggerContext: - description: Storage version of v1api20230101.AdhocBasedTriggerContext - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - taggingCriteria: - description: |- - Storage version of v1api20230101.AdhocBasedTaggingCriteria - Adhoc backup tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagInfo: - description: |- - Storage version of v1api20230101.RetentionTag - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagName: - type: string - type: object - type: object - type: object - scheduleBasedTriggerContext: - description: Storage version of v1api20230101.ScheduleBasedTriggerContext - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - schedule: - description: |- - Storage version of v1api20230101.BackupSchedule - Schedule for backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - repeatingTimeIntervals: - items: - type: string - type: array - timeZone: - type: string - type: object - taggingCriteria: - items: - description: |- - Storage version of v1api20230101.TaggingCriteria - Tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - criteria: - items: - description: Storage version of v1api20230101.BackupCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduleBasedBackupCriteria: - description: Storage version of v1api20230101.ScheduleBasedBackupCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteCriteria: - items: - type: string - type: array - daysOfMonth: - items: - description: |- - Storage version of v1api20230101.Day - Day of the week - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - date: - type: integer - isLast: - type: boolean - type: object - type: array - daysOfTheWeek: - items: - type: string - type: array - monthsOfYear: - items: - type: string - type: array - objectType: - type: string - scheduleTimes: - items: - type: string - type: array - weeksOfTheMonth: - items: - type: string - type: array - type: object - type: object - type: array - isDefault: - type: boolean - tagInfo: - description: |- - Storage version of v1api20230101.RetentionTag - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagName: - type: string - type: object - taggingPriority: - type: integer - type: object - type: array - type: object - type: object - type: object - azureRetentionRule: - description: Storage version of v1api20230101.AzureRetentionRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isDefault: - type: boolean - lifecycles: - items: - description: |- - Storage version of v1api20230101.SourceLifeCycle - Source LifeCycle - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - deleteAfter: - description: Storage version of v1api20230101.DeleteOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteDeleteOption: - description: Storage version of v1api20230101.AbsoluteDeleteOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - type: object - sourceDataStore: - description: |- - Storage version of v1api20230101.DataStoreInfoBase - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - targetDataStoreCopySettings: - items: - description: |- - Storage version of v1api20230101.TargetCopySetting - Target copy settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyAfter: - description: Storage version of v1api20230101.CopyOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyOnExpiryOption: - description: Storage version of v1api20230101.CopyOnExpiryOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - customCopyOption: - description: Storage version of v1api20230101.CustomCopyOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - immediateCopyOption: - description: Storage version of v1api20230101.ImmediateCopyOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20230101.DataStoreInfoBase - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: array - name: - type: string - objectType: - type: string - type: object - type: object - type: array type: object type: object required: - owner type: object status: - description: Storage version of v1api20230101.BackupVaultsBackupPolicy_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -46301,12 +104498,129 @@ spec: - type type: object type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string id: + description: 'Id: The ID of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object name: + description: 'Name: The name of the record set.' type: string - properties: - description: Storage version of v1api20230101.BaseBackupPolicy_STATUS + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + id: + description: 'Id: Resource Id.' + type: string + type: object + type: + description: 'Type: The type of the record set.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501.DnsZonesNSRecord + Generator information: + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/NS/{relativeRecordSetName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501.DnsZonesNSRecord_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. properties: $propertyBag: additionalProperties: @@ -46315,449 +104629,333 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupPolicy: - description: Storage version of v1api20230101.BackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceTypes: - items: - type: string - type: array - objectType: + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20180501.DnsZonesNSRecordOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - policyRules: - items: - description: Storage version of v1api20230101.BasePolicyRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupRule: - description: Storage version of v1api20230101.AzureBackupRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupParameters: - description: Storage version of v1api20230101.BackupParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupParams: - description: Storage version of v1api20230101.AzureBackupParams_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupType: - type: string - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20230101.DataStoreInfoBase_STATUS - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - name: - type: string - objectType: - type: string - trigger: - description: Storage version of v1api20230101.TriggerContext_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adhocBasedTriggerContext: - description: Storage version of v1api20230101.AdhocBasedTriggerContext_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - taggingCriteria: - description: |- - Storage version of v1api20230101.AdhocBasedTaggingCriteria_STATUS - Adhoc backup tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagInfo: - description: |- - Storage version of v1api20230101.RetentionTag_STATUS - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eTag: - type: string - id: - type: string - tagName: - type: string - type: object - type: object - type: object - scheduleBasedTriggerContext: - description: Storage version of v1api20230101.ScheduleBasedTriggerContext_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - schedule: - description: |- - Storage version of v1api20230101.BackupSchedule_STATUS - Schedule for backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - repeatingTimeIntervals: - items: - type: string - type: array - timeZone: - type: string - type: object - taggingCriteria: - items: - description: |- - Storage version of v1api20230101.TaggingCriteria_STATUS - Tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - criteria: - items: - description: Storage version of v1api20230101.BackupCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduleBasedBackupCriteria: - description: Storage version of v1api20230101.ScheduleBasedBackupCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteCriteria: - items: - type: string - type: array - daysOfMonth: - items: - description: |- - Storage version of v1api20230101.Day_STATUS - Day of the week - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - date: - type: integer - isLast: - type: boolean - type: object - type: array - daysOfTheWeek: - items: - type: string - type: array - monthsOfYear: - items: - type: string - type: array - objectType: - type: string - scheduleTimes: - items: - type: string - type: array - weeksOfTheMonth: - items: - type: string - type: array - type: object - type: object - type: array - isDefault: - type: boolean - tagInfo: - description: |- - Storage version of v1api20230101.RetentionTag_STATUS - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eTag: - type: string - id: - type: string - tagName: - type: string - type: object - taggingPriority: - type: integer - type: object - type: array - type: object - type: object - type: object - azureRetentionRule: - description: Storage version of v1api20230101.AzureRetentionRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isDefault: - type: boolean - lifecycles: - items: - description: |- - Storage version of v1api20230101.SourceLifeCycle_STATUS - Source LifeCycle - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - deleteAfter: - description: Storage version of v1api20230101.DeleteOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteDeleteOption: - description: Storage version of v1api20230101.AbsoluteDeleteOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - type: object - sourceDataStore: - description: |- - Storage version of v1api20230101.DataStoreInfoBase_STATUS - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - targetDataStoreCopySettings: - items: - description: |- - Storage version of v1api20230101.TargetCopySetting_STATUS - Target copy settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyAfter: - description: Storage version of v1api20230101.CopyOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyOnExpiryOption: - description: Storage version of v1api20230101.CopyOnExpiryOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - customCopyOption: - description: Storage version of v1api20230101.CustomCopyOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - immediateCopyOption: - description: Storage version of v1api20230101.ImmediateCopyOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20230101.DataStoreInfoBase_STATUS - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: array - name: - type: string - objectType: - type: string - type: object - type: object - type: array type: object type: object - systemData: + required: + - owner + type: object + status: + description: Storage version of v1api20180501.DnsZonesNSRecord_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. properties: $propertyBag: additionalProperties: @@ -46766,17 +104964,224 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: + cname: type: string - lastModifiedAt: + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: type: string - lastModifiedBy: + expireTime: + type: integer + host: type: string - lastModifiedByType: + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: + type: string + fqdn: + type: string + id: + type: string + metadata: + additionalProperties: + type: string + type: object + name: + type: string + provisioningState: + type: string + targetResource: + description: |- + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: @@ -46784,9 +105189,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnszonesptrrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesPTRRecord + listKind: DnsZonesPTRRecordList + plural: dnszonesptrrecords + singular: dnszonesptrrecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -46800,13 +105240,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231101 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/PTR/{relativeRecordSetName} properties: apiVersion: description: |- @@ -46827,11 +105267,151 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -46902,7 +105482,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dataprotection.azure.com/BackupVault resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -46911,385 +105491,170 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: BaseBackupPolicyResource properties' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - backupPolicy: - description: 'BackupPolicy: Mutually exclusive with all other properties' + reference: + description: 'Reference: Resource Id.' properties: - datasourceTypes: - description: 'DatasourceTypes: Type of datasource for the backup management' - items: - type: string - type: array - objectType: - enum: - - BackupPolicy + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - policyRules: - description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' - items: - properties: - azureBackupRule: - description: 'AzureBackup: Mutually exclusive with all other properties' - properties: - backupParameters: - properties: - azureBackupParams: - description: 'AzureBackupParams: Mutually exclusive with all other properties' - properties: - backupType: - description: 'BackupType: BackupType ; Full/Incremental etc' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AzureBackupParams - type: string - required: - - backupType - - objectType - type: object - type: object - dataStore: - description: 'DataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - required: - - dataStoreType - - objectType - type: object - name: - type: string - objectType: - enum: - - AzureBackupRule - type: string - trigger: - properties: - adhocBasedTriggerContext: - description: 'Adhoc: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AdhocBasedTriggerContext - type: string - taggingCriteria: - description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' - properties: - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - required: - - tagName - type: object - type: object - required: - - objectType - - taggingCriteria - type: object - scheduleBasedTriggerContext: - description: 'Schedule: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - ScheduleBasedTriggerContext - type: string - schedule: - description: 'Schedule: Schedule for this backup' - properties: - repeatingTimeIntervals: - description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' - items: - type: string - type: array - timeZone: - description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' - type: string - required: - - repeatingTimeIntervals - type: object - taggingCriteria: - description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' - items: - description: Tagging criteria - properties: - criteria: - description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' - items: - properties: - scheduleBasedBackupCriteria: - description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' - properties: - absoluteCriteria: - description: |- - AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" - and should be part of AbsoluteMarker enum - items: - enum: - - AllBackup - - FirstOfDay - - FirstOfMonth - - FirstOfWeek - - FirstOfYear - type: string - type: array - daysOfMonth: - description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' - items: - description: Day of the week - properties: - date: - description: 'Date: Date of the month' - type: integer - isLast: - description: 'IsLast: Whether Date is last date of month' - type: boolean - type: object - type: array - daysOfTheWeek: - description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' - items: - enum: - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - type: string - type: array - monthsOfYear: - description: 'MonthsOfYear: It should be January/February/....../December' - items: - enum: - - April - - August - - December - - February - - January - - July - - June - - March - - May - - November - - October - - September - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - ScheduleBasedBackupCriteria - type: string - scheduleTimes: - description: 'ScheduleTimes: List of schedule times for backup' - items: - type: string - type: array - weeksOfTheMonth: - description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' - items: - enum: - - First - - Fourth - - Last - - Second - - Third - type: string - type: array - required: - - objectType - type: object - type: object - type: array - isDefault: - description: 'IsDefault: Specifies if tag is default.' - type: boolean - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - required: - - tagName - type: object - taggingPriority: - description: 'TaggingPriority: Retention Tag priority.' - type: integer - required: - - isDefault - - tagInfo - - taggingPriority - type: object - type: array - required: - - objectType - - schedule - - taggingCriteria - type: object - type: object - required: - - dataStore - - name - - objectType - - trigger - type: object - azureRetentionRule: - description: 'AzureRetention: Mutually exclusive with all other properties' - properties: - isDefault: - type: boolean - lifecycles: - items: - description: Source LifeCycle - properties: - deleteAfter: - properties: - absoluteDeleteOption: - description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Duration of deletion after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - AbsoluteDeleteOption - type: string - required: - - duration - - objectType - type: object - type: object - sourceDataStore: - description: 'SourceDataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - required: - - dataStoreType - - objectType - type: object - targetDataStoreCopySettings: - items: - description: Target copy settings - properties: - copyAfter: - description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' - properties: - copyOnExpiryOption: - description: 'CopyOnExpiry: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - CopyOnExpiryOption - type: string - required: - - objectType - type: object - customCopyOption: - description: 'CustomCopy: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Data copied after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - CustomCopyOption - type: string - required: - - objectType - type: object - immediateCopyOption: - description: 'ImmediateCopy: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - enum: - - ImmediateCopyOption - type: string - required: - - objectType - type: object - type: object - dataStore: - description: 'DataStore: Info of target datastore' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - enum: - - ArchiveStore - - OperationalStore - - VaultStore - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - required: - - dataStoreType - - objectType - type: object - required: - - copyAfter - - dataStore - type: object - type: array - required: - - deleteAfter - - sourceDataStore - type: object - type: array - name: - type: string - objectType: - enum: - - AzureRetentionRule - type: string - required: - - lifecycles - - name - - objectType - type: object - type: object - type: array - required: - - datasourceTypes - - objectType - - policyRules type: object type: object - required: - - owner - type: object - status: - properties: + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -47334,296 +105699,35 @@ spec: - type type: object type: array + etag: + description: 'Etag: The etag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' + type: string id: - description: 'Id: Resource Id represents the complete path to the resource.' + description: 'Id: The ID of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object name: - description: 'Name: Resource name associated with the resource.' + description: 'Name: The name of the record set.' type: string - properties: - description: 'Properties: BaseBackupPolicyResource properties' - properties: - backupPolicy: - description: 'BackupPolicy: Mutually exclusive with all other properties' - properties: - datasourceTypes: - description: 'DatasourceTypes: Type of datasource for the backup management' - items: - type: string - type: array - objectType: - type: string - policyRules: - description: 'PolicyRules: Policy rule dictionary that contains rules for each backuptype i.e Full/Incremental/Logs etc' - items: - properties: - azureBackupRule: - description: 'AzureBackup: Mutually exclusive with all other properties' - properties: - backupParameters: - properties: - azureBackupParams: - description: 'AzureBackupParams: Mutually exclusive with all other properties' - properties: - backupType: - description: 'BackupType: BackupType ; Full/Incremental etc' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - dataStore: - description: 'DataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - type: object - name: - type: string - objectType: - type: string - trigger: - properties: - adhocBasedTriggerContext: - description: 'Adhoc: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - taggingCriteria: - description: 'TaggingCriteria: Tagging Criteria containing retention tag for adhoc backup.' - properties: - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - eTag: - description: 'ETag: Retention Tag version.' - type: string - id: - description: 'Id: Retention Tag version.' - type: string - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - type: object - type: object - type: object - scheduleBasedTriggerContext: - description: 'Schedule: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - schedule: - description: 'Schedule: Schedule for this backup' - properties: - repeatingTimeIntervals: - description: 'RepeatingTimeIntervals: ISO 8601 repeating time interval format' - items: - type: string - type: array - timeZone: - description: 'TimeZone: Time zone for a schedule. Example: Pacific Standard Time' - type: string - type: object - taggingCriteria: - description: 'TaggingCriteria: List of tags that can be applicable for given schedule.' - items: - description: Tagging criteria - properties: - criteria: - description: 'Criteria: Criteria which decides whether the tag can be applied to a triggered backup.' - items: - properties: - scheduleBasedBackupCriteria: - description: 'ScheduleBasedBackupCriteria: Mutually exclusive with all other properties' - properties: - absoluteCriteria: - description: |- - AbsoluteCriteria: it contains absolute values like "AllBackup" / "FirstOfDay" / "FirstOfWeek" / "FirstOfMonth" - and should be part of AbsoluteMarker enum - items: - type: string - type: array - daysOfMonth: - description: 'DaysOfMonth: This is day of the month from 1 to 28 other wise last of month' - items: - description: Day of the week - properties: - date: - description: 'Date: Date of the month' - type: integer - isLast: - description: 'IsLast: Whether Date is last date of month' - type: boolean - type: object - type: array - daysOfTheWeek: - description: 'DaysOfTheWeek: It should be Sunday/Monday/T..../Saturday' - items: - type: string - type: array - monthsOfYear: - description: 'MonthsOfYear: It should be January/February/....../December' - items: - type: string - type: array - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - scheduleTimes: - description: 'ScheduleTimes: List of schedule times for backup' - items: - type: string - type: array - weeksOfTheMonth: - description: 'WeeksOfTheMonth: It should be First/Second/Third/Fourth/Last' - items: - type: string - type: array - type: object - type: object - type: array - isDefault: - description: 'IsDefault: Specifies if tag is default.' - type: boolean - tagInfo: - description: 'TagInfo: Retention tag information' - properties: - eTag: - description: 'ETag: Retention Tag version.' - type: string - id: - description: 'Id: Retention Tag version.' - type: string - tagName: - description: 'TagName: Retention Tag Name to relate it to retention rule.' - type: string - type: object - taggingPriority: - description: 'TaggingPriority: Retention Tag priority.' - type: integer - type: object - type: array - type: object - type: object - type: object - azureRetentionRule: - description: 'AzureRetention: Mutually exclusive with all other properties' - properties: - isDefault: - type: boolean - lifecycles: - items: - description: Source LifeCycle - properties: - deleteAfter: - properties: - absoluteDeleteOption: - description: 'AbsoluteDeleteOption: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Duration of deletion after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - sourceDataStore: - description: 'SourceDataStore: DataStoreInfo base' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - type: object - targetDataStoreCopySettings: - items: - description: Target copy settings - properties: - copyAfter: - description: 'CopyAfter: It can be CustomCopyOption or ImmediateCopyOption.' - properties: - copyOnExpiryOption: - description: 'CopyOnExpiry: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - customCopyOption: - description: 'CustomCopy: Mutually exclusive with all other properties' - properties: - duration: - description: 'Duration: Data copied after given timespan' - type: string - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - immediateCopyOption: - description: 'ImmediateCopy: Mutually exclusive with all other properties' - properties: - objectType: - description: 'ObjectType: Type of the specific object - used for deserializing' - type: string - type: object - type: object - dataStore: - description: 'DataStore: Info of target datastore' - properties: - dataStoreType: - description: 'DataStoreType: type of datastore; Operational/Vault/Archive' - type: string - objectType: - description: 'ObjectType: Type of Datasource object, used to initialize the right inherited type' - type: string - type: object - type: object - type: array - type: object - type: array - name: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + provisioningState: + description: 'ProvisioningState: provisioning State of the record set.' + type: string + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + id: + description: 'Id: Resource Id.' type: string type: object type: - description: 'Type: Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...' + description: 'Type: The type of the record set.' type: string type: object type: object @@ -47644,14 +105748,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231101storage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231101.BackupVaultsBackupPolicy + Storage version of v1api20180501.DnsZonesPTRRecord Generator information: - - Generated from: /dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-11-01/dataprotection.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{backupPolicyName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/PTR/{relativeRecordSetName} properties: apiVersion: description: |- @@ -47671,7 +105775,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231101.BackupVaultsBackupPolicy_Spec + description: Storage version of v1api20180501.DnsZonesPTRRecord_Spec properties: $propertyBag: additionalProperties: @@ -47680,14 +105784,212 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20231101.BackupVaultsBackupPolicyOperatorSpec + Storage version of v1api20180501.DnsZonesPTRRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -47758,465 +106060,57 @@ spec: type: object originalVersion: type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dataprotection.azure.com/BackupVault resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - properties: - description: Storage version of v1api20231101.BaseBackupPolicy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupPolicy: - description: Storage version of v1api20231101.BackupPolicy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceTypes: - items: - type: string - type: array - objectType: - type: string - policyRules: - items: - description: Storage version of v1api20231101.BasePolicyRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupRule: - description: Storage version of v1api20231101.AzureBackupRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupParameters: - description: Storage version of v1api20231101.BackupParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupParams: - description: Storage version of v1api20231101.AzureBackupParams - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupType: - type: string - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20231101.DataStoreInfoBase - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - name: - type: string - objectType: - type: string - trigger: - description: Storage version of v1api20231101.TriggerContext - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adhocBasedTriggerContext: - description: Storage version of v1api20231101.AdhocBasedTriggerContext - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - taggingCriteria: - description: |- - Storage version of v1api20231101.AdhocBasedTaggingCriteria - Adhoc backup tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagInfo: - description: |- - Storage version of v1api20231101.RetentionTag - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagName: - type: string - type: object - type: object - type: object - scheduleBasedTriggerContext: - description: Storage version of v1api20231101.ScheduleBasedTriggerContext - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - schedule: - description: |- - Storage version of v1api20231101.BackupSchedule - Schedule for backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - repeatingTimeIntervals: - items: - type: string - type: array - timeZone: - type: string - type: object - taggingCriteria: - items: - description: |- - Storage version of v1api20231101.TaggingCriteria - Tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - criteria: - items: - description: Storage version of v1api20231101.BackupCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduleBasedBackupCriteria: - description: Storage version of v1api20231101.ScheduleBasedBackupCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteCriteria: - items: - type: string - type: array - daysOfMonth: - items: - description: |- - Storage version of v1api20231101.Day - Day of the week - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - date: - type: integer - isLast: - type: boolean - type: object - type: array - daysOfTheWeek: - items: - type: string - type: array - monthsOfYear: - items: - type: string - type: array - objectType: - type: string - scheduleTimes: - items: - type: string - type: array - weeksOfTheMonth: - items: - type: string - type: array - type: object - type: object - type: array - isDefault: - type: boolean - tagInfo: - description: |- - Storage version of v1api20231101.RetentionTag - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagName: - type: string - type: object - taggingPriority: - type: integer - type: object - type: array - type: object - type: object - type: object - azureRetentionRule: - description: Storage version of v1api20231101.AzureRetentionRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isDefault: - type: boolean - lifecycles: - items: - description: |- - Storage version of v1api20231101.SourceLifeCycle - Source LifeCycle - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - deleteAfter: - description: Storage version of v1api20231101.DeleteOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteDeleteOption: - description: Storage version of v1api20231101.AbsoluteDeleteOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - type: object - sourceDataStore: - description: |- - Storage version of v1api20231101.DataStoreInfoBase - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - targetDataStoreCopySettings: - items: - description: |- - Storage version of v1api20231101.TargetCopySetting - Target copy settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyAfter: - description: Storage version of v1api20231101.CopyOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyOnExpiryOption: - description: Storage version of v1api20231101.CopyOnExpiryOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - customCopyOption: - description: Storage version of v1api20231101.CustomCopyOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - immediateCopyOption: - description: Storage version of v1api20231101.ImmediateCopyOption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20231101.DataStoreInfoBase - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: array - name: - type: string - objectType: - type: string - type: object - type: object - type: array + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: |- + Storage version of v1api20180501.SubResource + A reference to a another resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: object required: - owner type: object status: - description: Storage version of v1api20231101.BackupVaultsBackupPolicy_STATUS + description: Storage version of v1api20180501.DnsZonesPTRRecord_STATUS properties: $propertyBag: additionalProperties: @@ -48225,6 +106119,200 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -48268,463 +106356,24 @@ spec: - type type: object type: array + etag: + type: string + fqdn: + type: string id: type: string + metadata: + additionalProperties: + type: string + type: object name: type: string - properties: - description: Storage version of v1api20231101.BaseBackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupPolicy: - description: Storage version of v1api20231101.BackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - datasourceTypes: - items: - type: string - type: array - objectType: - type: string - policyRules: - items: - description: Storage version of v1api20231101.BasePolicyRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupRule: - description: Storage version of v1api20231101.AzureBackupRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupParameters: - description: Storage version of v1api20231101.BackupParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBackupParams: - description: Storage version of v1api20231101.AzureBackupParams_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupType: - type: string - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20231101.DataStoreInfoBase_STATUS - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - name: - type: string - objectType: - type: string - trigger: - description: Storage version of v1api20231101.TriggerContext_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adhocBasedTriggerContext: - description: Storage version of v1api20231101.AdhocBasedTriggerContext_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - taggingCriteria: - description: |- - Storage version of v1api20231101.AdhocBasedTaggingCriteria_STATUS - Adhoc backup tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tagInfo: - description: |- - Storage version of v1api20231101.RetentionTag_STATUS - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eTag: - type: string - id: - type: string - tagName: - type: string - type: object - type: object - type: object - scheduleBasedTriggerContext: - description: Storage version of v1api20231101.ScheduleBasedTriggerContext_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - schedule: - description: |- - Storage version of v1api20231101.BackupSchedule_STATUS - Schedule for backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - repeatingTimeIntervals: - items: - type: string - type: array - timeZone: - type: string - type: object - taggingCriteria: - items: - description: |- - Storage version of v1api20231101.TaggingCriteria_STATUS - Tagging criteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - criteria: - items: - description: Storage version of v1api20231101.BackupCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduleBasedBackupCriteria: - description: Storage version of v1api20231101.ScheduleBasedBackupCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteCriteria: - items: - type: string - type: array - daysOfMonth: - items: - description: |- - Storage version of v1api20231101.Day_STATUS - Day of the week - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - date: - type: integer - isLast: - type: boolean - type: object - type: array - daysOfTheWeek: - items: - type: string - type: array - monthsOfYear: - items: - type: string - type: array - objectType: - type: string - scheduleTimes: - items: - type: string - type: array - weeksOfTheMonth: - items: - type: string - type: array - type: object - type: object - type: array - isDefault: - type: boolean - tagInfo: - description: |- - Storage version of v1api20231101.RetentionTag_STATUS - Retention tag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eTag: - type: string - id: - type: string - tagName: - type: string - type: object - taggingPriority: - type: integer - type: object - type: array - type: object - type: object - type: object - azureRetentionRule: - description: Storage version of v1api20231101.AzureRetentionRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isDefault: - type: boolean - lifecycles: - items: - description: |- - Storage version of v1api20231101.SourceLifeCycle_STATUS - Source LifeCycle - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - deleteAfter: - description: Storage version of v1api20231101.DeleteOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - absoluteDeleteOption: - description: Storage version of v1api20231101.AbsoluteDeleteOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - type: object - sourceDataStore: - description: |- - Storage version of v1api20231101.DataStoreInfoBase_STATUS - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - targetDataStoreCopySettings: - items: - description: |- - Storage version of v1api20231101.TargetCopySetting_STATUS - Target copy settings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyAfter: - description: Storage version of v1api20231101.CopyOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - copyOnExpiryOption: - description: Storage version of v1api20231101.CopyOnExpiryOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - customCopyOption: - description: Storage version of v1api20231101.CustomCopyOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - objectType: - type: string - type: object - immediateCopyOption: - description: Storage version of v1api20231101.ImmediateCopyOption_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - objectType: - type: string - type: object - type: object - dataStore: - description: |- - Storage version of v1api20231101.DataStoreInfoBase_STATUS - DataStoreInfo base - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataStoreType: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: array - name: - type: string - objectType: - type: string - type: object - type: object - type: array - type: object - type: object - systemData: + provisioningState: + type: string + targetResource: description: |- - Storage version of v1api20231101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -48733,17 +106382,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + id: type: string type: object type: @@ -48760,11 +106399,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: bastionhosts.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: dnszonessrvrecords.network.azure.com spec: conversion: strategy: Webhook @@ -48779,10 +106418,13 @@ spec: - v1 group: network.azure.com names: - kind: BastionHost - listKind: BastionHostList - plural: bastionhosts - singular: bastionhost + categories: + - azure + - network + kind: DnsZonesSRVRecord + listKind: DnsZonesSRVRecordList + plural: dnszonessrvrecords + singular: dnszonessrvrecord preserveUnknownFields: false scope: Namespaced versions: @@ -48799,13 +106441,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/bastionHost.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/SRV/{relativeRecordSetName} properties: apiVersion: description: |- @@ -48826,99 +106468,151 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableCopyPaste: - description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' - type: boolean - dnsName: - description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' - type: string - enableFileCopy: - description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' - type: boolean - enableIpConnect: - description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' - type: boolean - enableShareableLink: - description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' - type: boolean - enableTunneling: - description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' - type: boolean - ipConfigurations: - description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' items: - description: IP configuration of an Bastion Host. + description: A CAA record. properties: - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: Private IP allocation method.' - enum: - - Dynamic - - Static + value: + description: 'Value: The value for this CAA record.' type: string - publicIPAddress: - description: 'PublicIPAddress: Reference of the PublicIP resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: 'Subnet: Reference of the subnet resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - publicIPAddress - - subnet type: object type: array - location: - description: 'Location: Resource location.' - type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -48989,41 +106683,179 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + properties: + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + email: + description: 'Email: The email contact for this SOA record.' type: string - name: - description: This is the name of the Kubernetes resource to reference. + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object - scaleUnits: - description: 'ScaleUnits: The scale units for the Bastion Host resource.' - maximum: 50 - minimum: 2 + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' type: integer - sku: - description: 'Sku: The sku of this Bastion Host.' - properties: - name: - description: 'Name: The name of this Bastion Host.' - enum: - - Basic - - Standard - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - required: - - owner - type: object - status: - description: Bastion Host resource. - properties: + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -49068,66 +106900,35 @@ spec: - type type: object type: array - disableCopyPaste: - description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' - type: boolean - dnsName: - description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' - type: string - enableFileCopy: - description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' - type: boolean - enableIpConnect: - description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' - type: boolean - enableShareableLink: - description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' - type: boolean - enableTunneling: - description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' - type: boolean etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + description: 'Etag: The etag of the record set.' type: string - id: - description: 'Id: Resource ID.' + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string - ipConfigurations: - description: 'IpConfigurations: IP configuration of the Bastion Host resource.' - items: - description: IP configuration of an Bastion Host. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - location: - description: 'Location: Resource location.' + id: + description: 'Id: The ID of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object name: - description: 'Name: Resource name.' + description: 'Name: The name of the record set.' type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the bastion host resource.' + description: 'ProvisioningState: provisioning State of the record set.' type: string - scaleUnits: - description: 'ScaleUnits: The scale units for the Bastion Host resource.' - type: integer - sku: - description: 'Sku: The sku of this Bastion Host.' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - name: - description: 'Name: The name of this Bastion Host.' + id: + description: 'Id: Resource Id.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the record set.' type: string type: object type: object @@ -49148,14 +106949,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.BastionHost + Storage version of v1api20180501.DnsZonesSRVRecord Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/bastionHost.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/SRV/{relativeRecordSetName} properties: apiVersion: description: |- @@ -49175,7 +106976,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.BastionHost_Spec + description: Storage version of v1api20180501.DnsZonesSRVRecord_Spec properties: $propertyBag: additionalProperties: @@ -49184,28 +106985,60 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - disableCopyPaste: - type: boolean - dnsName: - type: string - enableFileCopy: - type: boolean - enableIpConnect: - type: boolean - enableShareableLink: - type: boolean - enableTunneling: - type: boolean - ipConfigurations: + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: items: description: |- - Storage version of v1api20220701.BastionHostIPConfiguration - IP configuration of an Bastion Host. + Storage version of v1api20180501.MxRecord + An MX record. properties: $propertyBag: additionalProperties: @@ -49214,83 +107047,150 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + exchange: type: string - privateIPAllocationMethod: + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: type: string - publicIPAddress: + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - subnet: + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer type: object type: array - location: + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20220701.BastionHostOperatorSpec + Storage version of v1api20180501.DnsZonesSRVRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -49365,7 +107265,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -49374,12 +107274,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scaleUnits: - type: integer - sku: + targetResource: description: |- - Storage version of v1api20220701.Sku - The sku of this Bastion Host. + Storage version of v1api20180501.SubResource + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -49388,20 +107286,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: object - tags: - additionalProperties: - type: string + reference: + description: 'Reference: Resource Id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object required: - owner type: object status: - description: |- - Storage version of v1api20220701.BastionHost_STATUS - Bastion Host resource. + description: Storage version of v1api20180501.DnsZonesSRVRecord_STATUS properties: $propertyBag: additionalProperties: @@ -49410,6 +107320,200 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -49453,51 +107557,24 @@ spec: - type type: object type: array - disableCopyPaste: - type: boolean - dnsName: - type: string - enableFileCopy: - type: boolean - enableIpConnect: - type: boolean - enableShareableLink: - type: boolean - enableTunneling: - type: boolean etag: type: string - id: + fqdn: type: string - ipConfigurations: - items: - description: |- - Storage version of v1api20220701.BastionHostIPConfiguration_STATUS - IP configuration of an Bastion Host. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - location: + id: type: string + metadata: + additionalProperties: + type: string + type: object name: type: string provisioningState: type: string - scaleUnits: - type: integer - sku: + targetResource: description: |- - Storage version of v1api20220701.Sku_STATUS - The sku of this Bastion Host. + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -49506,21 +107583,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + id: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: dnszonestxtrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: DnsZonesTXTRecord + listKind: DnsZonesTXTRecordList + plural: dnszonestxtrecords + singular: dnszonestxtrecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -49534,13 +107642,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20180501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/bastionHost.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/TXT/{relativeRecordSetName} properties: apiVersion: description: |- @@ -49561,116 +107669,150 @@ spec: type: object spec: properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableCopyPaste: - description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' - type: boolean - dnsName: - description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' - type: string - enableFileCopy: - description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' - type: boolean - enableIpConnect: - description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' - type: boolean - enableKerberos: - description: 'EnableKerberos: Enable/Disable Kerberos feature of the Bastion Host resource.' - type: boolean - enableSessionRecording: - description: 'EnableSessionRecording: Enable/Disable Session Recording feature of the Bastion Host resource.' - type: boolean - enableShareableLink: - description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' - type: boolean - enableTunneling: - description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' - type: boolean - ipConfigurations: - description: 'IpConfigurations: IP configuration of the Bastion Host resource.' + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' items: - description: IP configuration of an Bastion Host. + description: A CAA record. properties: - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: Private IP allocation method.' - enum: - - Dynamic - - Static + value: + description: 'Value: The value for this CAA record.' type: string - publicIPAddress: - description: 'PublicIPAddress: Reference of the PublicIP resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: 'Subnet: Reference of the subnet resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - publicIPAddress - - subnet type: object type: array - location: - description: 'Location: Resource location.' - type: string - networkAcls: - properties: - ipRules: - description: 'IpRules: Sets the IP ACL rules for Developer Bastion Host.' - items: - properties: - addressPrefix: - description: 'AddressPrefix: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' - type: string - type: object - type: array + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' type: object operatorSpec: description: |- @@ -49742,7 +107884,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -49751,33 +107893,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scaleUnits: - description: 'ScaleUnits: The scale units for the Bastion Host resource.' - maximum: 50 - minimum: 2 - type: integer - sku: - description: 'Sku: The sku of this Bastion Host.' - properties: - name: - description: 'Name: The name of the sku of this Bastion Host.' - enum: - - Basic - - Developer - - Premium - - Standard - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - virtualNetwork: - description: 'VirtualNetwork: Reference to an existing virtual network required for Developer Bastion Host only.' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: reference: - description: 'Reference: Resource ID.' + description: 'Reference: Resource Id.' properties: armId: description: |- @@ -49797,17 +107917,146 @@ spec: type: string type: object type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array required: - owner type: object status: - description: Bastion Host resource. properties: + AAAARecords: + description: 'AAAARecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + ARecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + CNAMERecord: + description: 'CNAMERecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + MXRecords: + description: 'MXRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + NSRecords: + description: 'NSRecords: The list of NS records in the record set.' + items: + description: An NS record. + properties: + nsdname: + description: 'Nsdname: The name server name for this NS record.' + type: string + type: object + type: array + PTRRecords: + description: 'PTRRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + SOARecord: + description: 'SOARecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTTL: + description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + SRVRecords: + description: 'SRVRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + TTL: + description: 'TTL: The TTL (time-to-live) of the records in the record set.' + type: integer + TXTRecords: + description: 'TXTRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array + caaRecords: + description: 'CaaRecords: The list of CAA records in the record set.' + items: + description: A CAA record. + properties: + flags: + description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' + type: integer + tag: + description: 'Tag: The tag for this CAA record.' + type: string + value: + description: 'Value: The value for this CAA record.' + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -49852,97 +108101,36 @@ spec: - type type: object type: array - disableCopyPaste: - description: 'DisableCopyPaste: Enable/Disable Copy/Paste feature of the Bastion Host resource.' - type: boolean - dnsName: - description: 'DnsName: FQDN for the endpoint on which bastion host is accessible.' - type: string - enableFileCopy: - description: 'EnableFileCopy: Enable/Disable File Copy feature of the Bastion Host resource.' - type: boolean - enableIpConnect: - description: 'EnableIpConnect: Enable/Disable IP Connect feature of the Bastion Host resource.' - type: boolean - enableKerberos: - description: 'EnableKerberos: Enable/Disable Kerberos feature of the Bastion Host resource.' - type: boolean - enableSessionRecording: - description: 'EnableSessionRecording: Enable/Disable Session Recording feature of the Bastion Host resource.' - type: boolean - enableShareableLink: - description: 'EnableShareableLink: Enable/Disable Shareable Link of the Bastion Host resource.' - type: boolean - enableTunneling: - description: 'EnableTunneling: Enable/Disable Tunneling feature of the Bastion Host resource.' - type: boolean etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + description: 'Etag: The etag of the record set.' type: string - id: - description: 'Id: Resource ID.' + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string - ipConfigurations: - description: 'IpConfigurations: IP configuration of the Bastion Host resource.' - items: - description: IP configuration of an Bastion Host. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - location: - description: 'Location: Resource location.' + id: + description: 'Id: The ID of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object name: - description: 'Name: Resource name.' + description: 'Name: The name of the record set.' type: string - networkAcls: - properties: - ipRules: - description: 'IpRules: Sets the IP ACL rules for Developer Bastion Host.' - items: - properties: - addressPrefix: - description: 'AddressPrefix: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' - type: string - type: object - type: array - type: object provisioningState: - description: 'ProvisioningState: The provisioning state of the bastion host resource.' + description: 'ProvisioningState: provisioning State of the record set.' type: string - scaleUnits: - description: 'ScaleUnits: The scale units for the Bastion Host resource.' - type: integer - sku: - description: 'Sku: The sku of this Bastion Host.' + targetResource: + description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' properties: - name: - description: 'Name: The name of the sku of this Bastion Host.' + id: + description: 'Id: Resource Id.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the record set.' type: string - virtualNetwork: - description: 'VirtualNetwork: Reference to an existing virtual network required for Developer Bastion Host only.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -49962,14 +108150,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20180501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.BastionHost + Storage version of v1api20180501.DnsZonesTXTRecord Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/bastionHost.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName} + - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/TXT/{relativeRecordSetName} properties: apiVersion: description: |- @@ -49989,7 +108177,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.BastionHost_Spec + description: Storage version of v1api20180501.DnsZonesTXTRecord_Spec properties: $propertyBag: additionalProperties: @@ -49998,32 +108186,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - disableCopyPaste: - type: boolean - dnsName: - type: string - enableFileCopy: - type: boolean - enableIpConnect: - type: boolean - enableKerberos: - type: boolean - enableSessionRecording: - type: boolean - enableShareableLink: - type: boolean - enableTunneling: - type: boolean - ipConfigurations: + AAAARecords: items: description: |- - Storage version of v1api20240301.BastionHostIPConfiguration - IP configuration of an Bastion Host. + Storage version of v1api20180501.AaaaRecord + An AAAA record. properties: $propertyBag: additionalProperties: @@ -50032,82 +108199,99 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + ipv6Address: type: string - privateIPAllocationMethod: + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: type: string - publicIPAddress: + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - subnet: + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + nsdname: + type: string type: object type: array - location: - type: string - networkAcls: - description: Storage version of v1api20240301.BastionHostPropertiesFormat_NetworkAcls + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord + An SOA record. properties: $propertyBag: additionalProperties: @@ -50116,25 +108300,98 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipRules: - items: - description: Storage version of v1api20240301.IPRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - addressPrefix: - type: string + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array + metadata: + additionalProperties: + type: string type: object operatorSpec: description: |- - Storage version of v1api20240301.BastionHostOperatorSpec + Storage version of v1api20180501.DnsZonesTXTRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -50209,7 +108466,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/DnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -50218,31 +108475,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scaleUnits: - type: integer - sku: - description: |- - Storage version of v1api20240301.Sku - The sku of this Bastion Host. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - virtualNetwork: + targetResource: description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + Storage version of v1api20180501.SubResource + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -50252,7 +108488,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: 'Reference: Resource ID.' + description: 'Reference: Resource Id.' properties: armId: description: |- @@ -50272,17 +108508,11 @@ spec: type: string type: object type: object - zones: - items: - type: string - type: array required: - owner type: object status: - description: |- - Storage version of v1api20240301.BastionHost_STATUS - Bastion Host resource. + description: Storage version of v1api20180501.DnsZonesTXTRecord_STATUS properties: $propertyBag: additionalProperties: @@ -50291,6 +108521,200 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + AAAARecords: + items: + description: |- + Storage version of v1api20180501.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + ARecords: + items: + description: |- + Storage version of v1api20180501.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + CNAMERecord: + description: |- + Storage version of v1api20180501.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + MXRecords: + items: + description: |- + Storage version of v1api20180501.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + NSRecords: + items: + description: |- + Storage version of v1api20180501.NsRecord_STATUS + An NS record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nsdname: + type: string + type: object + type: array + PTRRecords: + items: + description: |- + Storage version of v1api20180501.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + SOARecord: + description: |- + Storage version of v1api20180501.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTTL: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + SRVRecords: + items: + description: |- + Storage version of v1api20180501.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + TTL: + type: integer + TXTRecords: + items: + description: |- + Storage version of v1api20180501.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array + caaRecords: + items: + description: |- + Storage version of v1api20180501.CaaRecord_STATUS + A CAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flags: + type: integer + tag: + type: string + value: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -50334,81 +108758,24 @@ spec: - type type: object type: array - disableCopyPaste: - type: boolean - dnsName: - type: string - enableFileCopy: - type: boolean - enableIpConnect: - type: boolean - enableKerberos: - type: boolean - enableSessionRecording: - type: boolean - enableShareableLink: - type: boolean - enableTunneling: - type: boolean etag: type: string - id: + fqdn: type: string - ipConfigurations: - items: - description: |- - Storage version of v1api20240301.BastionHostIPConfiguration_STATUS - IP configuration of an Bastion Host. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - location: + id: type: string + metadata: + additionalProperties: + type: string + type: object name: type: string - networkAcls: - description: Storage version of v1api20240301.BastionHostPropertiesFormat_NetworkAcls_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipRules: - items: - description: Storage version of v1api20240301.IPRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - addressPrefix: - type: string - type: object - type: array - type: object provisioningState: type: string - scaleUnits: - type: integer - sku: + targetResource: description: |- - Storage version of v1api20240301.Sku_STATUS - The sku of this Bastion Host. + Storage version of v1api20180501.SubResource_STATUS + A reference to a another resource properties: $propertyBag: additionalProperties: @@ -50417,34 +108784,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + id: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string - virtualNetwork: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - zones: - items: - type: string - type: array type: object type: object served: true @@ -50457,11 +108801,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: batchaccounts.batch.azure.com + app.kubernetes.io/version: v2.15.0 + name: domains.eventgrid.azure.com spec: conversion: strategy: Webhook @@ -50474,12 +108818,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: batch.azure.com + group: eventgrid.azure.com names: - kind: BatchAccount - listKind: BatchAccountList - plural: batchaccounts - singular: batchaccount + categories: + - azure + - eventgrid + kind: Domain + listKind: DomainList + plural: domains + singular: domain preserveUnknownFields: false scope: Namespaced versions: @@ -50496,13 +108843,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName} + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName} properties: apiVersion: description: |- @@ -50514,149 +108861,117 @@ spec: kind: description: |- Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - autoStorage: - description: 'AutoStorage: The properties related to the auto-storage account.' - properties: - storageAccountReference: - description: 'StorageAccountReference: The resource ID of the storage account to be used for auto-storage account.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - storageAccountReference - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 24 - minLength: 3 - pattern: ^[a-z0-9]+$ - type: string - encryption: - description: |- - Encryption: Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using - a Microsoft managed key. For additional control, a customer-managed key can be used instead. - properties: - keySource: - description: 'KeySource: Type of the key source.' - enum: - - Microsoft.Batch - - Microsoft.KeyVault - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Additional details when using Microsoft.KeyVault' - properties: - keyIdentifier: - description: |- - KeyIdentifier: Full path to the versioned secret. Example - https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following - prerequisites must be met: - The Batch Account has a System Assigned identity - The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions - The KeyVault has soft-delete and purge protection enabled - type: string - type: object - type: object - identity: - description: 'Identity: The identity of the Batch account.' - properties: - type: - description: 'Type: The type of identity used for the Batch account.' - enum: - - None - - SystemAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with the Batch account. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type - type: object - keyVaultReference: - description: 'KeyVaultReference: A reference to the Azure key vault associated with the Batch account.' + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + inboundIpRules: + description: |- + InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered + only if PublicNetworkAccess is enabled. + items: + properties: + action: + description: 'Action: Action to perform based on the match or no match of the IpMask.' + enum: + - Allow + type: string + ipMask: + description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' + type: string + type: object + type: array + inputSchema: + description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the domain.' + enum: + - CloudEventSchemaV1_0 + - CustomEventSchema + - EventGridSchema + type: string + inputSchemaMapping: + description: 'InputSchemaMapping: Information about the InputSchemaMapping which specified the info about mapping event payload.' properties: - reference: - description: 'Reference: The resource ID of the Azure key vault associated with the Batch account.' + json: + description: 'Json: Mutually exclusive with all other properties' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + dataVersion: + description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventTime: + description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventType: + description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + id: + description: 'Id: The mapping information for the Id property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + inputSchemaMappingType: + description: 'InputSchemaMappingType: Type of the custom mapping' + enum: + - Json type: string + subject: + description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + topic: + description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + required: + - inputSchemaMappingType type: object - url: - description: 'Url: The URL of the Azure key vault associated with the Batch account.' - type: string - required: - - reference - - url type: object location: - description: 'Location: The region in which to create the account.' + description: 'Location: Location of the resource.' type: string operatorSpec: description: |- @@ -50737,17 +109052,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - poolAllocationMode: - description: |- - PoolAllocationMode: The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the - mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is - UserSubscription, clients must use Azure Active Directory. The default is BatchService. - enum: - - BatchService - - UserSubscription - type: string publicNetworkAccess: - description: 'PublicNetworkAccess: If not specified, the default value is ''enabled''.' + description: |- + PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. + You can further restrict to specific IPs by configuring enum: - Disabled - Enabled @@ -50755,30 +109064,15 @@ spec: tags: additionalProperties: type: string - description: 'Tags: The user-specified tags associated with the account.' + description: 'Tags: Tags of the resource.' type: object required: - location - owner type: object status: - description: Contains information about an Azure Batch account. + description: EventGrid Domain. properties: - accountEndpoint: - description: 'AccountEndpoint: The account endpoint used to interact with the Batch service.' - type: string - activeJobAndJobScheduleQuota: - type: integer - autoStorage: - description: 'AutoStorage: Contains information about the auto-storage account associated with a Batch account.' - properties: - lastKeySync: - description: 'LastKeySync: The UTC time at which storage keys were last synchronized with the Batch account.' - type: string - storageAccountId: - description: 'StorageAccountId: The resource ID of the storage account to be used for auto-storage account.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -50823,139 +109117,153 @@ spec: - type type: object type: array - dedicatedCoreQuota: - description: |- - DedicatedCoreQuota: For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription - so this value is not returned. - type: integer - dedicatedCoreQuotaPerVMFamily: + endpoint: + description: 'Endpoint: Endpoint for the domain.' + type: string + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + inboundIpRules: description: |- - DedicatedCoreQuotaPerVMFamily: A list of the dedicated core quota per Virtual Machine family for the Batch account. For - accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not - returned. + InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered + only if PublicNetworkAccess is enabled. items: - description: A VM Family and its associated core quota for the Batch account. properties: - coreQuota: - description: 'CoreQuota: The core quota for the VM family for the Batch account.' - type: integer - name: - description: 'Name: The Virtual Machine family name.' + action: + description: 'Action: Action to perform based on the match or no match of the IpMask.' + type: string + ipMask: + description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' type: string type: object type: array - dedicatedCoreQuotaPerVMFamilyEnforced: - description: |- - DedicatedCoreQuotaPerVMFamilyEnforced: Batch is transitioning its core quota system for dedicated cores to be enforced - per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not - yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the - account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the - dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply. - type: boolean - encryption: - description: |- - Encryption: Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using - a Microsoft managed key. For additional control, a customer-managed key can be used instead. + inputSchema: + description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the domain.' + type: string + inputSchemaMapping: + description: 'InputSchemaMapping: Information about the InputSchemaMapping which specified the info about mapping event payload.' properties: - keySource: - description: 'KeySource: Type of the key source.' - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Additional details when using Microsoft.KeyVault' + json: + description: 'Json: Mutually exclusive with all other properties' properties: - keyIdentifier: - description: |- - KeyIdentifier: Full path to the versioned secret. Example - https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following - prerequisites must be met: - The Batch Account has a System Assigned identity - The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions - The KeyVault has soft-delete and purge protection enabled + dataVersion: + description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventTime: + description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + eventType: + description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + id: + description: 'Id: The mapping information for the Id property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + inputSchemaMappingType: + description: 'InputSchemaMappingType: Type of the custom mapping' type: string + subject: + description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' + properties: + defaultValue: + description: |- + DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with + the specified name in the published JSON event payload. + type: string + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object + topic: + description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' + properties: + sourceField: + description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' + type: string + type: object type: object type: object - id: - description: 'Id: The ID of the resource.' - type: string - identity: - description: 'Identity: The identity of the Batch account.' - properties: - principalId: - description: 'PrincipalId: The principal id of the Batch account. This property will only be provided for a system assigned identity.' - type: string - tenantId: - description: |- - TenantId: The tenant id associated with the Batch account. This property will only be provided for a system assigned - identity. - type: string - type: - description: 'Type: The type of identity used for the Batch account.' - type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The list of user identities associated with the Batch account. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object - type: object - keyVaultReference: - description: 'KeyVaultReference: Identifies the Azure key vault associated with a Batch account.' - properties: - id: - description: 'Id: The resource ID of the Azure key vault associated with the Batch account.' - type: string - url: - description: 'Url: The URL of the Azure key vault associated with the Batch account.' - type: string - type: object location: - description: 'Location: The location of the resource.' + description: 'Location: Location of the resource.' type: string - lowPriorityCoreQuota: - description: |- - LowPriorityCoreQuota: For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription - so this value is not returned. - type: integer - name: - description: 'Name: The name of the resource.' + metricResourceId: + description: 'MetricResourceId: Metric resource id for the domain.' type: string - poolAllocationMode: - description: 'PoolAllocationMode: The allocation mode for creating pools in the Batch account.' + name: + description: 'Name: Name of the resource.' type: string - poolQuota: - type: integer privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections associated with the Batch account' + description: 'PrivateEndpointConnections: List of private endpoint connections.' items: - description: Contains information about a private link resource. properties: id: - description: 'Id: The ID of the resource.' + description: 'Id: Fully qualified identifier of the resource.' type: string type: object type: array provisioningState: - description: 'ProvisioningState: The provisioned state of the resource' + description: 'ProvisioningState: Provisioning state of the domain.' type: string publicNetworkAccess: - description: 'PublicNetworkAccess: If not specified, the default value is ''enabled''.' + description: |- + PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. + You can further restrict to specific IPs by configuring type: string + systemData: + description: 'SystemData: The system metadata relating to Domain resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: The tags of the resource.' + description: 'Tags: Tags of the resource.' type: object type: - description: 'Type: The type of the resource.' + description: 'Type: Type of the resource.' type: string type: object type: object @@ -50976,14 +109284,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210101.BatchAccount + Storage version of v1api20200601.Domain Generator information: - - Generated from: /batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName} + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName} properties: apiVersion: description: |- @@ -51003,7 +109311,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101.BatchAccount_Spec + description: Storage version of v1api20200601.Domain_Spec properties: $propertyBag: additionalProperties: @@ -51012,51 +109320,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoStorage: - description: |- - Storage version of v1api20210101.AutoStorageBaseProperties - The properties related to the auto-storage account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageAccountReference: - description: 'StorageAccountReference: The resource ID of the storage account to be used for auto-storage account.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - storageAccountReference - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - encryption: - description: |- - Storage version of v1api20210101.EncryptionProperties - Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft - managed key. For additional control, a customer-managed key can be used instead. + inboundIpRules: + items: + description: Storage version of v1api20200601.InboundIpRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + ipMask: + type: string + type: object + type: array + inputSchema: + type: string + inputSchemaMapping: + description: Storage version of v1api20200601.InputSchemaMapping properties: $propertyBag: additionalProperties: @@ -51065,12 +109354,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keySource: - type: string - keyVaultProperties: - description: |- - Storage version of v1api20210101.KeyVaultProperties - KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + json: + description: Storage version of v1api20200601.JsonInputSchemaMapping properties: $propertyBag: additionalProperties: @@ -51079,103 +109364,135 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyIdentifier: - type: string - type: object - type: object - identity: - description: |- - Storage version of v1api20210101.BatchAccountIdentity - The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as - their Batch account encryption configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20210101.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: + dataVersion: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + sourceField: + type: string + type: object + eventTime: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: type: string - group: - description: Group is the Kubernetes group of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + eventType: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + id: + description: |- + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + inputSchemaMappingType: + type: string + subject: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - type: array - type: object - keyVaultReference: - description: |- - Storage version of v1api20210101.KeyVaultReference - Identifies the Azure key vault associated with a Batch account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The resource ID of the Azure key vault associated with the Batch account.' - properties: - armId: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + topic: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + Storage version of v1api20200601.JsonField + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object type: object - url: - type: string - required: - - reference type: object location: type: string operatorSpec: description: |- - Storage version of v1api20210101.BatchAccountOperatorSpec + Storage version of v1api20200601.DomainOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -51259,8 +109576,6 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - poolAllocationMode: - type: string publicNetworkAccess: type: string tags: @@ -51272,8 +109587,8 @@ spec: type: object status: description: |- - Storage version of v1api20210101.BatchAccount_STATUS - Contains information about an Azure Batch account. + Storage version of v1api20200601.Domain_STATUS + EventGrid Domain. properties: $propertyBag: additionalProperties: @@ -51282,27 +109597,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accountEndpoint: - type: string - activeJobAndJobScheduleQuota: - type: integer - autoStorage: - description: |- - Storage version of v1api20210101.AutoStorageProperties_STATUS - Contains information about the auto-storage account associated with a Batch account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lastKeySync: - type: string - storageAccountId: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -51346,13 +109640,13 @@ spec: - type type: object type: array - dedicatedCoreQuota: - type: integer - dedicatedCoreQuotaPerVMFamily: + endpoint: + type: string + id: + type: string + inboundIpRules: items: - description: |- - Storage version of v1api20210101.VirtualMachineFamilyCoreQuota_STATUS - A VM Family and its associated core quota for the Batch account. + description: Storage version of v1api20200601.InboundIpRule_STATUS properties: $propertyBag: additionalProperties: @@ -51361,19 +109655,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - coreQuota: - type: integer - name: + action: + type: string + ipMask: type: string type: object type: array - dedicatedCoreQuotaPerVMFamilyEnforced: - type: boolean - encryption: - description: |- - Storage version of v1api20210101.EncryptionProperties_STATUS - Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft - managed key. For additional control, a customer-managed key can be used instead. + inputSchema: + type: string + inputSchemaMapping: + description: Storage version of v1api20200601.InputSchemaMapping_STATUS properties: $propertyBag: additionalProperties: @@ -51382,12 +109673,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keySource: - type: string - keyVaultProperties: - description: |- - Storage version of v1api20210101.KeyVaultProperties_STATUS - KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault. + json: + description: Storage version of v1api20200601.JsonInputSchemaMapping_STATUS properties: $propertyBag: additionalProperties: @@ -51396,81 +109683,139 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyIdentifier: + dataVersion: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + eventTime: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + eventType: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: + type: string + sourceField: + type: string + type: object + id: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object + inputSchemaMappingType: type: string - type: object - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20210101.BatchAccountIdentity_STATUS - The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as - their Batch account encryption configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20210101.BatchAccountIdentity_UserAssignedIdentities_STATUS - properties: - $propertyBag: - additionalProperties: + subject: + description: |- + Storage version of v1api20200601.JsonFieldWithDefault_STATUS + This is used to express the source of an input schema mapping for a single target field + in the Event Grid Event schema. + This is currently used in the mappings for the 'subject', + 'eventtype' and 'dataversion' properties. This represents a + field in the input event schema + along with a default value to be used, and at least one of these two properties should + be provided. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultValue: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - keyVaultReference: - description: |- - Storage version of v1api20210101.KeyVaultReference_STATUS - Identifies the Azure key vault associated with a Batch account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + sourceField: + type: string + type: object + topic: + description: |- + Storage version of v1api20200601.JsonField_STATUS + This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. + This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the + input event schema. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceField: + type: string + type: object type: object - id: - type: string - url: - type: string type: object location: type: string - lowPriorityCoreQuota: - type: integer - name: + metricResourceId: type: string - poolAllocationMode: + name: type: string - poolQuota: - type: integer privateEndpointConnections: items: - description: |- - Storage version of v1api20210101.PrivateEndpointConnection_STATUS - Contains information about a private link resource. + description: Storage version of v1api20200601.PrivateEndpointConnection_STATUS_Domain_SubResourceEmbedded properties: $propertyBag: additionalProperties: @@ -51487,6 +109832,31 @@ spec: type: string publicNetworkAccess: type: string + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string @@ -51505,11 +109875,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: components.insights.azure.com + app.kubernetes.io/version: v2.15.0 + name: domainstopics.eventgrid.azure.com spec: conversion: strategy: Webhook @@ -51522,12 +109892,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: insights.azure.com + group: eventgrid.azure.com names: - kind: Component - listKind: ComponentList - plural: components - singular: component + categories: + - azure + - eventgrid + kind: DomainsTopic + listKind: DomainsTopicList + plural: domainstopics + singular: domainstopic preserveUnknownFields: false scope: Namespaced versions: @@ -51544,101 +109917,38 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200202 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName} + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName} properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - Application_Type: - description: 'Application_Type: Type of application being monitored.' - enum: - - other - - web - type: string - DisableIpMasking: - description: 'DisableIpMasking: Disable IP masking.' - type: boolean - DisableLocalAuth: - description: 'DisableLocalAuth: Disable Non-AAD based Auth.' - type: boolean - Flow_Type: - description: |- - Flow_Type: Used by the Application Insights system to determine what kind of flow this component was created by. This is - to be set to 'Bluefield' when creating/updating a component via the REST API. - enum: - - Bluefield - type: string - ForceCustomerStorageForProfiler: - description: 'ForceCustomerStorageForProfiler: Force users to create their own storage account for profiler and debugger.' - type: boolean - HockeyAppId: - description: |- - HockeyAppId: The unique application ID created when a new application is added to HockeyApp, used for communications - with HockeyApp. - type: string - ImmediatePurgeDataOn30Days: - description: 'ImmediatePurgeDataOn30Days: Purge data immediately after 30 days.' - type: boolean - IngestionMode: - description: 'IngestionMode: Indicates the flow of the ingestion.' - enum: - - ApplicationInsights - - ApplicationInsightsWithDiagnosticSettings - - LogAnalytics - type: string - Request_Source: - description: |- - Request_Source: Describes what tool created this Application Insights component. Customers using this API should set - this to the default 'rest'. - enum: - - rest - type: string - RetentionInDays: - description: 'RetentionInDays: Retention period in days.' - type: integer - SamplingPercentage: - description: |- - SamplingPercentage: Percentage of the data produced by the application being monitored that is being sampled for - Application Insights telemetry. - type: number + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - etag: - description: 'Etag: Resource etag' - type: string - kind: - description: |- - Kind: The kind of application that this component refers to, used to customize UI. This value is a freeform string, - values should typically be one of the following: web, ios, other, store, java, phone. - type: string - location: - description: 'Location: Resource location' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -51674,44 +109984,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - connectionString: - description: |- - ConnectionString: indicates where the ConnectionString config map should be placed. If omitted, no config map will be - created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - instrumentationKey: - description: |- - InstrumentationKey: indicates where the InstrumentationKey config map should be placed. If omitted, no config map will - be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -51747,7 +110019,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a eventgrid.azure.com/Domain resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -51756,139 +110028,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccessForIngestion: - description: 'PublicNetworkAccessForIngestion: The network access type for accessing Application Insights ingestion.' - enum: - - Disabled - - Enabled - type: string - publicNetworkAccessForQuery: - description: 'PublicNetworkAccessForQuery: The network access type for accessing Application Insights query.' - enum: - - Disabled - - Enabled - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - workspaceResourceReference: - description: |- - WorkspaceResourceReference: Resource Id of the log analytics workspace which the data will be ingested to. This property - is required to create an application with this API version. Applications from older versions will not have this property. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object required: - - Application_Type - - kind - - location - owner type: object status: properties: - AppId: - description: 'AppId: Application Insights Unique ID for your Application.' - type: string - Application_Type: - description: 'Application_Type: Type of application being monitored.' - type: string - ApplicationId: - description: 'ApplicationId: The unique ID of your application. This field mirrors the ''Name'' field and cannot be changed.' - type: string - ConnectionString: - description: 'ConnectionString: Application Insights component connection string.' - type: string - CreationDate: - description: 'CreationDate: Creation Date for the Application Insights component, in ISO 8601 format.' - type: string - DisableIpMasking: - description: 'DisableIpMasking: Disable IP masking.' - type: boolean - DisableLocalAuth: - description: 'DisableLocalAuth: Disable Non-AAD based Auth.' - type: boolean - Flow_Type: - description: |- - Flow_Type: Used by the Application Insights system to determine what kind of flow this component was created by. This is - to be set to 'Bluefield' when creating/updating a component via the REST API. - type: string - ForceCustomerStorageForProfiler: - description: 'ForceCustomerStorageForProfiler: Force users to create their own storage account for profiler and debugger.' - type: boolean - HockeyAppId: - description: |- - HockeyAppId: The unique application ID created when a new application is added to HockeyApp, used for communications - with HockeyApp. - type: string - HockeyAppToken: - description: 'HockeyAppToken: Token used to authenticate communications with between Application Insights and HockeyApp.' - type: string - ImmediatePurgeDataOn30Days: - description: 'ImmediatePurgeDataOn30Days: Purge data immediately after 30 days.' - type: boolean - IngestionMode: - description: 'IngestionMode: Indicates the flow of the ingestion.' - type: string - InstrumentationKey: - description: |- - InstrumentationKey: Application Insights Instrumentation key. A read-only value that applications can use to identify - the destination for all telemetry sent to Azure Application Insights. This value will be supplied upon construction of - each new Application Insights component. - type: string - LaMigrationDate: - description: 'LaMigrationDate: The date which the component got migrated to LA, in ISO 8601 format.' - type: string - PrivateLinkScopedResources: - description: 'PrivateLinkScopedResources: List of linked private link scope resources.' - items: - description: The private link scope resource reference. - properties: - ResourceId: - description: 'ResourceId: The full resource Id of the private link scope resource.' - type: string - ScopeId: - description: 'ScopeId: The private link scope unique Identifier.' - type: string - type: object - type: array - Request_Source: - description: |- - Request_Source: Describes what tool created this Application Insights component. Customers using this API should set - this to the default 'rest'. - type: string - RetentionInDays: - description: 'RetentionInDays: Retention period in days.' - type: integer - SamplingPercentage: - description: |- - SamplingPercentage: Percentage of the data produced by the application being monitored that is being sampled for - Application Insights telemetry. - type: number - TenantId: - description: 'TenantId: Azure Tenant Id.' - type: string - WorkspaceResourceId: - description: |- - WorkspaceResourceId: Resource Id of the log analytics workspace which the data will be ingested to. This property is - required to create an application with this API version. Applications from older versions will not have this property. - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -51933,45 +110077,39 @@ spec: - type type: object type: array - etag: - description: 'Etag: Resource etag' - type: string id: - description: 'Id: Azure resource Id' - type: string - kind: - description: |- - Kind: The kind of application that this component refers to, used to customize UI. This value is a freeform string, - values should typically be one of the following: web, ios, other, store, java, phone. - type: string - location: - description: 'Location: Resource location' + description: 'Id: Fully qualified identifier of the resource.' type: string name: - description: 'Name: Azure resource name' - type: string - properties_name: - description: 'PropertiesName: Application name.' + description: 'Name: Name of the resource.' type: string provisioningState: - description: |- - ProvisioningState: Current state of this component: whether or not is has been provisioned within the resource group it - is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, - Canceled, and Failed. - type: string - publicNetworkAccessForIngestion: - description: 'PublicNetworkAccessForIngestion: The network access type for accessing Application Insights ingestion.' - type: string - publicNetworkAccessForQuery: - description: 'PublicNetworkAccessForQuery: The network access type for accessing Application Insights query.' + description: 'ProvisioningState: Provisioning state of the domain topic.' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' + systemData: + description: 'SystemData: The system metadata relating to Domain Topic resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object type: - description: 'Type: Azure resource type' + description: 'Type: Type of the resource.' type: string type: object type: object @@ -51992,14 +110130,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200202storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200202.Component + Storage version of v1api20200601.DomainsTopic Generator information: - - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName} + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName} properties: apiVersion: description: |- @@ -52019,7 +110157,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200202.Component_Spec + description: Storage version of v1api20200601.DomainsTopic_Spec properties: $propertyBag: additionalProperties: @@ -52028,42 +110166,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - Application_Type: - type: string - DisableIpMasking: - type: boolean - DisableLocalAuth: - type: boolean - Flow_Type: - type: string - ForceCustomerStorageForProfiler: - type: boolean - HockeyAppId: - type: string - ImmediatePurgeDataOn30Days: - type: boolean - IngestionMode: - type: string - Request_Source: - type: string - RetentionInDays: - type: integer - SamplingPercentage: - type: number azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - etag: - type: string - kind: - type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20200202.ComponentOperatorSpec + Storage version of v1api20200601.DomainsTopicOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -52102,53 +110212,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20200202.ComponentOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - connectionString: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - instrumentationKey: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -52185,7 +110248,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a eventgrid.azure.com/Domain resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -52194,41 +110257,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccessForIngestion: - type: string - publicNetworkAccessForQuery: - type: string - tags: - additionalProperties: - type: string - type: object - workspaceResourceReference: - description: |- - WorkspaceResourceReference: Resource Id of the log analytics workspace which the data will be ingested to. This property - is required to create an application with this API version. Applications from older versions will not have this property. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object required: - owner type: object status: - description: Storage version of v1api20200202.Component_STATUS + description: Storage version of v1api20200601.DomainsTopic_STATUS properties: $propertyBag: additionalProperties: @@ -52237,65 +110270,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AppId: - type: string - Application_Type: - type: string - ApplicationId: - type: string - ConnectionString: - type: string - CreationDate: - type: string - DisableIpMasking: - type: boolean - DisableLocalAuth: - type: boolean - Flow_Type: - type: string - ForceCustomerStorageForProfiler: - type: boolean - HockeyAppId: - type: string - HockeyAppToken: - type: string - ImmediatePurgeDataOn30Days: - type: boolean - IngestionMode: - type: string - InstrumentationKey: - type: string - LaMigrationDate: - type: string - PrivateLinkScopedResources: - items: - description: |- - Storage version of v1api20200202.PrivateLinkScopedResource_STATUS - The private link scope resource reference. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ResourceId: - type: string - ScopeId: - type: string - type: object - type: array - Request_Source: - type: string - RetentionInDays: - type: integer - SamplingPercentage: - type: number - TenantId: - type: string - WorkspaceResourceId: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -52339,27 +110313,36 @@ spec: - type type: object type: array - etag: - type: string id: type: string - kind: - type: string - location: - type: string name: type: string - properties_name: - type: string provisioningState: type: string - publicNetworkAccessForIngestion: - type: string - publicNetworkAccessForQuery: - type: string - tags: - additionalProperties: - type: string + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object type: type: string @@ -52375,11 +110358,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: configurations.dbformariadb.azure.com + app.kubernetes.io/version: v2.15.0 + name: eventsubscriptions.eventgrid.azure.com spec: conversion: strategy: Webhook @@ -52392,12 +110375,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dbformariadb.azure.com + group: eventgrid.azure.com names: - kind: Configuration - listKind: ConfigurationList - plural: configurations - singular: configuration + categories: + - azure + - eventgrid + kind: EventSubscription + listKind: EventSubscriptionList + plural: eventsubscriptions + singular: eventsubscription preserveUnknownFields: false scope: Namespaced versions: @@ -52414,13 +110400,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName} properties: apiVersion: description: |- @@ -52446,6 +110432,561 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + deadLetterDestination: + description: 'DeadLetterDestination: The DeadLetter destination of the event subscription.' + properties: + storageBlob: + description: 'StorageBlob: Mutually exclusive with all other properties' + properties: + blobContainerName: + description: 'BlobContainerName: The name of the Storage blob container that is the destination of the deadletter events' + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the dead letter destination' + enum: + - StorageBlob + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of the storage account that is the destination of the deadletter events' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + type: object + destination: + description: 'Destination: Information about the destination where events have to be delivered for the event subscription.' + properties: + azureFunction: + description: 'AzureFunction: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - AzureFunction + type: string + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - EventHub + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + hybridConnection: + description: 'HybridConnection: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - HybridConnection + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + serviceBusQueue: + description: 'ServiceBusQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - ServiceBusQueue + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + serviceBusTopic: + description: 'ServiceBusTopic: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - ServiceBusTopic + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + storageQueue: + description: 'StorageQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - StorageQueue + type: string + queueName: + description: 'QueueName: The name of the Storage queue under a storage account that is the destination of an event subscription.' + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource ID of the storage account that contains the queue that is the destination of an + event subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - endpointType + type: object + webHook: + description: 'WebHook: Mutually exclusive with all other properties' + properties: + azureActiveDirectoryApplicationIdOrUri: + description: |- + AzureActiveDirectoryApplicationIdOrUri: The Azure Active Directory Application ID or URI to get the access token that + will be included as the bearer token in delivery requests. + type: string + azureActiveDirectoryTenantId: + description: |- + AzureActiveDirectoryTenantId: The Azure Active Directory Tenant ID to get the access token that will be included as the + bearer token in delivery requests. + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + enum: + - WebHook + type: string + endpointUrl: + description: 'EndpointUrl: The URL that represents the endpoint of the destination of an event subscription.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + required: + - endpointType + type: object + type: object + eventDeliverySchema: + description: 'EventDeliverySchema: The event delivery schema for the event subscription.' + enum: + - CloudEventSchemaV1_0 + - CustomInputSchema + - EventGridSchema + type: string + expirationTimeUtc: + description: 'ExpirationTimeUtc: Expiration time of the event subscription.' + type: string + filter: + description: 'Filter: Information about the filter for the event subscription.' + properties: + advancedFilters: + description: 'AdvancedFilters: An array of advanced filters that are used for filtering event subscriptions.' + items: + properties: + boolEquals: + description: 'BoolEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - BoolEquals + type: string + value: + description: 'Value: The boolean filter value.' + type: boolean + required: + - operatorType + type: object + numberGreaterThan: + description: 'NumberGreaterThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberGreaterThan + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberGreaterThanOrEquals: + description: 'NumberGreaterThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberGreaterThanOrEquals + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberIn: + description: 'NumberIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + required: + - operatorType + type: object + numberLessThan: + description: 'NumberLessThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberLessThan + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberLessThanOrEquals: + description: 'NumberLessThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberLessThanOrEquals + type: string + value: + description: 'Value: The filter value.' + type: number + required: + - operatorType + type: object + numberNotIn: + description: 'NumberNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - NumberNotIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + required: + - operatorType + type: object + stringBeginsWith: + description: 'StringBeginsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringBeginsWith + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringContains: + description: 'StringContains: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringContains + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringEndsWith: + description: 'StringEndsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringEndsWith + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringIn: + description: 'StringIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + stringNotIn: + description: 'StringNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + enum: + - StringNotIn + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + required: + - operatorType + type: object + type: object + type: array + includedEventTypes: + description: |- + IncludedEventTypes: A list of applicable event types that need to be part of the event subscription. If it is desired to + subscribe to all default event types, set the IncludedEventTypes to null. + items: + type: string + type: array + isSubjectCaseSensitive: + description: |- + IsSubjectCaseSensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter + should be compared in a case sensitive manner. + type: boolean + subjectBeginsWith: + description: |- + SubjectBeginsWith: An optional string to filter events for an event subscription based on a resource path prefix. + The format of this depends on the publisher of the events. + Wildcard characters are not supported in this path. + type: string + subjectEndsWith: + description: |- + SubjectEndsWith: An optional string to filter events for an event subscription based on a resource path suffix. + Wildcard characters are not supported in this path. + type: string + type: object + labels: + description: 'Labels: List of user defined labels.' + items: + type: string + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -52515,30 +111056,41 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformariadb.azure.com/Server resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - description: 'Source: Source of the configuration.' - type: string - value: - description: 'Value: Value of the configuration.' - type: string + retryPolicy: + description: |- + RetryPolicy: The retry policy for events. This can be used to configure maximum number of delivery attempts and time to + live for events. + properties: + eventTimeToLiveInMinutes: + description: 'EventTimeToLiveInMinutes: Time To Live (in minutes) for events.' + type: integer + maxDeliveryAttempts: + description: 'MaxDeliveryAttempts: Maximum number of delivery retry attempts for events.' + type: integer + type: object required: - owner type: object status: + description: Event Subscription properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -52576,102 +111128,1032 @@ spec: type: description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - source: - description: 'Source: Source of the configuration.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - value: - description: 'Value: Value of the configuration.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20180601storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20180601.Configuration - Generator information: - - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20180601.Configuration_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deadLetterDestination: + description: 'DeadLetterDestination: The DeadLetter destination of the event subscription.' + properties: + storageBlob: + description: 'StorageBlob: Mutually exclusive with all other properties' + properties: + blobContainerName: + description: 'BlobContainerName: The name of the Storage blob container that is the destination of the deadletter events' + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the dead letter destination' + type: string + resourceId: + description: 'ResourceId: The Azure Resource ID of the storage account that is the destination of the deadletter events' + type: string + type: object + type: object + destination: + description: 'Destination: Information about the destination where events have to be delivered for the event subscription.' + properties: + azureFunction: + description: 'AzureFunction: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + resourceId: + description: |- + ResourceId: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event + subscription. + type: string + type: object + eventHub: + description: 'EventHub: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: 'ResourceId: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.' + type: string + type: object + hybridConnection: + description: 'HybridConnection: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: 'ResourceId: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' + type: string + type: object + serviceBusQueue: + description: 'ServiceBusQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: 'ResourceId: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.' + type: string + type: object + serviceBusTopic: + description: 'ServiceBusTopic: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + resourceId: + description: |- + ResourceId: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event + subscription. + type: string + type: object + storageQueue: + description: 'StorageQueue: Mutually exclusive with all other properties' + properties: + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + queueName: + description: 'QueueName: The name of the Storage queue under a storage account that is the destination of an event subscription.' + type: string + resourceId: + description: |- + ResourceId: The Azure Resource ID of the storage account that contains the queue that is the destination of an event + subscription. + type: string + type: object + webHook: + description: 'WebHook: Mutually exclusive with all other properties' + properties: + azureActiveDirectoryApplicationIdOrUri: + description: |- + AzureActiveDirectoryApplicationIdOrUri: The Azure Active Directory Application ID or URI to get the access token that + will be included as the bearer token in delivery requests. + type: string + azureActiveDirectoryTenantId: + description: |- + AzureActiveDirectoryTenantId: The Azure Active Directory Tenant ID to get the access token that will be included as the + bearer token in delivery requests. + type: string + endpointBaseUrl: + description: 'EndpointBaseUrl: The base URL that represents the endpoint of the destination of an event subscription.' + type: string + endpointType: + description: 'EndpointType: Type of the endpoint for the event subscription destination.' + type: string + maxEventsPerBatch: + description: 'MaxEventsPerBatch: Maximum number of events per batch.' + type: integer + preferredBatchSizeInKilobytes: + description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' + type: integer + type: object + type: object + eventDeliverySchema: + description: 'EventDeliverySchema: The event delivery schema for the event subscription.' + type: string + expirationTimeUtc: + description: 'ExpirationTimeUtc: Expiration time of the event subscription.' + type: string + filter: + description: 'Filter: Information about the filter for the event subscription.' + properties: + advancedFilters: + description: 'AdvancedFilters: An array of advanced filters that are used for filtering event subscriptions.' + items: + properties: + boolEquals: + description: 'BoolEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The boolean filter value.' + type: boolean + type: object + numberGreaterThan: + description: 'NumberGreaterThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberGreaterThanOrEquals: + description: 'NumberGreaterThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberIn: + description: 'NumberIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + type: object + numberLessThan: + description: 'NumberLessThan: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberLessThanOrEquals: + description: 'NumberLessThanOrEquals: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + value: + description: 'Value: The filter value.' + type: number + type: object + numberNotIn: + description: 'NumberNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: number + type: array + type: object + stringBeginsWith: + description: 'StringBeginsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringContains: + description: 'StringContains: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringEndsWith: + description: 'StringEndsWith: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringIn: + description: 'StringIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + stringNotIn: + description: 'StringNotIn: Mutually exclusive with all other properties' + properties: + key: + description: 'Key: The field/property in the event based on which you want to filter.' + type: string + operatorType: + description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' + type: string + values: + description: 'Values: The set of filter values.' + items: + type: string + type: array + type: object + type: object + type: array + includedEventTypes: + description: |- + IncludedEventTypes: A list of applicable event types that need to be part of the event subscription. If it is desired to + subscribe to all default event types, set the IncludedEventTypes to null. + items: + type: string + type: array + isSubjectCaseSensitive: + description: |- + IsSubjectCaseSensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter + should be compared in a case sensitive manner. + type: boolean + subjectBeginsWith: + description: |- + SubjectBeginsWith: An optional string to filter events for an event subscription based on a resource path prefix. + The format of this depends on the publisher of the events. + Wildcard characters are not supported in this path. + type: string + subjectEndsWith: + description: |- + SubjectEndsWith: An optional string to filter events for an event subscription based on a resource path suffix. + Wildcard characters are not supported in this path. + type: string + type: object + id: + description: 'Id: Fully qualified identifier of the resource.' + type: string + labels: + description: 'Labels: List of user defined labels.' + items: + type: string + type: array + name: + description: 'Name: Name of the resource.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning state of the event subscription.' + type: string + retryPolicy: + description: |- + RetryPolicy: The retry policy for events. This can be used to configure maximum number of delivery attempts and time to + live for events. + properties: + eventTimeToLiveInMinutes: + description: 'EventTimeToLiveInMinutes: Time To Live (in minutes) for events.' + type: integer + maxDeliveryAttempts: + description: 'MaxDeliveryAttempts: Maximum number of delivery retry attempts for events.' + type: integer + type: object + systemData: + description: 'SystemData: The system metadata relating to Event Subscription resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + topic: + description: 'Topic: Name of the topic of the event subscription.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20200601.EventSubscription + Generator information: + - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json + - ARM URI: /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20200601.EventSubscription_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + deadLetterDestination: + description: Storage version of v1api20200601.DeadLetterDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlob: + description: Storage version of v1api20200601.StorageBlobDeadLetterDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobContainerName: + type: string + endpointType: + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of the storage account that is the destination of the deadletter events' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + destination: + description: Storage version of v1api20200601.EventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFunction: + description: Storage version of v1api20200601.AzureFunctionEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + eventHub: + description: Storage version of v1api20200601.EventHubEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hybridConnection: + description: Storage version of v1api20200601.HybridConnectionEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: 'ResourceReference: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceBusQueue: + description: Storage version of v1api20200601.ServiceBusQueueEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serviceBusTopic: + description: Storage version of v1api20200601.ServiceBusTopicEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event + subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageQueue: + description: Storage version of v1api20200601.StorageQueueEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + queueName: + type: string + resourceReference: + description: |- + ResourceReference: The Azure Resource ID of the storage account that contains the queue that is the destination of an + event subscription. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + webHook: + description: Storage version of v1api20200601.WebHookEventSubscriptionDestination + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureActiveDirectoryApplicationIdOrUri: + type: string + azureActiveDirectoryTenantId: + type: string + endpointType: + type: string + endpointUrl: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + type: object + type: object + eventDeliverySchema: + type: string + expirationTimeUtc: + type: string + filter: + description: |- + Storage version of v1api20200601.EventSubscriptionFilter + Filter for the Event Subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedFilters: + items: + description: Storage version of v1api20200601.AdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + boolEquals: + description: Storage version of v1api20200601.BoolEqualsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: boolean + type: object + numberGreaterThan: + description: Storage version of v1api20200601.NumberGreaterThanAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberGreaterThanOrEquals: + description: Storage version of v1api20200601.NumberGreaterThanOrEqualsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberIn: + description: Storage version of v1api20200601.NumberInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + numberLessThan: + description: Storage version of v1api20200601.NumberLessThanAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberLessThanOrEquals: + description: Storage version of v1api20200601.NumberLessThanOrEqualsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberNotIn: + description: Storage version of v1api20200601.NumberNotInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + stringBeginsWith: + description: Storage version of v1api20200601.StringBeginsWithAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringContains: + description: Storage version of v1api20200601.StringContainsAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringEndsWith: + description: Storage version of v1api20200601.StringEndsWithAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringIn: + description: Storage version of v1api20200601.StringInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringNotIn: + description: Storage version of v1api20200601.StringNotInAdvancedFilter + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + type: object + type: array + includedEventTypes: + items: + type: string + type: array + isSubjectCaseSensitive: + type: boolean + subjectBeginsWith: + type: string + subjectEndsWith: + type: string type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + labels: + items: + type: string + type: array operatorSpec: description: |- - Storage version of v1api20180601.ConfigurationOperatorSpec + Storage version of v1api20200601.EventSubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -52745,25 +112227,47 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformariadb.azure.com/Server resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - type: string - value: - type: string + retryPolicy: + description: |- + Storage version of v1api20200601.RetryPolicy + Information about the retry policy for an event subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTimeToLiveInMinutes: + type: integer + maxDeliveryAttempts: + type: integer + type: object required: - owner type: object status: - description: Storage version of v1api20180601.Configuration_STATUS + description: |- + Storage version of v1api20200601.EventSubscription_STATUS + Event Subscription properties: $propertyBag: additionalProperties: @@ -52772,8 +112276,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedValues: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -52817,21 +112319,477 @@ spec: - type type: object type: array - dataType: - type: string - defaultValue: + deadLetterDestination: + description: Storage version of v1api20200601.DeadLetterDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageBlob: + description: Storage version of v1api20200601.StorageBlobDeadLetterDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobContainerName: + type: string + endpointType: + type: string + resourceId: + type: string + type: object + type: object + destination: + description: Storage version of v1api20200601.EventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFunction: + description: Storage version of v1api20200601.AzureFunctionEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + resourceId: + type: string + type: object + eventHub: + description: Storage version of v1api20200601.EventHubEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + hybridConnection: + description: Storage version of v1api20200601.HybridConnectionEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + serviceBusQueue: + description: Storage version of v1api20200601.ServiceBusQueueEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + serviceBusTopic: + description: Storage version of v1api20200601.ServiceBusTopicEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + resourceId: + type: string + type: object + storageQueue: + description: Storage version of v1api20200601.StorageQueueEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointType: + type: string + queueName: + type: string + resourceId: + type: string + type: object + webHook: + description: Storage version of v1api20200601.WebHookEventSubscriptionDestination_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureActiveDirectoryApplicationIdOrUri: + type: string + azureActiveDirectoryTenantId: + type: string + endpointBaseUrl: + type: string + endpointType: + type: string + maxEventsPerBatch: + type: integer + preferredBatchSizeInKilobytes: + type: integer + type: object + type: object + eventDeliverySchema: type: string - description: + expirationTimeUtc: type: string + filter: + description: |- + Storage version of v1api20200601.EventSubscriptionFilter_STATUS + Filter for the Event Subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + advancedFilters: + items: + description: Storage version of v1api20200601.AdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + boolEquals: + description: Storage version of v1api20200601.BoolEqualsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: boolean + type: object + numberGreaterThan: + description: Storage version of v1api20200601.NumberGreaterThanAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberGreaterThanOrEquals: + description: Storage version of v1api20200601.NumberGreaterThanOrEqualsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberIn: + description: Storage version of v1api20200601.NumberInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + numberLessThan: + description: Storage version of v1api20200601.NumberLessThanAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberLessThanOrEquals: + description: Storage version of v1api20200601.NumberLessThanOrEqualsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + value: + type: number + type: object + numberNotIn: + description: Storage version of v1api20200601.NumberNotInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: number + type: array + type: object + stringBeginsWith: + description: Storage version of v1api20200601.StringBeginsWithAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringContains: + description: Storage version of v1api20200601.StringContainsAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringEndsWith: + description: Storage version of v1api20200601.StringEndsWithAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringIn: + description: Storage version of v1api20200601.StringInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + stringNotIn: + description: Storage version of v1api20200601.StringNotInAdvancedFilter_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + operatorType: + type: string + values: + items: + type: string + type: array + type: object + type: object + type: array + includedEventTypes: + items: + type: string + type: array + isSubjectCaseSensitive: + type: boolean + subjectBeginsWith: + type: string + subjectEndsWith: + type: string + type: object id: type: string + labels: + items: + type: string + type: array name: type: string - source: + provisioningState: type: string - type: + retryPolicy: + description: |- + Storage version of v1api20200601.RetryPolicy_STATUS + Information about the retry policy for an event subscription. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTimeToLiveInMinutes: + type: integer + maxDeliveryAttempts: + type: integer + type: object + systemData: + description: |- + Storage version of v1api20200601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + topic: type: string - value: + type: type: string type: object type: object @@ -52845,11 +112803,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: configurationstores.appconfiguration.azure.com + app.kubernetes.io/version: v2.15.0 + name: extensions.kubernetesconfiguration.azure.com spec: conversion: strategy: Webhook @@ -52862,12 +112820,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: appconfiguration.azure.com + group: kubernetesconfiguration.azure.com names: - kind: ConfigurationStore - listKind: ConfigurationStoreList - plural: configurationstores - singular: configurationstore + categories: + - azure + - kubernetesconfiguration + kind: Extension + listKind: ExtensionList + plural: extensions + singular: extension preserveUnknownFields: false scope: Namespaced versions: @@ -52884,13 +112845,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220501 + name: v1api20230501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2022-05-01/appconfiguration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName} + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} properties: apiVersion: description: |- @@ -52911,87 +112872,56 @@ spec: type: object spec: properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + - UserAssigned + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 5 - pattern: ^[a-zA-Z0-9_-]*$ - type: string - createMode: - description: 'CreateMode: Indicates whether the configuration store need to be recovered.' - enum: - - Default - - Recover type: string - disableLocalAuth: - description: 'DisableLocalAuth: Disables all authentication methods other than AAD authentication.' - type: boolean - enablePurgeProtection: - description: 'EnablePurgeProtection: Property specifying whether protection against purge is enabled for this configuration store.' - type: boolean - encryption: - description: 'Encryption: The encryption settings of the configuration store.' + configurationProtectedSettings: + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. properties: - keyVaultProperties: - description: 'KeyVaultProperties: Key vault properties.' - properties: - identityClientId: - description: 'IdentityClientId: The client id of the identity which will be used to access key vault.' - type: string - keyIdentifier: - description: 'KeyIdentifier: The URI of the key vault key used to encrypt data.' - type: string - type: object + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string identity: - description: 'Identity: The managed identity information, if configured.' + description: 'Identity: Identity of the Extension resource' properties: type: - description: |- - Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created - identity and a set of user-assigned identities. The type 'None' will remove any identities. + description: 'Type: The identity type.' enum: - - None - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user-assigned identities associated with the resource. The user-assigned identity - dictionary keys will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -53001,308 +112931,158 @@ spec: description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKeyID: - description: |- - PrimaryKeyID: indicates where the PrimaryKeyID secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadOnlyConnectionString: - description: |- - PrimaryReadOnlyConnectionString: indicates where the PrimaryReadOnlyConnectionString secret should be placed. If - omitted, the secret will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadOnlyKey: - description: |- - PrimaryReadOnlyKey: indicates where the PrimaryReadOnlyKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadOnlyKeyID: - description: |- - PrimaryReadOnlyKeyID: indicates where the PrimaryReadOnlyKeyID secret should be placed. If omitted, the secret will not - be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKeyID: - description: |- - SecondaryKeyID: indicates where the SecondaryKeyID secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadOnlyConnectionString: - description: |- - SecondaryReadOnlyConnectionString: indicates where the SecondaryReadOnlyConnectionString secret should be placed. If - omitted, the secret will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadOnlyKey: - description: |- - SecondaryReadOnlyKey: indicates where the SecondaryReadOnlyKey secret should be placed. If omitted, the secret will not - be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadOnlyKeyID: - description: |- - SecondaryReadOnlyKeyID: indicates where the SecondaryReadOnlyKeyID secret should be placed. If omitted, the secret will - not be retrieved from Azure. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' properties: key: - description: Key is the key in the Kubernetes secret being referenced. + description: Key is the key in the ConfigMap being referenced type: string name: description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. type: string required: - key - name type: object type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Control permission for data plane traffic coming from public networks while private endpoint is - enabled. - enum: - - Disabled - - Enabled - type: string - sku: - description: 'Sku: The sku of the configuration store.' + plan: + description: 'Plan: The plan information.' properties: name: - description: 'Name: The SKU name of the configuration store.' + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' type: string required: - name + - product + - publisher type: object - softDeleteRetentionInDays: + releaseTrain: description: |- - SoftDeleteRetentionInDays: The amount of time in days that the configuration store will be retained when it is soft - deleted. - type: integer + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object systemData: - description: 'SystemData: Resource system metadata.' + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -53333,21 +113113,33 @@ spec: - User type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string required: - - location - owner - - sku type: object status: - description: |- - The configuration store along with all resource properties. The Configuration Store will have all information to begin - utilizing it. + description: The Extension object. properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -53392,34 +113184,88 @@ spec: - type type: object type: array - createMode: - description: 'CreateMode: Indicates whether the configuration store need to be recovered.' - type: string - creationDate: - description: 'CreationDate: The creation date of configuration store.' + configurationProtectedSettings: + additionalProperties: + type: string + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + currentVersion: + description: 'CurrentVersion: Currently installed version of the extension.' type: string - disableLocalAuth: - description: 'DisableLocalAuth: Disables all authentication methods other than AAD authentication.' - type: boolean - enablePurgeProtection: - description: 'EnablePurgeProtection: Property specifying whether protection against purge is enabled for this configuration store.' - type: boolean - encryption: - description: 'Encryption: The encryption settings of the configuration store.' + customLocationSettings: + additionalProperties: + type: string + description: 'CustomLocationSettings: Custom Location settings properties.' + type: object + errorInfo: + description: 'ErrorInfo: Error information from the Agent - e.g. errors during installation.' properties: - keyVaultProperties: - description: 'KeyVaultProperties: Key vault properties.' - properties: - identityClientId: - description: 'IdentityClientId: The client id of the identity which will be used to access key vault.' - type: string - keyIdentifier: - description: 'KeyIdentifier: The URI of the key vault key used to encrypt data.' - type: string - type: object + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string type: object - endpoint: - description: 'Endpoint: The DNS endpoint where the configuration store API will be available.' + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. type: string id: description: |- @@ -53427,76 +113273,104 @@ spec: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string identity: - description: 'Identity: The managed identity information, if configured.' + description: 'Identity: Identity of the Extension resource' properties: principalId: - description: 'PrincipalId: The principal id of the identity. This property will only be provided for a system-assigned identity.' + description: 'PrincipalId: The principal ID of resource identity.' type: string tenantId: - description: |- - TenantId: The tenant id associated with the resource's identity. This property will only be provided for a - system-assigned identity. + description: 'TenantId: The tenant ID of resource.' type: string type: - description: |- - Type: The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created - identity and a set of user-assigned identities. The type 'None' will remove any identities. + description: 'Type: The identity type.' type: string - userAssignedIdentities: - additionalProperties: - description: A resource identity that is managed by the user of the service. - properties: - clientId: - description: 'ClientId: The client ID of the user-assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal ID of the user-assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The list of user-assigned identities associated with the resource. The user-assigned identity - dictionary keys will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string + isSystemExtension: + description: 'IsSystemExtension: Flag to note if this extension is a system extension' + type: boolean name: description: 'Name: The name of the resource' type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: The list of private endpoint connections that are set up for this resource.' - items: - description: A reference to a related private endpoint connection. - properties: - id: - description: 'Id: The resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the configuration store.' - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Control permission for data plane traffic coming from public networks while private endpoint is - enabled. + packageUri: + description: 'PackageUri: Uri of the Helm package' type: string - sku: - description: 'Sku: The sku of the configuration store.' + plan: + description: 'Plan: The plan information.' properties: name: - description: 'Name: The SKU name of the configuration store.' + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' type: string type: object - softDeleteRetentionInDays: + provisioningState: + description: 'ProvisioningState: Status of installation of this extension.' + type: string + releaseTrain: description: |- - SoftDeleteRetentionInDays: The amount of time in days that the configuration store will be retained when it is soft - deleted. - type: integer + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + statuses: + description: 'Statuses: Status from this extension.' + items: + description: Status from the extension. + properties: + code: + description: 'Code: Status code provided by the Extension' + type: string + displayStatus: + description: 'DisplayStatus: Short description of status of the extension.' + type: string + level: + description: 'Level: Level of the status.' + type: string + message: + description: 'Message: Detailed message of the status from the Extension.' + type: string + time: + description: 'Time: DateLiteral (per ISO8601) noting the time of installation status.' + type: string + type: object + type: array systemData: - description: 'SystemData: Resource system metadata.' + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -53517,14 +113391,14 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string type: object type: object served: true @@ -53544,14 +113418,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220501storage + name: v1api20230501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220501.ConfigurationStore + Storage version of v1api20230501.Extension Generator information: - - Generated from: /appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2022-05-01/appconfiguration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName} + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} properties: apiVersion: description: |- @@ -53571,7 +113445,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220501.ConfigurationStore_Spec + description: Storage version of v1api20230501.Extension_Spec properties: $propertyBag: additionalProperties: @@ -53580,21 +113454,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - createMode: - type: string - disableLocalAuth: - type: boolean - enablePurgeProtection: - type: boolean - encryption: - description: |- - Storage version of v1api20220501.EncryptionProperties - The encryption settings for a configuration store. + aksAssignedIdentity: + description: Storage version of v1api20230501.Extension_Properties_AksAssignedIdentity_Spec properties: $propertyBag: additionalProperties: @@ -53603,28 +113464,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyVaultProperties: + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configurationProtectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: description: |- - Storage version of v1api20220501.KeyVaultProperties - Settings concerning key vault encryption for a configuration store. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identityClientId: - type: string - keyIdentifier: - type: string - type: object + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string type: object + extensionType: + type: string identity: description: |- - Storage version of v1api20220501.ResourceIdentity - An identity that can be associated with a resource. + Storage version of v1api20230501.Identity + Identity for the resource. properties: $propertyBag: additionalProperties: @@ -53635,47 +113507,10 @@ spec: type: object type: type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20220501.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object - location: - type: string operatorSpec: description: |- - Storage version of v1api20220501.ConfigurationStoreOperatorSpec + Storage version of v1api20230501.ExtensionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -53714,6 +113549,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20230501.ExtensionOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -53743,255 +113607,33 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20220501.ConfigurationStoreOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKeyID: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadOnlyConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadOnlyKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadOnlyKeyID: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKeyID: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadOnlyConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadOnlyKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadOnlyKeyID: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - sku: + plan: description: |- - Storage version of v1api20220501.Sku - Describes a configuration store SKU. + Storage version of v1api20230501.Plan + Plan for the resource. properties: $propertyBag: additionalProperties: @@ -54002,12 +113644,63 @@ spec: type: object name: type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + releaseTrain: + type: string + scope: + description: |- + Storage version of v1api20230501.Scope + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20230501.ScopeCluster + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20230501.ScopeNamespace + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object type: object - softDeleteRetentionInDays: - type: integer systemData: description: |- - Storage version of v1api20220501.SystemData + Storage version of v1api20230501.SystemData Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -54030,18 +113723,15 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object + version: + type: string required: - owner type: object status: description: |- - Storage version of v1api20220501.ConfigurationStore_STATUS - The configuration store along with all resource properties. The Configuration Store will have all information to begin - utilizing it. + Storage version of v1api20230501.Extension_STATUS + The Extension object. properties: $propertyBag: additionalProperties: @@ -54050,6 +113740,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aksAssignedIdentity: + description: Storage version of v1api20230501.Extension_Properties_AksAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -54093,18 +113802,160 @@ spec: - type type: object type: array - createMode: + configurationProtectedSettings: + additionalProperties: + type: string + type: object + configurationSettings: + additionalProperties: + type: string + type: object + currentVersion: + type: string + customLocationSettings: + additionalProperties: + type: string + type: object + errorInfo: + description: |- + Storage version of v1api20230501.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230501.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230501.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230501.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + extensionType: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230501.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + isSystemExtension: + type: boolean + name: + type: string + packageUri: + type: string + plan: + description: |- + Storage version of v1api20230501.Plan_STATUS + Plan for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + provisioningState: type: string - creationDate: + releaseTrain: type: string - disableLocalAuth: - type: boolean - enablePurgeProtection: - type: boolean - encryption: + scope: description: |- - Storage version of v1api20220501.EncryptionProperties_STATUS - The encryption settings for a configuration store. + Storage version of v1api20230501.Scope_STATUS + Scope of the extension. It can be either Cluster or Namespace; but not both. properties: $propertyBag: additionalProperties: @@ -54113,10 +113964,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyVaultProperties: + cluster: description: |- - Storage version of v1api20220501.KeyVaultProperties_STATUS - Settings concerning key vault encryption for a configuration store. + Storage version of v1api20230501.ScopeCluster_STATUS + Specifies that the scope of the extension is Cluster properties: $propertyBag: additionalProperties: @@ -54125,63 +113976,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - identityClientId: - type: string - keyIdentifier: + releaseNamespace: type: string type: object - type: object - endpoint: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20220501.ResourceIdentity_STATUS - An identity that can be associated with a resource. - properties: - $propertyBag: - additionalProperties: - type: string + namespace: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20220501.UserIdentity_STATUS - A resource identity that is managed by the user of the service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: + Storage version of v1api20230501.ScopeNamespace_STATUS + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: type: string - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string type: object type: object - location: - type: string - name: - type: string - privateEndpointConnections: + statuses: items: description: |- - Storage version of v1api20220501.PrivateEndpointConnectionReference_STATUS - A reference to a related private endpoint connection. + Storage version of v1api20230501.ExtensionStatus_STATUS + Status from the extension. properties: $propertyBag: additionalProperties: @@ -54190,34 +114008,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: type: string type: object type: array - provisioningState: - type: string - publicNetworkAccess: - type: string - sku: - description: |- - Storage version of v1api20220501.Sku_STATUS - Describes a configuration store SKU. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - softDeleteRetentionInDays: - type: integer systemData: description: |- - Storage version of v1api20220501.SystemData_STATUS + Storage version of v1api20230501.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -54240,50 +114045,16 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string + version: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: containergroups.containerinstance.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerinstance.azure.com - names: - kind: ContainerGroup - listKind: ContainerGroupList - plural: containergroups - singular: containergroup - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -54297,13 +114068,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211001 + name: v1api20241101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-10-01/containerInstance.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName} + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} properties: apiVersion: description: |- @@ -54324,585 +114095,652 @@ spec: type: object spec: properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + - UserAssigned + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - containers: - description: 'Containers: The containers within the container group.' - items: - description: A container instance. - properties: - command: - description: 'Command: The commands to execute within the container instance in exec form.' - items: - type: string - type: array - environmentVariables: - description: 'EnvironmentVariables: The environment variables to set in the container instance.' - items: - description: The environment variable to set within the container instance. - properties: - name: - description: 'Name: The name of the environment variable.' - type: string - secureValue: - description: 'SecureValue: The value of the secure environment variable.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - value: - description: 'Value: The value of the environment variable.' - type: string - required: - - name - type: object - type: array - image: - description: 'Image: The name of the image used to create the container instance.' - type: string - livenessProbe: - description: 'LivenessProbe: The liveness probe.' - properties: - exec: - description: 'Exec: The execution command to probe' - properties: - command: - description: 'Command: The commands to execute within the container.' - items: - type: string - type: array - type: object - failureThreshold: - description: 'FailureThreshold: The failure threshold.' - type: integer - httpGet: - description: 'HttpGet: The Http Get settings to probe' - properties: - httpHeaders: - description: 'HttpHeaders: The HTTP headers.' - items: - description: The HTTP header. - properties: - name: - description: 'Name: The header name.' - type: string - value: - description: 'Value: The header value.' - type: string - type: object - type: array - path: - description: 'Path: The path to probe.' - type: string - port: - description: 'Port: The port number to probe.' - type: integer - scheme: - description: 'Scheme: The scheme.' - enum: - - http - - https - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'InitialDelaySeconds: The initial delay seconds.' - type: integer - periodSeconds: - description: 'PeriodSeconds: The period seconds.' - type: integer - successThreshold: - description: 'SuccessThreshold: The success threshold.' - type: integer - timeoutSeconds: - description: 'TimeoutSeconds: The timeout seconds.' - type: integer - type: object - name: - description: 'Name: The user-provided name of the container instance.' - type: string - ports: - description: 'Ports: The exposed ports on the container instance.' - items: - description: The port exposed on the container instance. - properties: - port: - description: 'Port: The port number exposed within the container group.' - type: integer - protocol: - description: 'Protocol: The protocol associated with the port.' - enum: - - TCP - - UDP - type: string - required: - - port - type: object - type: array - readinessProbe: - description: 'ReadinessProbe: The readiness probe.' - properties: - exec: - description: 'Exec: The execution command to probe' - properties: - command: - description: 'Command: The commands to execute within the container.' - items: - type: string - type: array - type: object - failureThreshold: - description: 'FailureThreshold: The failure threshold.' - type: integer - httpGet: - description: 'HttpGet: The Http Get settings to probe' - properties: - httpHeaders: - description: 'HttpHeaders: The HTTP headers.' - items: - description: The HTTP header. - properties: - name: - description: 'Name: The header name.' - type: string - value: - description: 'Value: The header value.' - type: string - type: object - type: array - path: - description: 'Path: The path to probe.' - type: string - port: - description: 'Port: The port number to probe.' - type: integer - scheme: - description: 'Scheme: The scheme.' - enum: - - http - - https - type: string - required: - - port - type: object - initialDelaySeconds: - description: 'InitialDelaySeconds: The initial delay seconds.' - type: integer - periodSeconds: - description: 'PeriodSeconds: The period seconds.' - type: integer - successThreshold: - description: 'SuccessThreshold: The success threshold.' - type: integer - timeoutSeconds: - description: 'TimeoutSeconds: The timeout seconds.' - type: integer - type: object - resources: - description: 'Resources: The resource requirements of the container instance.' + configurationProtectedSettings: + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - name + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string + identity: + description: 'Identity: Identity of the Extension resource' + properties: + type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - limits: - description: 'Limits: The resource limits of this container instance.' - properties: - cpu: - description: 'Cpu: The CPU limit of this container instance.' - type: number - gpu: - description: 'Gpu: The GPU limit of this container instance.' - properties: - count: - description: 'Count: The count of the GPU resource.' - type: integer - sku: - description: 'Sku: The SKU of the GPU resource.' - enum: - - K80 - - P100 - - V100 - type: string - required: - - count - - sku - type: object - memoryInGB: - description: 'MemoryInGB: The memory limit in GB of this container instance.' - type: number - type: object - requests: - description: 'Requests: The resource requests of this container instance.' - properties: - cpu: - description: 'Cpu: The CPU request of this container instance.' - type: number - gpu: - description: 'Gpu: The GPU request of this container instance.' - properties: - count: - description: 'Count: The count of the GPU resource.' - type: integer - sku: - description: 'Sku: The SKU of the GPU resource.' - enum: - - K80 - - P100 - - V100 - type: string - required: - - count - - sku - type: object - memoryInGB: - description: 'MemoryInGB: The memory request in GB of this container instance.' - type: number - required: - - cpu - - memoryInGB - type: object + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string required: - - requests + - name + - value type: object - volumeMounts: - description: 'VolumeMounts: The volume mounts available to the container instance.' - items: - description: The properties of the volume mount. - properties: - mountPath: - description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' - type: string - name: - description: 'Name: The name of the volume mount.' - type: string - readOnly: - description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' - type: boolean - required: - - mountPath - - name - type: object - type: array - required: - - image - - name - - resources - type: object - type: array - diagnostics: - description: 'Diagnostics: The diagnostic information for a container group.' - properties: - logAnalytics: - description: 'LogAnalytics: Container group log analytics information.' + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' properties: - logType: - description: 'LogType: The log type to be used.' - enum: - - ContainerInsights - - ContainerInstanceLogs - type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: Metadata for log analytics.' - type: object - workspaceId: - description: 'WorkspaceId: The workspace id for log analytics' - type: string - workspaceKey: - description: 'WorkspaceKey: The workspace key for log analytics' + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' properties: key: - description: Key is the key in the Kubernetes secret being referenced + description: Key is the key in the ConfigMap being referenced type: string name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. type: string required: - key - name type: object - workspaceResourceReference: - description: 'WorkspaceResourceReference: The workspace resource id for log analytics' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - workspaceId - - workspaceKey type: object - type: object - dnsConfig: - description: 'DnsConfig: The DNS config information for a container group.' - properties: - nameServers: - description: 'NameServers: The DNS servers for the container group.' + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - options: - description: 'Options: The DNS options for the container group.' + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. + properties: + armId: + description: Ownership across namespaces is not supported. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - searchDomains: - description: 'SearchDomains: The DNS search domains for hostname lookup in the container group.' + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string - required: - - nameServers type: object - encryptionProperties: - description: 'EncryptionProperties: The encryption properties for a container group.' + plan: + description: 'Plan: The plan information.' properties: - keyName: - description: 'KeyName: The encryption key name.' + name: + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' type: string - keyVersion: - description: 'KeyVersion: The encryption key version.' + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. type: string - vaultBaseUrl: - description: 'VaultBaseUrl: The keyvault base url.' + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' type: string required: - - keyName - - keyVersion - - vaultBaseUrl + - name + - product + - publisher type: object - identity: - description: 'Identity: The identity of the container group, if configured.' + releaseTrain: + description: |- + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' properties: - type: - description: |- - Type: The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an - implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the - container group. + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + systemData: + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned + - Application + - Key + - ManagedIdentity + - User + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + enum: + - Application + - Key + - ManagedIdentity + - User type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: The list of user identities associated with the container group.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object - imageRegistryCredentials: - description: 'ImageRegistryCredentials: The image registry credentials by which the container group is created from.' + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string + required: + - owner + type: object + status: + description: The Extension object. + properties: + aksAssignedIdentity: + description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + autoUpgradeMinorVersion: + description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' items: - description: Image registry credential. + description: Condition defines an extension to status (an observation) of a resource properties: - identity: - description: 'Identity: The identity for the private registry.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - identityUrl: - description: 'IdentityUrl: The identity URL for the private registry.' + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - password: - description: 'Password: The password for the private registry.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - server: - description: 'Server: The Docker image registry server without a protocol such as "http" and "https".' + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - username: - description: 'Username: The username for the private registry.' + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string required: - - server + - lastTransitionTime + - reason + - status + - type type: object type: array - initContainers: - description: 'InitContainers: The init containers for a container group.' - items: - description: The init container definition. - properties: - command: - description: 'Command: The command to execute within the init container in exec form.' - items: - type: string - type: array - environmentVariables: - description: 'EnvironmentVariables: The environment variables to set in the init container.' - items: - description: The environment variable to set within the container instance. - properties: - name: - description: 'Name: The name of the environment variable.' - type: string - secureValue: - description: 'SecureValue: The value of the secure environment variable.' + configurationProtectedSettings: + additionalProperties: + type: string + description: |- + ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this + extension. + type: object + configurationSettings: + additionalProperties: + type: string + description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' + type: object + currentVersion: + description: 'CurrentVersion: Currently installed version of the extension.' + type: string + customLocationSettings: + additionalProperties: + type: string + description: 'CustomLocationSettings: Custom Location settings properties.' + type: object + errorInfo: + description: 'ErrorInfo: Error information from the Agent - e.g. errors during installation.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' type: string - required: - - key - - name type: object - value: - description: 'Value: The value of the environment variable.' - type: string - required: - - name - type: object - type: array - image: - description: 'Image: The image of the init container.' + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + extensionType: + description: |- + ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types + registered with Microsoft.KubernetesConfiguration by the Extension publisher. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity of the Extension resource' + properties: + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object + isSystemExtension: + description: 'IsSystemExtension: Flag to note if this extension is a system extension' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + packageUri: + description: 'PackageUri: Uri of the Helm package' + type: string + plan: + description: 'Plan: The plan information.' + properties: + name: + description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' + type: string + product: + description: |- + Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the + artifact at the time of Data Market onboarding. + type: string + promotionCode: + description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' + type: string + publisher: + description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' + type: string + version: + description: 'Version: The version of the desired product/artifact.' + type: string + type: object + releaseTrain: + description: |- + ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if + autoUpgradeMinorVersion is 'true'. + type: string + scope: + description: 'Scope: Scope at which the extension is installed.' + properties: + cluster: + description: 'Cluster: Specifies that the scope of the extension is Cluster' + properties: + releaseNamespace: + description: |- + ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this + namespace does not exist, it will be created + type: string + type: object + namespace: + description: 'Namespace: Specifies that the scope of the extension is Namespace' + properties: + targetNamespace: + description: |- + TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace + does not exist, it will be created + type: string + type: object + type: object + statuses: + description: 'Statuses: Status from this extension.' + items: + description: Status from the extension. + properties: + code: + description: 'Code: Status code provided by the Extension' type: string - name: - description: 'Name: The name for the init container.' + displayStatus: + description: 'DisplayStatus: Short description of status of the extension.' + type: string + level: + description: 'Level: Level of the status.' + type: string + message: + description: 'Message: Detailed message of the status from the Extension.' + type: string + time: + description: 'Time: DateLiteral (per ISO8601) noting the time of installation status.' type: string - volumeMounts: - description: 'VolumeMounts: The volume mounts available to the init container.' - items: - description: The properties of the volume mount. - properties: - mountPath: - description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' - type: string - name: - description: 'Name: The name of the volume mount.' - type: string - readOnly: - description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' - type: boolean - required: - - mountPath - - name - type: object - type: array - required: - - name type: object type: array - ipAddress: - description: 'IpAddress: The IP address type of the container group.' + systemData: + description: |- + SystemData: Top level metadata + https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources properties: - autoGeneratedDomainNameLabelScope: - description: |- - AutoGeneratedDomainNameLabelScope: The value representing the security enum. The 'Unsecure' value is the default value - if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' - value is the default value if selected and means the object's domain name label can be reused within the same tenant. - The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The - 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The - 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or - tenant. - enum: - - Noreuse - - ResourceGroupReuse - - SubscriptionReuse - - TenantReuse - - Unsecure + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - dnsNameLabel: - description: 'DnsNameLabel: The Dns name label for the IP.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - ip: - description: 'Ip: The IP exposed to the public internet.' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - ports: - description: 'Ports: The list of ports exposed on the container group.' - items: - description: The port exposed on the container group. - properties: - port: - description: 'Port: The port number.' - type: integer - protocol: - description: 'Protocol: The protocol associated with the port.' - enum: - - TCP - - UDP - type: string - required: - - port - type: object - type: array + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: |- + Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion + must be 'false'. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20241101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20241101.Extension + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/extensions/stable/2024-11-01/extensions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20241101.Extension_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aksAssignedIdentity: + description: Storage version of v1api20241101.Extension_Properties_AksAssignedIdentity_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object type: - description: 'Type: Specifies if the IP is exposed to the public internet or private VNET.' - enum: - - Private - - Public + type: string + type: object + autoUpgradeMinorVersion: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + configurationProtectedSettings: + description: |- + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. + properties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string required: - - ports - - type + - name type: object - location: - description: 'Location: The resource location.' + configurationSettings: + additionalProperties: + type: string + type: object + extensionType: type: string + identity: + description: |- + Storage version of v1api20241101.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20241101.ExtensionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -54931,8 +114769,36 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20241101.ExtensionOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -54962,153 +114828,158 @@ spec: type: object type: array type: object - osType: - description: 'OsType: The operating system type required by the containers in the container group.' - enum: - - Linux - - Windows + originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - restartPolicy: + plan: description: |- - RestartPolicy: Restart policy for all containers within the container group. - - `Always` Always restart - - `OnFailure` Restart on failure - - `Never` Never restart - enum: - - Always - - Never - - OnFailure - type: string - sku: - description: 'Sku: The SKU for a container group.' - enum: - - Dedicated - - Standard + Storage version of v1api20241101.Plan + Plan for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string + type: object + releaseTrain: type: string - subnetIds: - description: 'SubnetIds: The subnet resource IDs for a container group.' - items: - description: Container group subnet information. - properties: - name: - description: 'Name: Friendly name for the subnet.' + scope: + description: |- + Storage version of v1api20241101.Scope + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: type: string - reference: - description: 'Reference: Resource ID of virtual network and subnet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20241101.ScopeCluster + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20241101.ScopeNamespace + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: type: string - type: object - required: - - reference - type: object - type: array - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object type: object - volumes: - description: 'Volumes: The list of volumes that can be mounted by containers in this container group.' - items: - description: The properties of the volume. - properties: - azureFile: - description: 'AzureFile: The Azure File volume.' - properties: - readOnly: - description: 'ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.' - type: boolean - shareName: - description: 'ShareName: The name of the Azure File share to be mounted as a volume.' - type: string - storageAccountKey: - description: 'StorageAccountKey: The storage account access key used to access the Azure File share.' - type: string - storageAccountName: - description: 'StorageAccountName: The name of the storage account that contains the Azure File share.' - type: string - required: - - shareName - - storageAccountName - type: object - emptyDir: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'EmptyDir: The empty directory volume.' - type: object - gitRepo: - description: 'GitRepo: The git repo volume.' - properties: - directory: - description: |- - Directory: Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be - the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the - given name. - type: string - repository: - description: 'Repository: Repository URL' - type: string - revision: - description: 'Revision: Commit hash for the specified revision.' - type: string - required: - - repository - type: object - name: - description: 'Name: The name of the volume.' + systemData: + description: |- + Storage version of v1api20241101.SystemData + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: type: string - secret: - additionalProperties: - type: string - description: 'Secret: The secret volume.' - type: object - required: - - name - type: object - type: array - zones: - description: 'Zones: The zones for the container group.' - items: - type: string - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + version: + type: string required: - - containers - - osType - owner type: object status: - description: A container group. + description: |- + Storage version of v1api20241101.Extension_STATUS + The Extension object. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aksAssignedIdentity: + description: Storage version of v1api20241101.Extension_Properties_AksAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object + autoUpgradeMinorVersion: + type: boolean conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -55151,687 +115022,292 @@ spec: - type type: object type: array - containers: - description: 'Containers: The containers within the container group.' - items: - description: A container instance. - properties: - command: - description: 'Command: The commands to execute within the container instance in exec form.' - items: - type: string - type: array - environmentVariables: - description: 'EnvironmentVariables: The environment variables to set in the container instance.' - items: - description: The environment variable to set within the container instance. - properties: - name: - description: 'Name: The name of the environment variable.' - type: string - value: - description: 'Value: The value of the environment variable.' - type: string - type: object - type: array - image: - description: 'Image: The name of the image used to create the container instance.' - type: string - instanceView: - description: 'InstanceView: The instance view of the container instance. Only valid in response.' - properties: - currentState: - description: 'CurrentState: Current container instance state.' - properties: - detailStatus: - description: 'DetailStatus: The human-readable status of the container instance state.' - type: string - exitCode: - description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' - type: integer - finishTime: - description: 'FinishTime: The date-time when the container instance state finished.' - type: string - startTime: - description: 'StartTime: The date-time when the container instance state started.' - type: string - state: - description: 'State: The state of the container instance.' - type: string - type: object - events: - description: 'Events: The events of the container instance.' - items: - description: A container group or container instance event. - properties: - count: - description: 'Count: The count of the event.' - type: integer - firstTimestamp: - description: 'FirstTimestamp: The date-time of the earliest logged event.' - type: string - lastTimestamp: - description: 'LastTimestamp: The date-time of the latest logged event.' - type: string - message: - description: 'Message: The event message.' - type: string - name: - description: 'Name: The event name.' - type: string - type: - description: 'Type: The event type.' - type: string - type: object - type: array - previousState: - description: 'PreviousState: Previous container instance state.' - properties: - detailStatus: - description: 'DetailStatus: The human-readable status of the container instance state.' - type: string - exitCode: - description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' - type: integer - finishTime: - description: 'FinishTime: The date-time when the container instance state finished.' - type: string - startTime: - description: 'StartTime: The date-time when the container instance state started.' - type: string - state: - description: 'State: The state of the container instance.' - type: string - type: object - restartCount: - description: 'RestartCount: The number of times that the container instance has been restarted.' - type: integer - type: object - livenessProbe: - description: 'LivenessProbe: The liveness probe.' - properties: - exec: - description: 'Exec: The execution command to probe' - properties: - command: - description: 'Command: The commands to execute within the container.' - items: - type: string - type: array - type: object - failureThreshold: - description: 'FailureThreshold: The failure threshold.' - type: integer - httpGet: - description: 'HttpGet: The Http Get settings to probe' - properties: - httpHeaders: - description: 'HttpHeaders: The HTTP headers.' - items: - description: The HTTP header. - properties: - name: - description: 'Name: The header name.' - type: string - value: - description: 'Value: The header value.' - type: string - type: object - type: array - path: - description: 'Path: The path to probe.' - type: string - port: - description: 'Port: The port number to probe.' - type: integer - scheme: - description: 'Scheme: The scheme.' - type: string - type: object - initialDelaySeconds: - description: 'InitialDelaySeconds: The initial delay seconds.' - type: integer - periodSeconds: - description: 'PeriodSeconds: The period seconds.' - type: integer - successThreshold: - description: 'SuccessThreshold: The success threshold.' - type: integer - timeoutSeconds: - description: 'TimeoutSeconds: The timeout seconds.' - type: integer - type: object - name: - description: 'Name: The user-provided name of the container instance.' - type: string - ports: - description: 'Ports: The exposed ports on the container instance.' - items: - description: The port exposed on the container instance. - properties: - port: - description: 'Port: The port number exposed within the container group.' - type: integer - protocol: - description: 'Protocol: The protocol associated with the port.' - type: string - type: object - type: array - readinessProbe: - description: 'ReadinessProbe: The readiness probe.' - properties: - exec: - description: 'Exec: The execution command to probe' - properties: - command: - description: 'Command: The commands to execute within the container.' - items: - type: string - type: array - type: object - failureThreshold: - description: 'FailureThreshold: The failure threshold.' - type: integer - httpGet: - description: 'HttpGet: The Http Get settings to probe' - properties: - httpHeaders: - description: 'HttpHeaders: The HTTP headers.' - items: - description: The HTTP header. - properties: - name: - description: 'Name: The header name.' - type: string - value: - description: 'Value: The header value.' - type: string - type: object - type: array - path: - description: 'Path: The path to probe.' - type: string - port: - description: 'Port: The port number to probe.' - type: integer - scheme: - description: 'Scheme: The scheme.' - type: string - type: object - initialDelaySeconds: - description: 'InitialDelaySeconds: The initial delay seconds.' - type: integer - periodSeconds: - description: 'PeriodSeconds: The period seconds.' - type: integer - successThreshold: - description: 'SuccessThreshold: The success threshold.' - type: integer - timeoutSeconds: - description: 'TimeoutSeconds: The timeout seconds.' - type: integer - type: object - resources: - description: 'Resources: The resource requirements of the container instance.' - properties: - limits: - description: 'Limits: The resource limits of this container instance.' - properties: - cpu: - description: 'Cpu: The CPU limit of this container instance.' - type: number - gpu: - description: 'Gpu: The GPU limit of this container instance.' - properties: - count: - description: 'Count: The count of the GPU resource.' - type: integer - sku: - description: 'Sku: The SKU of the GPU resource.' - type: string - type: object - memoryInGB: - description: 'MemoryInGB: The memory limit in GB of this container instance.' - type: number - type: object - requests: - description: 'Requests: The resource requests of this container instance.' - properties: - cpu: - description: 'Cpu: The CPU request of this container instance.' - type: number - gpu: - description: 'Gpu: The GPU request of this container instance.' - properties: - count: - description: 'Count: The count of the GPU resource.' - type: integer - sku: - description: 'Sku: The SKU of the GPU resource.' - type: string - type: object - memoryInGB: - description: 'MemoryInGB: The memory request in GB of this container instance.' - type: number - type: object - type: object - volumeMounts: - description: 'VolumeMounts: The volume mounts available to the container instance.' - items: - description: The properties of the volume mount. - properties: - mountPath: - description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' - type: string - name: - description: 'Name: The name of the volume mount.' - type: string - readOnly: - description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' - type: boolean - type: object - type: array - type: object - type: array - diagnostics: - description: 'Diagnostics: The diagnostic information for a container group.' - properties: - logAnalytics: - description: 'LogAnalytics: Container group log analytics information.' - properties: - logType: - description: 'LogType: The log type to be used.' - type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: Metadata for log analytics.' - type: object - workspaceId: - description: 'WorkspaceId: The workspace id for log analytics' - type: string - type: object - type: object - dnsConfig: - description: 'DnsConfig: The DNS config information for a container group.' - properties: - nameServers: - description: 'NameServers: The DNS servers for the container group.' - items: - type: string - type: array - options: - description: 'Options: The DNS options for the container group.' - type: string - searchDomains: - description: 'SearchDomains: The DNS search domains for hostname lookup in the container group.' - type: string - type: object - encryptionProperties: - description: 'EncryptionProperties: The encryption properties for a container group.' - properties: - keyName: - description: 'KeyName: The encryption key name.' - type: string - keyVersion: - description: 'KeyVersion: The encryption key version.' - type: string - vaultBaseUrl: - description: 'VaultBaseUrl: The keyvault base url.' - type: string + configurationProtectedSettings: + additionalProperties: + type: string type: object - id: - description: 'Id: The resource id.' - type: string - identity: - description: 'Identity: The identity of the container group, if configured.' - properties: - principalId: - description: |- - PrincipalId: The principal id of the container group identity. This property will only be provided for a system assigned - identity. - type: string - tenantId: - description: |- - TenantId: The tenant id associated with the container group. This property will only be provided for a system assigned - identity. - type: string - type: - description: |- - Type: The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an - implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the - container group. - type: string - userAssignedIdentities: - additionalProperties: - description: |- - The list of user identities associated with the container group. The user identity dictionary key references will be ARM - resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: 'UserAssignedIdentities: The list of user identities associated with the container group.' - type: object + configurationSettings: + additionalProperties: + type: string type: object - imageRegistryCredentials: - description: 'ImageRegistryCredentials: The image registry credentials by which the container group is created from.' - items: - description: Image registry credential. - properties: - identity: - description: 'Identity: The identity for the private registry.' - type: string - identityUrl: - description: 'IdentityUrl: The identity URL for the private registry.' - type: string - server: - description: 'Server: The Docker image registry server without a protocol such as "http" and "https".' - type: string - username: - description: 'Username: The username for the private registry.' - type: string - type: object - type: array - initContainers: - description: 'InitContainers: The init containers for a container group.' - items: - description: The init container definition. - properties: - command: - description: 'Command: The command to execute within the init container in exec form.' - items: - type: string - type: array - environmentVariables: - description: 'EnvironmentVariables: The environment variables to set in the init container.' - items: - description: The environment variable to set within the container instance. - properties: - name: - description: 'Name: The name of the environment variable.' - type: string - value: - description: 'Value: The value of the environment variable.' - type: string - type: object - type: array - image: - description: 'Image: The image of the init container.' - type: string - instanceView: - description: 'InstanceView: The instance view of the init container. Only valid in response.' - properties: - currentState: - description: 'CurrentState: The current state of the init container.' - properties: - detailStatus: - description: 'DetailStatus: The human-readable status of the container instance state.' - type: string - exitCode: - description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' - type: integer - finishTime: - description: 'FinishTime: The date-time when the container instance state finished.' - type: string - startTime: - description: 'StartTime: The date-time when the container instance state started.' - type: string - state: - description: 'State: The state of the container instance.' - type: string - type: object - events: - description: 'Events: The events of the init container.' - items: - description: A container group or container instance event. - properties: - count: - description: 'Count: The count of the event.' - type: integer - firstTimestamp: - description: 'FirstTimestamp: The date-time of the earliest logged event.' - type: string - lastTimestamp: - description: 'LastTimestamp: The date-time of the latest logged event.' - type: string - message: - description: 'Message: The event message.' - type: string - name: - description: 'Name: The event name.' - type: string - type: - description: 'Type: The event type.' - type: string - type: object - type: array - previousState: - description: 'PreviousState: The previous state of the init container.' - properties: - detailStatus: - description: 'DetailStatus: The human-readable status of the container instance state.' - type: string - exitCode: - description: 'ExitCode: The container instance exit codes correspond to those from the `docker run` command.' - type: integer - finishTime: - description: 'FinishTime: The date-time when the container instance state finished.' - type: string - startTime: - description: 'StartTime: The date-time when the container instance state started.' - type: string - state: - description: 'State: The state of the container instance.' - type: string - type: object - restartCount: - description: 'RestartCount: The number of times that the init container has been restarted.' - type: integer - type: object - name: - description: 'Name: The name for the init container.' - type: string - volumeMounts: - description: 'VolumeMounts: The volume mounts available to the init container.' - items: - description: The properties of the volume mount. - properties: - mountPath: - description: 'MountPath: The path within the container where the volume should be mounted. Must not contain colon (:).' - type: string - name: - description: 'Name: The name of the volume mount.' - type: string - readOnly: - description: 'ReadOnly: The flag indicating whether the volume mount is read-only.' - type: boolean - type: object - type: array - type: object - type: array - instanceView: - description: 'InstanceView: The instance view of the container group. Only valid in response.' + currentVersion: + type: string + customLocationSettings: + additionalProperties: + type: string + type: object + errorInfo: + description: |- + Storage version of v1api20241101.ErrorDetail_STATUS + The error detail. properties: - events: - description: 'Events: The events of this container group.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: items: - description: A container group or container instance event. + description: |- + Storage version of v1api20241101.ErrorAdditionalInfo_STATUS + The resource management error additional info. properties: - count: - description: 'Count: The count of the event.' - type: integer - firstTimestamp: - description: 'FirstTimestamp: The date-time of the earliest logged event.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: type: string - lastTimestamp: - description: 'LastTimestamp: The date-time of the latest logged event.' + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20241101.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20241101.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: type: string message: - description: 'Message: The event message.' - type: string - name: - description: 'Name: The event name.' type: string - type: - description: 'Type: The event type.' + target: type: string type: object type: array - state: - description: 'State: The state of the container group. Only valid in response.' + message: + type: string + target: type: string type: object - ipAddress: - description: 'IpAddress: The IP address type of the container group.' + extensionType: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20241101.Identity_STATUS + Identity for the resource. properties: - autoGeneratedDomainNameLabelScope: + $propertyBag: + additionalProperties: + type: string description: |- - AutoGeneratedDomainNameLabelScope: The value representing the security enum. The 'Unsecure' value is the default value - if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' - value is the default value if selected and means the object's domain name label can be reused within the same tenant. - The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The - 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The - 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or - tenant. - type: string - dnsNameLabel: - description: 'DnsNameLabel: The Dns name label for the IP.' - type: string - fqdn: - description: 'Fqdn: The FQDN for the IP.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: type: string - ip: - description: 'Ip: The IP exposed to the public internet.' + tenantId: type: string - ports: - description: 'Ports: The list of ports exposed on the container group.' - items: - description: The port exposed on the container group. - properties: - port: - description: 'Port: The port number.' - type: integer - protocol: - description: 'Protocol: The protocol associated with the port.' - type: string - type: object - type: array type: - description: 'Type: Specifies if the IP is exposed to the public internet or private VNET.' type: string type: object - location: - description: 'Location: The resource location.' - type: string + isSystemExtension: + type: boolean name: - description: 'Name: The resource name.' - type: string - osType: - description: 'OsType: The operating system type required by the containers in the container group.' type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the container group. This only appears in the response.' + packageUri: type: string - restartPolicy: + plan: description: |- - RestartPolicy: Restart policy for all containers within the container group. - - `Always` Always restart - - `OnFailure` Restart on failure - - `Never` Never restart - type: string - sku: - description: 'Sku: The SKU for a container group.' - type: string - subnetIds: - description: 'SubnetIds: The subnet resource IDs for a container group.' - items: - description: Container group subnet information. - properties: - id: - description: 'Id: Resource ID of virtual network and subnet.' - type: string - name: - description: 'Name: Friendly name for the subnet.' + Storage version of v1api20241101.Plan_STATUS + Plan for the resource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + version: + type: string type: object - type: - description: 'Type: The resource type.' + releaseTrain: type: string - volumes: - description: 'Volumes: The list of volumes that can be mounted by containers in this container group.' - items: - description: The properties of the volume. - properties: - azureFile: - description: 'AzureFile: The Azure File volume.' - properties: - readOnly: - description: 'ReadOnly: The flag indicating whether the Azure File shared mounted as a volume is read-only.' - type: boolean - shareName: - description: 'ShareName: The name of the Azure File share to be mounted as a volume.' - type: string - storageAccountKey: - description: 'StorageAccountKey: The storage account access key used to access the Azure File share.' - type: string - storageAccountName: - description: 'StorageAccountName: The name of the storage account that contains the Azure File share.' - type: string - type: object - emptyDir: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'EmptyDir: The empty directory volume.' - type: object - gitRepo: - description: 'GitRepo: The git repo volume.' - properties: - directory: - description: |- - Directory: Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be - the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the - given name. - type: string - repository: - description: 'Repository: Repository URL' + scope: + description: |- + Storage version of v1api20241101.Scope_STATUS + Scope of the extension. It can be either Cluster or Namespace; but not both. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cluster: + description: |- + Storage version of v1api20241101.ScopeCluster_STATUS + Specifies that the scope of the extension is Cluster + properties: + $propertyBag: + additionalProperties: type: string - revision: - description: 'Revision: Commit hash for the specified revision.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + releaseNamespace: + type: string + type: object + namespace: + description: |- + Storage version of v1api20241101.ScopeNamespace_STATUS + Specifies that the scope of the extension is Namespace + properties: + $propertyBag: + additionalProperties: type: string - type: object - name: - description: 'Name: The name of the volume.' - type: string - secret: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetNamespace: + type: string + type: object + type: object + statuses: + items: + description: |- + Storage version of v1api20241101.ExtensionStatus_STATUS + Status from the extension. + properties: + $propertyBag: additionalProperties: type: string - description: 'Secret: The secret volume.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + code: + type: string + displayStatus: + type: string + level: + type: string + message: + type: string + time: + type: string type: object type: array - zones: - description: 'Zones: The zones for the container group.' - items: - type: string - type: array + systemData: + description: |- + Storage version of v1api20241101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + version: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: factories.datafactory.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: datafactory.azure.com + names: + categories: + - azure + - datafactory + kind: Factory + listKind: FactoryList + plural: factories + singular: factory + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -55845,14 +115321,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211001storage + name: v1api20180601 schema: openAPIV3Schema: description: |- - Storage version of v1api20211001.ContainerGroup Generator information: - - Generated from: /containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-10-01/containerInstance.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName} + - Generated from: /datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName} properties: apiVersion: description: |- @@ -55872,407 +115347,29 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211001.ContainerGroup_Spec properties: - $propertyBag: + additionalProperties: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + x-kubernetes-preserve-unknown-fields: true type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ type: string - containers: - items: - description: |- - Storage version of v1api20211001.Container - A container instance. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: - type: string - type: array - environmentVariables: - items: - description: |- - Storage version of v1api20211001.EnvironmentVariable - The environment variable to set within the container instance. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - secureValue: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - value: - type: string - type: object - type: array - image: - type: string - livenessProbe: - description: |- - Storage version of v1api20211001.ContainerProbe - The container probe, for liveness or readiness - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exec: - description: |- - Storage version of v1api20211001.ContainerExec - The container execution command, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: - type: string - type: array - type: object - failureThreshold: - type: integer - httpGet: - description: |- - Storage version of v1api20211001.ContainerHttpGet - The container Http Get settings, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpHeaders: - items: - description: |- - Storage version of v1api20211001.HttpHeader - The HTTP header. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - value: - type: string - type: object - type: array - path: - type: string - port: - type: integer - scheme: - type: string - type: object - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - type: object - name: - type: string - ports: - items: - description: |- - Storage version of v1api20211001.ContainerPort - The port exposed on the container instance. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - protocol: - type: string - type: object - type: array - readinessProbe: - description: |- - Storage version of v1api20211001.ContainerProbe - The container probe, for liveness or readiness - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exec: - description: |- - Storage version of v1api20211001.ContainerExec - The container execution command, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: - type: string - type: array - type: object - failureThreshold: - type: integer - httpGet: - description: |- - Storage version of v1api20211001.ContainerHttpGet - The container Http Get settings, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpHeaders: - items: - description: |- - Storage version of v1api20211001.HttpHeader - The HTTP header. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - value: - type: string - type: object - type: array - path: - type: string - port: - type: integer - scheme: - type: string - type: object - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer - type: object - resources: - description: |- - Storage version of v1api20211001.ResourceRequirements - The resource requirements. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - limits: - description: |- - Storage version of v1api20211001.ResourceLimits - The resource limits. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cpu: - type: number - gpu: - description: |- - Storage version of v1api20211001.GpuResource - The GPU resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sku: - type: string - type: object - memoryInGB: - type: number - type: object - requests: - description: |- - Storage version of v1api20211001.ResourceRequests - The resource requests. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cpu: - type: number - gpu: - description: |- - Storage version of v1api20211001.GpuResource - The GPU resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sku: - type: string - type: object - memoryInGB: - type: number - type: object - type: object - volumeMounts: - items: - description: |- - Storage version of v1api20211001.VolumeMount - The properties of the volume mount. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mountPath: - type: string - name: - type: string - readOnly: - type: boolean - type: object - type: array - type: object - type: array - diagnostics: - description: |- - Storage version of v1api20211001.ContainerGroupDiagnostics - Container group diagnostic information. + encryption: + description: 'Encryption: Properties to enable Customer Managed Key for the factory.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalytics: + identity: description: |- - Storage version of v1api20211001.LogAnalytics - Container group log analytics information. + Identity: User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service + Identity will be used. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logType: - type: string - metadata: - additionalProperties: - type: string - type: object - workspaceId: - type: string - workspaceKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - workspaceResourceReference: - description: 'WorkspaceResourceReference: The workspace resource id for log analytics' + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: The resource id of the user assigned identity to authenticate to customer''s key vault.' properties: armId: description: |- @@ -56292,74 +115389,59 @@ spec: type: string type: object type: object - type: object - dnsConfig: - description: |- - Storage version of v1api20211001.DnsConfiguration - DNS configuration for the container group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nameServers: - items: - type: string - type: array - options: - type: string - searchDomains: - type: string - type: object - encryptionProperties: - description: |- - Storage version of v1api20211001.EncryptionProperties - The container group encryption properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object keyName: + description: 'KeyName: The name of the key in Azure Key Vault to use as Customer Managed Key.' type: string keyVersion: + description: 'KeyVersion: The version of the key used for CMK. If not provided, latest version will be used.' type: string vaultBaseUrl: + description: 'VaultBaseUrl: The url of the Azure Key Vault used for CMK.' type: string + required: + - keyName + - vaultBaseUrl + type: object + globalParameters: + additionalProperties: + description: Definition of a single parameter for an entity. + properties: + type: + description: 'Type: Global Parameter type.' + enum: + - Array + - Bool + - Float + - Int + - Object + - String + type: string + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Value: Value of parameter.' + type: object + required: + - type + - value + type: object + description: 'GlobalParameters: List of parameters for factory.' type: object identity: - description: |- - Storage version of v1api20211001.ContainerGroupIdentity - Identity for the container group. + description: 'Identity: Managed service identity of the factory.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object type: + description: 'Type: The identity type.' + enum: + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned type: string userAssignedIdentities: + description: 'UserAssignedIdentities: List of user assigned identities for the factory.' items: - description: |- - Storage version of v1api20211001.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: @@ -56378,186 +115460,23 @@ spec: type: string name: description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - imageRegistryCredentials: - items: - description: |- - Storage version of v1api20211001.ImageRegistryCredential - Image registry credential. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - type: string - identityUrl: - type: string - password: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - server: - type: string - username: - type: string - type: object - type: array - initContainers: - items: - description: |- - Storage version of v1api20211001.InitContainerDefinition - The init container definition. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: - type: string - type: array - environmentVariables: - items: - description: |- - Storage version of v1api20211001.EnvironmentVariable - The environment variable to set within the container instance. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - secureValue: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - value: - type: string - type: object - type: array - image: - type: string - name: - type: string - volumeMounts: - items: - description: |- - Storage version of v1api20211001.VolumeMount - The properties of the volume mount. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mountPath: - type: string - name: - type: string - readOnly: - type: boolean - type: object - type: array - type: object - type: array - ipAddress: - description: |- - Storage version of v1api20211001.IpAddress - IP address for the container group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGeneratedDomainNameLabelScope: - type: string - dnsNameLabel: - type: string - ip: - type: string - ports: - items: - description: |- - Storage version of v1api20211001.Port - The port exposed on the container group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - protocol: - type: string + type: string + type: object type: object type: array - type: - type: string + required: + - type type: object location: + description: 'Location: The resource location.' type: string operatorSpec: description: |- - Storage version of v1api20211001.ContainerGroupOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -56587,6 +115506,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -56616,10 +115536,6 @@ spec: type: object type: array type: object - originalVersion: - type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -56633,138 +115549,146 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - restartPolicy: - type: string - sku: + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the data factory.' + enum: + - Disabled + - Enabled type: string - subnetIds: - items: - description: |- - Storage version of v1api20211001.ContainerGroupSubnetId - Container group subnet information. - properties: - $propertyBag: - additionalProperties: + purviewConfiguration: + description: 'PurviewConfiguration: Purview information of the factory.' + properties: + purviewResourceReference: + description: 'PurviewResourceReference: Purview resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - reference: - description: 'Reference: Resource ID of virtual network and subnet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - type: array - tags: - additionalProperties: - type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - volumes: - items: - description: |- - Storage version of v1api20211001.Volume - The properties of the volume. - properties: - $propertyBag: - additionalProperties: + repoConfiguration: + description: 'RepoConfiguration: Git repo information of the factory.' + properties: + factoryGitHubConfiguration: + description: 'FactoryGitHub: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureFile: - description: |- - Storage version of v1api20211001.AzureFileVolume - The properties of the Azure File volume. Azure File shares are mounted as volumes. - properties: - $propertyBag: - additionalProperties: + clientId: + description: 'ClientId: GitHub bring your own app client id.' + type: string + clientSecret: + description: 'ClientSecret: GitHub bring your own app client secret information.' + properties: + byoaSecretAkvUrl: + description: 'ByoaSecretAkvUrl: Bring your own app client secret AKV URL.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - readOnly: - type: boolean - shareName: - type: string - storageAccountKey: - type: string - storageAccountName: - type: string - type: object - emptyDir: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - gitRepo: - description: |- - Storage version of v1api20211001.GitRepoVolume - Represents a volume that is populated with the contents of a git repository - properties: - $propertyBag: - additionalProperties: + byoaSecretName: + description: 'ByoaSecretName: Bring your own app client secret name in AKV.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - directory: - type: string - repository: - type: string - revision: - type: string - type: object - name: - type: string - secret: - additionalProperties: + type: object + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' type: string - type: object - type: object - type: array - zones: - items: + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + hostName: + description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' + type: string + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + type: + description: 'Type: Type of repo configuration.' + enum: + - FactoryGitHubConfiguration + type: string + required: + - accountName + - collaborationBranch + - repositoryName + - rootFolder + - type + type: object + factoryVSTSConfiguration: + description: 'FactoryVSTS: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' + type: string + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + projectName: + description: 'ProjectName: VSTS project name.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + tenantId: + description: 'TenantId: VSTS tenant id.' + type: string + type: + description: 'Type: Type of repo configuration.' + enum: + - FactoryVSTSConfiguration + type: string + required: + - accountName + - collaborationBranch + - projectName + - repositoryName + - rootFolder + - type + type: object + type: object + tags: + additionalProperties: type: string - type: array + description: 'Tags: The resource tags.' + type: object required: - owner type: object status: - description: |- - Storage version of v1api20211001.ContainerGroup_STATUS - A container group. + description: Factory resource type. properties: - $propertyBag: + additionalProperties: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + x-kubernetes-preserve-unknown-fields: true type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -56807,134 +115731,332 @@ spec: - type type: object type: array - containers: - items: - description: |- - Storage version of v1api20211001.Container_STATUS - A container instance. + createTime: + description: 'CreateTime: Time the factory was created in ISO8601 format.' + type: string + eTag: + description: 'ETag: Etag identifies change in the resource.' + type: string + encryption: + description: 'Encryption: Properties to enable Customer Managed Key for the factory.' + properties: + identity: + description: |- + Identity: User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service + Identity will be used. + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The resource id of the user assigned identity to authenticate to customer''s key vault.' + type: string + type: object + keyName: + description: 'KeyName: The name of the key in Azure Key Vault to use as Customer Managed Key.' + type: string + keyVersion: + description: 'KeyVersion: The version of the key used for CMK. If not provided, latest version will be used.' + type: string + vaultBaseUrl: + description: 'VaultBaseUrl: The url of the Azure Key Vault used for CMK.' + type: string + type: object + globalParameters: + additionalProperties: + description: Definition of a single parameter for an entity. properties: - $propertyBag: + type: + description: 'Type: Global Parameter type.' + type: string + value: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + x-kubernetes-preserve-unknown-fields: true + description: 'Value: Value of parameter.' type: object - command: - items: + type: object + description: 'GlobalParameters: List of parameters for factory.' + type: object + id: + description: 'Id: The resource identifier.' + type: string + identity: + description: 'Identity: Managed service identity of the factory.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: 'Type: The identity type.' + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: List of user assigned identities for the factory.' + type: object + type: object + location: + description: 'Location: The resource location.' + type: string + name: + description: 'Name: The resource name.' + type: string + provisioningState: + description: 'ProvisioningState: Factory provisioning state, example Succeeded.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the data factory.' + type: string + purviewConfiguration: + description: 'PurviewConfiguration: Purview information of the factory.' + properties: + purviewResourceId: + description: 'PurviewResourceId: Purview resource id.' + type: string + type: object + repoConfiguration: + description: 'RepoConfiguration: Git repo information of the factory.' + properties: + factoryGitHubConfiguration: + description: 'FactoryGitHub: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' type: string - type: array - environmentVariables: - items: + clientId: + description: 'ClientId: GitHub bring your own app client id.' + type: string + clientSecret: + description: 'ClientSecret: GitHub bring your own app client secret information.' + properties: + byoaSecretAkvUrl: + description: 'ByoaSecretAkvUrl: Bring your own app client secret AKV URL.' + type: string + byoaSecretName: + description: 'ByoaSecretName: Bring your own app client secret name in AKV.' + type: string + type: object + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + hostName: + description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' + type: string + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + type: + description: 'Type: Type of repo configuration.' + type: string + type: object + factoryVSTSConfiguration: + description: 'FactoryVSTS: Mutually exclusive with all other properties' + properties: + accountName: + description: 'AccountName: Account name.' + type: string + collaborationBranch: + description: 'CollaborationBranch: Collaboration branch.' + type: string + disablePublish: + description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' + type: boolean + lastCommitId: + description: 'LastCommitId: Last commit id.' + type: string + projectName: + description: 'ProjectName: VSTS project name.' + type: string + repositoryName: + description: 'RepositoryName: Repository name.' + type: string + rootFolder: + description: 'RootFolder: Root folder.' + type: string + tenantId: + description: 'TenantId: VSTS tenant id.' + type: string + type: + description: 'Type: Type of repo configuration.' + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + type: + description: 'Type: The resource type.' + type: string + version: + description: 'Version: Version of the factory.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Factory + Generator information: + - Generated from: /datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Factory_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: |- + Storage version of v1api20180601.EncryptionConfiguration + Definition of CMK for the factory. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: |- + Storage version of v1api20180601.CMKIdentityDefinition + Managed Identity used for CMK. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20211001.EnvironmentVariable_STATUS - The environment variable to set within the container instance. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: The resource id of the user assigned identity to authenticate to customer''s key vault.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - value: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - type: array - image: + type: object + keyName: + type: string + keyVersion: + type: string + vaultBaseUrl: + type: string + type: object + globalParameters: + additionalProperties: + description: |- + Storage version of v1api20180601.GlobalParameterSpecification + Definition of a single parameter for an entity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: type: string - instanceView: - description: Storage version of v1api20211001.ContainerProperties_InstanceView_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - currentState: - description: |- - Storage version of v1api20211001.ContainerState_STATUS - The container instance state. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - detailStatus: - type: string - exitCode: - type: integer - finishTime: - type: string - startTime: - type: string - state: - type: string - type: object - events: - items: - description: |- - Storage version of v1api20211001.Event_STATUS - A container group or container instance event. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - firstTimestamp: - type: string - lastTimestamp: - type: string - message: - type: string - name: - type: string - type: - type: string - type: object - type: array - previousState: - description: |- - Storage version of v1api20211001.ContainerState_STATUS - The container instance state. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - detailStatus: - type: string - exitCode: - type: integer - finishTime: - type: string - startTime: - type: string - state: - type: string - type: object - restartCount: - type: integer + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true type: object - livenessProbe: + type: object + type: object + identity: + description: |- + Storage version of v1api20180601.FactoryIdentity + Identity properties of the factory resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: description: |- - Storage version of v1api20211001.ContainerProbe_STATUS - The container probe, for liveness or readiness + Storage version of v1api20180601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -56943,279 +116065,123 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - exec: - description: |- - Storage version of v1api20211001.ContainerExec_STATUS - The container execution command, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: - type: string - type: array - type: object - failureThreshold: - type: integer - httpGet: - description: |- - Storage version of v1api20211001.ContainerHttpGet_STATUS - The container Http Get settings, for liveness or readiness probe + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpHeaders: - items: - description: |- - Storage version of v1api20211001.HttpHeader_STATUS - The HTTP header. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - value: - type: string - type: object - type: array - path: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - port: - type: integer - scheme: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer type: object - name: + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.FactoryOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - ports: - items: - description: |- - Storage version of v1api20211001.ContainerPort_STATUS - The port exposed on the container instance. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - protocol: - type: string - type: object - type: array - readinessProbe: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - Storage version of v1api20211001.ContainerProbe_STATUS - The container probe, for liveness or readiness + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exec: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - Storage version of v1api20211001.ContainerExec_STATUS - The container execution command, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: - type: string - type: array - type: object - failureThreshold: - type: integer - httpGet: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - Storage version of v1api20211001.ContainerHttpGet_STATUS - The container Http Get settings, for liveness or readiness probe - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpHeaders: - items: - description: |- - Storage version of v1api20211001.HttpHeader_STATUS - The HTTP header. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - value: - type: string - type: object - type: array - path: - type: string - port: - type: integer - scheme: - type: string - type: object - initialDelaySeconds: - type: integer - periodSeconds: - type: integer - successThreshold: - type: integer - timeoutSeconds: - type: integer + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - resources: + type: array + secretExpressions: + items: description: |- - Storage version of v1api20211001.ResourceRequirements_STATUS - The resource requirements. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - limits: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - Storage version of v1api20211001.ResourceLimits_STATUS - The resource limits. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cpu: - type: number - gpu: - description: |- - Storage version of v1api20211001.GpuResource_STATUS - The GPU resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sku: - type: string - type: object - memoryInGB: - type: number - type: object - requests: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - Storage version of v1api20211001.ResourceRequests_STATUS - The resource requests. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cpu: - type: number - gpu: - description: |- - Storage version of v1api20211001.GpuResource_STATUS - The GPU resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sku: - type: string - type: object - memoryInGB: - type: number - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - volumeMounts: - items: - description: |- - Storage version of v1api20211001.VolumeMount_STATUS - The properties of the volume mount. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mountPath: - type: string - name: - type: string - readOnly: - type: boolean - type: object - type: array - type: object - type: array - diagnostics: + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + purviewConfiguration: description: |- - Storage version of v1api20211001.ContainerGroupDiagnostics_STATUS - Container group diagnostic information. + Storage version of v1api20180601.PurviewConfiguration + Purview configuration. properties: $propertyBag: additionalProperties: @@ -57224,10 +116190,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - logAnalytics: + purviewResourceReference: + description: 'PurviewResourceReference: Purview resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + repoConfiguration: + description: Storage version of v1api20180601.FactoryRepoConfiguration + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20211001.LogAnalytics_STATUS - Container group log analytics information. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + factoryGitHubConfiguration: + description: Storage version of v1api20180601.FactoryGitHubConfiguration properties: $propertyBag: additionalProperties: @@ -57236,41 +116231,146 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - logType: + accountName: type: string - metadata: + clientId: + type: string + clientSecret: + description: |- + Storage version of v1api20180601.GitHubClientSecret + Client secret information for factory's bring your own app repository configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + byoaSecretAkvUrl: + type: string + byoaSecretName: + type: string + type: object + collaborationBranch: + type: string + disablePublish: + type: boolean + hostName: + type: string + lastCommitId: + type: string + repositoryName: + type: string + rootFolder: + type: string + type: + type: string + type: object + factoryVSTSConfiguration: + description: Storage version of v1api20180601.FactoryVSTSConfiguration + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - workspaceId: + accountName: + type: string + collaborationBranch: + type: string + disablePublish: + type: boolean + lastCommitId: + type: string + projectName: + type: string + repositoryName: + type: string + rootFolder: + type: string + tenantId: + type: string + type: type: string type: object type: object - dnsConfig: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20180601.Factory_STATUS + Factory resource type. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20211001.DnsConfiguration_STATUS - DNS configuration for the container group. - properties: - $propertyBag: - additionalProperties: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nameServers: - items: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - type: array - options: - type: string - searchDomains: - type: string - type: object - encryptionProperties: + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createTime: + type: string + eTag: + type: string + encryption: description: |- - Storage version of v1api20211001.EncryptionProperties_STATUS - The container group encryption properties. + Storage version of v1api20180601.EncryptionConfiguration_STATUS + Definition of CMK for the factory. properties: $propertyBag: additionalProperties: @@ -57279,6 +116379,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + identity: + description: |- + Storage version of v1api20180601.CMKIdentityDefinition_STATUS + Managed Identity used for CMK. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object keyName: type: string keyVersion: @@ -57286,12 +116401,33 @@ spec: vaultBaseUrl: type: string type: object + globalParameters: + additionalProperties: + description: |- + Storage version of v1api20180601.GlobalParameterSpecification_STATUS + Definition of a single parameter for an entity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + value: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + type: object id: type: string identity: description: |- - Storage version of v1api20211001.ContainerGroupIdentity_STATUS - Identity for the container group. + Storage version of v1api20180601.FactoryIdentity_STATUS + Identity properties of the factory resource. properties: $propertyBag: additionalProperties: @@ -57308,71 +116444,60 @@ spec: type: string userAssignedIdentities: additionalProperties: - description: |- - Storage version of v1api20211001.UserAssignedIdentities_STATUS - The list of user identities associated with the container group. The user identity dictionary key references will be ARM - resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object + x-kubernetes-preserve-unknown-fields: true type: object type: object - imageRegistryCredentials: - items: - description: |- - Storage version of v1api20211001.ImageRegistryCredential_STATUS - Image registry credential. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - type: string - identityUrl: - type: string - server: + location: + type: string + name: + type: string + provisioningState: + type: string + publicNetworkAccess: + type: string + purviewConfiguration: + description: |- + Storage version of v1api20180601.PurviewConfiguration_STATUS + Purview configuration. + properties: + $propertyBag: + additionalProperties: type: string - username: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + purviewResourceId: + type: string + type: object + repoConfiguration: + description: Storage version of v1api20180601.FactoryRepoConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - initContainers: - items: - description: |- - Storage version of v1api20211001.InitContainerDefinition_STATUS - The init container definition. - properties: - $propertyBag: - additionalProperties: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + factoryGitHubConfiguration: + description: Storage version of v1api20180601.FactoryGitHubConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - command: - items: + clientId: type: string - type: array - environmentVariables: - items: + clientSecret: description: |- - Storage version of v1api20211001.EnvironmentVariable_STATUS - The environment variable to set within the container instance. + Storage version of v1api20180601.GitHubClientSecret_STATUS + Client secret information for factory's bring your own app repository configuration. properties: $propertyBag: additionalProperties: @@ -57381,169 +116506,430 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + byoaSecretAkvUrl: type: string - value: + byoaSecretName: type: string type: object - type: array - image: - type: string - instanceView: - description: Storage version of v1api20211001.InitContainerPropertiesDefinition_InstanceView_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - currentState: - description: |- - Storage version of v1api20211001.ContainerState_STATUS - The container instance state. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - detailStatus: - type: string - exitCode: - type: integer - finishTime: - type: string - startTime: - type: string - state: - type: string - type: object - events: - items: - description: |- - Storage version of v1api20211001.Event_STATUS - A container group or container instance event. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - firstTimestamp: - type: string - lastTimestamp: - type: string - message: - type: string - name: - type: string - type: - type: string - type: object - type: array - previousState: - description: |- - Storage version of v1api20211001.ContainerState_STATUS - The container instance state. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - detailStatus: - type: string - exitCode: - type: integer - finishTime: - type: string - startTime: - type: string - state: - type: string - type: object - restartCount: - type: integer - type: object - name: - type: string - volumeMounts: - items: + collaborationBranch: + type: string + disablePublish: + type: boolean + hostName: + type: string + lastCommitId: + type: string + repositoryName: + type: string + rootFolder: + type: string + type: + type: string + type: object + factoryVSTSConfiguration: + description: Storage version of v1api20180601.FactoryVSTSConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20211001.VolumeMount_STATUS - The properties of the volume mount. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mountPath: - type: string - name: - type: string - readOnly: - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - type: object + accountName: + type: string + collaborationBranch: + type: string + disablePublish: + type: boolean + lastCommitId: + type: string + projectName: + type: string + repositoryName: + type: string + rootFolder: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: federatedidentitycredentials.managedidentity.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: managedidentity.azure.com + names: + categories: + - azure + - managedidentity + kind: FederatedIdentityCredential + listKind: FederatedIdentityCredentialList + plural: federatedidentitycredentials + singular: federatedidentitycredential + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220131preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/preview/2022-01-31-preview/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string type: array - instanceView: - description: Storage version of v1api20211001.ContainerGroup_Properties_InstanceView_STATUS + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + issuerFromConfig: + description: 'IssuerFromConfig: The URL of the issuer to be trusted.' properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - events: + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- - Storage version of v1api20211001.Event_STATUS - A container group or container instance event. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - firstTimestamp: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - lastTimestamp: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - message: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - state: + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - ipAddress: + subject: + description: 'Subject: The identifier of the external identity.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: The identifier of the external identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - audiences + - owner + type: object + status: + properties: + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: description: |- - Storage version of v1api20211001.IpAddress_STATUS - IP address for the container group. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + type: string + name: + description: 'Name: The name of the resource' + type: string + subject: + description: 'Subject: The identifier of the external identity.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220131previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220131preview.FederatedIdentityCredential + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/preview/2022-01-31-preview/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220131preview.FederatedIdentityCredential_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + issuer: + type: string + issuerFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20220131preview.FederatedIdentityCredentialOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -57552,180 +116938,175 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoGeneratedDomainNameLabelScope: - type: string - dnsNameLabel: - type: string - fqdn: - type: string - ip: - type: string - ports: + configMapExpressions: items: description: |- - Storage version of v1api20211001.Port_STATUS - The port exposed on the container group. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - protocol: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - type: - type: string type: object - location: - type: string - name: - type: string - osType: - type: string - provisioningState: - type: string - restartPolicy: + originalVersion: type: string - sku: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subject: type: string - subnetIds: - items: - description: |- - Storage version of v1api20211001.ContainerGroupSubnetId_STATUS - Container group subnet information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - name: - type: string - type: object - type: array - tags: + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20220131preview.FederatedIdentityCredential_STATUS + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: - type: string - volumes: + audiences: items: - description: |- - Storage version of v1api20211001.Volume_STATUS - The properties of the volume. + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureFile: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - Storage version of v1api20211001.AzureFileVolume_STATUS - The properties of the Azure File volume. Azure File shares are mounted as volumes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - readOnly: - type: boolean - shareName: - type: string - storageAccountKey: - type: string - storageAccountName: - type: string - type: object - emptyDir: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - gitRepo: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: description: |- - Storage version of v1api20211001.GitRepoVolume_STATUS - Represents a volume that is populated with the contents of a git repository - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - directory: - type: string - repository: - type: string - revision: - type: string - type: object - name: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - secret: - additionalProperties: - type: string - type: object + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - zones: - items: - type: string - type: array + id: + type: string + issuer: + type: string + name: + type: string + subject: + type: string + type: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: databaseaccounts.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: DatabaseAccount - listKind: DatabaseAccountList - plural: databaseaccounts - singular: databaseaccount - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -57739,13 +117120,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20230131 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/stable/2023-01-31/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} properties: apiVersion: description: |- @@ -57766,285 +117147,36 @@ spec: type: object spec: properties: - analyticalStorageConfiguration: - description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' - properties: - schemaType: - description: 'SchemaType: Describes the types of schema for analytical storage.' - enum: - - FullFidelity - - WellDefined - type: string - type: object - apiProperties: - description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' - properties: - serverVersion: - description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' - enum: - - "3.2" - - "3.6" - - "4.0" - type: string - type: object + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' + items: + type: string + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 3 - pattern: ^[a-z0-9]+(-[a-z0-9]+)* + pattern: ^[a-zA-Z0-9]{1}[a-zA-Z0-9-_]{2,119}$ type: string - backupPolicy: - description: 'BackupPolicy: The object representing the policy for taking backups on an account.' - properties: - continuous: - description: 'Continuous: Mutually exclusive with all other properties' - properties: - type: - enum: - - Continuous - type: string - required: - - type - type: object - periodic: - description: 'Periodic: Mutually exclusive with all other properties' - properties: - periodicModeProperties: - description: 'PeriodicModeProperties: Configuration values for periodic mode backup' - properties: - backupIntervalInMinutes: - description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' - minimum: 0 - type: integer - backupRetentionIntervalInHours: - description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' - minimum: 0 - type: integer - type: object - type: - enum: - - Periodic - type: string - required: - - type - type: object - type: object - capabilities: - description: 'Capabilities: List of Cosmos DB capabilities for the account' - items: - description: Cosmos DB capability object - properties: - name: - description: |- - Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include - "EnableTable" and "EnableGremlin". - type: string - type: object - type: array - connectorOffer: - description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' - enum: - - Small + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ type: string - consistencyPolicy: - description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + issuerFromConfig: + description: 'IssuerFromConfig: The URL of the issuer to be trusted.' properties: - defaultConsistencyLevel: - description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' - enum: - - BoundedStaleness - - ConsistentPrefix - - Eventual - - Session - - Strong + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - maxIntervalInSeconds: - description: |- - MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of - staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is - set to 'BoundedStaleness'. - maximum: 86400 - minimum: 5 - type: integer - maxStalenessPrefix: - description: |- - MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale - requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set - to 'BoundedStaleness'. - maximum: 2147483647 - minimum: 1 - type: integer - required: - - defaultConsistencyLevel - type: object - cors: - description: 'Cors: The CORS policy for the Cosmos DB database account.' - items: - description: The CORS policy for the Cosmos DB database account. - properties: - allowedHeaders: - description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' - type: string - allowedMethods: - description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' - type: string - allowedOrigins: - description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' - type: string - exposedHeaders: - description: |- - ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to - the request issuer. - type: string - maxAgeInSeconds: - description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' - maximum: 2147483647 - minimum: 1 - type: integer - required: - - allowedOrigins - type: object - type: array - databaseAccountOfferType: - description: 'DatabaseAccountOfferType: The offer type for the database' - enum: - - Standard - type: string - defaultIdentity: - description: |- - DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default - identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. - type: string - disableKeyBasedMetadataWriteAccess: - description: |- - DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) - via account keys - type: boolean - enableAnalyticalStorage: - description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' - type: boolean - enableAutomaticFailover: - description: |- - EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable - due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the - failover priorities configured for the account. - type: boolean - enableCassandraConnector: - description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' - type: boolean - enableFreeTier: - description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' - type: boolean - enableMultipleWriteLocations: - description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' - type: boolean - identity: - description: 'Identity: Identity for the resource.' - properties: - type: + name: description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. - enum: - - None - - SystemAssigned - - SystemAssigned,UserAssigned - - UserAssigned + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + required: + - key + - name type: object - ipRules: - description: 'IpRules: List of IpRules.' - items: - description: IpAddressOrRange object - properties: - ipAddressOrRange: - description: |- - IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be - well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, - 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” - or “23.40.210.0/8”. - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' - type: boolean - keyVaultKeyUri: - description: 'KeyVaultKeyUri: The URI of the key vault' - type: string - kind: - description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' - enum: - - GlobalDocumentDB - - MongoDB - - Parse - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' - type: string - locations: - description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' - items: - description: A region in which the Azure Cosmos DB database account is deployed. - properties: - failoverPriority: - description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - minimum: 0 - type: integer - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' - type: string - type: object - type: array - networkAclBypass: - description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' - enum: - - AzureServices - - None - type: string - networkAclBypassResourceIds: - description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' - items: - type: string - type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -58110,101 +117242,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - documentEndpoint: - description: |- - DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryMasterKey: - description: |- - PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadonlyMasterKey: - description: |- - PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryMasterKey: - description: |- - SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadonlyMasterKey: - description: |- - SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the - secret will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a managedidentity.azure.com/UserAssignedIdentity resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -58213,106 +117256,34 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' - enum: - - Disabled - - Enabled + subject: + description: 'Subject: The identifier of the external identity.' type: string - tags: - additionalProperties: - type: string + subjectFromConfig: + description: 'SubjectFromConfig: The identifier of the external identity.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object - virtualNetworkRules: - description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' - items: - description: Virtual Network ACL Rule object - properties: - ignoreMissingVNetServiceEndpoint: - description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' - type: boolean - reference: - description: |- - Reference: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array required: - - databaseAccountOfferType - - locations + - audiences - owner type: object status: properties: - analyticalStorageConfiguration: - description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' - properties: - schemaType: - description: 'SchemaType: Describes the types of schema for analytical storage.' - type: string - type: object - apiProperties: - description: 'ApiProperties: API specific properties.' - properties: - serverVersion: - description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' - type: string - type: object - backupPolicy: - description: 'BackupPolicy: The object representing the policy for taking backups on an account.' - properties: - continuous: - description: 'Continuous: Mutually exclusive with all other properties' - properties: - type: - type: string - type: object - periodic: - description: 'Periodic: Mutually exclusive with all other properties' - properties: - periodicModeProperties: - description: 'PeriodicModeProperties: Configuration values for periodic mode backup' - properties: - backupIntervalInMinutes: - description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' - type: integer - backupRetentionIntervalInHours: - description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' - type: integer - type: object - type: - type: string - type: object - type: object - capabilities: - description: 'Capabilities: List of Cosmos DB capabilities for the account' + audiences: + description: 'Audiences: The list of audiences that can appear in the issued token.' items: - description: Cosmos DB capability object - properties: - name: - description: |- - Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include - "EnableTable" and "EnableGremlin". - type: string - type: object + type: string type: array conditions: description: 'Conditions: The observed state of the resource' @@ -58358,313 +117329,369 @@ spec: - type type: object type: array - connectorOffer: - description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - consistencyPolicy: - description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + issuer: + description: 'Issuer: The URL of the issuer to be trusted.' + type: string + name: + description: 'Name: The name of the resource' + type: string + subject: + description: 'Subject: The identifier of the external identity.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - defaultConsistencyLevel: - description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - maxIntervalInSeconds: - description: |- - MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of - staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is - set to 'BoundedStaleness'. - type: integer - maxStalenessPrefix: - description: |- - MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale - requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set - to 'BoundedStaleness'. - type: integer type: object - cors: - description: 'Cors: The CORS policy for the Cosmos DB database account.' + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230131storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230131.FederatedIdentityCredential + Generator information: + - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/stable/2023-01-31/ManagedIdentity.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230131.FederatedIdentityCredential_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: items: - description: The CORS policy for the Cosmos DB database account. - properties: - allowedHeaders: - description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' - type: string - allowedMethods: - description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' - type: string - allowedOrigins: - description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' - type: string - exposedHeaders: - description: |- - ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to - the request issuer. - type: string - maxAgeInSeconds: - description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' - type: integer - type: object + type: string type: array - databaseAccountOfferType: - description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' - type: string - defaultIdentity: + azureName: description: |- - DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default - identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - disableKeyBasedMetadataWriteAccess: - description: |- - DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) - via account keys - type: boolean - documentEndpoint: - description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' + issuer: type: string - enableAnalyticalStorage: - description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' - type: boolean - enableAutomaticFailover: + issuerFromConfig: description: |- - EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable - due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the - failover priorities configured for the account. - type: boolean - enableCassandraConnector: - description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' - type: boolean - enableFreeTier: - description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' - type: boolean - enableMultipleWriteLocations: - description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' - type: boolean - failoverPolicies: - description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' - items: - description: The failover policy for a given region of a database account. - properties: - failoverPriority: - description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - type: integer - id: - description: |- - Id: The unique identifier of the region in which the database account replicates to. Example: - <accountName>-<locationName>. - type: string - locationName: - description: 'LocationName: The name of the region in which the database account exists.' - type: string - type: object - type: array - id: - description: 'Id: The unique resource identifier of the ARM resource.' - type: string - identity: - description: 'Identity: Identity for the resource.' + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - principalId: - description: |- - PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned - identity. - type: string - tenantId: - description: |- - TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned - identity. + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - type: + name: description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - userAssignedIdentities: + required: + - key + - name + type: object + operatorSpec: + description: |- + Storage version of v1api20230131.FederatedIdentityCredentialOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - description: |- - UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object - type: object - ipRules: - description: 'IpRules: List of IpRules.' - items: - description: IpAddressOrRange object - properties: - ipAddressOrRange: - description: |- - IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be - well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, - 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” - or “23.40.210.0/8”. - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' - type: boolean - keyVaultKeyUri: - description: 'KeyVaultKeyUri: The URI of the key vault' - type: string - kind: - description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' - type: string - locations: - description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' - items: - description: A region in which the Azure Cosmos DB database account is deployed. - properties: - documentEndpoint: - description: |- - DocumentEndpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/ - type: string - failoverPriority: + type: array + secretExpressions: + items: description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - type: integer - id: - description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' - type: string - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' - type: string - provisioningState: - type: string - type: object - type: array - name: - description: 'Name: The name of the ARM resource.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: type: string - networkAclBypass: - description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a managedidentity.azure.com/UserAssignedIdentity resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + subject: type: string - networkAclBypassResourceIds: - description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230131.FederatedIdentityCredential_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + audiences: items: type: string type: array - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' + conditions: items: - description: A private endpoint connection + description: Condition defines an extension to status (an observation) of a resource properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - type: object - type: array - provisioningState: - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' - type: string - readLocations: - description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' - items: - description: A region in which the Azure Cosmos DB database account is deployed. - properties: - documentEndpoint: - description: |- - DocumentEndpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/ + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - failoverPriority: + observedGeneration: description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - id: - description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' - type: string - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' - type: string - provisioningState: - type: string - type: object - type: array - tags: - additionalProperties: - type: string - type: object - type: - description: 'Type: The type of Azure resource.' - type: string - virtualNetworkRules: - description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' - items: - description: Virtual Network ACL Rule object - properties: - id: - description: |- - Id: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - type: string - ignoreMissingVNetServiceEndpoint: - description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' - type: boolean - type: object - type: array - writeLocations: - description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' - items: - description: A region in which the Azure Cosmos DB database account is deployed. - properties: - documentEndpoint: + reason: description: |- - DocumentEndpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/ + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - failoverPriority: + severity: description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - type: integer - id: - description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' + status: + description: Status of the condition, one of True, False, or Unknown. type: string - provisioningState: + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array + id: + type: string + issuer: + type: string + name: + type: string + subject: + type: string + systemData: + description: |- + Storage version of v1api20230131.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: firewallpolicies.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: FirewallPolicy + listKind: FirewallPolicyList + plural: firewallpolicies + singular: firewallpolicy + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -58678,14 +117705,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20240301 schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.DatabaseAccount Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName} properties: apiVersion: description: |- @@ -58705,208 +117731,101 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.DatabaseAccount_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - analyticalStorageConfiguration: - description: |- - Storage version of v1api20210515.AnalyticalStorageConfiguration - Analytical storage specific properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - schemaType: - type: string - type: object - apiProperties: - description: Storage version of v1api20210515.ApiProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - serverVersion: - type: string - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backupPolicy: - description: Storage version of v1api20210515.BackupPolicy + basePolicy: + description: 'BasePolicy: The parent firewall policy from which rules are inherited.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - continuous: - description: Storage version of v1api20210515.ContinuousModeBackupPolicy + reference: + description: 'Reference: Resource ID.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - periodic: - description: Storage version of v1api20210515.PeriodicModeBackupPolicy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - periodicModeProperties: - description: |- - Storage version of v1api20210515.PeriodicModeProperties - Configuration values for periodic mode backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupIntervalInMinutes: - type: integer - backupRetentionIntervalInHours: - type: integer - type: object - type: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object type: object - capabilities: - items: - description: |- - Storage version of v1api20210515.Capability - Cosmos DB capability object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - type: array - connectorOffer: - type: string - consistencyPolicy: - description: |- - Storage version of v1api20210515.ConsistencyPolicy - The consistency policy for the Cosmos DB database account. + dnsSettings: + description: 'DnsSettings: DNS Proxy Settings definition.' properties: - $propertyBag: - additionalProperties: + enableProxy: + description: 'EnableProxy: Enable DNS Proxy on Firewalls attached to the Firewall Policy.' + type: boolean + requireProxyForNetworkRules: + description: 'RequireProxyForNetworkRules: FQDNs in Network Rules are supported when set to true.' + type: boolean + servers: + description: 'Servers: List of Custom DNS Servers.' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultConsistencyLevel: - type: string - maxIntervalInSeconds: + type: array + type: object + explicitProxy: + description: 'ExplicitProxy: Explicit Proxy Settings definition.' + properties: + enableExplicitProxy: + description: 'EnableExplicitProxy: When set to true, explicit proxy mode is enabled.' + type: boolean + enablePacFile: + description: 'EnablePacFile: When set to true, pac file port and url needs to be provided.' + type: boolean + httpPort: + description: 'HttpPort: Port number for explicit proxy http protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 type: integer - maxStalenessPrefix: + httpsPort: + description: 'HttpsPort: Port number for explicit proxy https protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + pacFile: + description: 'PacFile: SAS URL for PAC file.' + type: string + pacFilePort: + description: 'PacFilePort: Port number for firewall to serve PAC file.' + maximum: 64000 + minimum: 0 type: integer type: object - cors: - items: - description: |- - Storage version of v1api20210515.CorsPolicy - The CORS policy for the Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHeaders: - type: string - allowedMethods: - type: string - allowedOrigins: - type: string - exposedHeaders: - type: string - maxAgeInSeconds: - type: integer - type: object - type: array - databaseAccountOfferType: - type: string - defaultIdentity: - type: string - disableKeyBasedMetadataWriteAccess: - type: boolean - enableAnalyticalStorage: - type: boolean - enableAutomaticFailover: - type: boolean - enableCassandraConnector: - type: boolean - enableFreeTier: - type: boolean - enableMultipleWriteLocations: - type: boolean identity: - description: |- - Storage version of v1api20210515.ManagedServiceIdentity - Identity for the resource. + description: 'Identity: The identity of the firewall policy.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual + machine. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: - description: |- - Storage version of v1api20210515.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: @@ -58930,71 +117849,186 @@ spec: type: object type: array type: object - ipRules: - items: - description: |- - Storage version of v1api20210515.IpAddressOrRange - IpAddressOrRange object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddressOrRange: - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - type: boolean - keyVaultKeyUri: - type: string - kind: - type: string + insights: + description: 'Insights: Insights on Firewall Policy.' + properties: + isEnabled: + description: 'IsEnabled: A flag to indicate if the insights are enabled on the policy.' + type: boolean + logAnalyticsResources: + description: 'LogAnalyticsResources: Workspaces needed to configure the Firewall Policy Insights.' + properties: + defaultWorkspaceId: + description: 'DefaultWorkspaceId: The default workspace Id for Firewall Policy Insights.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + workspaces: + description: 'Workspaces: List of workspaces for Firewall Policy Insights.' + items: + description: Log Analytics Workspace for Firewall Policy Insights. + properties: + region: + description: 'Region: Region to configure the Workspace.' + type: string + workspaceId: + description: 'WorkspaceId: The workspace Id for Firewall Policy Insights.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + retentionDays: + description: 'RetentionDays: Number of days the insights should be enabled on the policy.' + type: integer + type: object + intrusionDetection: + description: 'IntrusionDetection: The configuration for Intrusion detection.' + properties: + configuration: + description: 'Configuration: Intrusion detection configuration properties.' + properties: + bypassTrafficSettings: + description: 'BypassTrafficSettings: List of rules for traffic to bypass.' + items: + description: Intrusion detection bypass traffic specification. + properties: + description: + description: 'Description: Description of the bypass traffic rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or ranges for this rule.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports or ranges.' + items: + type: string + type: array + name: + description: 'Name: Name of the bypass traffic rule.' + type: string + protocol: + description: 'Protocol: The rule bypass protocol.' + enum: + - ANY + - ICMP + - TCP + - UDP + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses or ranges for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: array + privateRanges: + description: |- + PrivateRanges: IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By + default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify + your Private IP address ranges with this property + items: + type: string + type: array + signatureOverrides: + description: 'SignatureOverrides: List of specific signatures states.' + items: + description: Intrusion detection signatures specification states. + properties: + id: + description: 'Id: Signature id.' + type: string + mode: + description: 'Mode: The signature state.' + enum: + - Alert + - Deny + - "Off" + type: string + type: object + type: array + type: object + mode: + description: |- + Mode: Intrusion detection general state. When attached to a parent policy, the firewall's effective IDPS mode is the + stricter mode of the two. + enum: + - Alert + - Deny + - "Off" + type: string + profile: + description: |- + Profile: IDPS profile name. When attached to a parent policy, the firewall's effective profile is the profile name of + the parent policy. + enum: + - Advanced + - Basic + - Extended + - Standard + type: string + type: object location: + description: 'Location: Resource location.' type: string - locations: - items: - description: |- - Storage version of v1api20210515.Location - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - failoverPriority: - type: integer - isZoneRedundant: - type: boolean - locationName: - type: string - type: object - type: array - networkAclBypass: - type: string - networkAclBypassResourceIds: - items: - type: string - type: array operatorSpec: description: |- - Storage version of v1api20210515.DatabaseAccountOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -59024,6 +118058,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -59052,110 +118087,7 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20210515.DatabaseAccountOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadonlyMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadonlyMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -59169,164 +118101,106 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - tags: - additionalProperties: - type: string - type: object - virtualNetworkRules: - items: - description: |- - Storage version of v1api20210515.VirtualNetworkRule - Virtual Network ACL Rule object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ignoreMissingVNetServiceEndpoint: - type: boolean - reference: - description: |- - Reference: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - owner - type: object - status: - description: Storage version of v1api20210515.DatabaseAccount_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - analyticalStorageConfiguration: - description: |- - Storage version of v1api20210515.AnalyticalStorageConfiguration_STATUS - Analytical storage specific properties. + sku: + description: 'Sku: The Firewall Policy SKU.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - schemaType: + tier: + description: 'Tier: Tier of Firewall Policy.' + enum: + - Basic + - Premium + - Standard type: string type: object - apiProperties: - description: Storage version of v1api20210515.ApiProperties_STATUS + snat: + description: 'Snat: The private IP addresses/IP ranges to which traffic will not be SNAT.' properties: - $propertyBag: - additionalProperties: + autoLearnPrivateRanges: + description: 'AutoLearnPrivateRanges: The operation mode for automatically learning private ranges to not be SNAT' + enum: + - Disabled + - Enabled + type: string + privateRanges: + description: 'PrivateRanges: List of private IP addresses/IP address ranges to not be SNAT.' + items: type: string + type: array + type: object + sql: + description: 'Sql: SQL Settings definition.' + properties: + allowSqlRedirect: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - serverVersion: - type: string + AllowSqlRedirect: A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule + using port 11000-11999. + type: boolean type: object - backupPolicy: - description: Storage version of v1api20210515.BackupPolicy_STATUS + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' + enum: + - Alert + - Deny + - "Off" + type: string + threatIntelWhitelist: + description: 'ThreatIntelWhitelist: ThreatIntel Whitelist for Firewall Policy.' properties: - $propertyBag: - additionalProperties: + fqdns: + description: 'Fqdns: List of FQDNs for the ThreatIntel Whitelist.' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - continuous: - description: Storage version of v1api20210515.ContinuousModeBackupPolicy_STATUS + type: array + ipAddresses: + description: 'IpAddresses: List of IP addresses for the ThreatIntel Whitelist.' + items: + type: string + type: array + type: object + transportSecurity: + description: 'TransportSecurity: TLS Configuration definition.' + properties: + certificateAuthority: + description: 'CertificateAuthority: The CA used for intermediate CA generation.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' type: string - type: object - periodic: - description: Storage version of v1api20210515.PeriodicModeBackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - periodicModeProperties: - description: |- - Storage version of v1api20210515.PeriodicModeProperties_STATUS - Configuration values for periodic mode backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupIntervalInMinutes: - type: integer - backupRetentionIntervalInHours: - type: integer - type: object - type: + name: + description: 'Name: Name of the CA certificate.' type: string type: object type: object - capabilities: + required: + - owner + type: object + status: + description: FirewallPolicy Resource. + properties: + basePolicy: + description: 'BasePolicy: The parent firewall policy from which rules are inherited.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + childPolicies: + description: 'ChildPolicies: List of references to Child Firewall Policies.' items: - description: |- - Storage version of v1api20210515.Capability_STATUS - Cosmos DB capability object + description: Reference to another subresource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + id: + description: 'Id: Resource ID.' type: string type: object type: array conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -59369,289 +118243,301 @@ spec: - type type: object type: array - connectorOffer: - type: string - consistencyPolicy: - description: |- - Storage version of v1api20210515.ConsistencyPolicy_STATUS - The consistency policy for the Cosmos DB database account. + dnsSettings: + description: 'DnsSettings: DNS Proxy Settings definition.' properties: - $propertyBag: - additionalProperties: + enableProxy: + description: 'EnableProxy: Enable DNS Proxy on Firewalls attached to the Firewall Policy.' + type: boolean + requireProxyForNetworkRules: + description: 'RequireProxyForNetworkRules: FQDNs in Network Rules are supported when set to true.' + type: boolean + servers: + description: 'Servers: List of Custom DNS Servers.' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultConsistencyLevel: - type: string - maxIntervalInSeconds: + type: array + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + explicitProxy: + description: 'ExplicitProxy: Explicit Proxy Settings definition.' + properties: + enableExplicitProxy: + description: 'EnableExplicitProxy: When set to true, explicit proxy mode is enabled.' + type: boolean + enablePacFile: + description: 'EnablePacFile: When set to true, pac file port and url needs to be provided.' + type: boolean + httpPort: + description: 'HttpPort: Port number for explicit proxy http protocol, cannot be greater than 64000.' type: integer - maxStalenessPrefix: + httpsPort: + description: 'HttpsPort: Port number for explicit proxy https protocol, cannot be greater than 64000.' + type: integer + pacFile: + description: 'PacFile: SAS URL for PAC file.' + type: string + pacFilePort: + description: 'PacFilePort: Port number for firewall to serve PAC file.' type: integer type: object - cors: - items: - description: |- - Storage version of v1api20210515.CorsPolicy_STATUS - The CORS policy for the Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHeaders: - type: string - allowedMethods: - type: string - allowedOrigins: - type: string - exposedHeaders: - type: string - maxAgeInSeconds: - type: integer - type: object - type: array - databaseAccountOfferType: - type: string - defaultIdentity: - type: string - disableKeyBasedMetadataWriteAccess: - type: boolean - documentEndpoint: - type: string - enableAnalyticalStorage: - type: boolean - enableAutomaticFailover: - type: boolean - enableCassandraConnector: - type: boolean - enableFreeTier: - type: boolean - enableMultipleWriteLocations: - type: boolean - failoverPolicies: + firewalls: + description: 'Firewalls: List of references to Azure Firewalls that this Firewall Policy is associated with.' items: - description: |- - Storage version of v1api20210515.FailoverPolicy_STATUS - The failover policy for a given region of a database account. + description: Reference to another subresource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - failoverPriority: - type: integer id: - type: string - locationName: + description: 'Id: Resource ID.' type: string type: object type: array id: + description: 'Id: Resource ID.' type: string identity: - description: |- - Storage version of v1api20210515.ManagedServiceIdentity_STATUS - Identity for the resource. + description: 'Identity: The identity of the firewall policy.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object principalId: + description: |- + PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned + identity. type: string tenantId: + description: |- + TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned + identity. type: string type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual + machine. type: string userAssignedIdentities: additionalProperties: - description: Storage version of v1api20210515.ManagedServiceIdentity_UserAssignedIdentities_STATUS properties: - $propertyBag: - additionalProperties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + insights: + description: 'Insights: Insights on Firewall Policy.' + properties: + isEnabled: + description: 'IsEnabled: A flag to indicate if the insights are enabled on the policy.' + type: boolean + logAnalyticsResources: + description: 'LogAnalyticsResources: Workspaces needed to configure the Firewall Policy Insights.' + properties: + defaultWorkspaceId: + description: 'DefaultWorkspaceId: The default workspace Id for Firewall Policy Insights.' + properties: + id: + description: 'Id: Resource ID.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: object + workspaces: + description: 'Workspaces: List of workspaces for Firewall Policy Insights.' + items: + description: Log Analytics Workspace for Firewall Policy Insights. + properties: + region: + description: 'Region: Region to configure the Workspace.' + type: string + workspaceId: + description: 'WorkspaceId: The workspace Id for Firewall Policy Insights.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: object - clientId: - type: string - principalId: + type: array + type: object + retentionDays: + description: 'RetentionDays: Number of days the insights should be enabled on the policy.' + type: integer + type: object + intrusionDetection: + description: 'IntrusionDetection: The configuration for Intrusion detection.' + properties: + configuration: + description: 'Configuration: Intrusion detection configuration properties.' + properties: + bypassTrafficSettings: + description: 'BypassTrafficSettings: List of rules for traffic to bypass.' + items: + description: Intrusion detection bypass traffic specification. + properties: + description: + description: 'Description: Description of the bypass traffic rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or ranges for this rule.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports or ranges.' + items: + type: string + type: array + name: + description: 'Name: Name of the bypass traffic rule.' + type: string + protocol: + description: 'Protocol: The rule bypass protocol.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses or ranges for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: array + privateRanges: + description: |- + PrivateRanges: IDPS Private IP address ranges are used to identify traffic direction (i.e. inbound, outbound, etc.). By + default, only ranges defined by IANA RFC 1918 are considered private IP addresses. To modify default ranges, specify + your Private IP address ranges with this property + items: type: string - type: object + type: array + signatureOverrides: + description: 'SignatureOverrides: List of specific signatures states.' + items: + description: Intrusion detection signatures specification states. + properties: + id: + description: 'Id: Signature id.' + type: string + mode: + description: 'Mode: The signature state.' + type: string + type: object + type: array type: object + mode: + description: |- + Mode: Intrusion detection general state. When attached to a parent policy, the firewall's effective IDPS mode is the + stricter mode of the two. + type: string + profile: + description: |- + Profile: IDPS profile name. When attached to a parent policy, the firewall's effective profile is the profile name of + the parent policy. + type: string type: object - ipRules: - items: - description: |- - Storage version of v1api20210515.IpAddressOrRange_STATUS - IpAddressOrRange object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddressOrRange: - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - type: boolean - keyVaultKeyUri: - type: string - kind: - type: string location: + description: 'Location: Resource location.' type: string - locations: - items: - description: |- - Storage version of v1api20210515.Location_STATUS - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - type: string - failoverPriority: - type: integer - id: - type: string - isZoneRedundant: - type: boolean - locationName: - type: string - provisioningState: - type: string - type: object - type: array name: + description: 'Name: Resource name.' type: string - networkAclBypass: + provisioningState: + description: 'ProvisioningState: The provisioning state of the firewall policy resource.' type: string - networkAclBypassResourceIds: - items: - type: string - type: array - privateEndpointConnections: + ruleCollectionGroups: + description: 'RuleCollectionGroups: List of references to FirewallPolicyRuleCollectionGroups.' items: - description: |- - Storage version of v1api20210515.PrivateEndpointConnection_STATUS - A private endpoint connection + description: Reference to another subresource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object id: + description: 'Id: Resource ID.' type: string type: object type: array - provisioningState: - type: string - publicNetworkAccess: + size: + description: 'Size: A read-only string that represents the size of the FirewallPolicyPropertiesFormat in MB. (ex 0.5MB)' type: string - readLocations: - items: - description: |- - Storage version of v1api20210515.Location_STATUS - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - type: string - failoverPriority: - type: integer - id: - type: string - isZoneRedundant: - type: boolean - locationName: - type: string - provisioningState: + sku: + description: 'Sku: The Firewall Policy SKU.' + properties: + tier: + description: 'Tier: Tier of Firewall Policy.' + type: string + type: object + snat: + description: 'Snat: The private IP addresses/IP ranges to which traffic will not be SNAT.' + properties: + autoLearnPrivateRanges: + description: 'AutoLearnPrivateRanges: The operation mode for automatically learning private ranges to not be SNAT' + type: string + privateRanges: + description: 'PrivateRanges: List of private IP addresses/IP address ranges to not be SNAT.' + items: type: string - type: object - type: array + type: array + type: object + sql: + description: 'Sql: SQL Settings definition.' + properties: + allowSqlRedirect: + description: |- + AllowSqlRedirect: A flag to indicate if SQL Redirect traffic filtering is enabled. Turning on the flag requires no rule + using port 11000-11999. + type: boolean + type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags.' type: object - type: + threatIntelMode: + description: 'ThreatIntelMode: The operation mode for Threat Intelligence.' type: string - virtualNetworkRules: - items: - description: |- - Storage version of v1api20210515.VirtualNetworkRule_STATUS - Virtual Network ACL Rule object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - ignoreMissingVNetServiceEndpoint: - type: boolean - type: object - type: array - writeLocations: - items: - description: |- - Storage version of v1api20210515.Location_STATUS - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - type: string - failoverPriority: - type: integer - id: - type: string - isZoneRedundant: - type: boolean - locationName: + threatIntelWhitelist: + description: 'ThreatIntelWhitelist: ThreatIntel Whitelist for Firewall Policy.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for the ThreatIntel Whitelist.' + items: type: string - provisioningState: + type: array + ipAddresses: + description: 'IpAddresses: List of IP addresses for the ThreatIntel Whitelist.' + items: type: string - type: object - type: array + type: array + type: object + transportSecurity: + description: 'TransportSecurity: TLS Configuration definition.' + properties: + certificateAuthority: + description: 'CertificateAuthority: The CA used for intermediate CA generation.' + properties: + keyVaultSecretId: + description: 'KeyVaultSecretId: Secret Id of (base-64 encoded unencrypted pfx) ''Secret'' or ''Certificate'' object stored in KeyVault.' + type: string + name: + description: 'Name: Name of the CA certificate.' + type: string + type: object + type: object + type: + description: 'Type: Resource type.' + type: string type: object type: object served: true @@ -59671,13 +118557,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20240301storage schema: openAPIV3Schema: description: |- + Storage version of v1api20240301.FirewallPolicy Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName} properties: apiVersion: description: |- @@ -59697,295 +118584,126 @@ spec: metadata: type: object spec: + description: Storage version of v1api20240301.FirewallPolicy_Spec properties: - analyticalStorageConfiguration: - description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' - properties: - schemaType: - description: 'SchemaType: Describes the types of schema for analytical storage.' - enum: - - FullFidelity - - WellDefined - type: string - type: object - apiProperties: - description: 'ApiProperties: API specific properties. Currently, supported only for MongoDB API.' - properties: - serverVersion: - description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' - enum: - - "3.2" - - "3.6" - - "4.0" - - "4.2" - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 3 - pattern: ^[a-z0-9]+(-[a-z0-9]+)* type: string - backupPolicy: - description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + basePolicy: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. properties: - continuous: - description: 'Continuous: Mutually exclusive with all other properties' - properties: - continuousModeProperties: - description: 'ContinuousModeProperties: Configuration values for continuous mode backup' - properties: - tier: - description: 'Tier: Enum to indicate type of Continuous backup mode' - enum: - - Continuous30Days - - Continuous7Days - type: string - type: object - migrationState: - description: 'MigrationState: The object representing the state of the migration between the backup policies.' - properties: - startTime: - description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' - type: string - status: - description: 'Status: Describes the status of migration between backup policy types.' - enum: - - Completed - - Failed - - InProgress - - Invalid - type: string - targetType: - description: 'TargetType: Describes the target backup policy type of the backup policy migration.' - enum: - - Continuous - - Periodic - type: string - type: object - type: - description: 'Type: Describes the mode of backups.' - enum: - - Continuous - type: string - required: - - type + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - periodic: - description: 'Periodic: Mutually exclusive with all other properties' + reference: + description: 'Reference: Resource ID.' properties: - migrationState: - description: 'MigrationState: The object representing the state of the migration between the backup policies.' - properties: - startTime: - description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' - type: string - status: - description: 'Status: Describes the status of migration between backup policy types.' - enum: - - Completed - - Failed - - InProgress - - Invalid - type: string - targetType: - description: 'TargetType: Describes the target backup policy type of the backup policy migration.' - enum: - - Continuous - - Periodic - type: string - type: object - periodicModeProperties: - description: 'PeriodicModeProperties: Configuration values for periodic mode backup' - properties: - backupIntervalInMinutes: - description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' - minimum: 0 - type: integer - backupRetentionIntervalInHours: - description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' - minimum: 0 - type: integer - backupStorageRedundancy: - description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' - enum: - - Geo - - Local - - Zone - type: string - type: object - type: - description: 'Type: Describes the mode of backups.' - enum: - - Periodic + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - type type: object type: object - capabilities: - description: 'Capabilities: List of Cosmos DB capabilities for the account' - items: - description: Cosmos DB capability object - properties: - name: - description: |- - Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include - "EnableTable" and "EnableGremlin". - type: string - type: object - type: array - capacity: - description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' + dnsSettings: + description: |- + Storage version of v1api20240301.DnsSettings + DNS Proxy Settings in Firewall Policy. properties: - totalThroughputLimit: + $propertyBag: + additionalProperties: + type: string description: |- - TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict - limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no - limits on provisioning of throughput. - minimum: -1 - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableProxy: + type: boolean + requireProxyForNetworkRules: + type: boolean + servers: + items: + type: string + type: array type: object - connectorOffer: - description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' - enum: - - Small - type: string - consistencyPolicy: - description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB account.' + explicitProxy: + description: |- + Storage version of v1api20240301.ExplicitProxy + Explicit Proxy Settings in Firewall Policy. properties: - defaultConsistencyLevel: - description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' - enum: - - BoundedStaleness - - ConsistentPrefix - - Eventual - - Session - - Strong - type: string - maxIntervalInSeconds: + $propertyBag: + additionalProperties: + type: string description: |- - MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of - staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is - set to 'BoundedStaleness'. - maximum: 86400 - minimum: 5 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableExplicitProxy: + type: boolean + enablePacFile: + type: boolean + httpPort: type: integer - maxStalenessPrefix: - description: |- - MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale - requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set - to 'BoundedStaleness'. - maximum: 2147483647 - minimum: 1 + httpsPort: + type: integer + pacFile: + type: string + pacFilePort: type: integer - required: - - defaultConsistencyLevel type: object - cors: - description: 'Cors: The CORS policy for the Cosmos DB database account.' - items: - description: The CORS policy for the Cosmos DB database account. - properties: - allowedHeaders: - description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' - type: string - allowedMethods: - description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' - type: string - allowedOrigins: - description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' - type: string - exposedHeaders: - description: |- - ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to - the request issuer. - type: string - maxAgeInSeconds: - description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' - maximum: 2147483647 - minimum: 1 - type: integer - required: - - allowedOrigins - type: object - type: array - createMode: - description: 'CreateMode: Enum to indicate the mode of account creation.' - enum: - - Default - - Restore - type: string - customerManagedKeyStatus: - description: |- - CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are - errors, the property provides troubleshooting guidance. - type: string - databaseAccountOfferType: - description: 'DatabaseAccountOfferType: The offer type for the database' - enum: - - Standard - type: string - defaultIdentity: - description: |- - DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default - identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. - type: string - disableKeyBasedMetadataWriteAccess: - description: |- - DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) - via account keys - type: boolean - disableLocalAuth: - description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' - type: boolean - enableAnalyticalStorage: - description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' - type: boolean - enableAutomaticFailover: - description: |- - EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable - due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the - failover priorities configured for the account. - type: boolean - enableBurstCapacity: - description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' - type: boolean - enableCassandraConnector: - description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' - type: boolean - enableFreeTier: - description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' - type: boolean - enableMultipleWriteLocations: - description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' - type: boolean - enablePartitionMerge: - description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' - type: boolean identity: - description: 'Identity: Identity for the resource.' + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Identity for the resource. properties: - type: + $propertyBag: + additionalProperties: + type: string description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. - enum: - - None - - SystemAssigned - - SystemAssigned,UserAssigned - - UserAssigned + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: type: string userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: - description: Information about the user assigned identity for the resource + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: @@ -60009,103 +118727,228 @@ spec: type: object type: array type: object - ipRules: - description: 'IpRules: List of IpRules.' - items: - description: IpAddressOrRange object - properties: - ipAddressOrRange: - description: |- - IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be - well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, - 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” - or “23.40.210.0/8”. - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' - type: boolean - keyVaultKeyUri: - description: 'KeyVaultKeyUri: The URI of the key vault' - type: string - kind: - description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' - enum: - - GlobalDocumentDB - - MongoDB - - Parse - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' - type: string - locations: - description: 'Locations: An array that contains the georeplication locations enabled for the Cosmos DB account.' - items: - description: A region in which the Azure Cosmos DB database account is deployed. - properties: - failoverPriority: - description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - minimum: 0 - type: integer - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' - type: string - type: object - type: array - minimalTlsVersion: - description: |- - MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs - only work with Tls 1.2. - enum: - - Tls - - Tls11 - - Tls12 - type: string - networkAclBypass: - description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' - enum: - - AzureServices - - None - type: string - networkAclBypassResourceReferences: + insights: description: |- - NetworkAclBypassResourceReferences: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB - account. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Storage version of v1api20240301.FirewallPolicyInsights + Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + logAnalyticsResources: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsResources + Log Analytics Resources for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultWorkspaceId: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + workspaces: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsWorkspace + Log Analytics Workspace for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + region: + type: string + workspaceId: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + type: object + retentionDays: + type: integer + type: object + intrusionDetection: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetection + Configuration for intrusion detection mode and rules. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configuration: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionConfiguration + The operation for configuring intrusion detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypassTrafficSettings: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionBypassTrafficSpecifications + Intrusion detection bypass traffic specification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocol: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: array + privateRanges: + items: + type: string + type: array + signatureOverrides: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionSignatureSpecification + Intrusion detection signatures specification states. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + mode: + type: string + type: object + type: array + type: object + mode: + type: string + profile: + type: string + type: object + location: + type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20240301.FirewallPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -60135,7 +118978,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -60164,96 +119006,9 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - documentEndpoint: - description: |- - DocumentEndpoint: indicates where the DocumentEndpoint secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryMasterKey: - description: |- - PrimaryMasterKey: indicates where the PrimaryMasterKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadonlyMasterKey: - description: |- - PrimaryReadonlyMasterKey: indicates where the PrimaryReadonlyMasterKey secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryMasterKey: - description: |- - SecondaryMasterKey: indicates where the SecondaryMasterKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadonlyMasterKey: - description: |- - SecondaryReadonlyMasterKey: indicates where the SecondaryReadonlyMasterKey secret should be placed. If omitted, the - secret will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -60267,210 +119022,160 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' - enum: - - Disabled - - Enabled - - SecuredByPerimeter - type: string - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore.' + sku: + description: |- + Storage version of v1api20240301.FirewallPolicySku + SKU of Firewall policy. properties: - databasesToRestore: - description: 'DatabasesToRestore: List of specific databases available for restore.' - items: - description: Specific Databases to restore. - properties: - collectionNames: - description: 'CollectionNames: The names of the collections available for restore.' - items: - type: string - type: array - databaseName: - description: 'DatabaseName: The name of the database available for restore.' - type: string - type: object - type: array - gremlinDatabasesToRestore: - description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' - items: - description: Specific Gremlin Databases to restore. - properties: - databaseName: - description: 'DatabaseName: The name of the gremlin database available for restore.' - type: string - graphNames: - description: 'GraphNames: The names of the graphs available for restore.' - items: - type: string - type: array - type: object - type: array - restoreMode: - description: 'RestoreMode: Describes the mode of the restore.' - enum: - - PointInTime - type: string - restoreSource: + $propertyBag: + additionalProperties: + type: string description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: object + snat: + description: |- + Storage version of v1api20240301.FirewallPolicySNAT + The private IP addresses/IP ranges to which traffic will not be SNAT. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoLearnPrivateRanges: type: string - tablesToRestore: - description: 'TablesToRestore: List of specific tables available for restore.' + privateRanges: + items: + type: string + type: array + type: object + sql: + description: |- + Storage version of v1api20240301.FirewallPolicySQL + SQL Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowSqlRedirect: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + threatIntelWhitelist: + description: |- + Storage version of v1api20240301.FirewallPolicyThreatIntelWhitelist + ThreatIntel Whitelist for Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + ipAddresses: items: type: string type: array type: object - tags: - additionalProperties: - type: string - type: object - virtualNetworkRules: - description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' - items: - description: Virtual Network ACL Rule object - properties: - ignoreMissingVNetServiceEndpoint: - description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' - type: boolean - reference: - description: |- - Reference: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + transportSecurity: + description: |- + Storage version of v1api20240301.FirewallPolicyTransportSecurity + Configuration needed to perform TLS termination & initiation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240301.FirewallPolicyCertificateAuthority + Trusted Root certificates properties for tls. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultSecretId: + type: string + name: + type: string + type: object + type: object required: - - databaseAccountOfferType - - locations - owner type: object status: + description: |- + Storage version of v1api20240301.FirewallPolicy_STATUS + FirewallPolicy Resource. properties: - analyticalStorageConfiguration: - description: 'AnalyticalStorageConfiguration: Analytical storage specific properties.' - properties: - schemaType: - description: 'SchemaType: Describes the types of schema for analytical storage.' - type: string - type: object - apiProperties: - description: 'ApiProperties: API specific properties.' - properties: - serverVersion: - description: 'ServerVersion: Describes the ServerVersion of an a MongoDB account.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - backupPolicy: - description: 'BackupPolicy: The object representing the policy for taking backups on an account.' + basePolicy: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - continuous: - description: 'Continuous: Mutually exclusive with all other properties' - properties: - continuousModeProperties: - description: 'ContinuousModeProperties: Configuration values for continuous mode backup' - properties: - tier: - description: 'Tier: Enum to indicate type of Continuous backup mode' - type: string - type: object - migrationState: - description: 'MigrationState: The object representing the state of the migration between the backup policies.' - properties: - startTime: - description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' - type: string - status: - description: 'Status: Describes the status of migration between backup policy types.' - type: string - targetType: - description: 'TargetType: Describes the target backup policy type of the backup policy migration.' - type: string - type: object - type: - description: 'Type: Describes the mode of backups.' - type: string - type: object - periodic: - description: 'Periodic: Mutually exclusive with all other properties' - properties: - migrationState: - description: 'MigrationState: The object representing the state of the migration between the backup policies.' - properties: - startTime: - description: 'StartTime: Time at which the backup policy migration started (ISO-8601 format).' - type: string - status: - description: 'Status: Describes the status of migration between backup policy types.' - type: string - targetType: - description: 'TargetType: Describes the target backup policy type of the backup policy migration.' - type: string - type: object - periodicModeProperties: - description: 'PeriodicModeProperties: Configuration values for periodic mode backup' - properties: - backupIntervalInMinutes: - description: 'BackupIntervalInMinutes: An integer representing the interval in minutes between two backups' - type: integer - backupRetentionIntervalInHours: - description: 'BackupRetentionIntervalInHours: An integer representing the time (in hours) that each backup is retained' - type: integer - backupStorageRedundancy: - description: 'BackupStorageRedundancy: Enum to indicate type of backup residency' - type: string - type: object - type: - description: 'Type: Describes the mode of backups.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + id: + type: string type: object - capabilities: - description: 'Capabilities: List of Cosmos DB capabilities for the account' + childPolicies: items: - description: Cosmos DB capability object + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name: Name of the Cosmos DB capability. For example, "name": "EnableCassandra". Current values also include - "EnableTable" and "EnableGremlin". + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: array - capacity: - description: 'Capacity: The object that represents all properties related to capacity enforcement on an account.' - properties: - totalThroughputLimit: - description: |- - TotalThroughputLimit: The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict - limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no - limits on provisioning of throughput. - type: integer - type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -60513,444 +119218,1536 @@ spec: - type type: object type: array - connectorOffer: - description: 'ConnectorOffer: The cassandra connector offer type for the Cosmos DB database C* account.' + dnsSettings: + description: |- + Storage version of v1api20240301.DnsSettings_STATUS + DNS Proxy Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableProxy: + type: boolean + requireProxyForNetworkRules: + type: boolean + servers: + items: + type: string + type: array + type: object + etag: type: string - consistencyPolicy: - description: 'ConsistencyPolicy: The consistency policy for the Cosmos DB database account.' + explicitProxy: + description: |- + Storage version of v1api20240301.ExplicitProxy_STATUS + Explicit Proxy Settings in Firewall Policy. properties: - defaultConsistencyLevel: - description: 'DefaultConsistencyLevel: The default consistency level and configuration settings of the Cosmos DB account.' - type: string - maxIntervalInSeconds: + $propertyBag: + additionalProperties: + type: string description: |- - MaxIntervalInSeconds: When used with the Bounded Staleness consistency level, this value represents the time amount of - staleness (in seconds) tolerated. Accepted range for this value is 5 - 86400. Required when defaultConsistencyPolicy is - set to 'BoundedStaleness'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableExplicitProxy: + type: boolean + enablePacFile: + type: boolean + httpPort: type: integer - maxStalenessPrefix: - description: |- - MaxStalenessPrefix: When used with the Bounded Staleness consistency level, this value represents the number of stale - requests tolerated. Accepted range for this value is 1 – 2,147,483,647. Required when defaultConsistencyPolicy is set - to 'BoundedStaleness'. + httpsPort: + type: integer + pacFile: + type: string + pacFilePort: type: integer type: object - cors: - description: 'Cors: The CORS policy for the Cosmos DB database account.' - items: - description: The CORS policy for the Cosmos DB database account. - properties: - allowedHeaders: - description: 'AllowedHeaders: The request headers that the origin domain may specify on the CORS request.' - type: string - allowedMethods: - description: 'AllowedMethods: The methods (HTTP request verbs) that the origin domain may use for a CORS request.' - type: string - allowedOrigins: - description: 'AllowedOrigins: The origin domains that are permitted to make a request against the service via CORS.' - type: string - exposedHeaders: - description: |- - ExposedHeaders: The response headers that may be sent in the response to the CORS request and exposed by the browser to - the request issuer. - type: string - maxAgeInSeconds: - description: 'MaxAgeInSeconds: The maximum amount time that a browser should cache the preflight OPTIONS request.' - type: integer - type: object - type: array - createMode: - description: 'CreateMode: Enum to indicate the mode of account creation.' - type: string - customerManagedKeyStatus: - description: |- - CustomerManagedKeyStatus: Indicates the status of the Customer Managed Key feature on the account. In case there are - errors, the property provides troubleshooting guidance. - type: string - databaseAccountOfferType: - description: 'DatabaseAccountOfferType: The offer type for the Cosmos DB database account. Default value: Standard.' - type: string - defaultIdentity: - description: |- - DefaultIdentity: The default identity for accessing key vault used in features like customer managed keys. The default - identity needs to be explicitly set by the users. It can be "FirstPartyIdentity", "SystemAssignedIdentity" and more. - type: string - disableKeyBasedMetadataWriteAccess: - description: |- - DisableKeyBasedMetadataWriteAccess: Disable write operations on metadata resources (databases, containers, throughput) - via account keys - type: boolean - disableLocalAuth: - description: 'DisableLocalAuth: Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.' - type: boolean - documentEndpoint: - description: 'DocumentEndpoint: The connection endpoint for the Cosmos DB database account.' - type: string - enableAnalyticalStorage: - description: 'EnableAnalyticalStorage: Flag to indicate whether to enable storage analytics.' - type: boolean - enableAutomaticFailover: - description: |- - EnableAutomaticFailover: Enables automatic failover of the write region in the rare event that the region is unavailable - due to an outage. Automatic failover will result in a new write region for the account and is chosen based on the - failover priorities configured for the account. - type: boolean - enableBurstCapacity: - description: 'EnableBurstCapacity: Flag to indicate enabling/disabling of Burst Capacity feature on the account' - type: boolean - enableCassandraConnector: - description: 'EnableCassandraConnector: Enables the cassandra connector on the Cosmos DB C* account' - type: boolean - enableFreeTier: - description: 'EnableFreeTier: Flag to indicate whether Free Tier is enabled.' - type: boolean - enableMultipleWriteLocations: - description: 'EnableMultipleWriteLocations: Enables the account to write in multiple locations' - type: boolean - enablePartitionMerge: - description: 'EnablePartitionMerge: Flag to indicate enabling/disabling of Partition Merge feature on the account' - type: boolean - failoverPolicies: - description: 'FailoverPolicies: An array that contains the regions ordered by their failover priorities.' + firewalls: items: - description: The failover policy for a given region of a database account. + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - failoverPriority: + $propertyBag: + additionalProperties: + type: string description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object id: - description: |- - Id: The unique identifier of the region in which the database account replicates to. Example: - <accountName>-<locationName>. - type: string - locationName: - description: 'LocationName: The name of the region in which the database account exists.' type: string type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' type: string identity: - description: 'Identity: Identity for the resource.' + description: |- + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Identity for the resource. properties: - principalId: + $propertyBag: + additionalProperties: + type: string description: |- - PrincipalId: The principal id of the system assigned identity. This property will only be provided for a system assigned - identity. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: type: string tenantId: - description: |- - TenantId: The tenant id of the system assigned identity. This property will only be provided for a system assigned - identity. type: string type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. type: string userAssignedIdentities: additionalProperties: + description: Storage version of v1api20240301.ManagedServiceIdentity_UserAssignedIdentities_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object clientId: - description: 'ClientId: The client id of user assigned identity.' type: string principalId: - description: 'PrincipalId: The principal id of user assigned identity.' type: string type: object + type: object + type: object + insights: + description: |- + Storage version of v1api20240301.FirewallPolicyInsights_STATUS + Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - UserAssignedIdentities: The list of user identities associated with resource. The user identity dictionary key - references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isEnabled: + type: boolean + logAnalyticsResources: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsResources_STATUS + Log Analytics Resources for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultWorkspaceId: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + workspaces: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyLogAnalyticsWorkspace_STATUS + Log Analytics Workspace for Firewall Policy Insights. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + region: + type: string + workspaceId: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array type: object + retentionDays: + type: integer type: object - instanceId: - description: 'InstanceId: A unique identifier assigned to the database account' + intrusionDetection: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetection_STATUS + Configuration for intrusion detection mode and rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configuration: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionConfiguration_STATUS + The operation for configuring intrusion detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bypassTrafficSettings: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionBypassTrafficSpecifications_STATUS + Intrusion detection bypass traffic specification. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + name: + type: string + protocol: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: array + privateRanges: + items: + type: string + type: array + signatureOverrides: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyIntrusionDetectionSignatureSpecification_STATUS + Intrusion detection signatures specification states. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + mode: + type: string + type: object + type: array + type: object + mode: + type: string + profile: + type: string + type: object + location: type: string - ipRules: - description: 'IpRules: List of IpRules.' + name: + type: string + provisioningState: + type: string + ruleCollectionGroups: items: - description: IpAddressOrRange object + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - ipAddressOrRange: + $propertyBag: + additionalProperties: + type: string description: |- - IpAddressOrRange: A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be - well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, - 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” - or “23.40.210.0/8”. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: array - isVirtualNetworkFilterEnabled: - description: 'IsVirtualNetworkFilterEnabled: Flag to indicate whether to enable/disable Virtual Network ACL rules.' - type: boolean - keyVaultKeyUri: - description: 'KeyVaultKeyUri: The URI of the key vault' + size: type: string - keysMetadata: - description: 'KeysMetadata: The object that represents the metadata for the Account Keys of the Cosmos DB account.' + sku: + description: |- + Storage version of v1api20240301.FirewallPolicySku_STATUS + SKU of Firewall policy. properties: - primaryMasterKey: - description: 'PrimaryMasterKey: The metadata related to the Primary Read-Write Key for the given Cosmos DB database account.' - properties: - generationTime: - description: |- - GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means - that the last key regeneration was triggered before 2022-06-18. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - primaryReadonlyMasterKey: - description: 'PrimaryReadonlyMasterKey: The metadata related to the Primary Read-Only Key for the given Cosmos DB database account.' - properties: - generationTime: - description: |- - GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means - that the last key regeneration was triggered before 2022-06-18. - type: string + tier: + type: string + type: object + snat: + description: |- + Storage version of v1api20240301.FirewallPolicySNAT_STATUS + The private IP addresses/IP ranges to which traffic will not be SNAT. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - secondaryMasterKey: - description: 'SecondaryMasterKey: The metadata related to the Secondary Read-Write Key for the given Cosmos DB database account.' - properties: - generationTime: - description: |- - GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means - that the last key regeneration was triggered before 2022-06-18. - type: string + autoLearnPrivateRanges: + type: string + privateRanges: + items: + type: string + type: array + type: object + sql: + description: |- + Storage version of v1api20240301.FirewallPolicySQL_STATUS + SQL Settings in Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - secondaryReadonlyMasterKey: - description: 'SecondaryReadonlyMasterKey: The metadata related to the Secondary Read-Only Key for the given Cosmos DB database account.' + allowSqlRedirect: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + threatIntelMode: + type: string + threatIntelWhitelist: + description: |- + Storage version of v1api20240301.FirewallPolicyThreatIntelWhitelist_STATUS + ThreatIntel Whitelist for Firewall Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + ipAddresses: + items: + type: string + type: array + type: object + transportSecurity: + description: |- + Storage version of v1api20240301.FirewallPolicyTransportSecurity_STATUS + Configuration needed to perform TLS termination & initiation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240301.FirewallPolicyCertificateAuthority_STATUS + Trusted Root certificates properties for tls. properties: - generationTime: + $propertyBag: + additionalProperties: + type: string description: |- - GenerationTime: Generation time in UTC of the key in ISO-8601 format. If the value is missing from the object, it means - that the last key regeneration was triggered before 2022-06-18. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyVaultSecretId: + type: string + name: type: string type: object type: object - kind: - description: 'Kind: Indicates the type of database account. This can only be set at database account creation.' + type: type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: firewallpoliciesrulecollectiongroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: FirewallPoliciesRuleCollectionGroup + listKind: FirewallPoliciesRuleCollectionGroupList + plural: firewallpoliciesrulecollectiongroups + singular: firewallpoliciesrulecollectiongroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - locations: - description: 'Locations: An array that contains all of the locations enabled for the Cosmos DB account.' + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/FirewallPolicy resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection Group resource.' + maximum: 65000 + minimum: 100 + type: integer + ruleCollections: + description: 'RuleCollections: Group of Firewall Policy rule collections.' + items: + properties: + firewallPolicyFilterRuleCollection: + description: 'FirewallPolicyFilter: Mutually exclusive with all other properties' + properties: + action: + description: 'Action: The action type of a Filter rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - Allow + - Deny + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + maximum: 65000 + minimum: 100 + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + enum: + - FirewallPolicyFilterRuleCollection + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' + items: + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + enum: + - Http + - Https + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + enum: + - ApplicationRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + required: + - ruleType + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NatRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + required: + - ruleType + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NetworkRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + required: + - ruleType + type: object + type: object + type: array + required: + - ruleCollectionType + type: object + firewallPolicyNatRuleCollection: + description: 'FirewallPolicyNat: Mutually exclusive with all other properties' + properties: + action: + description: 'Action: The action type of a Nat rule collection.' + properties: + type: + description: 'Type: The type of action.' + enum: + - DNAT + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + maximum: 65000 + minimum: 100 + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + enum: + - FirewallPolicyNatRuleCollection + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' + items: + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + maximum: 64000 + minimum: 0 + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + enum: + - Http + - Https + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + enum: + - ApplicationRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + required: + - ruleType + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NatRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + required: + - ruleType + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + enum: + - Any + - ICMP + - TCP + - UDP + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + enum: + - NetworkRule + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + required: + - ruleType + type: object + type: object + type: array + required: + - ruleCollectionType + type: object + type: object + type: array + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: A region in which the Azure Cosmos DB database account is deployed. + description: Condition defines an extension to status (an observation) of a resource properties: - documentEndpoint: - description: |- - DocumentEndpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/ + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - failoverPriority: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - id: - description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - provisioningState: + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - minimalTlsVersion: - description: |- - MinimalTlsVersion: Indicates the minimum allowed Tls version. The default value is Tls 1.2. Cassandra and Mongo APIs - only work with Tls 1.2. + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - name: - description: 'Name: The name of the ARM resource.' + id: + description: 'Id: Resource ID.' type: string - networkAclBypass: - description: 'NetworkAclBypass: Indicates what services are allowed to bypass firewall checks.' + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' type: string - networkAclBypassResourceIds: - description: 'NetworkAclBypassResourceIds: An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.' - items: - type: string - type: array - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of Private Endpoint Connections configured for the Cosmos DB account.' - items: - description: A private endpoint connection - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection Group resource.' + type: integer provisioningState: + description: 'ProvisioningState: The provisioning state of the firewall policy rule collection group resource.' type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' - type: string - readLocations: - description: 'ReadLocations: An array that contains of the read locations enabled for the Cosmos DB account.' + ruleCollections: + description: 'RuleCollections: Group of Firewall Policy rule collections.' items: - description: A region in which the Azure Cosmos DB database account is deployed. properties: - documentEndpoint: - description: |- - DocumentEndpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/ - type: string - failoverPriority: - description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - type: integer - id: - description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' - type: string - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' - type: string - provisioningState: - type: string - type: object - type: array - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore.' - properties: - databasesToRestore: - description: 'DatabasesToRestore: List of specific databases available for restore.' - items: - description: Specific Databases to restore. + firewallPolicyFilterRuleCollection: + description: 'FirewallPolicyFilter: Mutually exclusive with all other properties' properties: - collectionNames: - description: 'CollectionNames: The names of the collections available for restore.' + action: + description: 'Action: The action type of a Filter rule collection.' + properties: + type: + description: 'Type: The type of action.' + type: string + type: object + name: + description: 'Name: The name of the rule collection.' + type: string + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' items: - type: string + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: object type: array - databaseName: - description: 'DatabaseName: The name of the database available for restore.' - type: string type: object - type: array - gremlinDatabasesToRestore: - description: 'GremlinDatabasesToRestore: List of specific gremlin databases available for restore.' - items: - description: Specific Gremlin Databases to restore. + firewallPolicyNatRuleCollection: + description: 'FirewallPolicyNat: Mutually exclusive with all other properties' properties: - databaseName: - description: 'DatabaseName: The name of the gremlin database available for restore.' + action: + description: 'Action: The action type of a Nat rule collection.' + properties: + type: + description: 'Type: The type of action.' + type: string + type: object + name: + description: 'Name: The name of the rule collection.' type: string - graphNames: - description: 'GraphNames: The names of the graphs available for restore.' + priority: + description: 'Priority: Priority of the Firewall Policy Rule Collection resource.' + type: integer + ruleCollectionType: + description: 'RuleCollectionType: The type of the rule collection.' + type: string + rules: + description: 'Rules: List of rules included in a rule collection.' items: - type: string + properties: + applicationRule: + description: 'Application: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + fqdnTags: + description: 'FqdnTags: List of FQDN Tags for this rule.' + items: + type: string + type: array + httpHeadersToInsert: + description: 'HttpHeadersToInsert: List of HTTP/S headers to insert.' + items: + description: name and value of HTTP/S header to insert + properties: + headerName: + description: 'HeaderName: Contains the name of the header' + type: string + headerValue: + description: 'HeaderValue: Contains the value of the header' + type: string + type: object + type: array + name: + description: 'Name: Name of the rule.' + type: string + protocols: + description: 'Protocols: Array of Application Protocols.' + items: + description: Properties of the application rule protocol. + properties: + port: + description: 'Port: Port number for the protocol, cannot be greater than 64000.' + type: integer + protocolType: + description: 'ProtocolType: Protocol type.' + type: string + type: object + type: array + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + targetFqdns: + description: 'TargetFqdns: List of FQDNs for this rule.' + items: + type: string + type: array + targetUrls: + description: 'TargetUrls: List of Urls for this rule condition.' + items: + type: string + type: array + terminateTLS: + description: 'TerminateTLS: Terminate TLS connections for this rule.' + type: boolean + webCategories: + description: 'WebCategories: List of destination azure web categories.' + items: + type: string + type: array + type: object + natRule: + description: 'Nat: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + translatedAddress: + description: 'TranslatedAddress: The translated address for this NAT rule.' + type: string + translatedFqdn: + description: 'TranslatedFqdn: The translated FQDN for this NAT rule.' + type: string + translatedPort: + description: 'TranslatedPort: The translated port for this NAT rule.' + type: string + type: object + networkRule: + description: 'Network: Mutually exclusive with all other properties' + properties: + description: + description: 'Description: Description of the rule.' + type: string + destinationAddresses: + description: 'DestinationAddresses: List of destination IP addresses or Service Tags.' + items: + type: string + type: array + destinationFqdns: + description: 'DestinationFqdns: List of destination FQDNs.' + items: + type: string + type: array + destinationIpGroups: + description: 'DestinationIpGroups: List of destination IpGroups for this rule.' + items: + type: string + type: array + destinationPorts: + description: 'DestinationPorts: List of destination ports.' + items: + type: string + type: array + ipProtocols: + description: 'IpProtocols: Array of FirewallPolicyRuleNetworkProtocols.' + items: + description: The Network protocol of a Rule. + type: string + type: array + name: + description: 'Name: Name of the rule.' + type: string + ruleType: + description: 'RuleType: Rule Type.' + type: string + sourceAddresses: + description: 'SourceAddresses: List of source IP addresses for this rule.' + items: + type: string + type: array + sourceIpGroups: + description: 'SourceIpGroups: List of source IpGroups for this rule.' + items: + type: string + type: array + type: object + type: object type: array type: object - type: array - restoreMode: - description: 'RestoreMode: Describes the mode of the restore.' - type: string - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string - tablesToRestore: - description: 'TablesToRestore: List of specific tables available for restore.' - items: - type: string - type: array - type: object - systemData: - description: 'SystemData: The system meta data relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: - description: 'Type: The type of Azure resource.' - type: string - virtualNetworkRules: - description: 'VirtualNetworkRules: List of Virtual Network ACL rules configured for the Cosmos DB account.' - items: - description: Virtual Network ACL Rule object - properties: - id: - description: |- - Id: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - type: string - ignoreMissingVNetServiceEndpoint: - description: 'IgnoreMissingVNetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' - type: boolean - type: object - type: array - writeLocations: - description: 'WriteLocations: An array that contains the write location for the Cosmos DB account.' - items: - description: A region in which the Azure Cosmos DB database account is deployed. - properties: - documentEndpoint: - description: |- - DocumentEndpoint: The connection endpoint for the specific region. Example: - https://<accountName>-<locationName>.documents.azure.com:443/ - type: string - failoverPriority: - description: |- - FailoverPriority: The failover priority of the region. A failover priority of 0 indicates a write region. The maximum - value for a failover priority = (total number of regions - 1). Failover priority values must be unique for each of the - regions in which the database account exists. - type: integer - id: - description: 'Id: The unique identifier of the region within the database account. Example: <accountName>-<locationName>.' - type: string - isZoneRedundant: - description: 'IsZoneRedundant: Flag to indicate whether or not this region is an AvailabilityZone region' - type: boolean - locationName: - description: 'LocationName: The name of the region.' - type: string - provisioningState: - type: string type: object type: array + size: + description: 'Size: A read-only string that represents the size of the FirewallPolicyRuleCollectionGroupProperties in MB. (ex 1.2MB)' + type: string + type: + description: 'Type: Rule Group type.' + type: string type: object type: object served: true @@ -60970,14 +120767,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.DatabaseAccount + Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroup Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/firewallPolicy.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName} properties: apiVersion: description: |- @@ -60997,7 +120794,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.DatabaseAccount_Spec + description: Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroup_Spec properties: $propertyBag: additionalProperties: @@ -61006,377 +120803,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - analyticalStorageConfiguration: - description: |- - Storage version of v1api20231115.AnalyticalStorageConfiguration - Analytical storage specific properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - schemaType: - type: string - type: object - apiProperties: - description: Storage version of v1api20231115.ApiProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - serverVersion: - type: string - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backupPolicy: - description: Storage version of v1api20231115.BackupPolicy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - continuous: - description: Storage version of v1api20231115.ContinuousModeBackupPolicy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - continuousModeProperties: - description: |- - Storage version of v1api20231115.ContinuousModeProperties - Configuration values for periodic mode backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tier: - type: string - type: object - migrationState: - description: |- - Storage version of v1api20231115.BackupPolicyMigrationState - The object representing the state of the migration between the backup policies. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - startTime: - type: string - status: - type: string - targetType: - type: string - type: object - type: - type: string - type: object - periodic: - description: Storage version of v1api20231115.PeriodicModeBackupPolicy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - migrationState: - description: |- - Storage version of v1api20231115.BackupPolicyMigrationState - The object representing the state of the migration between the backup policies. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - startTime: - type: string - status: - type: string - targetType: - type: string - type: object - periodicModeProperties: - description: |- - Storage version of v1api20231115.PeriodicModeProperties - Configuration values for periodic mode backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupIntervalInMinutes: - type: integer - backupRetentionIntervalInHours: - type: integer - backupStorageRedundancy: - type: string - type: object - type: - type: string - type: object - type: object - capabilities: - items: - description: |- - Storage version of v1api20231115.Capability - Cosmos DB capability object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - type: array - capacity: - description: |- - Storage version of v1api20231115.Capacity - The object that represents all properties related to capacity enforcement on an account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - totalThroughputLimit: - type: integer - type: object - connectorOffer: - type: string - consistencyPolicy: - description: |- - Storage version of v1api20231115.ConsistencyPolicy - The consistency policy for the Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultConsistencyLevel: - type: string - maxIntervalInSeconds: - type: integer - maxStalenessPrefix: - type: integer - type: object - cors: - items: - description: |- - Storage version of v1api20231115.CorsPolicy - The CORS policy for the Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHeaders: - type: string - allowedMethods: - type: string - allowedOrigins: - type: string - exposedHeaders: - type: string - maxAgeInSeconds: - type: integer - type: object - type: array - createMode: - type: string - customerManagedKeyStatus: - type: string - databaseAccountOfferType: - type: string - defaultIdentity: - type: string - disableKeyBasedMetadataWriteAccess: - type: boolean - disableLocalAuth: - type: boolean - enableAnalyticalStorage: - type: boolean - enableAutomaticFailover: - type: boolean - enableBurstCapacity: - type: boolean - enableCassandraConnector: - type: boolean - enableFreeTier: - type: boolean - enableMultipleWriteLocations: - type: boolean - enablePartitionMerge: - type: boolean - identity: - description: |- - Storage version of v1api20231115.ManagedServiceIdentity - Identity for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20231115.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - ipRules: - items: - description: |- - Storage version of v1api20231115.IpAddressOrRange - IpAddressOrRange object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddressOrRange: - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - type: boolean - keyVaultKeyUri: - type: string - kind: - type: string - location: - type: string - locations: - items: - description: |- - Storage version of v1api20231115.Location - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - failoverPriority: - type: integer - isZoneRedundant: - type: boolean - locationName: - type: string - type: object - type: array - minimalTlsVersion: - type: string - networkAclBypass: - type: string - networkAclBypassResourceReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array operatorSpec: description: |- - Storage version of v1api20231115.DatabaseAccountOperatorSpec + Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -61444,107 +120878,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20231115.DatabaseAccountOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryReadonlyMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryReadonlyMasterKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -61552,7 +120885,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/FirewallPolicy resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -61561,25 +120894,21 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParameters - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - databasesToRestore: - items: + priority: + type: integer + ruleCollections: + items: + description: Storage version of v1api20240301.FirewallPolicyRuleCollection + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231115.DatabaseRestoreResource - Specific Databases to restore. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + firewallPolicyFilterRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyFilterRuleCollection properties: $propertyBag: additionalProperties: @@ -61588,19 +120917,216 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - collectionNames: + action: + description: |- + Storage version of v1api20240301.FirewallPolicyFilterRuleCollectionAction + Properties of the FirewallPolicyFilterRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: + type: string + priority: + type: integer + ruleCollectionType: + type: string + rules: items: - type: string + description: Storage version of v1api20240301.FirewallPolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object type: array - databaseName: - type: string type: object - type: array - gremlinDatabasesToRestore: - items: - description: |- - Storage version of v1api20231115.GremlinDatabaseRestoreResource - Specific Gremlin Databases to restore. + firewallPolicyNatRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyNatRuleCollection properties: $propertyBag: additionalProperties: @@ -61609,65 +121135,213 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - databaseName: - type: string - graphNames: - items: - type: string - type: array - type: object - type: array - restoreMode: - type: string - restoreSource: - type: string - restoreTimestampInUtc: - type: string - tablesToRestore: - items: - type: string - type: array - type: object - tags: - additionalProperties: - type: string - type: object - virtualNetworkRules: - items: - description: |- - Storage version of v1api20231115.VirtualNetworkRule - Virtual Network ACL Rule object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ignoreMissingVNetServiceEndpoint: - type: boolean - reference: - description: |- - Reference: Resource ID of a subnet, for example: - /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}. - properties: - armId: + action: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + Storage version of v1api20240301.FirewallPolicyNatRuleCollectionAction + Properties of the FirewallPolicyNatRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object name: - description: Name is the Kubernetes name of the resource. type: string + priority: + type: integer + ruleCollectionType: + type: string + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array type: object type: object type: array @@ -61675,7 +121349,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.DatabaseAccount_STATUS + description: Storage version of v1api20240301.FirewallPoliciesRuleCollectionGroup_STATUS properties: $propertyBag: additionalProperties: @@ -61684,175 +121358,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - analyticalStorageConfiguration: - description: |- - Storage version of v1api20231115.AnalyticalStorageConfiguration_STATUS - Analytical storage specific properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - schemaType: - type: string - type: object - apiProperties: - description: Storage version of v1api20231115.ApiProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - serverVersion: - type: string - type: object - backupPolicy: - description: Storage version of v1api20231115.BackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - continuous: - description: Storage version of v1api20231115.ContinuousModeBackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - continuousModeProperties: - description: |- - Storage version of v1api20231115.ContinuousModeProperties_STATUS - Configuration values for periodic mode backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tier: - type: string - type: object - migrationState: - description: |- - Storage version of v1api20231115.BackupPolicyMigrationState_STATUS - The object representing the state of the migration between the backup policies. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - startTime: - type: string - status: - type: string - targetType: - type: string - type: object - type: - type: string - type: object - periodic: - description: Storage version of v1api20231115.PeriodicModeBackupPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - migrationState: - description: |- - Storage version of v1api20231115.BackupPolicyMigrationState_STATUS - The object representing the state of the migration between the backup policies. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - startTime: - type: string - status: - type: string - targetType: - type: string - type: object - periodicModeProperties: - description: |- - Storage version of v1api20231115.PeriodicModeProperties_STATUS - Configuration values for periodic mode backup - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupIntervalInMinutes: - type: integer - backupRetentionIntervalInHours: - type: integer - backupStorageRedundancy: - type: string - type: object - type: - type: string - type: object - type: object - capabilities: - items: - description: |- - Storage version of v1api20231115.Capability_STATUS - Cosmos DB capability object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - type: array - capacity: - description: |- - Storage version of v1api20231115.Capacity_STATUS - The object that represents all properties related to capacity enforcement on an account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - totalThroughputLimit: - type: integer - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -61896,85 +121401,19 @@ spec: - type type: object type: array - connectorOffer: - type: string - consistencyPolicy: - description: |- - Storage version of v1api20231115.ConsistencyPolicy_STATUS - The consistency policy for the Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultConsistencyLevel: - type: string - maxIntervalInSeconds: - type: integer - maxStalenessPrefix: - type: integer - type: object - cors: - items: - description: |- - Storage version of v1api20231115.CorsPolicy_STATUS - The CORS policy for the Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHeaders: - type: string - allowedMethods: - type: string - allowedOrigins: - type: string - exposedHeaders: - type: string - maxAgeInSeconds: - type: integer - type: object - type: array - createMode: - type: string - customerManagedKeyStatus: + etag: type: string - databaseAccountOfferType: + id: type: string - defaultIdentity: + name: type: string - disableKeyBasedMetadataWriteAccess: - type: boolean - disableLocalAuth: - type: boolean - documentEndpoint: + priority: + type: integer + provisioningState: type: string - enableAnalyticalStorage: - type: boolean - enableAutomaticFailover: - type: boolean - enableBurstCapacity: - type: boolean - enableCassandraConnector: - type: boolean - enableFreeTier: - type: boolean - enableMultipleWriteLocations: - type: boolean - enablePartitionMerge: - type: boolean - failoverPolicies: + ruleCollections: items: - description: |- - Storage version of v1api20231115.FailoverPolicy_STATUS - The failover policy for a given region of a database account. + description: Storage version of v1api20240301.FirewallPolicyRuleCollection_STATUS properties: $propertyBag: additionalProperties: @@ -61983,37 +121422,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - failoverPriority: - type: integer - id: - type: string - locationName: - type: string - type: object - type: array - id: - type: string - identity: - description: |- - Storage version of v1api20231115.ManagedServiceIdentity_STATUS - Identity for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20231115.ManagedServiceIdentity_UserAssignedIdentities_STATUS + firewallPolicyFilterRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyFilterRuleCollection_STATUS properties: $propertyBag: additionalProperties: @@ -62022,340 +121432,438 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + action: + description: |- + Storage version of v1api20240301.FirewallPolicyFilterRuleCollectionAction_STATUS + Properties of the FirewallPolicyFilterRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: type: string - principalId: + priority: + type: integer + ruleCollectionType: type: string + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert_STATUS + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol_STATUS + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array type: object - type: object - type: object - instanceId: - type: string - ipRules: - items: - description: |- - Storage version of v1api20231115.IpAddressOrRange_STATUS - IpAddressOrRange object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddressOrRange: - type: string - type: object - type: array - isVirtualNetworkFilterEnabled: - type: boolean - keyVaultKeyUri: - type: string - keysMetadata: - description: |- - Storage version of v1api20231115.DatabaseAccountKeysMetadata_STATUS - The metadata related to each access key for the given Cosmos DB database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryMasterKey: - description: |- - Storage version of v1api20231115.AccountKeyMetadata_STATUS - The metadata related to an access key for a given database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - generationTime: - type: string - type: object - primaryReadonlyMasterKey: - description: |- - Storage version of v1api20231115.AccountKeyMetadata_STATUS - The metadata related to an access key for a given database account. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - generationTime: - type: string - type: object - secondaryMasterKey: - description: |- - Storage version of v1api20231115.AccountKeyMetadata_STATUS - The metadata related to an access key for a given database account. - properties: - $propertyBag: - additionalProperties: + firewallPolicyNatRuleCollection: + description: Storage version of v1api20240301.FirewallPolicyNatRuleCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + description: |- + Storage version of v1api20240301.FirewallPolicyNatRuleCollectionAction_STATUS + Properties of the FirewallPolicyNatRuleCollectionAction. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - generationTime: - type: string - type: object - secondaryReadonlyMasterKey: - description: |- - Storage version of v1api20231115.AccountKeyMetadata_STATUS - The metadata related to an access key for a given database account. - properties: - $propertyBag: - additionalProperties: + priority: + type: integer + ruleCollectionType: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - generationTime: - type: string - type: object - type: object - kind: - type: string - location: - type: string - locations: - items: - description: |- - Storage version of v1api20231115.Location_STATUS - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - type: string - failoverPriority: - type: integer - id: - type: string - isZoneRedundant: - type: boolean - locationName: - type: string - provisioningState: - type: string - type: object - type: array - minimalTlsVersion: - type: string - name: - type: string - networkAclBypass: - type: string - networkAclBypassResourceIds: - items: - type: string - type: array - privateEndpointConnections: - items: - description: |- - Storage version of v1api20231115.PrivateEndpointConnection_STATUS - A private endpoint connection - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + rules: + items: + description: Storage version of v1api20240301.FirewallPolicyRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationRule: + description: Storage version of v1api20240301.ApplicationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + fqdnTags: + items: + type: string + type: array + httpHeadersToInsert: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyHttpHeaderToInsert_STATUS + name and value of HTTP/S header to insert + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerName: + type: string + headerValue: + type: string + type: object + type: array + name: + type: string + protocols: + items: + description: |- + Storage version of v1api20240301.FirewallPolicyRuleApplicationProtocol_STATUS + Properties of the application rule protocol. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + protocolType: + type: string + type: object + type: array + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + targetFqdns: + items: + type: string + type: array + targetUrls: + items: + type: string + type: array + terminateTLS: + type: boolean + webCategories: + items: + type: string + type: array + type: object + natRule: + description: Storage version of v1api20240301.NatRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + translatedAddress: + type: string + translatedFqdn: + type: string + translatedPort: + type: string + type: object + networkRule: + description: Storage version of v1api20240301.NetworkRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + destinationAddresses: + items: + type: string + type: array + destinationFqdns: + items: + type: string + type: array + destinationIpGroups: + items: + type: string + type: array + destinationPorts: + items: + type: string + type: array + ipProtocols: + items: + type: string + type: array + name: + type: string + ruleType: + type: string + sourceAddresses: + items: + type: string + type: array + sourceIpGroups: + items: + type: string + type: array + type: object + type: object + type: array type: object - id: - type: string type: object type: array - provisioningState: + size: type: string - publicNetworkAccess: - type: string - readLocations: - items: - description: |- - Storage version of v1api20231115.Location_STATUS - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - type: string - failoverPriority: - type: integer - id: - type: string - isZoneRedundant: - type: boolean - locationName: - type: string - provisioningState: - type: string - type: object - type: array - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParameters_STATUS - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - databasesToRestore: - items: - description: |- - Storage version of v1api20231115.DatabaseRestoreResource_STATUS - Specific Databases to restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - collectionNames: - items: - type: string - type: array - databaseName: - type: string - type: object - type: array - gremlinDatabasesToRestore: - items: - description: |- - Storage version of v1api20231115.GremlinDatabaseRestoreResource_STATUS - Specific Gremlin Databases to restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - databaseName: - type: string - graphNames: - items: - type: string - type: array - type: object - type: array - restoreMode: - type: string - restoreSource: - type: string - restoreTimestampInUtc: - type: string - tablesToRestore: - items: - type: string - type: array - type: object - systemData: - description: |- - Storage version of v1api20231115.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object type: type: string - virtualNetworkRules: - items: - description: |- - Storage version of v1api20231115.VirtualNetworkRule_STATUS - Virtual Network ACL Rule object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - ignoreMissingVNetServiceEndpoint: - type: boolean - type: object - type: array - writeLocations: - items: - description: |- - Storage version of v1api20231115.Location_STATUS - A region in which the Azure Cosmos DB database account is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - documentEndpoint: - type: string - failoverPriority: - type: integer - id: - type: string - isZoneRedundant: - type: boolean - locationName: - type: string - provisioningState: - type: string - type: object - type: array type: object type: object served: true @@ -62368,11 +121876,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: databases.dbformariadb.azure.com + app.kubernetes.io/version: v2.15.0 + name: firewallrules.documentdb.azure.com spec: conversion: strategy: Webhook @@ -62385,12 +121893,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dbformariadb.azure.com + group: documentdb.azure.com names: - kind: Database - listKind: DatabaseList - plural: databases - singular: database + categories: + - azure + - documentdb + kind: FirewallRule + listKind: FirewallRuleList + plural: firewallrules + singular: firewallrule preserveUnknownFields: false scope: Namespaced versions: @@ -62407,13 +121918,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601 + name: v1api20240701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -62438,12 +121949,9 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - type: string - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' + maxLength: 80 + minLength: 1 + pattern: ^[a-zA-Z0-9][-_.a-zA-Z0-9]* type: string operatorSpec: description: |- @@ -62515,7 +122023,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformariadb.azure.com/Server resource + reference to a documentdb.azure.com/MongoCluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -62524,17 +122032,26 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + endIpAddress: + description: 'EndIpAddress: The end IP address of the mongo cluster firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the mongo cluster firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - startIpAddress + type: object required: - owner type: object status: properties: - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -62581,12 +122098,47 @@ spec: type: array id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string name: description: 'Name: The name of the resource' type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + endIpAddress: + description: 'EndIpAddress: The end IP address of the mongo cluster firewall rule. Must be IPv4 format.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the firewall rule.' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the mongo cluster firewall rule. Must be IPv4 format.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -62609,14 +122161,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601storage + name: v1api20240701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180601.Database + Storage version of v1api20240701.FirewallRule Generator information: - - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName} + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -62636,7 +122188,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180601.Database_Spec + description: Storage version of v1api20240701.FirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -62650,13 +122202,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - charset: - type: string - collation: - type: string operatorSpec: description: |- - Storage version of v1api20180601.DatabaseOperatorSpec + Storage version of v1api20240701.FirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -62731,7 +122279,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformariadb.azure.com/Server resource + reference to a documentdb.azure.com/MongoCluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -62740,11 +122288,28 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + properties: + description: |- + Storage version of v1api20240701.FirewallRuleProperties + The properties of a mongo cluster firewall rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endIpAddress: + type: string + startIpAddress: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20180601.Database_STATUS + description: Storage version of v1api20240701.FirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -62753,10 +122318,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - charset: - type: string - collation: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -62804,6 +122365,50 @@ spec: type: string name: type: string + properties: + description: |- + Storage version of v1api20240701.FirewallRuleProperties_STATUS + The properties of a mongo cluster firewall rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endIpAddress: + type: string + provisioningState: + type: string + startIpAddress: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object type: type: string type: object @@ -62818,11 +122423,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: diagnosticsettings.insights.azure.com + app.kubernetes.io/version: v2.15.0 + name: fleets.containerservice.azure.com spec: conversion: strategy: Webhook @@ -62835,12 +122440,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: insights.azure.com + group: containerservice.azure.com names: - kind: DiagnosticSetting - listKind: DiagnosticSettingList - plural: diagnosticsettings - singular: diagnosticsetting + categories: + - azure + - containerservice + kind: Fleet + listKind: FleetList + plural: fleets + singular: fleet preserveUnknownFields: false scope: Namespaced versions: @@ -62857,13 +122465,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501preview + name: v1api20230315preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json - - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} properties: apiVersion: description: |- @@ -62888,128 +122496,23 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string - eventHubAuthorizationRuleReference: - description: 'EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.' + hubProfile: + description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + dnsPrefix: + description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' + maxLength: 54 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$ type: string type: object - eventHubName: - description: 'EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.' - type: string - logAnalyticsDestinationType: - description: |- - LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination - type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) + location: + description: 'Location: The geo-location where the resource lives' type: string - logs: - description: 'Logs: The list of logs settings.' - items: - description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. - properties: - category: - description: |- - Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of - Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. - type: string - categoryGroup: - description: |- - CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the - list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. - type: string - enabled: - description: 'Enabled: a value indicating whether this log is enabled.' - type: boolean - retentionPolicy: - description: 'RetentionPolicy: the retention policy for this log.' - properties: - days: - description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' - minimum: 0 - type: integer - enabled: - description: 'Enabled: a value indicating whether the retention policy is enabled.' - type: boolean - required: - - days - - enabled - type: object - required: - - enabled - type: object - type: array - marketplacePartnerReference: - description: |- - MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send - Diagnostic Logs. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - metrics: - description: 'Metrics: The list of metric settings.' - items: - description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. - properties: - category: - description: |- - Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of - Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. - type: string - enabled: - description: 'Enabled: a value indicating whether this category is enabled.' - type: boolean - retentionPolicy: - description: 'RetentionPolicy: the retention policy for this category.' - properties: - days: - description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' - minimum: 0 - type: integer - enabled: - description: 'Enabled: a value indicating whether the retention policy is enabled.' - type: boolean - required: - - days - - enabled - type: object - timeGrain: - description: 'TimeGrain: the timegrain of the metric in ISO8601 format.' - type: string - required: - - enabled - type: object - type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -63075,77 +122578,52 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - serviceBusRuleId: - description: 'ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.' - type: string - storageAccountReference: - description: 'StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - workspaceReference: - description: |- - WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic - Logs. Example: - /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object required: + - location - owner type: object status: + description: The Fleet resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -63191,97 +122669,42 @@ spec: - type type: object type: array - eventHubAuthorizationRuleId: - description: 'EventHubAuthorizationRuleId: The resource Id for the event hub authorization rule.' - type: string - eventHubName: - description: 'EventHubName: The name of the event hub. If none is specified, the default event hub will be selected.' + eTag: + description: |- + ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. + Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header + fields. type: string + hubProfile: + description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' + properties: + dnsPrefix: + description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' + type: string + fqdn: + description: 'Fqdn: The FQDN of the Fleet hub.' + type: string + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version of the Fleet hub.' + type: string + type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - logAnalyticsDestinationType: - description: |- - LogAnalyticsDestinationType: A string indicating whether the export to Log Analytics should use the default destination - type, i.e. AzureDiagnostics, or use a destination type constructed as follows: _. Possible values are: Dedicated and null (null is default.) - type: string - logs: - description: 'Logs: The list of logs settings.' - items: - description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. - properties: - category: - description: |- - Category: Name of a Diagnostic Log category for a resource type this setting is applied to. To obtain the list of - Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. - type: string - categoryGroup: - description: |- - CategoryGroup: Name of a Diagnostic Log category group for a resource type this setting is applied to. To obtain the - list of Diagnostic Log categories for a resource, first perform a GET diagnostic settings operation. - type: string - enabled: - description: 'Enabled: a value indicating whether this log is enabled.' - type: boolean - retentionPolicy: - description: 'RetentionPolicy: the retention policy for this log.' - properties: - days: - description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' - type: integer - enabled: - description: 'Enabled: a value indicating whether the retention policy is enabled.' - type: boolean - type: object - type: object - type: array - marketplacePartnerId: - description: |- - MarketplacePartnerId: The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic - Logs. + location: + description: 'Location: The geo-location where the resource lives' type: string - metrics: - description: 'Metrics: The list of metric settings.' - items: - description: Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. - properties: - category: - description: |- - Category: Name of a Diagnostic Metric category for a resource type this setting is applied to. To obtain the list of - Diagnostic metric categories for a resource, first perform a GET diagnostic settings operation. - type: string - enabled: - description: 'Enabled: a value indicating whether this category is enabled.' - type: boolean - retentionPolicy: - description: 'RetentionPolicy: the retention policy for this category.' - properties: - days: - description: 'Days: the number of days for the retention in days. A value of 0 will retain the events indefinitely.' - type: integer - enabled: - description: 'Enabled: a value indicating whether the retention policy is enabled.' - type: boolean - type: object - timeGrain: - description: 'TimeGrain: the timegrain of the metric in ISO8601 format.' - type: string - type: object - type: array name: description: 'Name: The name of the resource' type: string - serviceBusRuleId: - description: 'ServiceBusRuleId: The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.' - type: string - storageAccountId: - description: 'StorageAccountId: The resource ID of the storage account to which you would like to send Diagnostic Logs.' + provisioningState: + description: 'ProvisioningState: The status of the last operation.' type: string systemData: - description: 'SystemData: The system metadata related to this resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -63302,15 +122725,14 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - workspaceId: - description: |- - WorkspaceId: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. - Example: - /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 - type: string type: object type: object served: true @@ -63330,14 +122752,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501previewstorage + name: v1api20230315previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20210501preview.DiagnosticSetting + Storage version of v1api20230315preview.Fleet Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2021-05-01-preview/diagnosticsSettings_API.json - - ARM URI: /{resourceUri}/providers/Microsoft.Insights/diagnosticSettings/{name} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} properties: apiVersion: description: |- @@ -63357,7 +122779,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210501preview.DiagnosticSetting_Spec + description: Storage version of v1api20230315preview.Fleet_Spec properties: $propertyBag: additionalProperties: @@ -63371,131 +122793,26 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - eventHubAuthorizationRuleReference: - description: 'EventHubAuthorizationRuleReference: The resource Id for the event hub authorization rule.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - eventHubName: - type: string - logAnalyticsDestinationType: - type: string - logs: - items: - description: |- - Storage version of v1api20210501preview.LogSettings - Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - category: - type: string - categoryGroup: - type: string - enabled: - type: boolean - retentionPolicy: - description: |- - Storage version of v1api20210501preview.RetentionPolicy - Specifies the retention policy for the log. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - type: integer - enabled: - type: boolean - type: object - type: object - type: array - marketplacePartnerReference: + hubProfile: description: |- - MarketplacePartnerReference: The full ARM resource ID of the Marketplace resource to which you would like to send - Diagnostic Logs. + Storage version of v1api20230315preview.FleetHubProfile + The FleetHubProfile configures the fleet hub. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsPrefix: type: string type: object - metrics: - items: - description: |- - Storage version of v1api20210501preview.MetricSettings - Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - category: - type: string - enabled: - type: boolean - retentionPolicy: - description: |- - Storage version of v1api20210501preview.RetentionPolicy - Specifies the retention policy for the log. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - type: integer - enabled: - type: boolean - type: object - timeGrain: - type: string - type: object - type: array + location: + type: string operatorSpec: description: |- - Storage version of v1api20210501preview.DiagnosticSettingOperatorSpec + Storage version of v1api20230315preview.FleetOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -63563,79 +122880,62 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20230315preview.FleetOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - serviceBusRuleId: - type: string - storageAccountReference: - description: 'StorageAccountReference: The resource ID of the storage account to which you would like to send Diagnostic Logs.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - workspaceReference: - description: |- - WorkspaceReference: The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic - Logs. Example: - /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2 - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20210501preview.DiagnosticSetting_STATUS + description: |- + Storage version of v1api20230315preview.Fleet_STATUS + The Fleet resource. properties: $propertyBag: additionalProperties: @@ -63687,101 +122987,38 @@ spec: - type type: object type: array - eventHubAuthorizationRuleId: - type: string - eventHubName: + eTag: type: string + hubProfile: + description: |- + Storage version of v1api20230315preview.FleetHubProfile_STATUS + The FleetHubProfile configures the fleet hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsPrefix: + type: string + fqdn: + type: string + kubernetesVersion: + type: string + type: object id: type: string - logAnalyticsDestinationType: - type: string - logs: - items: - description: |- - Storage version of v1api20210501preview.LogSettings_STATUS - Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular log. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - category: - type: string - categoryGroup: - type: string - enabled: - type: boolean - retentionPolicy: - description: |- - Storage version of v1api20210501preview.RetentionPolicy_STATUS - Specifies the retention policy for the log. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - type: integer - enabled: - type: boolean - type: object - type: object - type: array - marketplacePartnerId: + location: type: string - metrics: - items: - description: |- - Storage version of v1api20210501preview.MetricSettings_STATUS - Part of MultiTenantDiagnosticSettings. Specifies the settings for a particular metric. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - category: - type: string - enabled: - type: boolean - retentionPolicy: - description: |- - Storage version of v1api20210501preview.RetentionPolicy_STATUS - Specifies the retention policy for the log. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - type: integer - enabled: - type: boolean - type: object - timeGrain: - type: string - type: object - type: array name: type: string - serviceBusRuleId: - type: string - storageAccountId: + provisioningState: type: string systemData: description: |- - Storage version of v1api20210501preview.SystemData_STATUS + Storage version of v1api20230315preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -63804,10 +123041,12 @@ spec: lastModifiedByType: type: string type: object + tags: + additionalProperties: + type: string + type: object type: type: string - workspaceId: - type: string type: object type: object served: true @@ -63820,11 +123059,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: diskaccesses.compute.azure.com + app.kubernetes.io/version: v2.15.0 + name: fleetsmembers.containerservice.azure.com spec: conversion: strategy: Webhook @@ -63837,12 +123076,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: compute.azure.com + group: containerservice.azure.com names: - kind: DiskAccess - listKind: DiskAccessList - plural: diskaccesses - singular: diskaccess + categories: + - azure + - containerservice + kind: FleetsMember + listKind: FleetsMemberList + plural: fleetsmembers + singular: fleetsmember preserveUnknownFields: false scope: Namespaced versions: @@ -63859,13 +123101,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302 + name: v1api20230315preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskAccess.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} properties: apiVersion: description: |- @@ -63890,21 +123132,38 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string - extendedLocation: - description: 'ExtendedLocation: The extended location where the disk access will be created. Extended location cannot be changed.' + clusterResourceReference: + description: |- + ClusterResourceReference: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. + e.g.: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'. properties: - name: - description: 'Name: The name of the extended location.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - location: - description: 'Location: Resource location' + group: + description: 'Group: The group this member belongs to for multi-cluster update management.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string operatorSpec: description: |- @@ -63976,7 +123235,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerservice.azure.com/Fleet resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -63985,18 +123244,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object required: - - location + - clusterResourceReference - owner type: object status: - description: disk access resource. properties: + clusterResourceId: + description: |- + ClusterResourceId: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. e.g.: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -64041,50 +123299,51 @@ spec: - type type: object type: array - extendedLocation: - description: 'ExtendedLocation: The extended location where the disk access will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - id: - description: 'Id: Resource Id' + eTag: + description: |- + ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. + Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header + fields. type: string - location: - description: 'Location: Resource location' + group: + description: 'Group: The group this member belongs to for multi-cluster update management.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string name: - description: 'Name: Resource name' + description: 'Name: The name of the resource' type: string - privateEndpointConnections: - description: |- - PrivateEndpointConnections: A readonly collection of private endpoint connections created on the disk. Currently only - one endpoint connection is supported. - items: - description: The Private Endpoint Connection resource. - properties: - id: - description: 'Id: private endpoint connection Id' - type: string - type: object - type: array provisioningState: - description: 'ProvisioningState: The disk access resource provisioning state.' + description: 'ProvisioningState: The status of the last operation.' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object - timeCreated: - description: 'TimeCreated: The time when the disk access was created.' - type: string type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -64105,14 +123364,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302storage + name: v1api20230315previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20240302.DiskAccess + Storage version of v1api20230315preview.FleetsMember Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskAccess.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} properties: apiVersion: description: |- @@ -64132,7 +123391,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240302.DiskAccess_Spec + description: Storage version of v1api20230315preview.FleetsMember_Spec properties: $propertyBag: additionalProperties: @@ -64146,28 +123405,34 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - extendedLocation: + clusterResourceReference: description: |- - Storage version of v1api20240302.ExtendedLocation - The complex type of the extended location. + ClusterResourceReference: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. + e.g.: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'. properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - location: + group: type: string operatorSpec: description: |- - Storage version of v1api20240302.DiskAccessOperatorSpec + Storage version of v1api20230315preview.FleetsMemberOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -64242,7 +123507,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerservice.azure.com/Fleet resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -64251,17 +123516,12 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - type: object required: + - clusterResourceReference - owner type: object status: - description: |- - Storage version of v1api20240302.DiskAccess_STATUS - disk access resource. + description: Storage version of v1api20230315preview.FleetsMember_STATUS properties: $propertyBag: additionalProperties: @@ -64270,6 +123530,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + clusterResourceId: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -64313,10 +123575,20 @@ spec: - type type: object type: array - extendedLocation: + eTag: + type: string + group: + type: string + id: + type: string + name: + type: string + provisioningState: + type: string + systemData: description: |- - Storage version of v1api20240302.ExtendedLocation_STATUS - The complex type of the extended location. + Storage version of v1api20230315preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -64325,42 +123597,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + createdAt: type: string - type: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - id: - type: string - location: - type: string - name: - type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20240302.PrivateEndpointConnection_STATUS - The Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - tags: - additionalProperties: - type: string - type: object - timeCreated: - type: string type: type: string type: object @@ -64375,11 +123624,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: diskencryptionsets.compute.azure.com + app.kubernetes.io/version: v2.15.0 + name: fleetsupdateruns.containerservice.azure.com spec: conversion: strategy: Webhook @@ -64392,12 +123641,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: compute.azure.com + group: containerservice.azure.com names: - kind: DiskEncryptionSet - listKind: DiskEncryptionSetList - plural: diskencryptionsets - singular: diskencryptionset + categories: + - azure + - containerservice + kind: FleetsUpdateRun + listKind: FleetsUpdateRunList + plural: fleetsupdateruns + singular: fleetsupdaterun preserveUnknownFields: false scope: Namespaced versions: @@ -64414,13 +123666,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220702 + name: v1api20230315preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2022-07-02/diskEncryptionSet.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} properties: apiVersion: description: |- @@ -64441,142 +123693,37 @@ spec: type: object spec: properties: - activeKey: - description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' - properties: - keyUrl: - description: |- - KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of - rotationToLatestKeyVersionEnabled value. - type: string - keyUrlFromConfig: - description: |- - KeyUrlFromConfig: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required - regardless of rotationToLatestKeyVersionEnabled value. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - sourceVault: - description: |- - SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if - the KeyVault subscription is not the same as the Disk Encryption Set subscription. - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string - encryptionType: - description: 'EncryptionType: The type of key used to encrypt the data of the disk.' - enum: - - ConfidentialVmEncryptedWithCustomerKey - - EncryptionAtRestWithCustomerKey - - EncryptionAtRestWithPlatformAndCustomerKeys - type: string - federatedClientId: - description: |- - FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to - 'None' will clear the property. - type: string - federatedClientIdFromConfig: + managedClusterUpdate: description: |- - FederatedClientIdFromConfig: Multi-tenant application client id to access key vault in a different tenant. Setting the - value to 'None' will clear the property. + ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be + modified until the run is started. properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string + upgrade: + description: 'Upgrade: The upgrade to apply to the ManagedClusters.' + properties: + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' + type: string + type: + description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' + enum: + - Full + - NodeImageOnly + type: string + required: + - type + type: object required: - - key - - name - type: object - identity: - description: |- - Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can - be used to encrypt disks. - properties: - type: - description: |- - Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. - Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active - Directory tenant; it will cause the encrypted resources to lose access to the keys. - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + - upgrade type: object - location: - description: 'Location: Resource location' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -64647,7 +123794,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerservice.azure.com/Fleet resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -64656,82 +123803,61 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rotationToLatestKeyVersionEnabled: - description: |- - RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the - latest key version. - type: boolean - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - required: - - location - - owner - type: object - status: - description: disk encryption set resource. - properties: - activeKey: - description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' - properties: - keyUrl: - description: |- - KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of - rotationToLatestKeyVersionEnabled value. - type: string - sourceVault: - description: |- - SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if - the KeyVault subscription is not the same as the Disk Encryption Set subscription. - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - autoKeyRotationError: + strategy: description: |- - AutoKeyRotationError: The error that was encountered during auto-key rotation. If an error is present, then auto-key - rotation will not be attempted until the error on this disk encryption set is fixed. + Strategy: The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single + UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. properties: - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The Api error details' + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' items: - description: Api error base. + description: |- + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. properties: - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The target of the particular error.' + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + type: string + required: + - name + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' + maxLength: 50 + minLength: 1 + pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string + required: + - name type: object type: array - innererror: - description: 'Innererror: The Api inner error' - properties: - errordetail: - description: 'Errordetail: The internal error message or exception dump.' - type: string - exceptiontype: - description: 'Exceptiontype: The exception type.' - type: string - type: object - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The target of the particular error.' - type: string + required: + - stages type: object + required: + - managedClusterUpdate + - owner + type: object + status: + properties: conditions: description: 'Conditions: The observed state of the resource' items: @@ -64776,101 +123902,503 @@ spec: - type type: object type: array - encryptionType: - description: 'EncryptionType: The type of key used to encrypt the data of the disk.' - type: string - federatedClientId: + eTag: description: |- - FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to - 'None' will clear the property. + ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. + Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header + fields. type: string id: - description: 'Id: Resource Id' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - identity: + managedClusterUpdate: description: |- - Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can - be used to encrypt disks. + ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be + modified until the run is started. properties: - principalId: - description: |- - PrincipalId: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the - x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity - type: string - tenantId: - description: |- - TenantId: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the - x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity - type: string - type: - description: |- - Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. - Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active - Directory tenant; it will cause the encrypted resources to lose access to the keys. - type: string - userAssignedIdentities: - additionalProperties: + upgrade: + description: 'Upgrade: The upgrade to apply to the ManagedClusters.' + properties: + kubernetesVersion: + description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' + type: string + type: + description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' + type: string + type: object + type: object + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the UpdateRun resource.' + type: string + status: + description: 'Status: The status of the UpdateRun.' + properties: + stages: + description: 'Stages: The stages composing an update run. Stages are run sequentially withing an UpdateRun.' + items: + description: The status of a UpdateStage. properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' + afterStageWaitStatus: + description: 'AfterStageWaitStatus: The status of the wait period configured on the UpdateStage.' + properties: + status: + description: 'Status: The status of the wait duration.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + waitDurationInSeconds: + description: 'WaitDurationInSeconds: The wait duration configured in seconds.' + type: integer + type: object + groups: + description: 'Groups: The list of groups to be updated as part of this UpdateStage.' + items: + description: The status of a UpdateGroup. + properties: + members: + description: 'Members: The list of member this UpdateGroup updates.' + items: + description: The status of a member update operation. + properties: + clusterResourceId: + description: 'ClusterResourceId: The Azure resource id of the target Kubernetes cluster.' + type: string + name: + description: 'Name: The name of the FleetMember.' + type: string + operationId: + description: 'OperationId: The operation resource id of the latest attempt to perform the operation.' + type: string + status: + description: 'Status: The status of the MemberUpdate operation.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the UpdateGroup.' + type: string + status: + description: 'Status: The status of the UpdateGroup.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the UpdateStage.' type: string + status: + description: 'Status: The status of the UpdateStage.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string + type: object type: object - description: |- - UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: array + status: + description: 'Status: The status of the UpdateRun.' + properties: + completedTime: + description: 'CompletedTime: The time the operation or group was completed.' + type: string + error: + description: 'Error: The error details when a failure is encountered.' + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + details: + description: 'Details: The error details.' + items: + properties: + additionalInfo: + description: 'AdditionalInfo: The error additional info.' + items: + description: The resource management error additional info. + properties: + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Info: The additional info.' + type: object + type: + description: 'Type: The additional info type.' + type: string + type: object + type: array + code: + description: 'Code: The error code.' + type: string + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + type: array + message: + description: 'Message: The error message.' + type: string + target: + description: 'Target: The error target.' + type: string + type: object + startTime: + description: 'StartTime: The time the operation or group was started.' + type: string + state: + description: 'State: The State of the operation or group.' + type: string type: object type: object - lastKeyRotationTimestamp: - description: 'LastKeyRotationTimestamp: The time when the active key of this disk encryption set was updated.' - type: string - location: - description: 'Location: Resource location' - type: string - name: - description: 'Name: Resource name' - type: string - previousKeys: + strategy: description: |- - PreviousKeys: A readonly collection of key vault keys previously used by this disk encryption set while a key rotation - is in progress. It will be empty if there is no ongoing key rotation. - items: - description: Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots - properties: - keyUrl: - description: |- - KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of - rotationToLatestKeyVersionEnabled value. - type: string - sourceVault: + Strategy: The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single + UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. + properties: + stages: + description: 'Stages: The list of stages that compose this update run. Min size: 1.' + items: description: |- - SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if - the KeyVault subscription is not the same as the Disk Encryption Set subscription. + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. properties: - id: - description: 'Id: Resource Id' + afterStageWaitInSeconds: + description: |- + AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to + 0 seconds if unspecified. + type: integer + groups: + description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' + items: + description: A group to be updated. + properties: + name: + description: |- + Name: Name of the group. + It must match a group name of an existing fleet member. + type: string + type: object + type: array + name: + description: 'Name: The name of the stage. Must be unique within the UpdateRun.' type: string type: object - type: object - type: array - provisioningState: - description: 'ProvisioningState: The disk encryption set provisioning state.' - type: string - rotationToLatestKeyVersionEnabled: - description: |- - RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the - latest key version. - type: boolean - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' + type: array + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -64891,14 +124419,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220702storage + name: v1api20230315previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20220702.DiskEncryptionSet + Storage version of v1api20230315preview.FleetsUpdateRun Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2022-07-02/diskEncryptionSet.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} properties: apiVersion: description: |- @@ -64918,7 +124446,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220702.DiskEncryptionSet_Spec + description: Storage version of v1api20230315preview.FleetsUpdateRun_Spec properties: $propertyBag: additionalProperties: @@ -64927,10 +124455,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeKey: + azureName: description: |- - Storage version of v1api20220702.KeyForDiskEncryptionSet - Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + managedClusterUpdate: + description: |- + Storage version of v1api20230315preview.ManagedClusterUpdate + The update to be applied to the ManagedClusters. properties: $propertyBag: additionalProperties: @@ -64939,30 +124472,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyUrl: - type: string - keyUrlFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - sourceVault: + upgrade: description: |- - Storage version of v1api20220702.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + Storage version of v1api20230315preview.ManagedClusterUpgradeSpec + The upgrade to apply to a ManagedCluster. properties: $propertyBag: additionalProperties: @@ -64971,110 +124484,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - encryptionType: - type: string - federatedClientId: - type: string - federatedClientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - identity: - description: |- - Storage version of v1api20220702.EncryptionSetIdentity - The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used - to encrypt disks. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + kubernetesVersion: + type: string + type: + type: string type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20220702.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object - location: - type: string operatorSpec: description: |- - Storage version of v1api20220702.DiskEncryptionSetOperatorSpec + Storage version of v1api20230315preview.FleetsUpdateRunOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -65130,90 +124548,44 @@ spec: name: description: |- Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - rotationToLatestKeyVersionEnabled: - type: boolean - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20220702.DiskEncryptionSet_STATUS - disk encryption set resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - activeKey: + originalVersion: + type: string + owner: description: |- - Storage version of v1api20220702.KeyForDiskEncryptionSet_STATUS - Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/Fleet resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string - sourceVault: - description: |- - Storage version of v1api20220702.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object type: object - autoKeyRotationError: + strategy: description: |- - Storage version of v1api20220702.ApiError_STATUS - Api error. + Storage version of v1api20230315preview.UpdateRunStrategy + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. properties: $propertyBag: additionalProperties: @@ -65222,13 +124594,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: - type: string - details: + stages: items: description: |- - Storage version of v1api20220702.ApiErrorBase_STATUS - Api error base. + Storage version of v1api20230315preview.UpdateStage + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. properties: $propertyBag: additionalProperties: @@ -65237,35 +124608,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: - type: string - message: - type: string - target: + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20230315preview.UpdateGroup + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: type: string type: object type: array - innererror: - description: |- - Storage version of v1api20220702.InnerError_STATUS - Inner error details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - errordetail: - type: string - exceptiontype: - type: string - type: object - message: - type: string - target: - type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230315preview.FleetsUpdateRun_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object conditions: items: @@ -65310,17 +124688,14 @@ spec: - type type: object type: array - encryptionType: - type: string - federatedClientId: + eTag: type: string id: type: string - identity: + managedClusterUpdate: description: |- - Storage version of v1api20220702.EncryptionSetIdentity_STATUS - The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used - to encrypt disks. + Storage version of v1api20230315preview.ManagedClusterUpdate_STATUS + The update to be applied to the ManagedClusters. properties: $propertyBag: additionalProperties: @@ -65329,15 +124704,45 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: + upgrade: + description: |- + Storage version of v1api20230315preview.ManagedClusterUpgradeSpec_STATUS + The upgrade to apply to a ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kubernetesVersion: + type: string + type: + type: string + type: object + type: object + name: + type: string + provisioningState: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateRunStatus_STATUS + The status of a UpdateRun. + properties: + $propertyBag: additionalProperties: - description: Storage version of v1api20220702.EncryptionSetIdentity_UserAssignedIdentities_STATUS + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: + description: |- + Storage version of v1api20230315preview.UpdateStageStatus_STATUS + The status of a UpdateStage. properties: $propertyBag: additionalProperties: @@ -65346,39 +124751,583 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: - type: string - principalId: + afterStageWaitStatus: + description: |- + Storage version of v1api20230315preview.WaitStatus_STATUS + The status of the wait duration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + waitDurationInSeconds: + type: integer + type: object + groups: + items: + description: |- + Storage version of v1api20230315preview.UpdateGroupStatus_STATUS + The status of a UpdateGroup. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + members: + items: + description: |- + Storage version of v1api20230315preview.MemberUpdateStatus_STATUS + The status of a member update operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterResourceId: + type: string + name: + type: string + operationId: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + name: + type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object + type: object + type: array + name: type: string + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string + type: object type: object + type: array + status: + description: |- + Storage version of v1api20230315preview.UpdateStatus_STATUS + The status for an operation or group of operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completedTime: + type: string + error: + description: |- + Storage version of v1api20230315preview.ErrorDetail_STATUS + The error detail. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + details: + items: + description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalInfo: + items: + description: |- + Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS + The resource management error additional info. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + info: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: + type: string + type: object + type: array + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + startTime: + type: string + state: + type: string type: object type: object - lastKeyRotationTimestamp: - type: string - location: - type: string - name: - type: string - previousKeys: - items: - description: |- - Storage version of v1api20220702.KeyForDiskEncryptionSet_STATUS - Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: + strategy: + description: |- + Storage version of v1api20230315preview.UpdateRunStrategy_STATUS + Defines the update sequence of the clusters via stages and groups. + Stages within a run are executed sequentially one + after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially + one after another. + A valid strategy contains no duplicate groups within or across stages. + properties: + $propertyBag: + additionalProperties: type: string - sourceVault: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + stages: + items: description: |- - Storage version of v1api20220702.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + Storage version of v1api20230315preview.UpdateStage_STATUS + Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting + the next stage. properties: $propertyBag: additionalProperties: @@ -65387,27 +125336,98 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + afterStageWaitInSeconds: + type: integer + groups: + items: + description: |- + Storage version of v1api20230315preview.UpdateGroup_STATUS + A group to be updated. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + type: array + name: type: string type: object - type: object - type: array - provisioningState: - type: string - rotationToLatestKeyVersionEnabled: - type: boolean - tags: - additionalProperties: - type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20230315preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: flexibleservers.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServer + listKind: FlexibleServerList + plural: flexibleservers + singular: flexibleserver + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -65421,13 +125441,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302 + name: v1api20210501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskEncryptionSet.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -65448,113 +125468,137 @@ spec: type: object spec: properties: - activeKey: - description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' properties: - keyUrl: - description: |- - KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of - rotationToLatestKeyVersionEnabled value. + key: + description: Key is the key in the Kubernetes secret being referenced type: string - keyUrlFromConfig: - description: |- - KeyUrlFromConfig: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required - regardless of rotationToLatestKeyVersionEnabled value. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - sourceVault: + name: description: |- - SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if - the KeyVault subscription is not the same as the Disk Encryption Set subscription. - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - encryptionType: - description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' enum: - - ConfidentialVmEncryptedWithCustomerKey - - EncryptionAtRestWithCustomerKey - - EncryptionAtRestWithPlatformAndCustomerKeys - type: string - federatedClientId: - description: |- - FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to - 'None' will clear the property. + - Default + - GeoRestore + - PointInTimeRestore + - Replica type: string - federatedClientIdFromConfig: - description: |- - FederatedClientIdFromConfig: Multi-tenant application client id to access key vault in a different tenant. Setting the - value to 'None' will clear the property. + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + mode: + description: 'Mode: High availability mode for a server.' + enum: + - Disabled + - SameZone + - ZoneRedundant type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' type: string - required: - - key - - name type: object identity: - description: |- - Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can - be used to encrypt disks. + description: 'Identity: The cmk identity for the server.' properties: type: - description: |- - Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. - Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active - Directory tenant; it will cause the encrypted resources to lose access to the keys. + description: 'Type: Type of managed service identity.' enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - UserAssigned type: string userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + description: 'UserAssignedIdentities: Metadata of user assigned identity.' items: description: Information about the user assigned identity for the resource properties: @@ -65582,8 +125626,68 @@ spec: type: array type: object location: - description: 'Location: Resource location' + description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -65619,6 +125723,44 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + administratorLogin: + description: |- + AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -65649,6 +125791,27 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -65663,80 +125826,88 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rotationToLatestKeyVersionEnabled: - description: |- - RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the - latest key version. - type: boolean + replicationRole: + description: 'ReplicationRole: The replication role.' + enum: + - None + - Replica + - Source + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object + version: + description: 'Version: Server version.' + enum: + - "5.7" + - 8.0.21 + type: string required: - location - owner type: object status: - description: disk encryption set resource. properties: - activeKey: - description: 'ActiveKey: The key vault key which is currently used by this disk encryption set.' - properties: - keyUrl: - description: |- - KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of - rotationToLatestKeyVersionEnabled value. - type: string - sourceVault: - description: |- - SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if - the KeyVault subscription is not the same as the Disk Encryption Set subscription. - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - autoKeyRotationError: + administratorLogin: description: |- - AutoKeyRotationError: The error that was encountered during auto-key rotation. If an error is present, then auto-key - rotation will not be attempted until the error on this disk encryption set is fixed. + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + backup: + description: 'Backup: Backup related properties of a server.' properties: - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The Api error details' - items: - description: Api error base. - properties: - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The target of the particular error.' - type: string - type: object - type: array - innererror: - description: 'Innererror: The Api inner error' - properties: - errordetail: - description: 'Errordetail: The internal error message or exception dump.' - type: string - exceptiontype: - description: 'Exceptiontype: The exception type.' - type: string - type: object - message: - description: 'Message: The error message.' + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' type: string - target: - description: 'Target: The target of the particular error.' + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' type: string type: object conditions: @@ -65783,101 +125954,179 @@ spec: - type type: object type: array - encryptionType: - description: 'EncryptionType: The type of key used to encrypt the data of the disk.' + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' type: string - federatedClientId: - description: |- - FederatedClientId: Multi-tenant application client id to access key vault in a different tenant. Setting the value to - 'None' will clear the property. + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + same region as geo backup + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' + type: string + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' type: string + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + state: + description: 'State: The state of server high availability.' + type: string + type: object id: - description: 'Id: Resource Id' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string identity: - description: |- - Identity: The managed identity for the disk encryption set. It should be given permission on the key vault before it can - be used to encrypt disks. + description: 'Identity: The cmk identity for the server.' properties: principalId: - description: |- - PrincipalId: The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the - x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity + description: 'PrincipalId: ObjectId from the KeyVault' type: string tenantId: - description: |- - TenantId: The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the - x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity + description: 'TenantId: TenantId from the KeyVault' type: string type: - description: |- - Type: The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. - Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active - Directory tenant; it will cause the encrypted resources to lose access to the keys. + description: 'Type: Type of managed service identity.' type: string userAssignedIdentities: additionalProperties: - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The list of user identities associated with the disk encryption set. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: Metadata of user assigned identity.' type: object type: object - lastKeyRotationTimestamp: - description: 'LastKeyRotationTimestamp: The time when the active key of this disk encryption set was updated.' - type: string location: - description: 'Location: Resource location' + description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object name: - description: 'Name: Resource name' + description: 'Name: The name of the resource' type: string - previousKeys: - description: |- - PreviousKeys: A readonly collection of key vault keys previously used by this disk encryption set while a key rotation - is in progress. It will be empty if there is no ongoing key rotation. - items: - description: Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots - properties: - keyUrl: - description: |- - KeyUrl: Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of - rotationToLatestKeyVersionEnabled value. - type: string - sourceVault: - description: |- - SourceVault: Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if - the KeyVault subscription is not the same as the Disk Encryption Set subscription. - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - type: array - provisioningState: - description: 'ProvisioningState: The disk encryption set provisioning state.' + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' + type: string + privateDnsZoneResourceId: + description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + type: string + type: object + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role.' type: string - rotationToLatestKeyVersionEnabled: - description: |- - RotationToLatestKeyVersionEnabled: Set this flag to true to enable auto-updating of this disk encryption set to the - latest key version. - type: boolean + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + type: string + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + state: + description: 'State: The state of a server.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + storageSku: + description: 'StorageSku: The sku name of the server storage.' + type: string + type: object + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + version: + description: 'Version: Server version.' type: string type: object type: object @@ -65898,14 +126147,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302storage + name: v1api20210501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240302.DiskEncryptionSet + Storage version of v1api20210501.FlexibleServer Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/diskEncryptionSet.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -65925,7 +126174,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240302.DiskEncryptionSet_Spec + description: Storage version of v1api20210501.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -65934,10 +126183,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeKey: + administratorLogin: + type: string + administratorLoginPassword: description: |- - Storage version of v1api20240302.KeyForDiskEncryptionSet - Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + backup: + description: |- + Storage version of v1api20210501.Backup + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -65946,91 +126221,95 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyUrl: + backupRetentionDays: + type: integer + geoRedundantBackup: type: string - keyUrlFromConfig: + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20210501.DataEncryption + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + description: Name is the Kubernetes name of the resource. type: string - required: - - key - - name type: object - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + primaryKeyURI: + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object + type: + type: string type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - encryptionType: - type: string - federatedClientId: - type: string - federatedClientIdFromConfig: + highAvailability: description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + Storage version of v1api20210501.HighAvailability + Network related properties of a server properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: type: string - required: - - key - - name type: object identity: description: |- - Storage version of v1api20240302.EncryptionSetIdentity - The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used - to encrypt disks. + Storage version of v1api20210501.Identity + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -66044,7 +126323,7 @@ spec: userAssignedIdentities: items: description: |- - Storage version of v1api20240302.UserAssignedIdentityDetails + Storage version of v1api20210501.UserAssignedIdentityDetails Information about the user assigned identity for the resource properties: $propertyBag: @@ -66079,9 +126358,83 @@ spec: type: object location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20210501.MaintenanceWindow + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20210501.Network + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object operatorSpec: description: |- - Storage version of v1api20240302.DiskEncryptionSetOperatorSpec + Storage version of v1api20210501.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -66120,6 +126473,53 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20210501.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -66149,6 +126549,35 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20210501.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -66165,19 +126594,59 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rotationToLatestKeyVersionEnabled: - type: boolean + replicationRole: + type: string + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20210501.Sku + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + storage: + description: |- + Storage version of v1api20210501.Storage + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + type: object tags: additionalProperties: type: string type: object + version: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20240302.DiskEncryptionSet_STATUS - disk encryption set resource. + description: Storage version of v1api20210501.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -66186,41 +126655,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeKey: - description: |- - Storage version of v1api20240302.KeyForDiskEncryptionSet_STATUS - Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - autoKeyRotationError: + administratorLogin: + type: string + availabilityZone: + type: string + backup: description: |- - Storage version of v1api20240302.ApiError_STATUS - Api error. + Storage version of v1api20210501.Backup_STATUS + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -66229,49 +126671,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: - type: string - details: - items: - description: |- - Storage version of v1api20240302.ApiErrorBase_STATUS - Api error base. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - innererror: - description: |- - Storage version of v1api20240302.InnerError_STATUS - Inner error details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - errordetail: - type: string - exceptiontype: - type: string - type: object - message: + backupRetentionDays: + type: integer + earliestRestoreDate: type: string - target: + geoRedundantBackup: type: string type: object conditions: @@ -66317,17 +126721,58 @@ spec: - type type: object type: array - encryptionType: + createMode: type: string - federatedClientId: + dataEncryption: + description: |- + Storage version of v1api20210501.DataEncryption_STATUS + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: type: string + highAvailability: + description: |- + Storage version of v1api20210501.HighAvailability_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object id: type: string identity: description: |- - Storage version of v1api20240302.EncryptionSetIdentity_STATUS - The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used - to encrypt disks. + Storage version of v1api20210501.Identity_STATUS + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -66344,109 +126789,140 @@ spec: type: string userAssignedIdentities: additionalProperties: - description: Storage version of v1api20240302.EncryptionSetIdentity_UserAssignedIdentities_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object + x-kubernetes-preserve-unknown-fields: true type: object type: object - lastKeyRotationTimestamp: - type: string location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20210501.MaintenanceWindow_STATUS + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object name: type: string - previousKeys: - items: - description: |- - Storage version of v1api20240302.KeyForDiskEncryptionSet_STATUS - Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: + network: + description: |- + Storage version of v1api20210501.Network_STATUS + Network related properties of a server + properties: + $propertyBag: + additionalProperties: type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - type: array - provisioningState: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneResourceId: + type: string + publicNetworkAccess: + type: string + type: object + replicaCapacity: + type: integer + replicationRole: type: string - rotationToLatestKeyVersionEnabled: - type: boolean + restorePointInTime: + type: string + sku: + description: |- + Storage version of v1api20210501.Sku_STATUS + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20210501.Storage_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + storageSku: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object type: type: string + version: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: disks.compute.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: compute.azure.com - names: - kind: Disk - listKind: DiskList - plural: disks - singular: disk - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -66460,13 +126936,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200930 + name: v1api20230630 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -66487,99 +126963,65 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - burstingEnabled: - description: |- - BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is - disabled by default. Does not apply to Ultra disks. - type: boolean - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + backup: + description: 'Backup: Backup related properties of a server.' properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' enum: - - Attach - - Copy - - Empty - - FromImage - - Import - - Restore - - Upload + - Disabled + - Enabled type: string - galleryImageReference: + type: object + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + enum: + - Default + - GeoRestore + - PointInTimeRestore + - Replica + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityReference: description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of - the shared galley image version from which to create a disk. - properties: - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - imageReference: - description: 'ImageReference: Disk source information.' - properties: - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup properties: armId: description: |- @@ -66598,74 +127040,11 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer - required: - - createOption - type: object - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' type: string - type: object - diskIOPSReadOnly: - description: |- - DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One - operation can transfer between 4k and 256k bytes. - type: integer - diskIOPSReadWrite: - description: |- - DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can - transfer between 4k and 256k bytes. - type: integer - diskMBpsReadOnly: - description: |- - DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. - MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskMBpsReadWrite: - description: |- - DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes - per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskSizeGB: - description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' - properties: - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' properties: armId: description: |- @@ -66685,142 +127064,163 @@ spec: type: string type: object type: - description: 'Type: The type of key used to encrypt the data of the disk.' + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' enum: - - EncryptionAtRestWithCustomerKey - - EncryptionAtRestWithPlatformAndCustomerKeys - - EncryptionAtRestWithPlatformKey + - AzureKeyVault + - SystemManaged type: string type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + mode: + description: 'Mode: High availability mode for a server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + type: object + identity: + description: 'Identity: The cmk identity for the server.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Metadata of user assigned identity.' items: - description: Encryption settings for one disk volume. + description: Information about the user assigned identity for the resource properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - secretUrl - - sourceVault - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - keyUrl - - sourceVault type: object type: object type: array - encryptionSettingsVersion: - description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. - type: string - required: - - enabled type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' properties: - name: - description: 'Name: The name of the extended location.' + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' type: string - type: - description: 'Type: The type of the extended location.' + sasToken: + description: 'SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + description: 'StorageType: Storage type of import source.' enum: - - EdgeZone + - AzureBlob + type: string + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' type: string type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - enum: - - V1 - - V2 - type: string location: - description: 'Location: Resource location' - type: string - maxShares: - description: |- - MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a - disk that can be mounted on multiple VMs at the same time. - type: integer - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - enum: - - AllowAll - - AllowPrivate - - DenyAll + description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. + enum: + - Disabled + - Enabled + type: string + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -66856,6 +127256,44 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + administratorLogin: + description: |- + AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -66886,13 +127324,28 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - osType: - description: 'OsType: The Operating System type.' - enum: - - Linux - - Windows - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -66906,70 +127359,119 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - purchasePlan: - description: |- - PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: - 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + replicationRole: + description: 'ReplicationRole: The replication role.' + enum: + - None + - Replica + - Source + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' properties: name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' type: string - publisher: - description: 'Publisher: The publisher ID.' + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized type: string required: - name - - product - - publisher + - tier type: object - sku: - description: 'Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS.' + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: 'Name: The sku name.' + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' enum: - - Premium_LRS - - StandardSSD_LRS - - Standard_LRS - - UltraSSD_LRS + - Disabled + - Enabled + type: string + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + enum: + - Disabled + - Enabled type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + enum: + - Disabled + - Enabled + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object - tier: - description: |- - Tier: Performance tier of the disk (e.g, P4, S10) as described here: - https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + version: + description: 'Version: Server version.' + enum: + - "5.7" + - 8.0.21 type: string - zones: - description: 'Zones: The Logical zone list for Disk.' - items: - type: string - type: array required: - - creationData - location - owner type: object status: - description: Disk resource. properties: - burstingEnabled: + administratorLogin: description: |- - BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is - disabled by default. Does not apply to Ultra disks. - type: boolean + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -67014,272 +127516,211 @@ spec: - type type: object type: array - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' - properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' - type: string - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of - the shared galley image version from which to create a disk. - properties: - id: - description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - type: object - imageReference: - description: 'ImageReference: Disk source information.' - properties: - id: - description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - sourceResourceId: - description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - type: string - sourceUniqueId: - description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' - type: string - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer - type: object - diskAccessId: - description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' - type: string - diskIOPSReadOnly: - description: |- - DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One - operation can transfer between 4k and 256k bytes. - type: integer - diskIOPSReadWrite: - description: |- - DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can - transfer between 4k and 256k bytes. - type: integer - diskMBpsReadOnly: - description: |- - DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. - MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskMBpsReadWrite: - description: |- - DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes - per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskSizeBytes: - description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' - type: integer - diskSizeGB: - description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - diskState: - description: 'DiskState: The state of the disk.' + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' type: string - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' properties: - diskEncryptionSetId: - description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' - type: string - type: - description: 'Type: The type of key used to encrypt the data of the disk.' + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' type: string - type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. - properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: + geoBackupUserAssignedIdentityId: description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + same region as geo backup type: string - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' type: string type: - description: 'Type: The type of the extended location.' + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' type: string type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' type: string + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + state: + description: 'State: The state of server high availability.' + type: string + type: object id: - description: 'Id: Resource Id' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string + identity: + description: 'Identity: The cmk identity for the server.' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + type: object + type: object + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' + properties: + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' + type: string + storageType: + description: 'StorageType: Storage type of import source.' + type: string + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' + type: string + type: object location: - description: 'Location: Resource location' - type: string - managedBy: - description: 'ManagedBy: A relative URI containing the ID of the VM that has the disk attached.' + description: 'Location: The geo-location where the resource lives' type: string - managedByExtended: - description: |- - ManagedByExtended: List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be - set to a value greater than one for disks to allow attaching them to multiple VMs. - items: - type: string - type: array - maxShares: - description: |- - MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a - disk that can be mounted on multiple VMs at the same time. - type: integer + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object name: - description: 'Name: Resource name' - type: string - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - type: string - osType: - description: 'OsType: The Operating System type.' - type: string - provisioningState: - description: 'ProvisioningState: The disk provisioning state.' + description: 'Name: The name of the resource' type: string - purchasePlan: - description: |- - PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: - 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + network: + description: 'Network: Network related properties of a server.' properties: - name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + privateDnsZoneResourceId: + description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' type: string - publisher: - description: 'Publisher: The publisher ID.' + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. type: string type: object - shareInfo: - description: |- - ShareInfo: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than - one for disks to allow attaching them to multiple VMs. + privateEndpointConnections: + description: 'PrivateEndpointConnections: PrivateEndpointConnections related properties of a server.' items: + description: The private endpoint connection resource. properties: - vmUri: - description: 'VmUri: A relative URI containing the ID of the VM that has the disk attached.' + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string type: object type: array + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role.' + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string sku: - description: 'Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS.' + description: 'Sku: The SKU (pricing tier) of the server.' properties: name: - description: 'Name: The sku name.' + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' type: string tier: - description: 'Tier: The sku tier.' + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + type: string + type: object + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + state: + description: 'State: The state of a server.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' + type: string + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + storageSku: + description: 'StorageSku: The sku name of the server storage.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object - tier: - description: |- - Tier: Performance tier of the disk (e.g, P4, S10) as described here: - https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. - type: string - timeCreated: - description: 'TimeCreated: The time when the disk was created.' - type: string type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - uniqueId: - description: 'UniqueId: Unique Guid identifying the resource.' + version: + description: 'Version: Server version.' type: string - zones: - description: 'Zones: The Logical zone list for Disk.' - items: - type: string - type: array type: object type: object served: true @@ -67299,14 +127740,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200930storage + name: v1api20230630storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200930.Disk + Storage version of v1api20230630.FlexibleServer Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -67326,7 +127767,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200930.Disk_Spec + description: Storage version of v1api20230630.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -67335,17 +127776,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - burstingEnabled: - type: boolean - creationData: + backup: description: |- - Storage version of v1api20200930.CreationData - Data used when creating a disk. + Storage version of v1api20230630.Backup + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -67354,86 +127814,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: + backupRetentionDays: + type: integer + geoRedundantBackup: type: string - galleryImageReference: + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20230630.DataEncryption + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20200930.ImageDiskReference - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lun: - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - imageReference: + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityReference: description: |- - Storage version of v1api20200930.ImageDiskReference - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lun: - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - logicalSectorSize: - type: integer - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup properties: armId: description: |- @@ -67452,57 +127857,10 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - sourceUri: - type: string - storageAccountId: - type: string - uploadSizeBytes: - type: integer - type: object - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + primaryKeyURI: type: string - type: object - diskIOPSReadOnly: - type: integer - diskIOPSReadWrite: - type: integer - diskMBpsReadOnly: - type: integer - diskMBpsReadWrite: - type: integer - diskSizeGB: - type: integer - encryption: - description: |- - Storage version of v1api20200930.Encryption - Encryption at rest settings for disk or snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' properties: armId: description: |- @@ -67524,10 +127882,10 @@ spec: type: type: string type: object - encryptionSettingsCollection: + highAvailability: description: |- - Storage version of v1api20200930.EncryptionSettingsCollection - Encryption settings for disk or snapshot + Storage version of v1api20230630.HighAvailability + Network related properties of a server properties: $propertyBag: additionalProperties: @@ -67536,13 +127894,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - encryptionSettings: + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20230630.MySQLServerIdentity + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: items: description: |- - Storage version of v1api20200930.EncryptionSettingsElement - Encryption settings for one disk volume. + Storage version of v1api20230630.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -67551,113 +127926,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diskEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndSecretReference - Key Vault Secret Url and vault id of the encryption key + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - keyEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndKeyReference - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object type: object type: object type: array - encryptionSettingsVersion: - type: string type: object - extendedLocation: + importSourceProperties: description: |- - Storage version of v1api20200930.ExtendedLocation - The complex type of the extended location. + Storage version of v1api20230630.ImportSourceProperties + Import source related properties. properties: $propertyBag: additionalProperties: @@ -67666,22 +127961,111 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + dataDirPath: type: string - type: + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + type: string + storageUrl: type: string type: object - hyperVGeneration: - type: string location: type: string - maxShares: - type: integer - networkAccessPolicy: - type: string + maintenanceWindow: + description: |- + Storage version of v1api20230630.MaintenanceWindow + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20230630.Network + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20200930.DiskOperatorSpec + Storage version of v1api20230630.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -67720,6 +128104,53 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20230630.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -67749,11 +128180,38 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20230630.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -67767,10 +128225,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - purchasePlan: + replicationRole: + type: string + restorePointInTime: + type: string + sku: description: |- - Storage version of v1api20200930.PurchasePlan - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + Storage version of v1api20230630.MySQLServerSku + Billing information related properties of a server. properties: $propertyBag: additionalProperties: @@ -67781,17 +128243,33 @@ spec: type: object name: type: string - product: + tier: type: string - promotionCode: + type: object + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - publisher: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - sku: + storage: description: |- - Storage version of v1api20200930.DiskSku - The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. + Storage version of v1api20230630.Storage + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -67800,26 +128278,28 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + autoGrow: type: string + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer type: object tags: additionalProperties: type: string type: object - tier: + version: type: string - zones: - items: - type: string - type: array required: - owner type: object status: - description: |- - Storage version of v1api20200930.Disk_STATUS - Disk resource. + description: Storage version of v1api20230630.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -67828,8 +128308,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - burstingEnabled: - type: boolean + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20230630.Backup_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -67873,10 +128374,12 @@ spec: - type type: object type: array - creationData: + createMode: + type: string + dataEncryption: description: |- - Storage version of v1api20200930.CreationData_STATUS - Data used when creating a disk. + Storage version of v1api20230630.DataEncryption_STATUS + The date encryption for cmk. properties: $propertyBag: additionalProperties: @@ -67885,186 +128388,44 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: - type: string - galleryImageReference: - description: |- - Storage version of v1api20200930.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - lun: - type: integer - type: object - imageReference: - description: |- - Storage version of v1api20200930.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - lun: - type: integer - type: object - logicalSectorSize: - type: integer - sourceResourceId: - type: string - sourceUniqueId: + geoBackupKeyURI: type: string - sourceUri: + geoBackupUserAssignedIdentityId: type: string - storageAccountId: + primaryKeyURI: type: string - uploadSizeBytes: - type: integer - type: object - diskAccessId: - type: string - diskIOPSReadOnly: - type: integer - diskIOPSReadWrite: - type: integer - diskMBpsReadOnly: - type: integer - diskMBpsReadWrite: - type: integer - diskSizeBytes: - type: integer - diskSizeGB: - type: integer - diskState: - type: string - encryption: - description: |- - Storage version of v1api20200930.Encryption_STATUS - Encryption at rest settings for disk or snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionSetId: + primaryUserAssignedIdentityId: type: string type: type: string type: object - encryptionSettingsCollection: + fullyQualifiedDomainName: + type: string + highAvailability: description: |- - Storage version of v1api20200930.EncryptionSettingsCollection_STATUS - Encryption settings for disk or snapshot + Storage version of v1api20230630.HighAvailability_STATUS + Network related properties of a server properties: $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - encryptionSettings: - items: - description: |- - Storage version of v1api20200930.EncryptionSettingsElement_STATUS - Encryption settings for one disk volume. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndSecretReference_STATUS - Key Vault Secret Url and vault id of the encryption key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - keyEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndKeyReference_STATUS - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: type: string type: object - extendedLocation: + id: + type: string + identity: description: |- - Storage version of v1api20200930.ExtendedLocation_STATUS - The complex type of the extended location. + Storage version of v1api20230630.MySQLServerIdentity_STATUS + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -68073,37 +128434,65 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + principalId: + type: string + tenantId: type: string type: type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + importSourceProperties: + description: |- + Storage version of v1api20230630.ImportSourceProperties_STATUS + Import source related properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataDirPath: + type: string + storageType: + type: string + storageUrl: + type: string type: object - hyperVGeneration: - type: string - id: - type: string location: type: string - managedBy: - type: string - managedByExtended: - items: - type: string - type: array - maxShares: - type: integer + maintenanceWindow: + description: |- + Storage version of v1api20230630.MaintenanceWindow_STATUS + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object name: type: string - networkAccessPolicy: - type: string - osType: - type: string - provisioningState: - type: string - purchasePlan: + network: description: |- - Storage version of v1api20200930.PurchasePlan_STATUS - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + Storage version of v1api20230630.Network_STATUS + Network related properties of a server properties: $propertyBag: additionalProperties: @@ -68112,18 +128501,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - product: + delegatedSubnetResourceId: type: string - promotionCode: + privateDnsZoneResourceId: type: string - publisher: + publicNetworkAccess: type: string type: object - shareInfo: + privateEndpointConnections: items: - description: Storage version of v1api20200930.ShareInfoElement_STATUS + description: |- + Storage version of v1api20230630.PrivateEndpointConnection_STATUS + The private endpoint connection resource. properties: $propertyBag: additionalProperties: @@ -68132,14 +128521,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - vmUri: + id: type: string type: object type: array + replicaCapacity: + type: integer + replicationRole: + type: string + restorePointInTime: + type: string sku: description: |- - Storage version of v1api20200930.DiskSku_STATUS - The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS. + Storage version of v1api20230630.MySQLServerSku_STATUS + Billing information related properties of a server. properties: $propertyBag: additionalProperties: @@ -68153,22 +128548,68 @@ spec: tier: type: string type: object + sourceServerResourceId: + type: string + state: + type: string + storage: + description: |- + Storage version of v1api20230630.Storage_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer + storageSku: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object - tier: - type: string - timeCreated: - type: string type: type: string - uniqueId: + version: type: string - zones: - items: - type: string - type: array type: object type: object served: true @@ -68188,13 +128629,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302 + name: v1api20231230 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/disk.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -68215,41 +128656,68 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - burstingEnabled: - description: |- - BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is - disabled by default. Does not apply to Ultra disks. - type: boolean - completionPercent: - description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' - type: number - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + backup: + description: 'Backup: Backup related properties of a server.' properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + backupIntervalHours: + description: 'BackupIntervalHours: Backup interval hours for the server.' + type: integer + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' enum: - - Attach - - Copy - - CopyFromSanSnapshot - - CopyStart - - Empty - - FromImage - - Import - - ImportSecure - - Restore - - Upload - - UploadPreparedSecure + - Disabled + - Enabled type: string - elasticSanResourceReference: + type: object + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + enum: + - Default + - GeoRestore + - PointInTimeRestore + - Replica + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityReference: description: |- - ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic - san volume snapshot. + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup properties: armId: description: |- @@ -68268,103 +128736,140 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of - the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' + type: string + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: + armId: description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - imageReference: - description: 'ImageReference: Disk source information for PIR or user images.' + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + type: object + identity: + description: 'Identity: The cmk identity for the server.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' + properties: + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' + type: string + sasToken: + description: 'SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token.' properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + key: + description: Key is the key in the Kubernetes secret being referenced type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: + name: description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - performancePlus: - description: |- - PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the - respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. - type: boolean - provisionedBandwidthCopySpeed: - description: |- - ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be - copied at a quicker speed. + storageType: + description: 'StorageType: Storage type of import source.' enum: - - Enhanced - - None + - AzureBlob type: string - securityDataUri: - description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' type: string - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network related properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' properties: armId: description: |- @@ -68383,80 +128888,8 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer - required: - - createOption - type: object - dataAccessAuthMode: - description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' - enum: - - AzureActiveDirectory - - None - type: string - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - diskIOPSReadOnly: - description: |- - DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One - operation can transfer between 4k and 256k bytes. - type: integer - diskIOPSReadWrite: - description: |- - DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can - transfer between 4k and 256k bytes. - type: integer - diskMBpsReadOnly: - description: |- - DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. - MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskMBpsReadWrite: - description: |- - DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes - per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskSizeGB: - description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' - properties: - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' properties: armId: description: |- @@ -68475,143 +128908,15 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - type: - description: 'Type: The type of key used to encrypt the data of the disk.' - enum: - - EncryptionAtRestWithCustomerKey - - EncryptionAtRestWithPlatformAndCustomerKeys - - EncryptionAtRestWithPlatformKey - type: string - type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. - properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - secretUrl - - sourceVault - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - keyUrl - - sourceVault - type: object - type: object - type: array - encryptionSettingsVersion: + publicNetworkAccess: description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. - type: string - required: - - enabled - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. enum: - - EdgeZone + - Disabled + - Enabled type: string type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - enum: - - V1 - - V2 - type: string - location: - description: 'Location: Resource location' - type: string - maxShares: - description: |- - MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a - disk that can be mounted on multiple VMs at the same time. - type: integer - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - enum: - - AllowAll - - AllowPrivate - - DenyAll - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -68647,6 +128952,44 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + administratorLogin: + description: |- + AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -68677,20 +129020,28 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - optimizedForFrequentAttach: - description: |- - OptimizedForFrequentAttach: Setting this property to true improves reliability and performance of data disks that are - frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should - not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault - domain of the virtual machine. - type: boolean - osType: - description: 'OsType: The Operating System type.' - enum: - - Linux - - Windows - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -68704,146 +129055,122 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + replicationRole: + description: 'ReplicationRole: The replication role.' enum: - - Disabled - - Enabled + - None + - Replica + - Source type: string - purchasePlan: - description: |- - PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: - 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' properties: name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' type: string - publisher: - description: 'Publisher: The publisher ID.' + tier: + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized type: string required: - name - - product - - publisher + - tier type: object - securityProfile: - description: 'SecurityProfile: Contains the security related information for the resource.' + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' properties: - secureVMDiskEncryptionSetReference: + armId: description: |- - SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk - encrypted with customer managed key - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityType: - description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' - enum: - - ConfidentialVM_DiskEncryptedWithCustomerKey - - ConfidentialVM_DiskEncryptedWithPlatformKey - - ConfidentialVM_NonPersistedTPM - - ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey - - TrustedLaunch + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: object - sku: - description: |- - Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, - or PremiumV2_LRS. - properties: name: - description: 'Name: The sku name.' - enum: - - PremiumV2_LRS - - Premium_LRS - - Premium_ZRS - - StandardSSD_LRS - - StandardSSD_ZRS - - Standard_LRS - - UltraSSD_LRS + description: Name is the Kubernetes name of the resource. type: string type: object - supportedCapabilities: - description: 'SupportedCapabilities: List of supported capabilities for the image from which the OS disk was created.' + storage: + description: 'Storage: Storage related properties of a server.' properties: - acceleratedNetwork: - description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' - type: boolean - architecture: - description: 'Architecture: CPU architecture supported by an OS disk.' + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' enum: - - Arm64 - - x64 + - Disabled + - Enabled type: string - diskControllerTypes: - description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + enum: + - Disabled + - Enabled type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer type: object - supportsHibernation: - description: 'SupportsHibernation: Indicates the OS on a disk supports hibernation.' - type: boolean tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object - tier: - description: |- - Tier: Performance tier of the disk (e.g, P4, S10) as described here: - https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. + version: + description: 'Version: Server version.' + enum: + - "5.7" + - 8.0.21 type: string - zones: - description: 'Zones: The Logical zone list for Disk.' - items: - type: string - type: array required: - - creationData - location - owner type: object status: - description: Disk resource. properties: - LastOwnershipUpdateTime: + administratorLogin: description: |- - LastOwnershipUpdateTime: The UTC time when the ownership state of the disk was last changed i.e., the time the disk was - last attached or detached from a VM or the time when the VM to which the disk was attached was deallocated or started. + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). type: string - burstingEnabled: - description: |- - BurstingEnabled: Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is - disabled by default. Does not apply to Ultra disks. - type: boolean - burstingEnabledTime: - description: 'BurstingEnabledTime: Latest time when bursting was last enabled on a disk.' + availabilityZone: + description: 'AvailabilityZone: availability Zone information of the server.' type: string - completionPercent: - description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' - type: number + backup: + description: 'Backup: Backup related properties of a server.' + properties: + backupIntervalHours: + description: 'BackupIntervalHours: Backup interval hours for the server.' + type: integer + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -68863,377 +129190,236 @@ spec: with respect to the current state of the instance. format: int64 type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' - properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' - type: string - elasticSanResourceId: - description: |- - ElasticSanResourceId: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san - volume snapshot. - type: string - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of - the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. - properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - id: - description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' - type: string - type: object - imageReference: - description: 'ImageReference: Disk source information for PIR or user images.' - properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - id: - description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' - type: string - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - performancePlus: - description: |- - PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the - respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. - type: boolean - provisionedBandwidthCopySpeed: + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createMode: + description: 'CreateMode: The mode to create a new MySQL server.' + type: string + dataEncryption: + description: 'DataEncryption: The Data Encryption for CMK.' + properties: + geoBackupKeyURI: + description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + type: string + geoBackupUserAssignedIdentityId: description: |- - ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be - copied at a quicker speed. + GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + same region as geo backup type: string - securityDataUri: - description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + primaryKeyURI: + description: 'PrimaryKeyURI: Primary key uri' type: string - sourceResourceId: - description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' type: string - sourceUniqueId: - description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: + description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' type: string - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability related properties of a server.' + properties: + mode: + description: 'Mode: High availability mode for a server.' type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + type: string + state: + description: 'State: The state of server high availability.' type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer type: object - dataAccessAuthMode: - description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' - type: string - diskAccessId: - description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' - type: string - diskIOPSReadOnly: - description: |- - DiskIOPSReadOnly: The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One - operation can transfer between 4k and 256k bytes. - type: integer - diskIOPSReadWrite: - description: |- - DiskIOPSReadWrite: The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can - transfer between 4k and 256k bytes. - type: integer - diskMBpsReadOnly: - description: |- - DiskMBpsReadOnly: The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. - MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskMBpsReadWrite: - description: |- - DiskMBpsReadWrite: The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes - per second - MB here uses the ISO notation, of powers of 10. - type: integer - diskSizeBytes: - description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' - type: integer - diskSizeGB: + id: description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - diskState: - description: 'DiskState: The state of the disk.' + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + identity: + description: 'Identity: The cmk identity for the server.' properties: - diskEncryptionSetId: - description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' type: string type: - description: 'Type: The type of key used to encrypt the data of the disk.' + description: 'Type: Type of managed service identity.' type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'UserAssignedIdentities: Metadata of user assigned identity.' + type: object type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used for Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. + importSourceProperties: + description: 'ImportSourceProperties: Source properties for import from storage.' properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: - description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + dataDirPath: + description: 'DataDirPath: Relative path of data directory in storage.' type: string - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the disk will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' + storageType: + description: 'StorageType: Storage type of import source.' type: string - type: - description: 'Type: The type of the extended location.' + storageUrl: + description: 'StorageUrl: Uri of the import source storage.' type: string type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - type: string - id: - description: 'Id: Resource Id' - type: string location: - description: 'Location: Resource location' - type: string - managedBy: - description: 'ManagedBy: A relative URI containing the ID of the VM that has the disk attached.' - type: string - managedByExtended: - description: |- - ManagedByExtended: List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be - set to a value greater than one for disks to allow attaching them to multiple VMs. - items: - type: string - type: array - maxShares: - description: |- - MaxShares: The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a - disk that can be mounted on multiple VMs at the same time. - type: integer - name: - description: 'Name: Resource name' - type: string - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - type: string - optimizedForFrequentAttach: - description: |- - OptimizedForFrequentAttach: Setting this property to true improves reliability and performance of data disks that are - frequently (more than 5 times a day) by detached from one virtual machine and attached to another. This property should - not be set for disks that are not detached and attached frequently as it causes the disks to not align with the fault - domain of the virtual machine. - type: boolean - osType: - description: 'OsType: The Operating System type.' + description: 'Location: The geo-location where the resource lives' type: string - propertyUpdatesInProgress: - description: 'PropertyUpdatesInProgress: Properties of the disk for which update is pending.' + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window of a server.' properties: - targetTier: - description: 'TargetTier: The target performance tier of the disk if a tier change operation is in progress.' + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer type: object - provisioningState: - description: 'ProvisioningState: The disk provisioning state.' - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + name: + description: 'Name: The name of the resource' type: string - purchasePlan: - description: |- - PurchasePlan: Purchase plan information for the the image from which the OS disk was created. E.g. - {name: - 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer} + network: + description: 'Network: Network related properties of a server.' properties: - name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' type: string - publisher: - description: 'Publisher: The publisher ID.' + privateDnsZoneResourceId: + description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' type: string - type: object - securityProfile: - description: 'SecurityProfile: Contains the security related information for the resource.' - properties: - secureVMDiskEncryptionSetId: + publicNetworkAccess: description: |- - SecureVMDiskEncryptionSetId: ResourceId of the disk encryption set associated to Confidential VM supported disk - encrypted with customer managed key - type: string - securityType: - description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + has VNet integration. type: string type: object - shareInfo: - description: |- - ShareInfo: Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than - one for disks to allow attaching them to multiple VMs. + privateEndpointConnections: + description: 'PrivateEndpointConnections: PrivateEndpointConnections related properties of a server.' items: + description: The private endpoint connection resource. properties: - vmUri: - description: 'VmUri: A relative URI containing the ID of the VM that has the disk attached.' + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string type: object type: array + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role.' + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string sku: - description: |- - Sku: The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, - or PremiumV2_LRS. + description: 'Sku: The SKU (pricing tier) of the server.' properties: name: - description: 'Name: The sku name.' + description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' type: string tier: - description: 'Tier: The sku tier.' + description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' type: string type: object - supportedCapabilities: - description: 'SupportedCapabilities: List of supported capabilities for the image from which the OS disk was created.' + sourceServerResourceId: + description: 'SourceServerResourceId: The source MySQL server id.' + type: string + state: + description: 'State: The state of a server.' + type: string + storage: + description: 'Storage: Storage related properties of a server.' properties: - acceleratedNetwork: - description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' - type: boolean - architecture: - description: 'Architecture: CPU architecture supported by an OS disk.' + autoGrow: + description: 'AutoGrow: Enable Storage Auto Grow or not.' type: string - diskControllerTypes: - description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + autoIoScaling: + description: 'AutoIoScaling: Enable IO Auto Scaling or not.' + type: string + iops: + description: 'Iops: Storage IOPS for a server.' + type: integer + logOnDisk: + description: 'LogOnDisk: Enable Log On Disk or not.' + type: string + storageSizeGB: + description: 'StorageSizeGB: Max storage size allowed for a server.' + type: integer + storageSku: + description: 'StorageSku: The sku name of the server storage.' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - supportsHibernation: - description: 'SupportsHibernation: Indicates the OS on a disk supports hibernation.' - type: boolean tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object - tier: - description: |- - Tier: Performance tier of the disk (e.g, P4, S10) as described here: - https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks. - type: string - timeCreated: - description: 'TimeCreated: The time when the disk was created.' - type: string type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - uniqueId: - description: 'UniqueId: Unique Guid identifying the resource.' + version: + description: 'Version: Server version.' type: string - zones: - description: 'Zones: The Logical zone list for Disk.' - items: - type: string - type: array type: object type: object served: true @@ -69253,14 +129439,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302storage + name: v1api20231230storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240302.Disk + Storage version of v1api20231230.FlexibleServer Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/disk.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-12-30/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -69280,7 +129466,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240302.Disk_Spec + description: Storage version of v1api20231230.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -69289,19 +129475,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - burstingEnabled: - type: boolean - completionPercent: - type: number - creationData: + backup: description: |- - Storage version of v1api20240302.CreationData - Data used when creating a disk. + Storage version of v1api20231230.Backup + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -69310,12 +129513,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: + backupIntervalHours: + type: integer + backupRetentionDays: + type: integer + geoRedundantBackup: type: string - elasticSanResourceReference: + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20231230.DataEncryption + The date encryption for cmk. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic - san volume snapshot. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + identity in same region as geo backup properties: armId: description: |- @@ -69334,98 +129558,10 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - galleryImageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - communityGalleryImageId: - type: string - lun: - type: integer - reference: - description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - type: string - type: object - imageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - communityGalleryImageId: - type: string - lun: - type: integer - reference: - description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - type: string - type: object - logicalSectorSize: - type: integer - performancePlus: - type: boolean - provisionedBandwidthCopySpeed: - type: string - securityDataUri: + primaryKeyURI: type: string - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' properties: armId: description: |- @@ -69444,49 +129580,13 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - sourceUri: - type: string - storageAccountId: - type: string - uploadSizeBytes: - type: integer - type: object - dataAccessAuthMode: - type: string - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + type: type: string type: object - diskIOPSReadOnly: - type: integer - diskIOPSReadWrite: - type: integer - diskMBpsReadOnly: - type: integer - diskMBpsReadWrite: - type: integer - diskSizeGB: - type: integer - encryption: + highAvailability: description: |- - Storage version of v1api20240302.Encryption - Encryption at rest settings for disk or snapshot + Storage version of v1api20231230.HighAvailability + High availability properties of a server properties: $propertyBag: additionalProperties: @@ -69495,33 +129595,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: + mode: + type: string + standbyAvailabilityZone: type: string type: object - encryptionSettingsCollection: + identity: description: |- - Storage version of v1api20240302.EncryptionSettingsCollection - Encryption settings for disk or snapshot + Storage version of v1api20231230.MySQLServerIdentity + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -69530,13 +129612,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - encryptionSettings: + type: + type: string + userAssignedIdentities: items: description: |- - Storage version of v1api20240302.EncryptionSettingsElement - Encryption settings for one disk volume. + Storage version of v1api20231230.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -69545,113 +129627,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diskEncryptionKey: - description: |- - Storage version of v1api20240302.KeyVaultAndSecretReference - Key Vault Secret Url and vault id of the encryption key + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - keyEncryptionKey: - description: |- - Storage version of v1api20240302.KeyVaultAndKeyReference - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object type: object type: object type: array - encryptionSettingsVersion: - type: string type: object - extendedLocation: + importSourceProperties: description: |- - Storage version of v1api20240302.ExtendedLocation - The complex type of the extended location. + Storage version of v1api20231230.ImportSourceProperties + Import source related properties. properties: $propertyBag: additionalProperties: @@ -69660,22 +129662,111 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + dataDirPath: type: string - type: + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageType: + type: string + storageUrl: type: string type: object - hyperVGeneration: - type: string location: type: string - maxShares: - type: integer - networkAccessPolicy: - type: string + maintenanceWindow: + description: |- + Storage version of v1api20231230.MaintenanceWindow + Maintenance window of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20231230.Network + Network related properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneResourceReference: + description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20240302.DiskOperatorSpec + Storage version of v1api20231230.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -69714,6 +129805,53 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20231230.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -69743,13 +129881,38 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20231230.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - optimizedForFrequentAttach: - type: boolean originalVersion: type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -69763,12 +129926,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: + replicationRole: type: string - purchasePlan: + restorePointInTime: + type: string + sku: description: |- - Storage version of v1api20240302.PurchasePlan - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + Storage version of v1api20231230.MySQLServerSku + Billing information related properties of a server. properties: $propertyBag: additionalProperties: @@ -69779,70 +129944,33 @@ spec: type: object name: type: string - product: - type: string - promotionCode: - type: string - publisher: + tier: type: string type: object - securityProfile: - description: |- - Storage version of v1api20240302.DiskSecurityProfile - Contains the security related information for the resource. + sourceServerResourceReference: + description: 'SourceServerResourceReference: The source MySQL server id.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secureVMDiskEncryptionSetReference: + armId: description: |- - SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk - encrypted with customer managed key - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityType: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: object - sku: - description: |- - Storage version of v1api20240302.DiskSku - The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or - PremiumV2_LRS. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object name: + description: Name is the Kubernetes name of the resource. type: string type: object - supportedCapabilities: + storage: description: |- - Storage version of v1api20240302.SupportedCapabilities - List of supported capabilities persisted on the disk resource for VM use. + Storage version of v1api20231230.Storage + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -69851,32 +129979,28 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - acceleratedNetwork: - type: boolean - architecture: + autoGrow: type: string - diskControllerTypes: + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: type: string + storageSizeGB: + type: integer type: object - supportsHibernation: - type: boolean tags: additionalProperties: type: string type: object - tier: + version: type: string - zones: - items: - type: string - type: array required: - owner type: object status: - description: |- - Storage version of v1api20240302.Disk_STATUS - Disk resource. + description: Storage version of v1api20231230.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -69885,14 +130009,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - LastOwnershipUpdateTime: + administratorLogin: type: string - burstingEnabled: - type: boolean - burstingEnabledTime: + availabilityZone: type: string - completionPercent: - type: number + backup: + description: |- + Storage version of v1api20231230.Backup_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupIntervalHours: + type: integer + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -69936,10 +130077,12 @@ spec: - type type: object type: array - creationData: + createMode: + type: string + dataEncryption: description: |- - Storage version of v1api20240302.CreationData_STATUS - Data used when creating a disk. + Storage version of v1api20231230.DataEncryption_STATUS + The date encryption for cmk. properties: $propertyBag: additionalProperties: @@ -69948,93 +130091,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: - type: string - elasticSanResourceId: - type: string - galleryImageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - communityGalleryImageId: - type: string - id: - type: string - lun: - type: integer - sharedGalleryImageId: - type: string - type: object - imageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - communityGalleryImageId: - type: string - id: - type: string - lun: - type: integer - sharedGalleryImageId: - type: string - type: object - logicalSectorSize: - type: integer - performancePlus: - type: boolean - provisionedBandwidthCopySpeed: - type: string - securityDataUri: + geoBackupKeyURI: type: string - sourceResourceId: + geoBackupUserAssignedIdentityId: type: string - sourceUniqueId: + primaryKeyURI: type: string - sourceUri: + primaryUserAssignedIdentityId: type: string - storageAccountId: + type: type: string - uploadSizeBytes: - type: integer type: object - dataAccessAuthMode: - type: string - diskAccessId: - type: string - diskIOPSReadOnly: - type: integer - diskIOPSReadWrite: - type: integer - diskMBpsReadOnly: - type: integer - diskMBpsReadWrite: - type: integer - diskSizeBytes: - type: integer - diskSizeGB: - type: integer - diskState: + fullyQualifiedDomainName: type: string - encryption: + highAvailability: description: |- - Storage version of v1api20240302.Encryption_STATUS - Encryption at rest settings for disk or snapshot + Storage version of v1api20231230.HighAvailability_STATUS + High availability properties of a server properties: $propertyBag: additionalProperties: @@ -70043,15 +130116,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diskEncryptionSetId: + mode: type: string - type: + standbyAvailabilityZone: + type: string + state: type: string type: object - encryptionSettingsCollection: + id: + type: string + identity: description: |- - Storage version of v1api20240302.EncryptionSettingsCollection_STATUS - Encryption settings for disk or snapshot + Storage version of v1api20231230.MySQLServerIdentity_STATUS + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -70060,92 +130137,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - encryptionSettings: - items: - description: |- - Storage version of v1api20240302.EncryptionSettingsElement_STATUS - Encryption settings for one disk volume. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionKey: - description: |- - Storage version of v1api20240302.KeyVaultAndSecretReference_STATUS - Key Vault Secret Url and vault id of the encryption key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - keyEncryptionKey: - description: |- - Storage version of v1api20240302.KeyVaultAndKeyReference_STATUS - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: + principalId: + type: string + tenantId: type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object type: object - extendedLocation: + importSourceProperties: description: |- - Storage version of v1api20240302.ExtendedLocation_STATUS - The complex type of the extended location. + Storage version of v1api20231230.ImportSourceProperties_STATUS + Import source related properties. properties: $propertyBag: additionalProperties: @@ -70154,37 +130160,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + dataDirPath: type: string - type: + storageType: + type: string + storageUrl: type: string type: object - hyperVGeneration: - type: string - id: - type: string location: type: string - managedBy: - type: string - managedByExtended: - items: - type: string - type: array - maxShares: - type: integer - name: - type: string - networkAccessPolicy: - type: string - optimizedForFrequentAttach: - type: boolean - osType: - type: string - propertyUpdatesInProgress: + maintenanceWindow: description: |- - Storage version of v1api20240302.PropertyUpdatesInProgress_STATUS - Properties of the disk for which update is pending. + Storage version of v1api20231230.MaintenanceWindow_STATUS + Maintenance window of a server. properties: $propertyBag: additionalProperties: @@ -70193,17 +130181,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - targetTier: + customWindow: type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer type: object - provisioningState: - type: string - publicNetworkAccess: + name: type: string - purchasePlan: + network: description: |- - Storage version of v1api20240302.PurchasePlan_STATUS - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + Storage version of v1api20231230.Network_STATUS + Network related properties of a server properties: $propertyBag: additionalProperties: @@ -70212,35 +130204,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - product: - type: string - promotionCode: - type: string - publisher: + delegatedSubnetResourceId: type: string - type: object - securityProfile: - description: |- - Storage version of v1api20240302.DiskSecurityProfile_STATUS - Contains the security related information for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secureVMDiskEncryptionSetId: + privateDnsZoneResourceId: type: string - securityType: + publicNetworkAccess: type: string type: object - shareInfo: + privateEndpointConnections: items: - description: Storage version of v1api20240302.ShareInfoElement_STATUS + description: |- + Storage version of v1api20231230.PrivateEndpointConnection_STATUS + The private endpoint connection resource. properties: $propertyBag: additionalProperties: @@ -70249,15 +130224,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - vmUri: + id: type: string type: object type: array + replicaCapacity: + type: integer + replicationRole: + type: string + restorePointInTime: + type: string sku: description: |- - Storage version of v1api20240302.DiskSku_STATUS - The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, StandardSSD_ZRS, or - PremiumV2_LRS. + Storage version of v1api20231230.MySQLServerSku_STATUS + Billing information related properties of a server. properties: $propertyBag: additionalProperties: @@ -70271,10 +130251,14 @@ spec: tier: type: string type: object - supportedCapabilities: + sourceServerResourceId: + type: string + state: + type: string + storage: description: |- - Storage version of v1api20240302.SupportedCapabilities_STATUS - List of supported capabilities persisted on the disk resource for VM use. + Storage version of v1api20231230.Storage_STATUS + Storage Profile properties of a server properties: $propertyBag: additionalProperties: @@ -70283,31 +130267,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - acceleratedNetwork: - type: boolean - architecture: + autoGrow: type: string - diskControllerTypes: + autoIoScaling: + type: string + iops: + type: integer + logOnDisk: + type: string + storageSizeGB: + type: integer + storageSku: + type: string + type: object + systemData: + description: |- + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - supportsHibernation: - type: boolean tags: additionalProperties: type: string type: object - tier: - type: string - timeCreated: - type: string type: type: string - uniqueId: + version: type: string - zones: - items: - type: string - type: array type: object type: object served: true @@ -70320,11 +130325,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnsforwardingrulesets.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleservers.dbforpostgresql.azure.com spec: conversion: strategy: Webhook @@ -70337,12 +130342,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: dbforpostgresql.azure.com names: - kind: DnsForwardingRuleset - listKind: DnsForwardingRulesetList - plural: dnsforwardingrulesets - singular: dnsforwardingruleset + categories: + - azure + - dbforpostgresql + kind: FlexibleServer + listKind: FlexibleServerList + plural: flexibleservers + singular: flexibleserver preserveUnknownFields: false scope: Namespaced versions: @@ -70359,13 +130367,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20210601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -70386,43 +130394,131 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - dnsResolverOutboundEndpoints: - description: |- - DnsResolverOutboundEndpoints: The reference to the DNS resolver outbound endpoints that are used to route DNS queries - matching the forwarding rules in the ruleset to the target DNS servers. - items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - PointInTimeRestore + - Update + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object location: description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -70488,6 +130584,27 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -70502,19 +130619,97 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + type: string required: - - dnsResolverOutboundEndpoints - location - owner type: object status: - description: Describes a DNS forwarding ruleset. properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -70559,21 +130754,25 @@ spec: - type type: object type: array - dnsResolverOutboundEndpoints: - description: |- - DnsResolverOutboundEndpoints: The reference to the DNS resolver outbound endpoints that are used to route DNS queries - matching the forwarding rules in the ruleset to the target DNS servers. - items: - description: Reference to another ARM resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - etag: - description: 'Etag: ETag of the DNS forwarding ruleset.' + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' type: string + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -70582,19 +130781,73 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string name: description: 'Name: The name of the resource' type: string - provisioningState: + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: delegated subnet arm resource id.' + type: string + privateDnsZoneArmResourceId: + description: 'PrivateDnsZoneArmResourceId: private dns zone arm resource id.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: description: |- - ProvisioningState: The current provisioning state of the DNS forwarding ruleset. This is a read-only property and any - attempt to set this value will be ignored. + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. type: string - resourceGuid: - description: 'ResourceGuid: The resourceGuid for the DNS forwarding ruleset.' + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + type: string + state: + description: 'State: A state of a server that is visible to user.' type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + description: 'SystemData: The system metadata relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -70623,6 +130876,9 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + version: + description: 'Version: PostgreSQL Server version.' + type: string type: object type: object served: true @@ -70642,14 +130898,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20210601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.DnsForwardingRuleset + Storage version of v1api20210601.FlexibleServer Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -70669,7 +130925,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.DnsForwardingRuleset_Spec + description: Storage version of v1api20210601.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -70678,51 +130934,147 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - dnsResolverOutboundEndpoints: - items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + backup: + description: |- + Storage version of v1api20210601.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20210601.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20210601.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20210601.Network + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object operatorSpec: description: |- - Storage version of v1api20220701.DnsForwardingRulesetOperatorSpec + Storage version of v1api20210601.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -70790,6 +131142,35 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20210601.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -70806,17 +131187,73 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20210601.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20210601.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object tags: additionalProperties: type: string type: object + version: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20220701.DnsForwardingRuleset_STATUS - Describes a DNS forwarding ruleset. + description: Storage version of v1api20210601.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -70825,6 +131262,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20210601.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -70868,38 +131328,118 @@ spec: - type type: object type: array - dnsResolverOutboundEndpoints: - items: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - etag: + createMode: type: string + fullyQualifiedDomainName: + type: string + highAvailability: + description: |- + Storage version of v1api20210601.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object id: type: string location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20210601.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string name: type: string - provisioningState: + network: + description: |- + Storage version of v1api20210601.Network_STATUS + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: type: string - resourceGuid: + sku: + description: |- + Storage version of v1api20210601.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: type: string + state: + type: string + storage: + description: |- + Storage version of v1api20210601.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object systemData: description: |- - Storage version of v1api20220701.SystemData_STATUS + Storage version of v1api20210601.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -70928,44 +131468,14 @@ spec: type: object type: type: string + version: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnsforwardingrulesetsforwardingrules.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsForwardingRuleSetsForwardingRule - listKind: DnsForwardingRuleSetsForwardingRuleList - plural: dnsforwardingrulesetsforwardingrules - singular: dnsforwardingrulesetsforwardingrule - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -70979,13 +131489,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20220120preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -71006,24 +131516,131 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - domainName: - description: 'DomainName: The domain name for the forwarding rule.' - type: string - forwardingRuleState: - description: 'ForwardingRuleState: The state of forwarding rule.' + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' enum: - - Disabled - - Enabled + - Create + - Default + - PointInTimeRestore + - Update type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: Metadata attached to the forwarding rule.' + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object operatorSpec: description: |- @@ -71060,6 +131677,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -71090,12 +131728,33 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsForwardingRuleset resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -71104,41 +131763,97 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetDnsServers: - description: 'TargetDnsServers: DNS servers to forward the DNS query to.' - items: - description: Describes a server to forward the DNS queries to. - properties: - ipAddress: - description: 'IpAddress: DNS server IP address.' - type: string - ipAddressFromConfig: - description: 'IpAddressFromConfig: DNS server IP address.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - port: - description: 'Port: DNS server port.' - type: integer - type: object - type: array + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + type: string required: - - domainName + - location - owner - - targetDnsServers type: object status: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -71183,35 +131898,100 @@ spec: - type type: object type: array - domainName: - description: 'DomainName: The domain name for the forwarding rule.' - type: string - etag: - description: 'Etag: ETag of the forwarding rule.' + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' type: string - forwardingRuleState: - description: 'ForwardingRuleState: The state of forwarding rule.' + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: Metadata attached to the forwarding rule.' + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string name: description: 'Name: The name of the resource' type: string - provisioningState: + network: + description: 'Network: Network properties of a server.' + properties: + delegatedSubnetResourceId: + description: 'DelegatedSubnetResourceId: delegated subnet arm resource id.' + type: string + privateDnsZoneArmResourceId: + description: 'PrivateDnsZoneArmResourceId: private dns zone arm resource id.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: description: |- - ProvisioningState: The current provisioning state of the forwarding rule. This is a read-only property and any attempt - to set this value will be ignored. + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore'. + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + type: string + state: + description: 'State: A state of a server that is visible to user.' type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + description: 'SystemData: The system metadata relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -71232,22 +132012,17 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - targetDnsServers: - description: 'TargetDnsServers: DNS servers to forward the DNS query to.' - items: - description: Describes a server to forward the DNS queries to. - properties: - ipAddress: - description: 'IpAddress: DNS server IP address.' - type: string - port: - description: 'Port: DNS server port.' - type: integer - type: object - type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + version: + description: 'Version: PostgreSQL Server version.' + type: string type: object type: object served: true @@ -71267,14 +132042,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20220120previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule + Storage version of v1api20220120preview.FlexibleServer Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -71294,7 +132069,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule_Spec + description: Storage version of v1api20220120preview.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -71303,22 +132078,147 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - domainName: + backup: + description: |- + Storage version of v1api20220120preview.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: type: string - forwardingRuleState: + highAvailability: + description: |- + Storage version of v1api20220120preview.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + location: type: string - metadata: - additionalProperties: - type: string + maintenanceWindow: + description: |- + Storage version of v1api20220120preview.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20220120preview.Network + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object operatorSpec: description: |- - Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRuleOperatorSpec + Storage version of v1api20220120preview.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -71357,6 +132257,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20220120preview.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -71386,6 +132315,35 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20220120preview.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -71393,7 +132351,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsForwardingRuleset resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -71402,47 +132360,73 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetDnsServers: - items: - description: |- - Storage version of v1api20220701.TargetDnsServer - Describes a server to forward the DNS queries to. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddress: + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20220120preview.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: type: string - ipAddressFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - port: - type: integer - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore'. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20220120preview.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + version: + type: string required: - owner type: object status: - description: Storage version of v1api20220701.DnsForwardingRuleSetsForwardingRule_STATUS + description: Storage version of v1api20220120preview.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -71451,6 +132435,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20220120preview.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -71494,25 +132501,118 @@ spec: - type type: object type: array - domainName: - type: string - etag: + createMode: type: string - forwardingRuleState: + fullyQualifiedDomainName: type: string + highAvailability: + description: |- + Storage version of v1api20220120preview.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object id: type: string - metadata: - additionalProperties: - type: string + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20220120preview.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer type: object + minorVersion: + type: string name: type: string - provisioningState: + network: + description: |- + Storage version of v1api20220120preview.Network_STATUS + Network properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + sku: + description: |- + Storage version of v1api20220120preview.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: type: string + storage: + description: |- + Storage version of v1api20220120preview.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + storageSizeGB: + type: integer + type: object systemData: description: |- - Storage version of v1api20220701.SystemData_STATUS + Storage version of v1api20220120preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -71535,65 +132635,20 @@ spec: lastModifiedByType: type: string type: object - targetDnsServers: - items: - description: |- - Storage version of v1api20220701.TargetDnsServer_STATUS - Describes a server to forward the DNS queries to. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddress: - type: string - port: - type: integer - type: object - type: array + tags: + additionalProperties: + type: string + type: object type: type: string + version: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnsforwardingrulesetsvirtualnetworklinks.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsForwardingRuleSetsVirtualNetworkLink - listKind: DnsForwardingRuleSetsVirtualNetworkLinkList - plural: dnsforwardingrulesetsvirtualnetworklinks - singular: dnsforwardingrulesetsvirtualnetworklink - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -71607,13 +132662,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20221201 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -71634,15 +132689,252 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: Metadata attached to the virtual network link.' + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - GeoRestore + - PointInTimeRestore + - Replica + - Update + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key for data encryption for primary server.' + type: string + primaryKeyURIFromConfig: + description: 'PrimaryKeyURIFromConfig: URI for the key for data encryption for primary server.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + identity: + description: 'Identity: Describes the identity of the application.' + properties: + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + enum: + - None + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: represents user assigned identities map.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object operatorSpec: description: |- @@ -71679,6 +132971,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -71709,12 +133022,33 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsForwardingRuleset resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -71723,36 +133057,118 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - virtualNetwork: - description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore'. + type: string + replicationRole: + description: 'ReplicationRole: Replication role of the server' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + type: string required: + - location - owner - - virtualNetwork type: object status: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -71797,29 +133213,152 @@ spec: - type type: object type: array - etag: - description: 'Etag: ETag of the virtual network link.' + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key for data encryption for primary server.' + type: string + primaryUserAssignedIdentityId: + description: |- + PrimaryUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption for primary + server. + type: string + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: Metadata attached to the virtual network link.' + identity: + description: 'Identity: Describes the identity of the application.' + properties: + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + type: string + userAssignedIdentities: + additionalProperties: + description: Describes a single user-assigned identity associated with the application. + properties: + clientId: + description: 'ClientId: the client identifier of the Service Principal which this identity represents.' + type: string + principalId: + description: 'PrincipalId: the object identifier of the Service Principal which this identity represents.' + type: string + type: object + description: 'UserAssignedIdentities: represents user assigned identities map.' + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string name: description: 'Name: The name of the resource' type: string - provisioningState: + network: description: |- - ProvisioningState: The current provisioning state of the virtual network link. This is a read-only property and any - attempt to set this value will be ignored. + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceId: + description: |- + DelegatedSubnetResourceId: Delegated subnet arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + privateDnsZoneArmResourceId: + description: |- + PrivateDnsZoneArmResourceId: Private dns zone arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore'. + type: string + replicaCapacity: + description: 'ReplicaCapacity: Replicas allowed for a server.' + type: integer + replicationRole: + description: 'ReplicationRole: Replication role of the server' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server + type: string + state: + description: 'State: A state of a server that is visible to user.' type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + type: object systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -71840,16 +133379,17 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - virtualNetwork: - description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + version: + description: 'Version: PostgreSQL Server version.' + type: string type: object type: object served: true @@ -71869,14 +133409,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20221201storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink + Storage version of v1api20221201.FlexibleServer Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -71896,7 +133436,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink_Spec + description: Storage version of v1api20221201.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -71905,18 +133445,278 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: |- + Storage version of v1api20221201.AuthConfig + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - metadata: - additionalProperties: - type: string + backup: + description: |- + Storage version of v1api20221201.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20221201.DataEncryption + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKeyURI: + type: string + primaryKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20221201.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20221201.UserAssignedIdentity + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20221201.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20221201.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20221201.Network + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object operatorSpec: description: |- - Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLinkOperatorSpec + Storage version of v1api20221201.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -71955,6 +133755,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20221201.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -71984,26 +133813,98 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20221201.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + pointInTimeUTC: + type: string + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20221201.Sku + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string type: object - originalVersion: - type: string - owner: + sourceServerResourceReference: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsForwardingRuleset resource + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - virtualNetwork: + storage: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20221201.Storage + Storage properties of a server properties: $propertyBag: additionalProperties: @@ -72012,32 +133913,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + storageSizeGB: + type: integer + type: object + tags: + additionalProperties: + type: string type: object + version: + type: string required: - owner type: object status: - description: Storage version of v1api20220701.DnsForwardingRuleSetsVirtualNetworkLink_STATUS + description: Storage version of v1api20221201.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -72046,6 +133935,48 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + authConfig: + description: |- + Storage version of v1api20221201.AuthConfig_STATUS + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20221201.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -72089,22 +134020,92 @@ spec: - type type: object type: array - etag: + createMode: type: string - id: + dataEncryption: + description: |- + Storage version of v1api20221201.DataEncryption_STATUS + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: type: string - metadata: - additionalProperties: - type: string + highAvailability: + description: |- + Storage version of v1api20221201.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string type: object - name: + id: type: string - provisioningState: + identity: + description: |- + Storage version of v1api20221201.UserAssignedIdentity_STATUS + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20221201.UserIdentity_STATUS + Describes a single user-assigned identity associated with the application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: type: string - systemData: + maintenanceWindow: description: |- - Storage version of v1api20220701.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20221201.MaintenanceWindow_STATUS + Maintenance window properties of a server. properties: $propertyBag: additionalProperties: @@ -72113,25 +134114,69 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: + customWindow: type: string - createdBy: + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20221201.Network_STATUS + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: type: string - createdByType: + privateDnsZoneArmResourceId: type: string - lastModifiedAt: + publicNetworkAccess: type: string - lastModifiedBy: + type: object + pointInTimeUTC: + type: string + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20221201.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - lastModifiedByType: + tier: type: string type: object - type: + sourceServerResourceId: type: string - virtualNetwork: + state: + type: string + storage: description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. + Storage version of v1api20221201.Storage_STATUS + Storage properties of a server properties: $propertyBag: additionalProperties: @@ -72140,47 +134185,48 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + storageSizeGB: + type: integer + type: object + systemData: + description: |- + Storage version of v1api20221201.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnsresolvers.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsResolver - listKind: DnsResolverList - plural: dnsresolvers - singular: dnsresolver - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -72194,13 +134240,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20230601preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -72221,14 +134267,312 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + enum: + - Disabled + - Enabled + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' + enum: + - Create + - Default + - GeoRestore + - PointInTimeRestore + - Replica + - ReviveDropped + - Update type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + geoBackupEncryptionKeyStatus: + description: 'GeoBackupEncryptionKeyStatus: Geo-backup encryption key status for Data encryption enabled server.' + enum: + - Invalid + - Valid + type: string + geoBackupKeyURI: + description: 'GeoBackupKeyURI: URI for the key in keyvault for data encryption for geo-backup of server.' + type: string + geoBackupKeyURIFromConfig: + description: 'GeoBackupKeyURIFromConfig: URI for the key in keyvault for data encryption for geo-backup of server.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + geo-backup of server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + description: 'PrimaryEncryptionKeyStatus: Primary encryption key status for Data encryption enabled server.' + enum: + - Invalid + - Valid + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key in keyvault for data encryption of the primary server.' + type: string + primaryKeyURIFromConfig: + description: 'PrimaryKeyURIFromConfig: URI for the key in keyvault for data encryption of the primary server.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption of the + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + type: object + identity: + description: 'Identity: Describes the identity of the application.' + properties: + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + enum: + - None + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: represents user assigned identities map.' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object location: description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + enum: + - Disabled + - Enabled + type: string + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -72264,6 +134608,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -72294,6 +134659,27 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -72308,43 +134694,184 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'. + type: string + replica: + description: |- + Replica: Replica properties of a server. These Replica properties are required to be passed only in case you want to + Promote a server. + properties: + promoteMode: + description: 'PromoteMode: Sets the promote mode for a replica server. This is a write only property.' + enum: + - standalone + - switchover + type: string + promoteOption: + description: 'PromoteOption: Sets the promote options for a replica server. This is a write only property.' + enum: + - forced + - planned + type: string + role: + description: 'Role: Used to indicate role of the server in replication set.' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + type: object + replicationRole: + description: 'ReplicationRole: Replication role of the server' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Flag to enable / disable Storage Auto grow for flexible server.' + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + throughput: + description: 'Throughput: Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS' + type: integer + tier: + description: 'Tier: Name of storage tier for IOPS.' + enum: + - P1 + - P10 + - P15 + - P2 + - P20 + - P3 + - P30 + - P4 + - P40 + - P50 + - P6 + - P60 + - P70 + - P80 + type: string + type: + description: |- + Type: Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not + specified + enum: + - PremiumV2_LRS + - Premium_LRS + type: string + type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - virtualNetwork: - description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + version: + description: 'Version: PostgreSQL Server version.' + enum: + - "11" + - "12" + - "13" + - "14" + - "15" + - "16" + type: string required: - location - owner - - virtualNetwork type: object status: - description: Describes a DNS resolver. properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + authConfig: + description: 'AuthConfig: AuthConfig properties of a server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' + type: string + passwordAuth: + description: 'PasswordAuth: If Enabled, Password authentication is enabled.' + type: string + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: availability zone information of the server.' + type: string + backup: + description: 'Backup: Backup properties of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -72389,35 +134916,218 @@ spec: - type type: object type: array - dnsResolverState: - description: |- - DnsResolverState: The current status of the DNS resolver. This is a read-only property and any attempt to set this value - will be ignored. + createMode: + description: 'CreateMode: The mode to create a new PostgreSQL server.' type: string - etag: - description: 'Etag: ETag of the DNS resolver.' + dataEncryption: + description: 'DataEncryption: Data encryption properties of a server.' + properties: + geoBackupEncryptionKeyStatus: + description: 'GeoBackupEncryptionKeyStatus: Geo-backup encryption key status for Data encryption enabled server.' + type: string + geoBackupKeyURI: + description: 'GeoBackupKeyURI: URI for the key in keyvault for data encryption for geo-backup of server.' + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption for + geo-backup of server. + type: string + primaryEncryptionKeyStatus: + description: 'PrimaryEncryptionKeyStatus: Primary encryption key status for Data encryption enabled server.' + type: string + primaryKeyURI: + description: 'PrimaryKeyURI: URI for the key in keyvault for data encryption of the primary server.' + type: string + primaryUserAssignedIdentityId: + description: |- + PrimaryUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption of the primary + server. + type: string + type: + description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' type: string + highAvailability: + description: 'HighAvailability: High availability properties of a server.' + properties: + mode: + description: 'Mode: The HA mode for the server.' + type: string + standbyAvailabilityZone: + description: 'StandbyAvailabilityZone: availability zone information of the standby.' + type: string + state: + description: 'State: A state of a HA server that is visible to user.' + type: string + type: object id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string + identity: + description: 'Identity: Describes the identity of the application.' + properties: + tenantId: + description: 'TenantId: Tenant id of the server.' + type: string + type: + description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + type: string + userAssignedIdentities: + additionalProperties: + description: Describes a single user-assigned identity associated with the application. + properties: + clientId: + description: 'ClientId: the client identifier of the Service Principal which this identity represents.' + type: string + principalId: + description: 'PrincipalId: the object identifier of the Service Principal which this identity represents.' + type: string + type: object + description: 'UserAssignedIdentities: represents user assigned identities map.' + type: object + type: object location: description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a server.' + properties: + customWindow: + description: 'CustomWindow: indicates whether custom window is enabled or disabled' + type: string + dayOfWeek: + description: 'DayOfWeek: day of week for maintenance window' + type: integer + startHour: + description: 'StartHour: start hour for maintenance window' + type: integer + startMinute: + description: 'StartMinute: start minute for maintenance window' + type: integer + type: object + minorVersion: + description: 'MinorVersion: The minor version of the server.' + type: string name: description: 'Name: The name of the resource' type: string - provisioningState: + network: + description: |- + Network: Network properties of a server. This Network property is required to be passed only in case you want the server + to be Private access server. + properties: + delegatedSubnetResourceId: + description: |- + DelegatedSubnetResourceId: Delegated subnet arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + privateDnsZoneArmResourceId: + description: |- + PrivateDnsZoneArmResourceId: Private dns zone arm resource id. This is required to be passed during create, in case we + want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the + value for Private DNS zone. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: public network access is enabled or not' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when + 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'. + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified resource.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + replica: + description: |- + Replica: Replica properties of a server. These Replica properties are required to be passed only in case you want to + Promote a server. + properties: + capacity: + description: 'Capacity: Replicas allowed for a server.' + type: integer + promoteMode: + description: 'PromoteMode: Sets the promote mode for a replica server. This is a write only property.' + type: string + promoteOption: + description: 'PromoteOption: Sets the promote options for a replica server. This is a write only property.' + type: string + replicationState: + description: |- + ReplicationState: Gets the replication state of a replica server. This property is returned only for replicas api call. + Supported values are Active, Catchup, Provisioning, Updating, Broken, Reconfiguring + type: string + role: + description: 'Role: Used to indicate role of the server in replication set.' + type: string + type: object + replicaCapacity: + description: 'ReplicaCapacity: Replicas allowed for a server.' + type: integer + replicationRole: + description: 'ReplicationRole: Replication role of the server' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: string + type: object + sourceServerResourceId: description: |- - ProvisioningState: The current provisioning state of the DNS resolver. This is a read-only property and any attempt to - set this value will be ignored. + SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server type: string - resourceGuid: - description: 'ResourceGuid: The resourceGuid property of the DNS resolver resource.' + state: + description: 'State: A state of a server that is visible to user.' type: string + storage: + description: 'Storage: Storage properties of a server.' + properties: + autoGrow: + description: 'AutoGrow: Flag to enable / disable Storage Auto grow for flexible server.' + type: string + iops: + description: 'Iops: Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Max storage allowed for a server.' + type: integer + throughput: + description: 'Throughput: Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS' + type: integer + tier: + description: 'Tier: Name of storage tier for IOPS.' + type: string + type: + description: |- + Type: Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not + specified + type: string + type: object systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -72446,13 +135156,9 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - virtualNetwork: - description: 'VirtualNetwork: The reference to the virtual network. This cannot be changed after creation.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + version: + description: 'Version: PostgreSQL Server version.' + type: string type: object type: object served: true @@ -72472,14 +135178,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20230601previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.DnsResolver + Storage version of v1api20230601preview.FlexibleServer Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -72499,7 +135205,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.DnsResolver_Spec + description: Storage version of v1api20230601preview.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -72508,16 +135214,325 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: |- + Storage version of v1api20230601preview.AuthConfig + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + backup: + description: |- + Storage version of v1api20230601preview.Backup + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20230601preview.DataEncryption + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for + geo-backup of server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption of the + primary server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20230601preview.HighAvailability + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20230601preview.UserAssignedIdentity + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230601preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20230601preview.MaintenanceWindow + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20230601preview.Network + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case + we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update + the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in + case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to + update the value for Private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20220701.DnsResolverOperatorSpec + Storage version of v1api20230601preview.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -72556,6 +135571,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20230601preview.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -72585,6 +135629,35 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20230601preview.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -72601,14 +135674,33 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string + pointInTimeUTC: + type: string + replica: + description: |- + Storage version of v1api20230601preview.Replica + Replica properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + promoteMode: + type: string + promoteOption: + type: string + role: + type: string type: object - virtualNetwork: + replicationRole: + type: string + sku: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20230601preview.Sku + Sku information related properties of a server. properties: $propertyBag: additionalProperties: @@ -72617,34 +135709,69 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is + 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20230601preview.Storage + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object + tags: + additionalProperties: + type: string type: object + version: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20220701.DnsResolver_STATUS - Describes a DNS resolver. + description: Storage version of v1api20230601preview.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -72653,6 +135780,48 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + authConfig: + description: |- + Storage version of v1api20230601preview.AuthConfig_STATUS + Authentication configuration properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20230601preview.Backup_STATUS + Backup properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -72696,23 +135865,235 @@ spec: - type type: object type: array - dnsResolverState: + createMode: type: string - etag: + dataEncryption: + description: |- + Storage version of v1api20230601preview.DataEncryption_STATUS + Data encryption properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: type: string + highAvailability: + description: |- + Storage version of v1api20230601preview.HighAvailability_STATUS + High availability properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object id: type: string + identity: + description: |- + Storage version of v1api20230601preview.UserAssignedIdentity_STATUS + Information describing the identities associated with this application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230601preview.UserIdentity_STATUS + Describes a single user-assigned identity associated with the application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20230601preview.MaintenanceWindow_STATUS + Maintenance window properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string name: type: string - provisioningState: + network: + description: |- + Storage version of v1api20230601preview.Network_STATUS + Network properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: type: string - resourceGuid: + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230601preview.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + replica: + description: |- + Storage version of v1api20230601preview.Replica_STATUS + Replica properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + promoteMode: + type: string + promoteOption: + type: string + replicationState: + type: string + role: + type: string + type: object + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20230601preview.Sku_STATUS + Sku information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: + type: string + state: type: string + storage: + description: |- + Storage version of v1api20230601preview.Storage_STATUS + Storage properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object systemData: description: |- - Storage version of v1api20220701.SystemData_STATUS + Storage version of v1api20230601preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -72741,59 +136122,14 @@ spec: type: object type: type: string - virtualNetwork: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + version: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnsresolversinboundendpoints.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsResolversInboundEndpoint - listKind: DnsResolversInboundEndpointList - plural: dnsresolversinboundendpoints - singular: dnsresolversinboundendpoint - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -72807,13 +136143,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20240801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -72834,30 +136170,239 @@ spec: type: object spec: properties: + administratorLogin: + description: |- + AdministratorLogin: Name of the login designated as the first password based administrator assigned to your instance of + PostgreSQL. Must be specified the first time that you enable password based authentication on a server. Once set to a + given value, it cannot be changed for the rest of the life of a server. If you disable password based authentication on + a server which had it enabled, this password based role isn't deleted. + type: string + administratorLoginPassword: + description: |- + AdministratorLoginPassword: Password assigned to the administrator login. As long as password authentication is enabled, + this password can be changed at any time. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: 'AuthConfig: Authentication configuration properties of a flexible server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: Indicates if the server supports Microsoft Entra authentication.' + enum: + - Disabled + - Enabled + type: string + passwordAuth: + description: 'PasswordAuth: Indicates if the server supports password based authentication.' + enum: + - Disabled + - Enabled + type: string + tenantId: + description: 'TenantId: Identifier of the tenant of the delegated resource.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: Availability zone of a flexible server.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* type: string - ipConfigurations: - description: 'IpConfigurations: IP configurations for the inbound endpoint.' - items: - description: IP configuration. - properties: - privateIpAddress: - description: 'PrivateIpAddress: Private IP address of the IP configuration.' - type: string - privateIpAllocationMethod: - description: 'PrivateIpAllocationMethod: Private IP address allocation method.' - enum: - - Dynamic - - Static - type: string - subnet: - description: 'Subnet: The reference to the subnet bound to the IP configuration.' + backup: + description: 'Backup: Backup properties of a flexible server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the flexible server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Indicates if the server is configured to create geographically redundant backups.' + enum: + - Disabled + - Enabled + type: string + type: object + createMode: + description: 'CreateMode: Creation mode of a new flexible server.' + enum: + - Create + - Default + - GeoRestore + - PointInTimeRestore + - Replica + - ReviveDropped + - Update + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a flexible server.' + properties: + geoBackupEncryptionKeyStatus: + description: |- + GeoBackupEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the geographically redundant storage associated to the server when it is configured to support + geographically redundant backups. + enum: + - Invalid + - Valid + type: string + geoBackupKeyURI: + description: |- + GeoBackupKeyURI: Identifier of the user assigned managed identity used to access the key in Azure Key Vault for data + encryption of the geographically redundant storage associated to a flexible server that is configured to support + geographically redundant backups. + type: string + geoBackupKeyURIFromConfig: + description: |- + GeoBackupKeyURIFromConfig: Identifier of the user assigned managed identity used to access the key in Azure Key Vault + for data encryption of the geographically redundant storage associated to a flexible server that is configured to + support geographically redundant backups. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured + to support geographically redundant backups. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + description: |- + PrimaryEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the primary storage associated to the server. + enum: + - Invalid + - Valid + type: string + primaryKeyURI: + description: |- + PrimaryKeyURI: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to a + flexible server. + type: string + primaryKeyURIFromConfig: + description: |- + PrimaryKeyURIFromConfig: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to + a flexible server. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the primary storage associated to a flexible server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + description: 'Type: Data encryption type used by a flexible server.' + enum: + - AzureKeyVault + - SystemManaged + type: string + type: object + highAvailability: + description: 'HighAvailability: High availability properties of a flexible server.' + properties: + mode: + description: 'Mode: High availability mode for a flexible server.' + enum: + - Disabled + - SameZone + - ZoneRedundant + type: string + standbyAvailabilityZone: + description: |- + StandbyAvailabilityZone: Availability zone associated to the standby server created when high availability is set to + SameZone or ZoneRedundant. + type: string + type: object + identity: + description: 'Identity: User assigned managed identities assigned to the flexible server.' + properties: + principalId: + description: 'PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.' + type: string + type: + description: 'Type: Types of identities associated with a flexible server.' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Map of user assigned managed identities.' + items: + description: Information about the user assigned identity for the resource properties: reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -72877,13 +136422,87 @@ spec: type: string type: object type: object - required: - - subnet - type: object - type: array + type: array + required: + - type + type: object location: description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a flexible server.' + properties: + customWindow: + description: 'CustomWindow: Indicates whether custom window is enabled or disabled.' + type: string + dayOfWeek: + description: 'DayOfWeek: Day of the week to be used for maintenance window.' + type: integer + startHour: + description: 'StartHour: Start hour to be used for maintenance window.' + type: integer + startMinute: + description: 'StartMinute: Start minute to be used for maintenance window.' + type: integer + type: object + network: + description: |- + Network: Network properties of a flexible server. Only required if you want your server to be integrated into a virtual + network provided by customer. + properties: + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Resource identifier of the delegated subnet. Required during creation of a new server, + in case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Identifier of the private DNS zone. Required during creation of a new server, in + case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Indicates if public network access is enabled or not.' + enum: + - Disabled + - Enabled + type: string + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -72919,6 +136538,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -72949,12 +136589,33 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsResolver resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -72963,18 +136624,194 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Creation time (in ISO8601 format) of the backup which you want to restore in the new flexible server. + It's required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', or 'ReviveDropped'. + type: string + replica: + description: 'Replica: Read replica properties of a flexible server. Required only in case that you want to promote a server.' + properties: + promoteMode: + description: |- + PromoteMode: Type of operation to apply on the read replica. This property is write only. Standalone means that the read + replica will be promoted to a standalone server, and will become a completely independent entity from the replication + set. Switchover means that the read replica will roles with the primary server. + enum: + - standalone + - switchover + type: string + promoteOption: + description: |- + PromoteOption: Data synchronization option to use when processing the operation specified in the promoteMode property + This property is write only. Planned means that the operation will wait for data in the read replica to be fully + synchronized with its source server before it initiates the operation. Forced means that the operation will not wait for + data in the read replica to be synchronized with its source server before it initiates the operation. + enum: + - forced + - planned + type: string + role: + description: 'Role: Role of the server in a replication set.' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + type: object + replicationRole: + description: 'ReplicationRole: Role of the server in a replication set.' + enum: + - AsyncReplica + - GeoAsyncReplica + - None + - Primary + type: string + sku: + description: 'Sku: Compute tier and size of a flexible server.' + properties: + name: + description: 'Name: Name by which is known a given compute size assigned to a flexible server.' + type: string + tier: + description: 'Tier: Tier of the compute assigned to a flexible server.' + enum: + - Burstable + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + - tier + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: Identifier of the flexible server to be used as the source of the new flexible server. + Required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is + returned only when the target flexible server is a read replica. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: 'Storage: Storage properties of a flexible server.' + properties: + autoGrow: + description: |- + AutoGrow: Flag to enable or disable the automatic growth of storage size of a flexible server when available space is + nearing zero and conditions allow for automatically growing storage size. + enum: + - Disabled + - Enabled + type: string + iops: + description: 'Iops: Maximum IOPS supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Size of storage assigned to a flexible server.' + type: integer + throughput: + description: 'Throughput: Maximum throughput supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + tier: + description: 'Tier: Storage tier of a flexible server.' + enum: + - P1 + - P10 + - P15 + - P2 + - P20 + - P3 + - P30 + - P4 + - P40 + - P50 + - P6 + - P60 + - P70 + - P80 + type: string + type: + description: |- + Type: Type of storage assigned to a flexible server. Allowed values are Premium_LRS or PremiumV2_LRS. If not specified, + it defaults to Premium_LRS. + enum: + - PremiumV2_LRS + - Premium_LRS + type: string + type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object + version: + description: 'Version: Major version of PostgreSQL database engine.' + enum: + - "11" + - "12" + - "13" + - "14" + - "15" + - "16" + type: string required: - - ipConfigurations - location - owner type: object status: properties: + administratorLogin: + description: |- + AdministratorLogin: Name of the login designated as the first password based administrator assigned to your instance of + PostgreSQL. Must be specified the first time that you enable password based authentication on a server. Once set to a + given value, it cannot be changed for the rest of the life of a server. If you disable password based authentication on + a server which had it enabled, this password based role isn't deleted. + type: string + authConfig: + description: 'AuthConfig: Authentication configuration properties of a flexible server.' + properties: + activeDirectoryAuth: + description: 'ActiveDirectoryAuth: Indicates if the server supports Microsoft Entra authentication.' + type: string + passwordAuth: + description: 'PasswordAuth: Indicates if the server supports password based authentication.' + type: string + tenantId: + description: 'TenantId: Identifier of the tenant of the delegated resource.' + type: string + type: object + availabilityZone: + description: 'AvailabilityZone: Availability zone of a flexible server.' + type: string + backup: + description: 'Backup: Backup properties of a flexible server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the flexible server.' + type: integer + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point time (ISO8601 format) for a flexible server.' + type: string + geoRedundantBackup: + description: 'GeoRedundantBackup: Indicates if the server is configured to create geographically redundant backups.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -73019,50 +136856,243 @@ spec: - type type: object type: array - etag: - description: 'Etag: ETag of the inbound endpoint.' + createMode: + description: 'CreateMode: Creation mode of a new flexible server.' + type: string + dataEncryption: + description: 'DataEncryption: Data encryption properties of a flexible server.' + properties: + geoBackupEncryptionKeyStatus: + description: |- + GeoBackupEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the geographically redundant storage associated to the server when it is configured to support + geographically redundant backups. + type: string + geoBackupKeyURI: + description: |- + GeoBackupKeyURI: Identifier of the user assigned managed identity used to access the key in Azure Key Vault for data + encryption of the geographically redundant storage associated to a flexible server that is configured to support + geographically redundant backups. + type: string + geoBackupUserAssignedIdentityId: + description: |- + GeoBackupUserAssignedIdentityId: Identifier of the user assigned managed identity used to access the key in Azure Key + Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured to + support geographically redundant backups. + type: string + primaryEncryptionKeyStatus: + description: |- + PrimaryEncryptionKeyStatus: Status of key used by a flexible server configured with data encryption based on customer + managed key, to encrypt the primary storage associated to the server. + type: string + primaryKeyURI: + description: |- + PrimaryKeyURI: URI of the key in Azure Key Vault used for data encryption of the primary storage associated to a + flexible server. + type: string + primaryUserAssignedIdentityId: + description: |- + PrimaryUserAssignedIdentityId: Identifier of the user assigned managed identity used to access the key in Azure Key + Vault for data encryption of the primary storage associated to a flexible server. + type: string + type: + description: 'Type: Data encryption type used by a flexible server.' + type: string + type: object + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: Fully qualified domain name of a flexible server.' type: string + highAvailability: + description: 'HighAvailability: High availability properties of a flexible server.' + properties: + mode: + description: 'Mode: High availability mode for a flexible server.' + type: string + standbyAvailabilityZone: + description: |- + StandbyAvailabilityZone: Availability zone associated to the standby server created when high availability is set to + SameZone or ZoneRedundant. + type: string + state: + description: 'State: Possible states of the standby server created when high availability is set to SameZone or ZoneRedundant.' + type: string + type: object id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - ipConfigurations: - description: 'IpConfigurations: IP configurations for the inbound endpoint.' - items: - description: IP configuration. - properties: - privateIpAddress: - description: 'PrivateIpAddress: Private IP address of the IP configuration.' - type: string - privateIpAllocationMethod: - description: 'PrivateIpAllocationMethod: Private IP address allocation method.' - type: string - subnet: - description: 'Subnet: The reference to the subnet bound to the IP configuration.' + identity: + description: 'Identity: User assigned managed identities assigned to the flexible server.' + properties: + principalId: + description: 'PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.' + type: string + tenantId: + description: 'TenantId: Identifier of the tenant of a flexible server.' + type: string + type: + description: 'Type: Types of identities associated with a flexible server.' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned managed identity associated with a flexible server. properties: - id: - description: 'Id: Resource ID.' + clientId: + description: 'ClientId: Identifier of the client of the service principal associated to the user assigned managed identity.' + type: string + principalId: + description: 'PrincipalId: Identifier of the object of the service principal associated to the user assigned managed identity.' type: string type: object - type: object - type: array + description: 'UserAssignedIdentities: Map of user assigned managed identities.' + type: object + type: object location: description: 'Location: The geo-location where the resource lives' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window properties of a flexible server.' + properties: + customWindow: + description: 'CustomWindow: Indicates whether custom window is enabled or disabled.' + type: string + dayOfWeek: + description: 'DayOfWeek: Day of the week to be used for maintenance window.' + type: integer + startHour: + description: 'StartHour: Start hour to be used for maintenance window.' + type: integer + startMinute: + description: 'StartMinute: Start minute to be used for maintenance window.' + type: integer + type: object + minorVersion: + description: 'MinorVersion: Minor version of PostgreSQL database engine.' + type: string name: description: 'Name: The name of the resource' type: string - provisioningState: + network: description: |- - ProvisioningState: The current provisioning state of the inbound endpoint. This is a read-only property and any attempt - to set this value will be ignored. + Network: Network properties of a flexible server. Only required if you want your server to be integrated into a virtual + network provided by customer. + properties: + delegatedSubnetResourceId: + description: |- + DelegatedSubnetResourceId: Resource identifier of the delegated subnet. Required during creation of a new server, in + case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + type: string + privateDnsZoneArmResourceId: + description: |- + PrivateDnsZoneArmResourceId: Identifier of the private DNS zone. Required during creation of a new server, in case you + want the server to be integrated into your own virtual network. For an update operation, you only have to provide this + property if you want to change the value assigned for the private DNS zone. + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Indicates if public network access is enabled or not.' + type: string + type: object + pointInTimeUTC: + description: |- + PointInTimeUTC: Creation time (in ISO8601 format) of the backup which you want to restore in the new flexible server. + It's required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', or 'ReviveDropped'. type: string - resourceGuid: - description: 'ResourceGuid: The resourceGuid property of the inbound endpoint resource.' + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified flexible server.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + replica: + description: 'Replica: Read replica properties of a flexible server. Required only in case that you want to promote a server.' + properties: + capacity: + description: 'Capacity: Maximum number of read replicas allowed for a flexible server.' + type: integer + promoteMode: + description: |- + PromoteMode: Type of operation to apply on the read replica. This property is write only. Standalone means that the read + replica will be promoted to a standalone server, and will become a completely independent entity from the replication + set. Switchover means that the read replica will roles with the primary server. + type: string + promoteOption: + description: |- + PromoteOption: Data synchronization option to use when processing the operation specified in the promoteMode property + This property is write only. Planned means that the operation will wait for data in the read replica to be fully + synchronized with its source server before it initiates the operation. Forced means that the operation will not wait for + data in the read replica to be synchronized with its source server before it initiates the operation. + type: string + replicationState: + description: |- + ReplicationState: Indicates the replication state of a read replica. This property is returned only when the target + flexible server is a read replica. Possible values are Active, Broken, Catchup, Provisioning, Reconfiguring, and + Updating + type: string + role: + description: 'Role: Role of the server in a replication set.' + type: string + type: object + replicaCapacity: + description: 'ReplicaCapacity: Maximum number of read replicas allowed for a flexible server.' + type: integer + replicationRole: + description: 'ReplicationRole: Role of the server in a replication set.' + type: string + sku: + description: 'Sku: Compute tier and size of a flexible server.' + properties: + name: + description: 'Name: Name by which is known a given compute size assigned to a flexible server.' + type: string + tier: + description: 'Tier: Tier of the compute assigned to a flexible server.' + type: string + type: object + sourceServerResourceId: + description: |- + SourceServerResourceId: Identifier of the flexible server to be used as the source of the new flexible server. Required + when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is returned only + when the target flexible server is a read replica. + type: string + state: + description: 'State: Possible states of a flexible server.' type: string + storage: + description: 'Storage: Storage properties of a flexible server.' + properties: + autoGrow: + description: |- + AutoGrow: Flag to enable or disable the automatic growth of storage size of a flexible server when available space is + nearing zero and conditions allow for automatically growing storage size. + type: string + iops: + description: 'Iops: Maximum IOPS supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + storageSizeGB: + description: 'StorageSizeGB: Size of storage assigned to a flexible server.' + type: integer + throughput: + description: 'Throughput: Maximum throughput supported for storage. Required when type of storage is PremiumV2_LRS.' + type: integer + tier: + description: 'Tier: Storage tier of a flexible server.' + type: string + type: + description: |- + Type: Type of storage assigned to a flexible server. Allowed values are Premium_LRS or PremiumV2_LRS. If not specified, + it defaults to Premium_LRS. + type: string + type: object systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -73091,6 +137121,9 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + version: + description: 'Version: Major version of PostgreSQL database engine.' + type: string type: object type: object served: true @@ -73110,14 +137143,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20240801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.DnsResolversInboundEndpoint + Storage version of v1api20240801.FlexibleServer Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FlexibleServers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} properties: apiVersion: description: |- @@ -73137,7 +137170,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.DnsResolversInboundEndpoint_Spec + description: Storage version of v1api20240801.FlexibleServer_Spec properties: $propertyBag: additionalProperties: @@ -73146,32 +137179,210 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + authConfig: + description: |- + Storage version of v1api20240801.AuthConfig + Authentication configuration properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - ipConfigurations: - items: - description: |- - Storage version of v1api20220701.IpConfiguration - IP configuration. - properties: - $propertyBag: - additionalProperties: + backup: + description: |- + Storage version of v1api20240801.Backup + Backup properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + type: object + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20240801.DataEncryption + Data encryption properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - privateIpAddress: + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + geoBackupUserAssignedIdentityReference: + description: |- + GeoBackupUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the geographically redundant storage associated to a flexible server that is configured + to support geographically redundant backups. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryKeyURIFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + primaryUserAssignedIdentityReference: + description: |- + PrimaryUserAssignedIdentityReference: Identifier of the user assigned managed identity used to access the key in Azure + Key Vault for data encryption of the primary storage associated to a flexible server. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + highAvailability: + description: |- + Storage version of v1api20240801.HighAvailability + High availability properties of a flexible server. + properties: + $propertyBag: + additionalProperties: type: string - privateIpAllocationMethod: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + type: object + identity: + description: |- + Storage version of v1api20240801.UserAssignedIdentity + Identities associated with a flexible server. + properties: + $propertyBag: + additionalProperties: type: string - subnet: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + type: + type: string + userAssignedIdentities: + items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20240801.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -73181,7 +137392,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -73201,13 +137412,95 @@ spec: type: string type: object type: object - type: object - type: array + type: array + type: object location: type: string + maintenanceWindow: + description: |- + Storage version of v1api20240801.MaintenanceWindow + Maintenance window properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + network: + description: |- + Storage version of v1api20240801.Network + Network properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceReference: + description: |- + DelegatedSubnetResourceReference: Resource identifier of the delegated subnet. Required during creation of a new server, + in case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + privateDnsZoneArmResourceReference: + description: |- + PrivateDnsZoneArmResourceReference: Identifier of the private DNS zone. Required during creation of a new server, in + case you want the server to be integrated into your own virtual network. For an update operation, you only have to + provide this property if you want to change the value assigned for the private DNS zone. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + type: object operatorSpec: description: |- - Storage version of v1api20220701.DnsResolversInboundEndpointOperatorSpec + Storage version of v1api20240801.FlexibleServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -73246,6 +137539,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20240801.FlexibleServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -73275,6 +137597,35 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240801.FlexibleServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -73282,7 +137633,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsResolver resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -73291,15 +137642,105 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + pointInTimeUTC: + type: string + replica: + description: |- + Storage version of v1api20240801.Replica + Replica properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + promoteMode: + type: string + promoteOption: + type: string + role: + type: string + type: object + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20240801.Sku + Compute information of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceReference: + description: |- + SourceServerResourceReference: Identifier of the flexible server to be used as the source of the new flexible server. + Required when 'createMode' is 'PointInTimeRestore', 'GeoRestore', 'Replica', or 'ReviveDropped'. This property is + returned only when the target flexible server is a read replica. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storage: + description: |- + Storage version of v1api20240801.Storage + Storage properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object tags: additionalProperties: type: string type: object + version: + type: string required: - owner type: object status: - description: Storage version of v1api20220701.DnsResolversInboundEndpoint_STATUS + description: Storage version of v1api20240801.FlexibleServer_STATUS properties: $propertyBag: additionalProperties: @@ -73308,6 +137749,48 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorLogin: + type: string + authConfig: + description: |- + Storage version of v1api20240801.AuthConfig_STATUS + Authentication configuration properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeDirectoryAuth: + type: string + passwordAuth: + type: string + tenantId: + type: string + type: object + availabilityZone: + type: string + backup: + description: |- + Storage version of v1api20240801.Backup_STATUS + Backup properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + earliestRestoreDate: + type: string + geoRedundantBackup: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -73351,15 +137834,149 @@ spec: - type type: object type: array - etag: + createMode: + type: string + dataEncryption: + description: |- + Storage version of v1api20240801.DataEncryption_STATUS + Data encryption properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + geoBackupEncryptionKeyStatus: + type: string + geoBackupKeyURI: + type: string + geoBackupUserAssignedIdentityId: + type: string + primaryEncryptionKeyStatus: + type: string + primaryKeyURI: + type: string + primaryUserAssignedIdentityId: + type: string + type: + type: string + type: object + fullyQualifiedDomainName: type: string + highAvailability: + description: |- + Storage version of v1api20240801.HighAvailability_STATUS + High availability properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + standbyAvailabilityZone: + type: string + state: + type: string + type: object id: type: string - ipConfigurations: + identity: + description: |- + Storage version of v1api20240801.UserAssignedIdentity_STATUS + Identities associated with a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240801.UserIdentity_STATUS + User assigned managed identity associated with a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + maintenanceWindow: + description: |- + Storage version of v1api20240801.MaintenanceWindow_STATUS + Maintenance window properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customWindow: + type: string + dayOfWeek: + type: integer + startHour: + type: integer + startMinute: + type: integer + type: object + minorVersion: + type: string + name: + type: string + network: + description: |- + Storage version of v1api20240801.Network_STATUS + Network properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedSubnetResourceId: + type: string + privateDnsZoneArmResourceId: + type: string + publicNetworkAccess: + type: string + type: object + pointInTimeUTC: + type: string + privateEndpointConnections: items: description: |- - Storage version of v1api20220701.IpConfiguration_STATUS - IP configuration. + Storage version of v1api20240801.PrivateEndpointConnection_STATUS + The private endpoint connection resource. properties: $propertyBag: additionalProperties: @@ -73368,38 +137985,86 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - privateIpAddress: - type: string - privateIpAllocationMethod: + id: type: string - subnet: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object type: object type: array - location: - type: string - name: + replica: + description: |- + Storage version of v1api20240801.Replica_STATUS + Replica properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + promoteMode: + type: string + promoteOption: + type: string + replicationState: + type: string + role: + type: string + type: object + replicaCapacity: + type: integer + replicationRole: type: string - provisioningState: + sku: + description: |- + Storage version of v1api20240801.Sku_STATUS + Compute information of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + sourceServerResourceId: type: string - resourceGuid: + state: type: string + storage: + description: |- + Storage version of v1api20240801.Storage_STATUS + Storage properties of a flexible server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoGrow: + type: string + iops: + type: integer + storageSizeGB: + type: integer + throughput: + type: integer + tier: + type: string + type: + type: string + type: object systemData: description: |- - Storage version of v1api20220701.SystemData_STATUS + Storage version of v1api20240801.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -73428,6 +138093,8 @@ spec: type: object type: type: string + version: + type: string type: object type: object served: true @@ -73440,11 +138107,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnsresolversoutboundendpoints.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversadministrators.dbformysql.azure.com spec: conversion: strategy: Webhook @@ -73457,12 +138124,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: dbformysql.azure.com names: - kind: DnsResolversOutboundEndpoint - listKind: DnsResolversOutboundEndpointList - plural: dnsresolversoutboundendpoints - singular: dnsresolversoutboundendpoint + categories: + - azure + - dbformysql + kind: FlexibleServersAdministrator + listKind: FlexibleServersAdministratorList + plural: flexibleserversadministrators + singular: flexibleserversadministrator preserveUnknownFields: false scope: Namespaced versions: @@ -73479,13 +138149,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20220101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2022-01-01/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} properties: apiVersion: description: |- @@ -73506,13 +138176,33 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory type: string - location: - description: 'Location: The geo-location where the resource lives' + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + description: 'Login: Login name of the server administrator.' type: string operatorSpec: description: |- @@ -73584,7 +138274,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsResolver resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -73593,42 +138283,50 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - subnet: - description: 'Subnet: The reference to the subnet used for the outbound endpoint.' + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object required: - - location - owner - - subnet type: object status: properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -73673,37 +138371,25 @@ spec: - type type: object type: array - etag: - description: 'Etag: ETag of the outbound endpoint.' - type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - location: - description: 'Location: The geo-location where the resource lives' + identityResourceId: + description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' + type: string + login: + description: 'Login: Login name of the server administrator.' type: string name: description: 'Name: The name of the resource' type: string - provisioningState: - description: |- - ProvisioningState: The current provisioning state of the outbound endpoint. This is a read-only property and any attempt - to set this value will be ignored. - type: string - resourceGuid: - description: 'ResourceGuid: The resourceGuid property of the outbound endpoint resource.' + sid: + description: 'Sid: SID (object ID) of the server administrator.' type: string - subnet: - description: 'Subnet: The reference to the subnet used for the outbound endpoint.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + description: 'SystemData: The system metadata relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -73724,11 +138410,9 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -73751,14 +138435,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20220101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.DnsResolversOutboundEndpoint + Storage version of v1api20220101.FlexibleServersAdministrator Generator information: - - Generated from: /dnsresolver/resource-manager/Microsoft.Network/stable/2022-07-01/dnsresolver.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2022-01-01/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} properties: apiVersion: description: |- @@ -73778,7 +138462,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.DnsResolversOutboundEndpoint_Spec + description: Storage version of v1api20220101.FlexibleServersAdministrator_Spec properties: $propertyBag: additionalProperties: @@ -73787,16 +138471,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + administratorType: type: string - location: + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: type: string operatorSpec: description: |- - Storage version of v1api20220701.DnsResolversOutboundEndpointOperatorSpec + Storage version of v1api20220101.FlexibleServersAdministratorOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -73871,7 +138572,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsResolver resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -73880,48 +138581,49 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - subnet: + sid: + type: string + sidFromConfig: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object - tags: - additionalProperties: - type: string + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object required: - owner type: object status: - description: Storage version of v1api20220701.DnsResolversOutboundEndpoint_STATUS + description: Storage version of v1api20220101.FlexibleServersAdministrator_STATUS properties: $propertyBag: additionalProperties: @@ -73930,6 +138632,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorType: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -73973,36 +138677,19 @@ spec: - type type: object type: array - etag: - type: string id: type: string - location: + identityResourceId: type: string - name: + login: type: string - provisioningState: + name: type: string - resourceGuid: + sid: type: string - subnet: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object systemData: description: |- - Storage version of v1api20220701.SystemData_STATUS + Storage version of v1api20220101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -74025,50 +138712,16 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object + tenantId: + type: string type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszones.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZone - listKind: DnsZoneList - plural: dnszones - singular: dnszone - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -74082,13 +138735,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20230630 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} properties: apiVersion: description: |- @@ -74109,13 +138762,33 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory type: string - location: - description: 'Location: Resource location.' + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: + description: 'Login: Login name of the server administrator.' type: string operatorSpec: description: |- @@ -74187,7 +138860,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -74196,81 +138869,50 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - registrationVirtualNetworks: - description: |- - RegistrationVirtualNetworks: A list of references to virtual networks that register hostnames in this DNS zone. This is - a only when ZoneType is Private. - items: - description: A reference to a another resource - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - resolutionVirtualNetworks: - description: |- - ResolutionVirtualNetworks: A list of references to virtual networks that resolve records in this DNS zone. This is a - only when ZoneType is Private. - items: - description: A reference to a another resource - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object - zoneType: - description: 'ZoneType: The type of this DNS zone (Public or Private).' - enum: - - Private - - Public + tenantId: + description: 'TenantId: Tenant ID of the administrator.' type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - - location - owner type: object status: properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -74315,74 +138957,50 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the zone.' - type: string id: - description: 'Id: Resource ID.' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - location: - description: 'Location: Resource location.' + identityResourceId: + description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' + type: string + login: + description: 'Login: Login name of the server administrator.' type: string - maxNumberOfRecordSets: - description: |- - MaxNumberOfRecordSets: The maximum number of record sets that can be created in this DNS zone. This is a read-only - property and any attempt to set this value will be ignored. - type: integer - maxNumberOfRecordsPerRecordSet: - description: |- - MaxNumberOfRecordsPerRecordSet: The maximum number of records per record set that can be created in this DNS zone. This - is a read-only property and any attempt to set this value will be ignored. - type: integer name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource' type: string - nameServers: - description: |- - NameServers: The name servers for this DNS zone. This is a read-only property and any attempt to set this value will be - ignored. - items: - type: string - type: array - numberOfRecordSets: - description: |- - NumberOfRecordSets: The current number of record sets in this DNS zone. This is a read-only property and any attempt to - set this value will be ignored. - type: integer - registrationVirtualNetworks: - description: |- - RegistrationVirtualNetworks: A list of references to virtual networks that register hostnames in this DNS zone. This is - a only when ZoneType is Private. - items: - description: A reference to a another resource - properties: - id: - description: 'Id: Resource Id.' - type: string - type: object - type: array - resolutionVirtualNetworks: - description: |- - ResolutionVirtualNetworks: A list of references to virtual networks that resolve records in this DNS zone. This is a - only when ZoneType is Private. - items: - description: A reference to a another resource - properties: - id: - description: 'Id: Resource Id.' - type: string - type: object - type: array - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object - type: - description: 'Type: Resource type.' + tenantId: + description: 'TenantId: Tenant ID of the administrator.' type: string - zoneType: - description: 'ZoneType: The type of this DNS zone (Public or Private).' + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -74403,14 +139021,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20230630storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZone + Storage version of v1api20230630.FlexibleServersAdministrator Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} properties: apiVersion: description: |- @@ -74430,7 +139048,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501.DnsZone_Spec + description: Storage version of v1api20230630.FlexibleServersAdministrator_Spec properties: $propertyBag: additionalProperties: @@ -74439,16 +139057,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + administratorType: type: string - location: + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + login: type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZoneOperatorSpec + Storage version of v1api20230630.FlexibleServersAdministratorOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -74523,7 +139158,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -74532,87 +139167,49 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - registrationVirtualNetworks: - items: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - resolutionVirtualNetworks: - items: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - tags: - additionalProperties: - type: string + sid: + type: string + sidFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object - zoneType: + tenantId: type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner type: object status: - description: Storage version of v1api20180501.DnsZone_STATUS + description: Storage version of v1api20230630.FlexibleServersAdministrator_STATUS properties: $propertyBag: additionalProperties: @@ -74621,6 +139218,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + administratorType: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -74664,104 +139263,51 @@ spec: - type type: object type: array - etag: - type: string id: type: string - location: + identityResourceId: + type: string + login: type: string - maxNumberOfRecordSets: - type: integer - maxNumberOfRecordsPerRecordSet: - type: integer name: type: string - nameServers: - items: - type: string - type: array - numberOfRecordSets: - type: integer - registrationVirtualNetworks: - items: - description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - resolutionVirtualNetworks: - items: - description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + sid: + type: string + systemData: + description: |- + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - tags: - additionalProperties: - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - type: + tenantId: type: string - zoneType: + type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonesaaaarecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZonesAAAARecord - listKind: DnsZonesAAAARecordList - plural: dnszonesaaaarecords - singular: dnszonesaaaarecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -74775,13 +139321,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20231230 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/AAAA/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} properties: apiVersion: description: |- @@ -74802,151 +139348,34 @@ spec: type: object spec: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' properties: - email: - description: 'Email: The email contact for this SOA record.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + login: + description: 'Login: Login name of the server administrator.' type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -75017,7 +139446,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -75026,170 +139455,50 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - owner - type: object - status: - properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string + required: + - key + - name type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' properties: - email: - description: 'Email: The email contact for this SOA record.' + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + required: + - key + - name type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + required: + - owner + type: object + status: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -75234,35 +139543,50 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + identityResourceId: + description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' type: string - id: - description: 'Id: The ID of the record set.' + login: + description: 'Login: Login name of the server administrator.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object name: - description: 'Name: The name of the record set.' + description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + sid: + description: 'Sid: SID (object ID) of the server administrator.' type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - id: - description: 'Id: Resource Id.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string type: - description: 'Type: The type of the record set.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -75283,14 +139607,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20231230storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesAAAARecord + Storage version of v1api20231230.FlexibleServersAdministrator Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/AAAA/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/AzureADAdministrator.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} properties: apiVersion: description: |- @@ -75310,7 +139634,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501.DnsZonesAAAARecord_Spec + description: Storage version of v1api20231230.FlexibleServersAdministrator_Spec properties: $propertyBag: additionalProperties: @@ -75319,212 +139643,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. + administratorType: + type: string + identityResourceReference: + description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: + group: + description: Group is the Kubernetes group of the resource. type: string - expireTime: - type: integer - host: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + login: type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesAAAARecordOperatorSpec + Storage version of v1api20231230.FlexibleServersAdministratorOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -75599,7 +139744,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -75608,44 +139753,49 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: + sid: + type: string + sidFromConfig: description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesAAAARecord_STATUS + description: Storage version of v1api20231230.FlexibleServersAdministrator_STATUS properties: $propertyBag: additionalProperties: @@ -75654,44 +139804,65 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: + administratorType: + type: string + conditions: items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string + severity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - CNAMERecord: + id: + type: string + identityResourceId: + type: string + login: + type: string + name: + type: string + sid: + type: string + systemData: description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -75700,66 +139871,341 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cname: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersAdvancedThreatProtectionSettings + listKind: FlexibleServersAdvancedThreatProtectionSettingsList + plural: flexibleserversadvancedthreatprotectionsettings + singular: flexibleserversadvancedthreatprotectionsettings + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/ThreatProtection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - nsdname: - type: string - type: object - type: array - PTRRecords: + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: Specifies the state of the advanced threat protection, whether it is enabled, disabled, or a state has not been + applied yet on the flexible server. + enum: + - Disabled + - Enabled + type: string + required: + - owner + - state + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - SOARecord: + creationTime: + description: 'CreationTime: Specifies the creation time (UTC) of the policy.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: Specifies the state of the advanced threat protection, whether it is enabled, disabled, or a state has not been + applied yet on the flexible server. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettings + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/ThreatProtection.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettings_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettingsOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -75768,86 +140214,95 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string + configMapExpressions: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + secretExpressions: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersAdvancedThreatProtectionSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -75891,24 +140346,18 @@ spec: - type type: object type: array - etag: - type: string - fqdn: + creationTime: type: string id: type: string - metadata: - additionalProperties: - type: string - type: object name: type: string - provisioningState: + state: type: string - targetResource: + systemData: description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -75917,7 +140366,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: @@ -75934,11 +140393,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonesarecords.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversbackups.dbforpostgresql.azure.com spec: conversion: strategy: Webhook @@ -75951,12 +140410,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: dbforpostgresql.azure.com names: - kind: DnsZonesARecord - listKind: DnsZonesARecordList - plural: dnszonesarecords - singular: dnszonesarecord + categories: + - azure + - dbforpostgresql + kind: FlexibleServersBackup + listKind: FlexibleServersBackupList + plural: flexibleserversbackups + singular: flexibleserversbackup preserveUnknownFields: false scope: Namespaced versions: @@ -75973,13 +140435,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20240801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/A/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Backups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups/{backupName} properties: apiVersion: description: |- @@ -76000,154 +140462,13 @@ spec: type: object spec: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - etag: - description: 'Etag: The etag of the record set.' - type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -76218,7 +140539,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -76227,170 +140548,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object required: - owner type: object status: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + backupType: + description: 'BackupType: Type of backup.' + type: string + completedTime: + description: 'CompletedTime: Time(ISO8601 format) at which the backup was completed.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -76435,35 +140603,41 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' - type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' - type: string id: - description: 'Id: The ID of the record set.' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object name: - description: 'Name: The name of the record set.' + description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: + description: 'Source: Source of the backup.' type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - id: - description: 'Id: Resource Id.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: - description: 'Type: The type of the record set.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -76484,14 +140658,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20240801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesARecord + Storage version of v1api20240801.FlexibleServersBackup Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/A/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Backups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/backups/{backupName} properties: apiVersion: description: |- @@ -76511,7 +140685,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501.DnsZonesARecord_Spec + description: Storage version of v1api20240801.FlexibleServersBackup_Spec properties: $propertyBag: additionalProperties: @@ -76520,44 +140694,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: + azureName: description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20240801.FlexibleServersBackupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -76566,66 +140711,150 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cname: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - MXRecords: + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersBackup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupType: + type: string + completedTime: + type: string + conditions: items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - preference: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string + reason: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string + severity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - SOARecord: + id: + type: string + name: + type: string + source: + type: string + systemData: description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -76634,100 +140863,379 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: + createdAt: type: string - expireTime: - type: integer - host: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: flexibleserversconfigurations.dbformysql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformysql.azure.com + names: + categories: + - azure + - dbformysql + kind: FlexibleServersConfiguration + listKind: FlexibleServersConfigurationList + plural: flexibleserversconfigurations + singular: flexibleserversconfiguration + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2022-01-01/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[a-zA-Z0-9_.-]+$ + type: string + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - value: - items: - type: string - type: array - type: object - type: array - azureName: + type: array + type: object + owner: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbformysql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + source: + description: 'Source: Source of the configuration.' + enum: + - system-default + - user-override type: string - caaRecords: + value: + description: 'Value: Value of the configuration.' + type: string + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - tag: + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - value: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - etag: + currentValue: + description: 'CurrentValue: Current value of the configuration.' type: string - metadata: + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: The link used to get the document from community or Azure site.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' + type: string + isDynamicConfig: + description: 'IsDynamicConfig: If is the configuration dynamic.' + type: string + isReadOnly: + description: 'IsReadOnly: If is the configuration read only.' + type: string + name: + description: 'Name: The name of the resource' + type: string + source: + description: 'Source: Source of the configuration.' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220101.FlexibleServersConfiguration + Generator information: + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2022-01-01/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220101.FlexibleServersConfiguration_Spec + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesARecordOperatorSpec + Storage version of v1api20220101.FlexibleServersConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -76802,7 +141310,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -76811,44 +141319,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesARecord_STATUS + description: Storage version of v1api20220101.FlexibleServersConfiguration_STATUS properties: $propertyBag: additionalProperties: @@ -76857,200 +141336,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -77094,24 +141381,32 @@ spec: - type type: object type: array - etag: + currentValue: type: string - fqdn: + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + type: string + isDynamicConfig: + type: string + isReadOnly: + type: string name: type: string - provisioningState: + source: type: string - targetResource: + systemData: description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + Storage version of v1api20220101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -77120,49 +141415,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: type: string + value: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonescaarecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZonesCAARecord - listKind: DnsZonesCAARecordList - plural: dnszonescaarecords - singular: dnszonescaarecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -77176,13 +141451,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20230630 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CAA/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -77203,151 +141478,14 @@ spec: type: object spec: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -77418,7 +141556,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -77427,170 +141565,23 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + description: 'Source: Source of the configuration.' + enum: + - system-default + - user-override + type: string + value: + description: 'Value: Value of the configuration.' + type: string required: - owner type: object status: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -77635,35 +141626,68 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + currentValue: + description: 'CurrentValue: Current value of the configuration.' type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: The link used to get the document from community or Azure site.' type: string id: - description: 'Id: The ID of the record set.' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' + type: string + isDynamicConfig: + description: 'IsDynamicConfig: If is the configuration dynamic.' + type: string + isReadOnly: + description: 'IsReadOnly: If is the configuration read only.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object name: - description: 'Name: The name of the record set.' + description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: + description: 'Source: Source of the configuration.' type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - id: - description: 'Id: Resource Id.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: - description: 'Type: The type of the record set.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' type: string type: object type: object @@ -77684,14 +141708,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20230630storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesCAARecord + Storage version of v1api20230630.FlexibleServersConfiguration Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CAA/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -77706,226 +141730,30 @@ spec: Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20180501.DnsZonesCAARecord_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230630.FlexibleServersConfiguration_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - type: object + currentValue: + type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesCAARecordOperatorSpec + Storage version of v1api20230630.FlexibleServersConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -78000,7 +141828,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -78009,44 +141837,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesCAARecord_STATUS + description: Storage version of v1api20230630.FlexibleServersConfiguration_STATUS properties: $propertyBag: additionalProperties: @@ -78055,200 +141854,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -78292,24 +141899,32 @@ spec: - type type: object type: array - etag: + currentValue: type: string - fqdn: + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + type: string + isDynamicConfig: + type: string + isReadOnly: + type: string name: type: string - provisioningState: + source: type: string - targetResource: + systemData: description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + Storage version of v1api20230630.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -78318,49 +141933,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: type: string + value: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonescnamerecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZonesCNAMERecord - listKind: DnsZonesCNAMERecordList - plural: dnszonescnamerecords - singular: dnszonescnamerecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -78374,13 +141969,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20231230 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CNAME/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -78401,151 +141996,14 @@ spec: type: object spec: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + currentValue: + description: 'CurrentValue: Current value of the configuration.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -78616,7 +142074,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -78625,170 +142083,23 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + description: 'Source: Source of the configuration.' + enum: + - system-default + - user-override + type: string + value: + description: 'Value: Value of the configuration.' + type: string required: - owner type: object status: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -78833,35 +142144,68 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + currentValue: + description: 'CurrentValue: Current value of the configuration.' type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + dataType: + description: 'DataType: Data type of the configuration.' + type: string + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: The link used to get the document from community or Azure site.' type: string id: - description: 'Id: The ID of the record set.' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' + type: string + isDynamicConfig: + description: 'IsDynamicConfig: If is the configuration dynamic.' + type: string + isReadOnly: + description: 'IsReadOnly: If is the configuration read only.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object name: - description: 'Name: The name of the record set.' + description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: + description: 'Source: Source of the configuration.' type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - id: - description: 'Id: Resource Id.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: - description: 'Type: The type of the record set.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Value of the configuration.' type: string type: object type: object @@ -78882,14 +142226,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20231230storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesCNAMERecord + Storage version of v1api20231230.FlexibleServersConfiguration Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/CNAME/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/Configurations.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -78908,222 +142252,26 @@ spec: type: string metadata: type: object - spec: - description: Storage version of v1api20180501.DnsZonesCNAMERecord_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: + spec: + description: Storage version of v1api20231230.FlexibleServersConfiguration_Spec + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + currentValue: + type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesCNAMERecordOperatorSpec + Storage version of v1api20231230.FlexibleServersConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -79198,7 +142346,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -79207,44 +142355,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesCNAMERecord_STATUS + description: Storage version of v1api20231230.FlexibleServersConfiguration_STATUS properties: $propertyBag: additionalProperties: @@ -79253,200 +142372,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -79490,24 +142417,32 @@ spec: - type type: object type: array - etag: + currentValue: type: string - fqdn: + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + type: string + isDynamicConfig: + type: string + isReadOnly: + type: string name: type: string - provisioningState: + source: type: string - targetResource: + systemData: description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + Storage version of v1api20231230.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -79516,11 +142451,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: type: string + value: + type: string type: object type: object served: true @@ -79533,11 +142480,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonesmxrecords.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversconfigurations.dbforpostgresql.azure.com spec: conversion: strategy: Webhook @@ -79550,12 +142497,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: dbforpostgresql.azure.com names: - kind: DnsZonesMXRecord - listKind: DnsZonesMXRecordList - plural: dnszonesmxrecords - singular: dnszonesmxrecord + categories: + - azure + - dbforpostgresql + kind: FlexibleServersConfiguration + listKind: FlexibleServersConfigurationList + plural: flexibleserversconfigurations + singular: flexibleserversconfiguration preserveUnknownFields: false scope: Namespaced versions: @@ -79572,13 +142522,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20210601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/MX/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -79599,151 +142549,11 @@ spec: type: object spec: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -79814,7 +142624,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -79823,170 +142633,20 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string required: - owner type: object status: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -80031,35 +142691,68 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + dataType: + description: 'DataType: Data type of the configuration.' type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' type: string id: - description: 'Id: The ID of the record set.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean name: - description: 'Name: The name of the record set.' + description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: + description: 'Source: Source of the configuration.' type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: 'SystemData: The system metadata relating to this resource.' properties: - id: - description: 'Id: Resource Id.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: - description: 'Type: The type of the record set.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration.' type: string type: object type: object @@ -80080,14 +142773,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20210601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesMXRecord + Storage version of v1api20210601.FlexibleServersConfiguration Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/MX/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -80107,7 +142800,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501.DnsZonesMXRecord_Spec + description: Storage version of v1api20210601.FlexibleServersConfiguration_Spec properties: $propertyBag: additionalProperties: @@ -80116,44 +142809,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: + azureName: description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -80162,66 +142826,166 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cname: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - MXRecords: + source: + type: string + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20210601.FlexibleServersConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedValues: + type: string + conditions: items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - preference: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string + reason: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string + severity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - SOARecord: + dataType: + type: string + defaultValue: + type: string + description: + type: string + documentationLink: + type: string + id: + type: string + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean + name: + type: string + source: + type: string + systemData: description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. + Storage version of v1api20210601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -80230,108 +142994,83 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: + createdAt: type: string - expireTime: - type: integer - host: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array + type: + type: string + unit: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesMXRecordOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -80361,6 +143100,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -80390,13 +143130,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -80405,247 +143143,22 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesMXRecord_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -80688,75 +143201,75 @@ spec: - type type: object type: array - etag: + dataType: + description: 'DataType: Data type of the configuration.' type: string - fqdn: + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' type: string id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean name: + description: 'Name: The name of the resource' type: string - provisioningState: + source: + description: 'Source: Source of the configuration.' type: string - targetResource: - description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + systemData: + description: 'SystemData: The system metadata relating to this resource.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration.' type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonesnsrecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZonesNSRecord - listKind: DnsZonesNSRecordList - plural: dnszonesnsrecords - singular: dnszonesnsrecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -80770,13 +143283,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20220120previewstorage schema: openAPIV3Schema: description: |- + Storage version of v1api20220120preview.FlexibleServersConfiguration Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/NS/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -80796,159 +143310,33 @@ spec: metadata: type: object spec: + description: Storage version of v1api20220120preview.FlexibleServersConfiguration_Spec properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20220120preview.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -80978,7 +143366,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -81008,11 +143395,13 @@ spec: type: object type: array type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -81021,172 +143410,26 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: + description: Storage version of v1api20220120preview.FlexibleServersConfiguration_STATUS properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + allowedValues: + type: string conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -81229,35 +143472,56 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + dataType: type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: - description: 'Id: The ID of the record set.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean name: - description: 'Name: The name of the record set.' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: |- + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - id: - description: 'Id: Resource Id.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: - description: 'Type: The type of the record set.' + type: string + unit: + type: string + value: type: string type: object type: object @@ -81278,258 +143542,47 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20221201 schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesNSRecord Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/NS/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20180501.DnsZonesNSRecord_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesNSRecordOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -81559,6 +143612,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -81588,13 +143642,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -81603,247 +143655,22 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + description: 'Source: Source of the configuration. Required to update the configuration.' + type: string + value: + description: 'Value: Value of the configuration. Required to update the configuration.' + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesNSRecord_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -81886,75 +143713,75 @@ spec: - type type: object type: array - etag: + dataType: + description: 'DataType: Data type of the configuration.' type: string - fqdn: + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' type: string id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean name: + description: 'Name: The name of the resource' type: string - provisioningState: + source: + description: 'Source: Source of the configuration. Required to update the configuration.' type: string - targetResource: - description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration. Required to update the configuration.' type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonesptrrecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZonesPTRRecord - listKind: DnsZonesPTRRecordList - plural: dnszonesptrrecords - singular: dnszonesptrrecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -81968,13 +143795,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20221201storage schema: openAPIV3Schema: description: |- + Storage version of v1api20221201.FlexibleServersConfiguration Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/PTR/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -81994,159 +143822,33 @@ spec: metadata: type: object spec: + description: Storage version of v1api20221201.FlexibleServersConfiguration_Spec properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20221201.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -82176,7 +143878,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -82206,11 +143907,13 @@ spec: type: object type: array type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -82219,172 +143922,26 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: + description: Storage version of v1api20221201.FlexibleServersConfiguration_STATUS properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + allowedValues: + type: string conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -82427,35 +143984,56 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + dataType: type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: - description: 'Id: The ID of the record set.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean name: - description: 'Name: The name of the record set.' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: |- + Storage version of v1api20221201.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - id: - description: 'Id: Resource Id.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: - description: 'Type: The type of the record set.' + type: string + unit: + type: string + value: type: string type: object type: object @@ -82476,14 +144054,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20230601preview schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesPTRRecord Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/PTR/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -82503,231 +144080,21 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501.DnsZonesPTRRecord_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesPTRRecordOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -82757,6 +144124,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -82786,13 +144154,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -82801,247 +144167,22 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + description: 'Source: Source of the configuration.' + type: string + value: + description: 'Value: Value of the configuration.' + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesPTRRecord_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + description: 'AllowedValues: Allowed values of the configuration.' + type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -83084,75 +144225,75 @@ spec: - type type: object type: array - etag: + dataType: + description: 'DataType: Data type of the configuration.' type: string - fqdn: + defaultValue: + description: 'DefaultValue: Default value of the configuration.' + type: string + description: + description: 'Description: Description of the configuration.' + type: string + documentationLink: + description: 'DocumentationLink: Configuration documentation link.' type: string id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + description: 'IsConfigPendingRestart: Configuration is pending restart or not.' + type: boolean + isDynamicConfig: + description: 'IsDynamicConfig: Configuration dynamic or static.' + type: boolean + isReadOnly: + description: 'IsReadOnly: Configuration read-only or not.' + type: boolean name: + description: 'Name: The name of the resource' type: string - provisioningState: + source: + description: 'Source: Source of the configuration.' type: string - targetResource: - description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Configuration unit.' + type: string + value: + description: 'Value: Value of the configuration.' type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonessrvrecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: DnsZonesSRVRecord - listKind: DnsZonesSRVRecordList - plural: dnszonessrvrecords - singular: dnszonessrvrecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -83166,13 +144307,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20230601previewstorage schema: openAPIV3Schema: description: |- + Storage version of v1api20230601preview.FlexibleServersConfiguration Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/SRV/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -83192,159 +144334,33 @@ spec: metadata: type: object spec: + description: Storage version of v1api20230601preview.FlexibleServersConfiguration_Spec properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20230601preview.FlexibleServersConfigurationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -83374,7 +144390,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -83404,11 +144419,13 @@ spec: type: object type: array type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -83417,172 +144434,26 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: + description: Storage version of v1api20230601preview.FlexibleServersConfiguration_STATUS properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + allowedValues: + type: string conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -83625,35 +144496,56 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' + dataType: type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: - description: 'Id: The ID of the record set.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean name: - description: 'Name: The name of the record set.' type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + source: type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: |- + Storage version of v1api20230601preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - id: - description: 'Id: Resource Id.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: - description: 'Type: The type of the record set.' + type: string + unit: + type: string + value: type: string type: object type: object @@ -83674,14 +144566,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20240801 schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesSRVRecord Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/SRV/{relativeRecordSetName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} properties: apiVersion: description: |- @@ -83701,221 +144592,290 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501.DnsZonesSRVRecord_Spec properties: - $propertyBag: - additionalProperties: - type: string + azureName: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + operatorSpec: description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - ptrdname: - type: string - type: object - type: array - SOARecord: + type: array + type: object + owner: description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - expireTime: - type: integer - host: + name: + description: This is the name of the Kubernetes resource to reference. type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - azureName: + source: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + Source: Source of the value assigned to the server parameter. Required to update the value assigned to a specific + modifiable server parameter. + type: string + value: + description: |- + Value: Value of the server parameter (also known as configuration). Required to update the value assigned to a specific + modifiable server parameter. type: string - caaRecords: + required: + - owner + type: object + status: + properties: + allowedValues: + description: 'AllowedValues: Allowed values of the server parameter.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - tag: + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - value: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - metadata: + dataType: + description: 'DataType: Data type of the server parameter.' + type: string + defaultValue: + description: 'DefaultValue: Value assigned by default to the server parameter.' + type: string + description: + description: 'Description: Description of the server parameter.' + type: string + documentationLink: + description: 'DocumentationLink: Link pointing to the documentation of the server parameter.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + isConfigPendingRestart: + description: |- + IsConfigPendingRestart: Indicates if the value assigned to the server parameter is pending a server restart for the + value to take effect. + type: boolean + isDynamicConfig: + description: |- + IsDynamicConfig: Indicates if it's a dynamic (true) or static (false) server parameter. Static server parameters require + a server restart after changing the value assigned to it, for the change to take effect. Dynamic server parameters do + not require a server restart after changing the value assigned to it, for the change to take effect. + type: boolean + isReadOnly: + description: 'IsReadOnly: Indicates if it''s a read-only (true) or modifiable (false) server parameter.' + type: boolean + name: + description: 'Name: The name of the resource' + type: string + source: + description: |- + Source: Source of the value assigned to the server parameter. Required to update the value assigned to a specific + modifiable server parameter. + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + unit: + description: 'Unit: Units in which the server parameter value is expressed.' + type: string + value: + description: |- + Value: Value of the server parameter (also known as configuration). Required to update the value assigned to a specific + modifiable server parameter. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240801.FlexibleServersConfiguration + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Configuration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240801.FlexibleServersConfiguration_Spec + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesSRVRecordOperatorSpec + Storage version of v1api20240801.FlexibleServersConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -83990,7 +144950,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -83999,44 +144959,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + source: + type: string + value: + type: string required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesSRVRecord_STATUS + description: Storage version of v1api20240801.FlexibleServersConfiguration_STATUS properties: $propertyBag: additionalProperties: @@ -84045,200 +144976,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + allowedValues: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -84282,24 +145021,30 @@ spec: - type type: object type: array - etag: + dataType: type: string - fqdn: + defaultValue: + type: string + description: + type: string + documentationLink: type: string id: type: string - metadata: - additionalProperties: - type: string - type: object + isConfigPendingRestart: + type: boolean + isDynamicConfig: + type: boolean + isReadOnly: + type: boolean name: type: string - provisioningState: + source: type: string - targetResource: + systemData: description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -84308,11 +145053,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: type: string + unit: + type: string + value: + type: string type: object type: object served: true @@ -84325,11 +145084,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: dnszonestxtrecords.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversdatabases.dbformysql.azure.com spec: conversion: strategy: Webhook @@ -84342,12 +145101,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: dbformysql.azure.com names: - kind: DnsZonesTXTRecord - listKind: DnsZonesTXTRecordList - plural: dnszonestxtrecords - singular: dnszonestxtrecord + categories: + - azure + - dbformysql + kind: FlexibleServersDatabase + listKind: FlexibleServersDatabaseList + plural: flexibleserversdatabases + singular: flexibleserversdatabase preserveUnknownFields: false scope: Namespaced versions: @@ -84364,13 +145126,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501 + name: v1api20210501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/TXT/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -84391,151 +145153,17 @@ spec: type: object spec: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -84606,7 +145234,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -84615,170 +145243,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' - properties: - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object required: - owner type: object status: properties: - AAAARecords: - description: 'AAAARecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - ARecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - CNAMERecord: - description: 'CNAMERecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object - MXRecords: - description: 'MXRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - NSRecords: - description: 'NSRecords: The list of NS records in the record set.' - items: - description: An NS record. - properties: - nsdname: - description: 'Nsdname: The name server name for this NS record.' - type: string - type: object - type: array - PTRRecords: - description: 'PTRRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - SOARecord: - description: 'SOARecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTTL: - description: 'MinimumTTL: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - SRVRecords: - description: 'SRVRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - TTL: - description: 'TTL: The TTL (time-to-live) of the records in the record set.' - type: integer - TXTRecords: - description: 'TXTRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - caaRecords: - description: 'CaaRecords: The list of CAA records in the record set.' - items: - description: A CAA record. - properties: - flags: - description: 'Flags: The flags for this CAA record as an integer between 0 and 255.' - type: integer - tag: - description: 'Tag: The tag for this CAA record.' - type: string - value: - description: 'Value: The value for this CAA record.' - type: string - type: object - type: array + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -84823,35 +145298,38 @@ spec: - type type: object type: array - etag: - description: 'Etag: The etag of the record set.' - type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' - type: string id: - description: 'Id: The ID of the record set.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object name: - description: 'Name: The name of the record set.' - type: string - provisioningState: - description: 'ProvisioningState: provisioning State of the record set.' + description: 'Name: The name of the resource' type: string - targetResource: - description: 'TargetResource: A reference to an azure resource from where the dns resource value is taken.' + systemData: + description: 'SystemData: The system metadata relating to this resource.' properties: - id: - description: 'Id: Resource Id.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: - description: 'Type: The type of the record set.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -84872,14 +145350,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501storage + name: v1api20210501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501.DnsZonesTXTRecord + Storage version of v1api20210501.FlexibleServersDatabase Generator information: - - Generated from: /dns/resource-manager/Microsoft.Network/stable/2018-05-01/dns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/TXT/{relativeRecordSetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -84888,232 +145366,38 @@ spec: may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20180501.DnsZonesTXTRecord_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array - metadata: - additionalProperties: - type: string - type: object + charset: + type: string + collation: + type: string operatorSpec: description: |- - Storage version of v1api20180501.DnsZonesTXTRecordOperatorSpec + Storage version of v1api20210501.FlexibleServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -85188,7 +145472,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/DnsZone resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -85197,44 +145481,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - targetResource: - description: |- - Storage version of v1api20180501.SubResource - A reference to a another resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object required: - owner type: object status: - description: Storage version of v1api20180501.DnsZonesTXTRecord_STATUS + description: Storage version of v1api20210501.FlexibleServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -85243,200 +145494,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - AAAARecords: - items: - description: |- - Storage version of v1api20180501.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - ARecords: - items: - description: |- - Storage version of v1api20180501.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - CNAMERecord: - description: |- - Storage version of v1api20180501.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object - MXRecords: - items: - description: |- - Storage version of v1api20180501.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - NSRecords: - items: - description: |- - Storage version of v1api20180501.NsRecord_STATUS - An NS record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nsdname: - type: string - type: object - type: array - PTRRecords: - items: - description: |- - Storage version of v1api20180501.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - SOARecord: - description: |- - Storage version of v1api20180501.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTTL: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - SRVRecords: - items: - description: |- - Storage version of v1api20180501.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - TTL: - type: integer - TXTRecords: - items: - description: |- - Storage version of v1api20180501.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - caaRecords: - items: - description: |- - Storage version of v1api20180501.CaaRecord_STATUS - A CAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flags: - type: integer - tag: - type: string - value: - type: string - type: object - type: array + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -85480,24 +145541,14 @@ spec: - type type: object type: array - etag: - type: string - fqdn: - type: string id: type: string - metadata: - additionalProperties: - type: string - type: object name: type: string - provisioningState: - type: string - targetResource: + systemData: description: |- - Storage version of v1api20180501.SubResource_STATUS - A reference to a another resource + Storage version of v1api20210501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -85506,7 +145557,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object type: @@ -85514,41 +145575,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: domains.eventgrid.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: eventgrid.azure.com - names: - kind: Domain - listKind: DomainList - plural: domains - singular: domain - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -85562,13 +145591,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20230630 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -85594,103 +145623,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - inboundIpRules: - description: |- - InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered - only if PublicNetworkAccess is enabled. - items: - properties: - action: - description: 'Action: Action to perform based on the match or no match of the IpMask.' - enum: - - Allow - type: string - ipMask: - description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' - type: string - type: object - type: array - inputSchema: - description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the domain.' - enum: - - CloudEventSchemaV1_0 - - CustomEventSchema - - EventGridSchema + charset: + description: 'Charset: The charset of the database.' type: string - inputSchemaMapping: - description: 'InputSchemaMapping: Information about the InputSchemaMapping which specified the info about mapping event payload.' - properties: - json: - description: 'Json: Mutually exclusive with all other properties' - properties: - dataVersion: - description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' - properties: - defaultValue: - description: |- - DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with - the specified name in the published JSON event payload. - type: string - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - eventTime: - description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' - properties: - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - eventType: - description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' - properties: - defaultValue: - description: |- - DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with - the specified name in the published JSON event payload. - type: string - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - id: - description: 'Id: The mapping information for the Id property of the Event Grid Event.' - properties: - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - inputSchemaMappingType: - description: 'InputSchemaMappingType: Type of the custom mapping' - enum: - - Json - type: string - subject: - description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' - properties: - defaultValue: - description: |- - DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with - the specified name in the published JSON event payload. - type: string - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - topic: - description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' - properties: - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - required: - - inputSchemaMappingType - type: object - type: object - location: - description: 'Location: Location of the resource.' + collation: + description: 'Collation: The collation of the database.' type: string operatorSpec: description: |- @@ -85762,7 +145699,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -85771,27 +145708,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. - You can further restrict to specific IPs by configuring - enum: - - Disabled - - Enabled - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Tags of the resource.' - type: object required: - - location - owner type: object status: - description: EventGrid Domain. properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -85836,126 +145763,16 @@ spec: - type type: object type: array - endpoint: - description: 'Endpoint: Endpoint for the domain.' - type: string id: - description: 'Id: Fully qualified identifier of the resource.' - type: string - inboundIpRules: description: |- - InboundIpRules: This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered - only if PublicNetworkAccess is enabled. - items: - properties: - action: - description: 'Action: Action to perform based on the match or no match of the IpMask.' - type: string - ipMask: - description: 'IpMask: IP Address in CIDR notation e.g., 10.0.0.0/8.' - type: string - type: object - type: array - inputSchema: - description: 'InputSchema: This determines the format that Event Grid should expect for incoming events published to the domain.' - type: string - inputSchemaMapping: - description: 'InputSchemaMapping: Information about the InputSchemaMapping which specified the info about mapping event payload.' - properties: - json: - description: 'Json: Mutually exclusive with all other properties' - properties: - dataVersion: - description: 'DataVersion: The mapping information for the DataVersion property of the Event Grid Event.' - properties: - defaultValue: - description: |- - DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with - the specified name in the published JSON event payload. - type: string - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - eventTime: - description: 'EventTime: The mapping information for the EventTime property of the Event Grid Event.' - properties: - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - eventType: - description: 'EventType: The mapping information for the EventType property of the Event Grid Event.' - properties: - defaultValue: - description: |- - DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with - the specified name in the published JSON event payload. - type: string - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - id: - description: 'Id: The mapping information for the Id property of the Event Grid Event.' - properties: - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - inputSchemaMappingType: - description: 'InputSchemaMappingType: Type of the custom mapping' - type: string - subject: - description: 'Subject: The mapping information for the Subject property of the Event Grid Event.' - properties: - defaultValue: - description: |- - DefaultValue: The default value to be used for mapping when a SourceField is not provided or if there's no property with - the specified name in the published JSON event payload. - type: string - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - topic: - description: 'Topic: The mapping information for the Topic property of the Event Grid Event.' - properties: - sourceField: - description: 'SourceField: Name of a field in the input event schema that''s to be used as the source of a mapping.' - type: string - type: object - type: object - type: object - location: - description: 'Location: Location of the resource.' - type: string - metricResourceId: - description: 'MetricResourceId: Metric resource id for the domain.' + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string name: - description: 'Name: Name of the resource.' - type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections.' - items: - properties: - id: - description: 'Id: Fully qualified identifier of the resource.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Provisioning state of the domain.' - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled. - You can further restrict to specific IPs by configuring + description: 'Name: The name of the resource' type: string systemData: - description: 'SystemData: The system metadata relating to Domain resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -85976,13 +145793,8 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Tags of the resource.' - type: object type: - description: 'Type: Type of the resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -86003,14 +145815,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20230630storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.Domain + Storage version of v1api20230630.FlexibleServersDatabase Generator information: - - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -86030,7 +145842,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.Domain_Spec + description: Storage version of v1api20230630.FlexibleServersDatabase_Spec properties: $propertyBag: additionalProperties: @@ -86044,174 +145856,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - inboundIpRules: - items: - description: Storage version of v1api20200601.InboundIpRule - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - ipMask: - type: string - type: object - type: array - inputSchema: + charset: type: string - inputSchemaMapping: - description: Storage version of v1api20200601.InputSchemaMapping - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - json: - description: Storage version of v1api20200601.JsonInputSchemaMapping - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataVersion: - description: |- - Storage version of v1api20200601.JsonFieldWithDefault - This is used to express the source of an input schema mapping for a single target field - in the Event Grid Event schema. - This is currently used in the mappings for the 'subject', - 'eventtype' and 'dataversion' properties. This represents a - field in the input event schema - along with a default value to be used, and at least one of these two properties should - be provided. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultValue: - type: string - sourceField: - type: string - type: object - eventTime: - description: |- - Storage version of v1api20200601.JsonField - This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. - This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the - input event schema. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceField: - type: string - type: object - eventType: - description: |- - Storage version of v1api20200601.JsonFieldWithDefault - This is used to express the source of an input schema mapping for a single target field - in the Event Grid Event schema. - This is currently used in the mappings for the 'subject', - 'eventtype' and 'dataversion' properties. This represents a - field in the input event schema - along with a default value to be used, and at least one of these two properties should - be provided. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultValue: - type: string - sourceField: - type: string - type: object - id: - description: |- - Storage version of v1api20200601.JsonField - This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. - This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the - input event schema. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceField: - type: string - type: object - inputSchemaMappingType: - type: string - subject: - description: |- - Storage version of v1api20200601.JsonFieldWithDefault - This is used to express the source of an input schema mapping for a single target field - in the Event Grid Event schema. - This is currently used in the mappings for the 'subject', - 'eventtype' and 'dataversion' properties. This represents a - field in the input event schema - along with a default value to be used, and at least one of these two properties should - be provided. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultValue: - type: string - sourceField: - type: string - type: object - topic: - description: |- - Storage version of v1api20200601.JsonField - This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. - This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the - input event schema. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceField: - type: string - type: object - type: object - type: object - location: + collation: type: string operatorSpec: description: |- - Storage version of v1api20200601.DomainOperatorSpec + Storage version of v1api20230630.FlexibleServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -86286,7 +145937,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -86295,19 +145946,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - tags: - additionalProperties: - type: string - type: object required: - owner type: object status: - description: |- - Storage version of v1api20200601.Domain_STATUS - EventGrid Domain. + description: Storage version of v1api20230630.FlexibleServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -86316,6 +145959,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -86359,201 +146006,13 @@ spec: - type type: object type: array - endpoint: - type: string id: type: string - inboundIpRules: - items: - description: Storage version of v1api20200601.InboundIpRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - ipMask: - type: string - type: object - type: array - inputSchema: - type: string - inputSchemaMapping: - description: Storage version of v1api20200601.InputSchemaMapping_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - json: - description: Storage version of v1api20200601.JsonInputSchemaMapping_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataVersion: - description: |- - Storage version of v1api20200601.JsonFieldWithDefault_STATUS - This is used to express the source of an input schema mapping for a single target field - in the Event Grid Event schema. - This is currently used in the mappings for the 'subject', - 'eventtype' and 'dataversion' properties. This represents a - field in the input event schema - along with a default value to be used, and at least one of these two properties should - be provided. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultValue: - type: string - sourceField: - type: string - type: object - eventTime: - description: |- - Storage version of v1api20200601.JsonField_STATUS - This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. - This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the - input event schema. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceField: - type: string - type: object - eventType: - description: |- - Storage version of v1api20200601.JsonFieldWithDefault_STATUS - This is used to express the source of an input schema mapping for a single target field - in the Event Grid Event schema. - This is currently used in the mappings for the 'subject', - 'eventtype' and 'dataversion' properties. This represents a - field in the input event schema - along with a default value to be used, and at least one of these two properties should - be provided. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultValue: - type: string - sourceField: - type: string - type: object - id: - description: |- - Storage version of v1api20200601.JsonField_STATUS - This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. - This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the - input event schema. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceField: - type: string - type: object - inputSchemaMappingType: - type: string - subject: - description: |- - Storage version of v1api20200601.JsonFieldWithDefault_STATUS - This is used to express the source of an input schema mapping for a single target field - in the Event Grid Event schema. - This is currently used in the mappings for the 'subject', - 'eventtype' and 'dataversion' properties. This represents a - field in the input event schema - along with a default value to be used, and at least one of these two properties should - be provided. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultValue: - type: string - sourceField: - type: string - type: object - topic: - description: |- - Storage version of v1api20200601.JsonField_STATUS - This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. - This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the - input event schema. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceField: - type: string - type: object - type: object - type: object - location: - type: string - metricResourceId: - type: string name: type: string - privateEndpointConnections: - items: - description: Storage version of v1api20200601.PrivateEndpointConnection_STATUS_Domain_SubResourceEmbedded - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - publicNetworkAccess: - type: string systemData: description: |- - Storage version of v1api20200601.SystemData_STATUS + Storage version of v1api20230630.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -86576,50 +146035,14 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: domainstopics.eventgrid.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: eventgrid.azure.com - names: - kind: DomainsTopic - listKind: DomainsTopicList - plural: domainstopics - singular: domainstopic - preserveUnknownFields: false - scope: Namespaced - versions: + type: object + type: object + served: true + storage: false + subresources: + status: {} - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -86633,13 +146056,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20231230 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -86665,6 +146088,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -86735,7 +146164,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventgrid.azure.com/Domain resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -86749,6 +146178,12 @@ spec: type: object status: properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -86794,16 +146229,15 @@ spec: type: object type: array id: - description: 'Id: Fully qualified identifier of the resource.' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string name: - description: 'Name: Name of the resource.' - type: string - provisioningState: - description: 'ProvisioningState: Provisioning state of the domain topic.' + description: 'Name: The name of the resource' type: string systemData: - description: 'SystemData: The system metadata relating to Domain Topic resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -86825,7 +146259,7 @@ spec: type: string type: object type: - description: 'Type: Type of the resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -86846,14 +146280,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20231230storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.DomainsTopic + Storage version of v1api20231230.FlexibleServersDatabase Generator information: - - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -86873,7 +146307,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.DomainsTopic_Spec + description: Storage version of v1api20231230.FlexibleServersDatabase_Spec properties: $propertyBag: additionalProperties: @@ -86887,9 +146321,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + charset: + type: string + collation: + type: string operatorSpec: description: |- - Storage version of v1api20200601.DomainsTopicOperatorSpec + Storage version of v1api20231230.FlexibleServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -86964,7 +146402,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventgrid.azure.com/Domain resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -86977,7 +146415,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.DomainsTopic_STATUS + description: Storage version of v1api20231230.FlexibleServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -86986,6 +146424,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -87033,11 +146475,9 @@ spec: type: string name: type: string - provisioningState: - type: string systemData: description: |- - Storage version of v1api20200601.SystemData_STATUS + Storage version of v1api20231230.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -87074,11 +146514,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: eventsubscriptions.eventgrid.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversdatabases.dbforpostgresql.azure.com spec: conversion: strategy: Webhook @@ -87091,12 +146531,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: eventgrid.azure.com + group: dbforpostgresql.azure.com names: - kind: EventSubscription - listKind: EventSubscriptionList - plural: eventsubscriptions - singular: eventsubscription + categories: + - azure + - dbforpostgresql + kind: FlexibleServersDatabase + listKind: FlexibleServersDatabaseList + plural: flexibleserversdatabases + singular: flexibleserversdatabase preserveUnknownFields: false scope: Namespaced versions: @@ -87113,13 +146556,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20210601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - - ARM URI: /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -87145,561 +146588,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - deadLetterDestination: - description: 'DeadLetterDestination: The DeadLetter destination of the event subscription.' - properties: - storageBlob: - description: 'StorageBlob: Mutually exclusive with all other properties' - properties: - blobContainerName: - description: 'BlobContainerName: The name of the Storage blob container that is the destination of the deadletter events' - type: string - endpointType: - description: 'EndpointType: Type of the endpoint for the dead letter destination' - enum: - - StorageBlob - type: string - resourceReference: - description: 'ResourceReference: The Azure Resource ID of the storage account that is the destination of the deadletter events' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - type: object - destination: - description: 'Destination: Information about the destination where events have to be delivered for the event subscription.' - properties: - azureFunction: - description: 'AzureFunction: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - AzureFunction - type: string - maxEventsPerBatch: - description: 'MaxEventsPerBatch: Maximum number of events per batch.' - type: integer - preferredBatchSizeInKilobytes: - description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' - type: integer - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - eventHub: - description: 'EventHub: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - EventHub - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - hybridConnection: - description: 'HybridConnection: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - HybridConnection - type: string - resourceReference: - description: 'ResourceReference: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - serviceBusQueue: - description: 'ServiceBusQueue: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - ServiceBusQueue - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - serviceBusTopic: - description: 'ServiceBusTopic: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - ServiceBusTopic - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - storageQueue: - description: 'StorageQueue: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - StorageQueue - type: string - queueName: - description: 'QueueName: The name of the Storage queue under a storage account that is the destination of an event subscription.' - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource ID of the storage account that contains the queue that is the destination of an - event subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - endpointType - type: object - webHook: - description: 'WebHook: Mutually exclusive with all other properties' - properties: - azureActiveDirectoryApplicationIdOrUri: - description: |- - AzureActiveDirectoryApplicationIdOrUri: The Azure Active Directory Application ID or URI to get the access token that - will be included as the bearer token in delivery requests. - type: string - azureActiveDirectoryTenantId: - description: |- - AzureActiveDirectoryTenantId: The Azure Active Directory Tenant ID to get the access token that will be included as the - bearer token in delivery requests. - type: string - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - enum: - - WebHook - type: string - endpointUrl: - description: 'EndpointUrl: The URL that represents the endpoint of the destination of an event subscription.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - maxEventsPerBatch: - description: 'MaxEventsPerBatch: Maximum number of events per batch.' - type: integer - preferredBatchSizeInKilobytes: - description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' - type: integer - required: - - endpointType - type: object - type: object - eventDeliverySchema: - description: 'EventDeliverySchema: The event delivery schema for the event subscription.' - enum: - - CloudEventSchemaV1_0 - - CustomInputSchema - - EventGridSchema + charset: + description: 'Charset: The charset of the database.' type: string - expirationTimeUtc: - description: 'ExpirationTimeUtc: Expiration time of the event subscription.' + collation: + description: 'Collation: The collation of the database.' type: string - filter: - description: 'Filter: Information about the filter for the event subscription.' - properties: - advancedFilters: - description: 'AdvancedFilters: An array of advanced filters that are used for filtering event subscriptions.' - items: - properties: - boolEquals: - description: 'BoolEquals: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - BoolEquals - type: string - value: - description: 'Value: The boolean filter value.' - type: boolean - required: - - operatorType - type: object - numberGreaterThan: - description: 'NumberGreaterThan: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - NumberGreaterThan - type: string - value: - description: 'Value: The filter value.' - type: number - required: - - operatorType - type: object - numberGreaterThanOrEquals: - description: 'NumberGreaterThanOrEquals: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - NumberGreaterThanOrEquals - type: string - value: - description: 'Value: The filter value.' - type: number - required: - - operatorType - type: object - numberIn: - description: 'NumberIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - NumberIn - type: string - values: - description: 'Values: The set of filter values.' - items: - type: number - type: array - required: - - operatorType - type: object - numberLessThan: - description: 'NumberLessThan: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - NumberLessThan - type: string - value: - description: 'Value: The filter value.' - type: number - required: - - operatorType - type: object - numberLessThanOrEquals: - description: 'NumberLessThanOrEquals: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - NumberLessThanOrEquals - type: string - value: - description: 'Value: The filter value.' - type: number - required: - - operatorType - type: object - numberNotIn: - description: 'NumberNotIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - NumberNotIn - type: string - values: - description: 'Values: The set of filter values.' - items: - type: number - type: array - required: - - operatorType - type: object - stringBeginsWith: - description: 'StringBeginsWith: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - StringBeginsWith - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - required: - - operatorType - type: object - stringContains: - description: 'StringContains: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - StringContains - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - required: - - operatorType - type: object - stringEndsWith: - description: 'StringEndsWith: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - StringEndsWith - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - required: - - operatorType - type: object - stringIn: - description: 'StringIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - StringIn - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - required: - - operatorType - type: object - stringNotIn: - description: 'StringNotIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - enum: - - StringNotIn - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - required: - - operatorType - type: object - type: object - type: array - includedEventTypes: - description: |- - IncludedEventTypes: A list of applicable event types that need to be part of the event subscription. If it is desired to - subscribe to all default event types, set the IncludedEventTypes to null. - items: - type: string - type: array - isSubjectCaseSensitive: - description: |- - IsSubjectCaseSensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter - should be compared in a case sensitive manner. - type: boolean - subjectBeginsWith: - description: |- - SubjectBeginsWith: An optional string to filter events for an event subscription based on a resource path prefix. - The format of this depends on the publisher of the events. - Wildcard characters are not supported in this path. - type: string - subjectEndsWith: - description: |- - SubjectEndsWith: An optional string to filter events for an event subscription based on a resource path suffix. - Wildcard characters are not supported in this path. - type: string - type: object - labels: - description: 'Labels: List of user defined labels.' - items: - type: string - type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -87765,448 +146659,85 @@ spec: - value type: object type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. - properties: - armId: - description: Ownership across namespaces is not supported. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - retryPolicy: - description: |- - RetryPolicy: The retry policy for events. This can be used to configure maximum number of delivery attempts and time to - live for events. - properties: - eventTimeToLiveInMinutes: - description: 'EventTimeToLiveInMinutes: Time To Live (in minutes) for events.' - type: integer - maxDeliveryAttempts: - description: 'MaxDeliveryAttempts: Maximum number of delivery retry attempts for events.' - type: integer - type: object - required: - - owner - type: object - status: - description: Event Subscription - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - deadLetterDestination: - description: 'DeadLetterDestination: The DeadLetter destination of the event subscription.' - properties: - storageBlob: - description: 'StorageBlob: Mutually exclusive with all other properties' - properties: - blobContainerName: - description: 'BlobContainerName: The name of the Storage blob container that is the destination of the deadletter events' - type: string - endpointType: - description: 'EndpointType: Type of the endpoint for the dead letter destination' - type: string - resourceId: - description: 'ResourceId: The Azure Resource ID of the storage account that is the destination of the deadletter events' - type: string - type: object - type: object - destination: - description: 'Destination: Information about the destination where events have to be delivered for the event subscription.' - properties: - azureFunction: - description: 'AzureFunction: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - maxEventsPerBatch: - description: 'MaxEventsPerBatch: Maximum number of events per batch.' - type: integer - preferredBatchSizeInKilobytes: - description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' - type: integer - resourceId: - description: |- - ResourceId: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event - subscription. - type: string - type: object - eventHub: - description: 'EventHub: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - resourceId: - description: 'ResourceId: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.' - type: string - type: object - hybridConnection: - description: 'HybridConnection: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - resourceId: - description: 'ResourceId: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' - type: string - type: object - serviceBusQueue: - description: 'ServiceBusQueue: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - resourceId: - description: 'ResourceId: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.' - type: string - type: object - serviceBusTopic: - description: 'ServiceBusTopic: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - resourceId: - description: |- - ResourceId: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event - subscription. - type: string - type: object - storageQueue: - description: 'StorageQueue: Mutually exclusive with all other properties' - properties: - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - queueName: - description: 'QueueName: The name of the Storage queue under a storage account that is the destination of an event subscription.' - type: string - resourceId: - description: |- - ResourceId: The Azure Resource ID of the storage account that contains the queue that is the destination of an event - subscription. - type: string - type: object - webHook: - description: 'WebHook: Mutually exclusive with all other properties' - properties: - azureActiveDirectoryApplicationIdOrUri: - description: |- - AzureActiveDirectoryApplicationIdOrUri: The Azure Active Directory Application ID or URI to get the access token that - will be included as the bearer token in delivery requests. - type: string - azureActiveDirectoryTenantId: - description: |- - AzureActiveDirectoryTenantId: The Azure Active Directory Tenant ID to get the access token that will be included as the - bearer token in delivery requests. - type: string - endpointBaseUrl: - description: 'EndpointBaseUrl: The base URL that represents the endpoint of the destination of an event subscription.' - type: string - endpointType: - description: 'EndpointType: Type of the endpoint for the event subscription destination.' - type: string - maxEventsPerBatch: - description: 'MaxEventsPerBatch: Maximum number of events per batch.' - type: integer - preferredBatchSizeInKilobytes: - description: 'PreferredBatchSizeInKilobytes: Preferred batch size in Kilobytes.' - type: integer - type: object - type: object - eventDeliverySchema: - description: 'EventDeliverySchema: The event delivery schema for the event subscription.' - type: string - expirationTimeUtc: - description: 'ExpirationTimeUtc: Expiration time of the event subscription.' - type: string - filter: - description: 'Filter: Information about the filter for the event subscription.' - properties: - advancedFilters: - description: 'AdvancedFilters: An array of advanced filters that are used for filtering event subscriptions.' - items: - properties: - boolEquals: - description: 'BoolEquals: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - value: - description: 'Value: The boolean filter value.' - type: boolean - type: object - numberGreaterThan: - description: 'NumberGreaterThan: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - value: - description: 'Value: The filter value.' - type: number - type: object - numberGreaterThanOrEquals: - description: 'NumberGreaterThanOrEquals: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - value: - description: 'Value: The filter value.' - type: number - type: object - numberIn: - description: 'NumberIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: number - type: array - type: object - numberLessThan: - description: 'NumberLessThan: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - value: - description: 'Value: The filter value.' - type: number - type: object - numberLessThanOrEquals: - description: 'NumberLessThanOrEquals: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - value: - description: 'Value: The filter value.' - type: number - type: object - numberNotIn: - description: 'NumberNotIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: number - type: array - type: object - stringBeginsWith: - description: 'StringBeginsWith: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - type: object - stringContains: - description: 'StringContains: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - type: object - stringEndsWith: - description: 'StringEndsWith: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - type: object - stringIn: - description: 'StringIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - type: object - stringNotIn: - description: 'StringNotIn: Mutually exclusive with all other properties' - properties: - key: - description: 'Key: The field/property in the event based on which you want to filter.' - type: string - operatorType: - description: 'OperatorType: The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.' - type: string - values: - description: 'Values: The set of filter values.' - items: - type: string - type: array - type: object - type: object - type: array - includedEventTypes: - description: |- - IncludedEventTypes: A list of applicable event types that need to be part of the event subscription. If it is desired to - subscribe to all default event types, set the IncludedEventTypes to null. - items: - type: string - type: array - isSubjectCaseSensitive: - description: |- - IsSubjectCaseSensitive: Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter - should be compared in a case sensitive manner. - type: boolean - subjectBeginsWith: - description: |- - SubjectBeginsWith: An optional string to filter events for an event subscription based on a resource path prefix. - The format of this depends on the publisher of the events. - Wildcard characters are not supported in this path. + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subjectEndsWith: - description: |- - SubjectEndsWith: An optional string to filter events for an event subscription based on a resource path suffix. - Wildcard characters are not supported in this path. + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - id: - description: 'Id: Fully qualified identifier of the resource.' + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' type: string - labels: - description: 'Labels: List of user defined labels.' + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' items: - type: string + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object type: array - name: - description: 'Name: Name of the resource.' + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - provisioningState: - description: 'ProvisioningState: Provisioning state of the event subscription.' + name: + description: 'Name: The name of the resource' type: string - retryPolicy: - description: |- - RetryPolicy: The retry policy for events. This can be used to configure maximum number of delivery attempts and time to - live for events. - properties: - eventTimeToLiveInMinutes: - description: 'EventTimeToLiveInMinutes: Time To Live (in minutes) for events.' - type: integer - maxDeliveryAttempts: - description: 'MaxDeliveryAttempts: Maximum number of delivery retry attempts for events.' - type: integer - type: object systemData: - description: 'SystemData: The system metadata relating to Event Subscription resource.' + description: 'SystemData: The system metadata relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -88227,11 +146758,8 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - topic: - description: 'Topic: Name of the topic of the event subscription.' - type: string type: - description: 'Type: Type of the resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -88252,14 +146780,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20210601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.EventSubscription + Storage version of v1api20210601.FlexibleServersDatabase Generator information: - - Generated from: /eventgrid/resource-manager/Microsoft.EventGrid/stable/2020-06-01/EventGrid.json - - ARM URI: /{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -88279,7 +146807,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.EventSubscription_Spec + description: Storage version of v1api20210601.FlexibleServersDatabase_Spec properties: $propertyBag: additionalProperties: @@ -88293,54 +146821,14 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - deadLetterDestination: - description: Storage version of v1api20200601.DeadLetterDestination - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageBlob: - description: Storage version of v1api20200601.StorageBlobDeadLetterDestination - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobContainerName: - type: string - endpointType: - type: string - resourceReference: - description: 'ResourceReference: The Azure Resource ID of the storage account that is the destination of the deadletter events' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - destination: - description: Storage version of v1api20200601.EventSubscriptionDestination + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20210601.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -88349,267 +146837,148 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureFunction: - description: Storage version of v1api20200601.AzureFunctionEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - maxEventsPerBatch: - type: integer - preferredBatchSizeInKilobytes: - type: integer - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of the Azure Function destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - eventHub: - description: Storage version of v1api20200601.EventHubEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of an Event Hub destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - hybridConnection: - description: Storage version of v1api20200601.HybridConnectionEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceReference: - description: 'ResourceReference: The Azure Resource ID of an hybrid connection that is the destination of an event subscription.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - serviceBusQueue: - description: Storage version of v1api20200601.ServiceBusQueueEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - serviceBusTopic: - description: Storage version of v1api20200601.ServiceBusTopicEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event - subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - storageQueue: - description: Storage version of v1api20200601.StorageQueueEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - queueName: - type: string - resourceReference: - description: |- - ResourceReference: The Azure Resource ID of the storage account that contains the queue that is the destination of an - event subscription. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - webHook: - description: Storage version of v1api20200601.WebHookEventSubscriptionDestination - properties: - $propertyBag: - additionalProperties: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureActiveDirectoryApplicationIdOrUri: - type: string - azureActiveDirectoryTenantId: - type: string - endpointType: - type: string - endpointUrl: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - maxEventsPerBatch: - type: integer - preferredBatchSizeInKilobytes: - type: integer - type: object + required: + - name + - value + type: object + type: array type: object - eventDeliverySchema: + originalVersion: type: string - expirationTimeUtc: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210601.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: type: string - filter: + collation: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + name: + type: string + systemData: description: |- - Storage version of v1api20200601.EventSubscriptionFilter - Filter for the Event Subscription. + Storage version of v1api20210601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -88618,255 +146987,312 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - advancedFilters: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - description: Storage version of v1api20200601.AdvancedFilter + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - boolEquals: - description: Storage version of v1api20200601.BoolEqualsAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: boolean - type: object - numberGreaterThan: - description: Storage version of v1api20200601.NumberGreaterThanAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberGreaterThanOrEquals: - description: Storage version of v1api20200601.NumberGreaterThanOrEqualsAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberIn: - description: Storage version of v1api20200601.NumberInAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: number - type: array - type: object - numberLessThan: - description: Storage version of v1api20200601.NumberLessThanAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberLessThanOrEquals: - description: Storage version of v1api20200601.NumberLessThanOrEqualsAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberNotIn: - description: Storage version of v1api20200601.NumberNotInAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: number - type: array - type: object - stringBeginsWith: - description: Storage version of v1api20200601.StringBeginsWithAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringContains: - description: Storage version of v1api20200601.StringContainsAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringEndsWith: - description: Storage version of v1api20200601.StringEndsWithAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringIn: - description: Storage version of v1api20200601.StringInAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringNotIn: - description: Storage version of v1api20200601.StringNotInAdvancedFilter - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - includedEventTypes: + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - isSubjectCaseSensitive: - type: boolean - subjectBeginsWith: + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subjectEndsWith: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - labels: + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220120previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220120preview.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220120preview.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: type: string - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string operatorSpec: description: |- - Storage version of v1api20200601.EventSubscriptionOperatorSpec + Storage version of v1api20220120preview.FlexibleServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -88940,47 +147366,21 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - retryPolicy: - description: |- - Storage version of v1api20200601.RetryPolicy - Information about the retry policy for an event subscription. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eventTimeToLiveInMinutes: - type: integer - maxDeliveryAttempts: - type: integer - type: object required: - owner type: object status: - description: |- - Storage version of v1api20200601.EventSubscription_STATUS - Event Subscription + description: Storage version of v1api20220120preview.FlexibleServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -88989,6 +147389,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -89032,8 +147436,14 @@ spec: - type type: object type: array - deadLetterDestination: - description: Storage version of v1api20200601.DeadLetterDestination_STATUS + id: + type: string + name: + type: string + systemData: + description: |- + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -89042,162 +147452,317 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - storageBlob: - description: Storage version of v1api20200601.StorageBlobDeadLetterDestination_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobContainerName: - type: string - endpointType: - type: string - resourceId: - type: string - type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - destination: - description: Storage version of v1api20200601.EventSubscriptionDestination_STATUS + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + charset: + description: 'Charset: The charset of the database.' + pattern: ^[a-zA-Z]+\w*$ + type: string + collation: + description: 'Collation: The collation of the database.' + pattern: ^[a-zA-Z\-]+([. ]|\w)*$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureFunction: - description: Storage version of v1api20200601.AzureFunctionEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - maxEventsPerBatch: - type: integer - preferredBatchSizeInKilobytes: - type: integer - resourceId: - type: string - type: object - eventHub: - description: Storage version of v1api20200601.EventHubEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceId: - type: string - type: object - hybridConnection: - description: Storage version of v1api20200601.HybridConnectionEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceId: - type: string - type: object - serviceBusQueue: - description: Storage version of v1api20200601.ServiceBusQueueEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceId: - type: string - type: object - serviceBusTopic: - description: Storage version of v1api20200601.ServiceBusTopicEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - resourceId: - type: string - type: object - storageQueue: - description: Storage version of v1api20200601.StorageQueueEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointType: - type: string - queueName: - type: string - resourceId: - type: string - type: object - webHook: - description: Storage version of v1api20200601.WebHookEventSubscriptionDestination_STATUS - properties: - $propertyBag: - additionalProperties: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureActiveDirectoryApplicationIdOrUri: - type: string - azureActiveDirectoryTenantId: - type: string - endpointBaseUrl: - type: string - endpointType: - type: string - maxEventsPerBatch: - type: integer - preferredBatchSizeInKilobytes: - type: integer - type: object + required: + - name + - value + type: object + type: array type: object - eventDeliverySchema: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + charset: + description: 'Charset: The charset of the database.' type: string - expirationTimeUtc: + collation: + description: 'Collation: The collation of the database.' type: string - filter: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: description: |- - Storage version of v1api20200601.EventSubscriptionFilter_STATUS - Filter for the Event Subscription. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221201.FlexibleServersDatabase + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221201.FlexibleServersDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + charset: + type: string + collation: + type: string + operatorSpec: + description: |- + Storage version of v1api20221201.FlexibleServersDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -89206,278 +147771,147 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - advancedFilters: + configMapExpressions: items: - description: Storage version of v1api20200601.AdvancedFilter_STATUS + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - boolEquals: - description: Storage version of v1api20200601.BoolEqualsAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: boolean - type: object - numberGreaterThan: - description: Storage version of v1api20200601.NumberGreaterThanAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberGreaterThanOrEquals: - description: Storage version of v1api20200601.NumberGreaterThanOrEqualsAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberIn: - description: Storage version of v1api20200601.NumberInAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: number - type: array - type: object - numberLessThan: - description: Storage version of v1api20200601.NumberLessThanAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberLessThanOrEquals: - description: Storage version of v1api20200601.NumberLessThanOrEqualsAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - value: - type: number - type: object - numberNotIn: - description: Storage version of v1api20200601.NumberNotInAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: number - type: array - type: object - stringBeginsWith: - description: Storage version of v1api20200601.StringBeginsWithAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringContains: - description: Storage version of v1api20200601.StringContainsAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringEndsWith: - description: Storage version of v1api20200601.StringEndsWithAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringIn: - description: Storage version of v1api20200601.StringInAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object - stringNotIn: - description: Storage version of v1api20200601.StringNotInAdvancedFilter_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - operatorType: - type: string - values: - items: - type: string - type: array - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - includedEventTypes: + secretExpressions: items: - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - isSubjectCaseSensitive: - type: boolean - subjectBeginsWith: + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subjectEndsWith: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - id: + required: + - owner + type: object + status: + description: Storage version of v1api20221201.FlexibleServersDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + charset: type: string - labels: + collation: + type: string + conditions: items: - type: string + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object type: array - name: + id: type: string - provisioningState: + name: type: string - retryPolicy: - description: |- - Storage version of v1api20200601.RetryPolicy_STATUS - Information about the retry policy for an event subscription. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eventTimeToLiveInMinutes: - type: integer - maxDeliveryAttempts: - type: integer - type: object systemData: description: |- - Storage version of v1api20200601.SystemData_STATUS + Storage version of v1api20221201.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -89500,48 +147934,14 @@ spec: lastModifiedByType: type: string type: object - topic: - type: string type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: extensions.kubernetesconfiguration.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: kubernetesconfiguration.azure.com - names: - kind: Extension - listKind: ExtensionList - plural: extensions - singular: extension - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -89555,13 +147955,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20230601preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -89573,65 +147973,30 @@ spec: kind: description: |- Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - aksAssignedIdentity: - description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' - properties: - type: - description: 'Type: The identity type.' - enum: - - SystemAssigned - - UserAssigned - type: string - type: object - autoUpgradeMinorVersion: - description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - configurationProtectedSettings: - description: |- - ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this - extension. - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object - configurationSettings: - additionalProperties: - type: string - description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' - type: object - extensionType: + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types - registered with Microsoft.KubernetesConfiguration by the Extension publisher. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ + type: string + charset: + description: 'Charset: The charset of the database.' + pattern: ^[a-zA-Z]+\w*$ + type: string + collation: + description: 'Collation: The collation of the database.' + pattern: ^[a-zA-Z\-]+([. ]|\w)*$ type: string - identity: - description: 'Identity: Identity of the Extension resource' - properties: - type: - description: 'Type: The identity type.' - enum: - - SystemAssigned - type: string - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -89667,25 +148032,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - principalId: - description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -89720,136 +148066,27 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - plan: - description: 'Plan: The plan information.' - properties: - name: - description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' - type: string - product: - description: |- - Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the - artifact at the time of Data Market onboarding. - type: string - promotionCode: - description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' - type: string - publisher: - description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' - type: string - version: - description: 'Version: The version of the desired product/artifact.' - type: string - required: - - name - - product - - publisher - type: object - releaseTrain: - description: |- - ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if - autoUpgradeMinorVersion is 'true'. - type: string - scope: - description: 'Scope: Scope at which the extension is installed.' - properties: - cluster: - description: 'Cluster: Specifies that the scope of the extension is Cluster' - properties: - releaseNamespace: - description: |- - ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this - namespace does not exist, it will be created - type: string - type: object - namespace: - description: 'Namespace: Specifies that the scope of the extension is Namespace' - properties: - targetNamespace: - description: |- - TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace - does not exist, it will be created - type: string - type: object - type: object - systemData: - description: |- - SystemData: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - enum: - - Application - - Key - - ManagedIdentity - - User - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - enum: - - Application - - Key - - ManagedIdentity - - User - type: string - type: object - version: - description: |- - Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion - must be 'false'. - type: string required: - owner type: object status: - description: The Extension object. properties: - aksAssignedIdentity: - description: 'AksAssignedIdentity: Identity of the Extension resource in an AKS cluster' - properties: - principalId: - description: 'PrincipalId: The principal ID of resource identity.' - type: string - tenantId: - description: 'TenantId: The tenant ID of resource.' - type: string - type: - description: 'Type: The identity type.' - type: string - type: object - autoUpgradeMinorVersion: - description: 'AutoUpgradeMinorVersion: Flag to note if this extension participates in auto upgrade of minor version, or not.' - type: boolean + charset: + description: 'Charset: The charset of the database.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -89894,193 +148131,16 @@ spec: - type type: object type: array - configurationProtectedSettings: - additionalProperties: - type: string - description: |- - ConfigurationProtectedSettings: Configuration settings that are sensitive, as name-value pairs for configuring this - extension. - type: object - configurationSettings: - additionalProperties: - type: string - description: 'ConfigurationSettings: Configuration settings, as name-value pairs for configuring this extension.' - type: object - currentVersion: - description: 'CurrentVersion: Currently installed version of the extension.' - type: string - customLocationSettings: - additionalProperties: - type: string - description: 'CustomLocationSettings: Custom Location settings properties.' - type: object - errorInfo: - description: 'ErrorInfo: Error information from the Agent - e.g. errors during installation.' - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The error details.' - items: - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - type: array - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - extensionType: - description: |- - ExtensionType: Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types - registered with Microsoft.KubernetesConfiguration by the Extension publisher. - type: string id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - identity: - description: 'Identity: Identity of the Extension resource' - properties: - principalId: - description: 'PrincipalId: The principal ID of resource identity.' - type: string - tenantId: - description: 'TenantId: The tenant ID of resource.' - type: string - type: - description: 'Type: The identity type.' - type: string - type: object - isSystemExtension: - description: 'IsSystemExtension: Flag to note if this extension is a system extension' - type: boolean name: description: 'Name: The name of the resource' type: string - packageUri: - description: 'PackageUri: Uri of the Helm package' - type: string - plan: - description: 'Plan: The plan information.' - properties: - name: - description: 'Name: A user defined name of the 3rd Party Artifact that is being procured.' - type: string - product: - description: |- - Product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the - artifact at the time of Data Market onboarding. - type: string - promotionCode: - description: 'PromotionCode: A publisher provided promotion code as provisioned in Data Market for the said product/artifact.' - type: string - publisher: - description: 'Publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic' - type: string - version: - description: 'Version: The version of the desired product/artifact.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: Status of installation of this extension.' - type: string - releaseTrain: - description: |- - ReleaseTrain: ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if - autoUpgradeMinorVersion is 'true'. - type: string - scope: - description: 'Scope: Scope at which the extension is installed.' - properties: - cluster: - description: 'Cluster: Specifies that the scope of the extension is Cluster' - properties: - releaseNamespace: - description: |- - ReleaseNamespace: Namespace where the extension Release must be placed, for a Cluster scoped extension. If this - namespace does not exist, it will be created - type: string - type: object - namespace: - description: 'Namespace: Specifies that the scope of the extension is Namespace' - properties: - targetNamespace: - description: |- - TargetNamespace: Namespace where the extension will be created for an Namespace scoped extension. If this namespace - does not exist, it will be created - type: string - type: object - type: object - statuses: - description: 'Statuses: Status from this extension.' - items: - description: Status from the extension. - properties: - code: - description: 'Code: Status code provided by the Extension' - type: string - displayStatus: - description: 'DisplayStatus: Short description of status of the extension.' - type: string - level: - description: 'Level: Level of the status.' - type: string - message: - description: 'Message: Detailed message of the status from the Extension.' - type: string - time: - description: 'Time: DateLiteral (per ISO8601) noting the time of installation status.' - type: string - type: object - type: array systemData: - description: |- - SystemData: Top level metadata - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -90104,11 +148164,6 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - version: - description: |- - Version: User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion - must be 'false'. - type: string type: object type: object served: true @@ -90128,14 +148183,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20230601previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.Extension + Storage version of v1api20230601preview.FlexibleServersDatabase Generator information: - - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/extensions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -90155,7 +148210,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.Extension_Spec + description: Storage version of v1api20230601preview.FlexibleServersDatabase_Spec properties: $propertyBag: additionalProperties: @@ -90164,63 +148219,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aksAssignedIdentity: - description: Storage version of v1api20230501.Extension_Properties_AksAssignedIdentity_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - type: object - autoUpgradeMinorVersion: - type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - configurationProtectedSettings: - description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - name - type: object - configurationSettings: - additionalProperties: - type: string - type: object - extensionType: + charset: + type: string + collation: type: string - identity: - description: |- - Storage version of v1api20230501.Identity - Identity for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20230501.ExtensionOperatorSpec + Storage version of v1api20230601preview.FlexibleServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -90259,35 +148269,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20230501.ExtensionOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -90323,125 +148304,21 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - plan: - description: |- - Storage version of v1api20230501.Plan - Plan for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - product: - type: string - promotionCode: - type: string - publisher: - type: string - version: - type: string - type: object - releaseTrain: - type: string - scope: - description: |- - Storage version of v1api20230501.Scope - Scope of the extension. It can be either Cluster or Namespace; but not both. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cluster: - description: |- - Storage version of v1api20230501.ScopeCluster - Specifies that the scope of the extension is Cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - releaseNamespace: - type: string - type: object - namespace: - description: |- - Storage version of v1api20230501.ScopeNamespace - Specifies that the scope of the extension is Namespace - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - targetNamespace: - type: string - type: object - type: object - systemData: - description: |- - Storage version of v1api20230501.SystemData - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - version: - type: string required: - owner type: object status: - description: |- - Storage version of v1api20230501.Extension_STATUS - The Extension object. + description: Storage version of v1api20230601preview.FlexibleServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -90450,25 +148327,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aksAssignedIdentity: - description: Storage version of v1api20230501.Extension_Properties_AksAssignedIdentity_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - type: object - autoUpgradeMinorVersion: - type: boolean + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -90512,227 +148374,13 @@ spec: - type type: object type: array - configurationProtectedSettings: - additionalProperties: - type: string - type: object - configurationSettings: - additionalProperties: - type: string - type: object - currentVersion: - type: string - customLocationSettings: - additionalProperties: - type: string - type: object - errorInfo: - description: |- - Storage version of v1api20230501.ErrorDetail_STATUS - The error detail. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230501.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - details: - items: - description: Storage version of v1api20230501.ErrorDetail_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230501.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - extensionType: - type: string id: type: string - identity: - description: |- - Storage version of v1api20230501.Identity_STATUS - Identity for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - type: object - isSystemExtension: - type: boolean name: type: string - packageUri: - type: string - plan: - description: |- - Storage version of v1api20230501.Plan_STATUS - Plan for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - product: - type: string - promotionCode: - type: string - publisher: - type: string - version: - type: string - type: object - provisioningState: - type: string - releaseTrain: - type: string - scope: - description: |- - Storage version of v1api20230501.Scope_STATUS - Scope of the extension. It can be either Cluster or Namespace; but not both. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cluster: - description: |- - Storage version of v1api20230501.ScopeCluster_STATUS - Specifies that the scope of the extension is Cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - releaseNamespace: - type: string - type: object - namespace: - description: |- - Storage version of v1api20230501.ScopeNamespace_STATUS - Specifies that the scope of the extension is Namespace - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - targetNamespace: - type: string - type: object - type: object - statuses: - items: - description: |- - Storage version of v1api20230501.ExtensionStatus_STATUS - Status from the extension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - displayStatus: - type: string - level: - type: string - message: - type: string - time: - type: string - type: object - type: array systemData: description: |- - Storage version of v1api20230501.SystemData_STATUS + Storage version of v1api20230601preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -90757,46 +148405,12 @@ spec: type: object type: type: string - version: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: factories.datafactory.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: datafactory.azure.com - names: - kind: Factory - listKind: FactoryList - plural: factories - singular: factory - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -90810,13 +148424,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601 + name: v1api20240801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -90837,127 +148451,20 @@ spec: type: object spec: properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 63 - minLength: 3 - pattern: ^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$ + minLength: 1 + pattern: ^[-\w\._]+$ type: string - encryption: - description: 'Encryption: Properties to enable Customer Managed Key for the factory.' - properties: - identity: - description: |- - Identity: User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service - Identity will be used. - properties: - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: The resource id of the user assigned identity to authenticate to customer''s key vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - description: 'KeyName: The name of the key in Azure Key Vault to use as Customer Managed Key.' - type: string - keyVersion: - description: 'KeyVersion: The version of the key used for CMK. If not provided, latest version will be used.' - type: string - vaultBaseUrl: - description: 'VaultBaseUrl: The url of the Azure Key Vault used for CMK.' - type: string - required: - - keyName - - vaultBaseUrl - type: object - globalParameters: - additionalProperties: - description: Definition of a single parameter for an entity. - properties: - type: - description: 'Type: Global Parameter type.' - enum: - - Array - - Bool - - Float - - Int - - Object - - String - type: string - value: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Value: Value of parameter.' - type: object - required: - - type - - value - type: object - description: 'GlobalParameters: List of parameters for factory.' - type: object - identity: - description: 'Identity: Managed service identity of the factory.' - properties: - type: - description: 'Type: The identity type.' - enum: - - SystemAssigned - - SystemAssigned,UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: List of user assigned identities for the factory.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type - type: object - location: - description: 'Location: The resource location.' + charset: + description: 'Charset: Character set of the database.' + pattern: ^[a-zA-Z]+\w*$ + type: string + collation: + description: 'Collation: Collation of the database.' + pattern: ^[a-zA-Z\-]+([. ]|\w)*$ type: string operatorSpec: description: |- @@ -91010,172 +148517,45 @@ spec: map[string]string. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether or not public network access is allowed for the data factory.' - enum: - - Disabled - - Enabled - type: string - purviewConfiguration: - description: 'PurviewConfiguration: Purview information of the factory.' - properties: - purviewResourceReference: - description: 'PurviewResourceReference: Purview resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - repoConfiguration: - description: 'RepoConfiguration: Git repo information of the factory.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: - factoryGitHubConfiguration: - description: 'FactoryGitHub: Mutually exclusive with all other properties' - properties: - accountName: - description: 'AccountName: Account name.' - type: string - clientId: - description: 'ClientId: GitHub bring your own app client id.' - type: string - clientSecret: - description: 'ClientSecret: GitHub bring your own app client secret information.' - properties: - byoaSecretAkvUrl: - description: 'ByoaSecretAkvUrl: Bring your own app client secret AKV URL.' - type: string - byoaSecretName: - description: 'ByoaSecretName: Bring your own app client secret name in AKV.' - type: string - type: object - collaborationBranch: - description: 'CollaborationBranch: Collaboration branch.' - type: string - disablePublish: - description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' - type: boolean - hostName: - description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' - type: string - lastCommitId: - description: 'LastCommitId: Last commit id.' - type: string - repositoryName: - description: 'RepositoryName: Repository name.' - type: string - rootFolder: - description: 'RootFolder: Root folder.' - type: string - type: - description: 'Type: Type of repo configuration.' - enum: - - FactoryGitHubConfiguration - type: string - required: - - accountName - - collaborationBranch - - repositoryName - - rootFolder - - type - type: object - factoryVSTSConfiguration: - description: 'FactoryVSTS: Mutually exclusive with all other properties' - properties: - accountName: - description: 'AccountName: Account name.' - type: string - collaborationBranch: - description: 'CollaborationBranch: Collaboration branch.' - type: string - disablePublish: - description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' - type: boolean - lastCommitId: - description: 'LastCommitId: Last commit id.' - type: string - projectName: - description: 'ProjectName: VSTS project name.' - type: string - repositoryName: - description: 'RepositoryName: Repository name.' - type: string - rootFolder: - description: 'RootFolder: Root folder.' - type: string - tenantId: - description: 'TenantId: VSTS tenant id.' - type: string - type: - description: 'Type: Type of repo configuration.' - enum: - - FactoryVSTSConfiguration - type: string - required: - - accountName - - collaborationBranch - - projectName - - repositoryName - - rootFolder - - type - type: object - type: object - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object required: - owner type: object status: - description: Factory resource type. properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object + charset: + description: 'Charset: Character set of the database.' + type: string + collation: + description: 'Collation: Collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -91220,175 +148600,38 @@ spec: - type type: object type: array - createTime: - description: 'CreateTime: Time the factory was created in ISO8601 format.' + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - eTag: - description: 'ETag: Etag identifies change in the resource.' + name: + description: 'Name: The name of the resource' type: string - encryption: - description: 'Encryption: Properties to enable Customer Managed Key for the factory.' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - identity: - description: |- - Identity: User assigned identity to use to authenticate to customer's key vault. If not provided Managed Service - Identity will be used. - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The resource id of the user assigned identity to authenticate to customer''s key vault.' - type: string - type: object - keyName: - description: 'KeyName: The name of the key in Azure Key Vault to use as Customer Managed Key.' - type: string - keyVersion: - description: 'KeyVersion: The version of the key used for CMK. If not provided, latest version will be used.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - vaultBaseUrl: - description: 'VaultBaseUrl: The url of the Azure Key Vault used for CMK.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - type: object - globalParameters: - additionalProperties: - description: Definition of a single parameter for an entity. - properties: - type: - description: 'Type: Global Parameter type.' - type: string - value: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Value: Value of parameter.' - type: object - type: object - description: 'GlobalParameters: List of parameters for factory.' - type: object - id: - description: 'Id: The resource identifier.' - type: string - identity: - description: 'Identity: Managed service identity of the factory.' - properties: - principalId: - description: 'PrincipalId: The principal id of the identity.' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - tenantId: - description: 'TenantId: The client tenant id of the identity.' + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string - type: - description: 'Type: The identity type.' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - userAssignedIdentities: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'UserAssignedIdentities: List of user assigned identities for the factory.' - type: object - type: object - location: - description: 'Location: The resource location.' - type: string - name: - description: 'Name: The resource name.' - type: string - provisioningState: - description: 'ProvisioningState: Factory provisioning state, example Succeeded.' - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether or not public network access is allowed for the data factory.' - type: string - purviewConfiguration: - description: 'PurviewConfiguration: Purview information of the factory.' - properties: - purviewResourceId: - description: 'PurviewResourceId: Purview resource id.' + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - repoConfiguration: - description: 'RepoConfiguration: Git repo information of the factory.' - properties: - factoryGitHubConfiguration: - description: 'FactoryGitHub: Mutually exclusive with all other properties' - properties: - accountName: - description: 'AccountName: Account name.' - type: string - clientId: - description: 'ClientId: GitHub bring your own app client id.' - type: string - clientSecret: - description: 'ClientSecret: GitHub bring your own app client secret information.' - properties: - byoaSecretAkvUrl: - description: 'ByoaSecretAkvUrl: Bring your own app client secret AKV URL.' - type: string - byoaSecretName: - description: 'ByoaSecretName: Bring your own app client secret name in AKV.' - type: string - type: object - collaborationBranch: - description: 'CollaborationBranch: Collaboration branch.' - type: string - disablePublish: - description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' - type: boolean - hostName: - description: 'HostName: GitHub Enterprise host name. For example: `https://github.mydomain.com`' - type: string - lastCommitId: - description: 'LastCommitId: Last commit id.' - type: string - repositoryName: - description: 'RepositoryName: Repository name.' - type: string - rootFolder: - description: 'RootFolder: Root folder.' - type: string - type: - description: 'Type: Type of repo configuration.' - type: string - type: object - factoryVSTSConfiguration: - description: 'FactoryVSTS: Mutually exclusive with all other properties' - properties: - accountName: - description: 'AccountName: Account name.' - type: string - collaborationBranch: - description: 'CollaborationBranch: Collaboration branch.' - type: string - disablePublish: - description: 'DisablePublish: Disable manual publish operation in ADF studio to favor automated publish.' - type: boolean - lastCommitId: - description: 'LastCommitId: Last commit id.' - type: string - projectName: - description: 'ProjectName: VSTS project name.' - type: string - repositoryName: - description: 'RepositoryName: Repository name.' - type: string - rootFolder: - description: 'RootFolder: Root folder.' - type: string - tenantId: - description: 'TenantId: VSTS tenant id.' - type: string - type: - description: 'Type: Type of repo configuration.' - type: string - type: object - type: object - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' - type: object type: - description: 'Type: The resource type.' - type: string - version: - description: 'Version: Version of the factory.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -91409,14 +148652,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601storage + name: v1api20240801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180601.Factory + Storage version of v1api20240801.FlexibleServersDatabase Generator information: - - Generated from: /datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -91436,7 +148679,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180601.Factory_Spec + description: Storage version of v1api20240801.FlexibleServersDatabase_Spec properties: $propertyBag: additionalProperties: @@ -91445,143 +148688,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - encryption: - description: |- - Storage version of v1api20180601.EncryptionConfiguration - Definition of CMK for the factory. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: |- - Storage version of v1api20180601.CMKIdentityDefinition - Managed Identity used for CMK. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: The resource id of the user assigned identity to authenticate to customer''s key vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - type: string - keyVersion: - type: string - vaultBaseUrl: - type: string - type: object - globalParameters: - additionalProperties: - description: |- - Storage version of v1api20180601.GlobalParameterSpecification - Definition of a single parameter for an entity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - value: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - type: object - identity: - description: |- - Storage version of v1api20180601.FactoryIdentity - Identity properties of the factory resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20180601.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: + charset: + type: string + collation: type: string operatorSpec: description: |- - Storage version of v1api20180601.FactoryOperatorSpec + Storage version of v1api20240801.FlexibleServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -91656,7 +148774,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -91665,138 +148783,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - purviewConfiguration: - description: |- - Storage version of v1api20180601.PurviewConfiguration - Purview configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - purviewResourceReference: - description: 'PurviewResourceReference: Purview resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - repoConfiguration: - description: Storage version of v1api20180601.FactoryRepoConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - factoryGitHubConfiguration: - description: Storage version of v1api20180601.FactoryGitHubConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accountName: - type: string - clientId: - type: string - clientSecret: - description: |- - Storage version of v1api20180601.GitHubClientSecret - Client secret information for factory's bring your own app repository configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - byoaSecretAkvUrl: - type: string - byoaSecretName: - type: string - type: object - collaborationBranch: - type: string - disablePublish: - type: boolean - hostName: - type: string - lastCommitId: - type: string - repositoryName: - type: string - rootFolder: - type: string - type: - type: string - type: object - factoryVSTSConfiguration: - description: Storage version of v1api20180601.FactoryVSTSConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accountName: - type: string - collaborationBranch: - type: string - disablePublish: - type: boolean - lastCommitId: - type: string - projectName: - type: string - repositoryName: - type: string - rootFolder: - type: string - tenantId: - type: string - type: - type: string - type: object - type: object - tags: - additionalProperties: - type: string - type: object required: - owner type: object status: - description: |- - Storage version of v1api20180601.Factory_STATUS - Factory resource type. + description: Storage version of v1api20240801.FlexibleServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -91805,10 +148796,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object + charset: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -91852,14 +148843,14 @@ spec: - type type: object type: array - createTime: + id: type: string - eTag: + name: type: string - encryption: + systemData: description: |- - Storage version of v1api20180601.EncryptionConfiguration_STATUS - Definition of CMK for the factory. + Storage version of v1api20240801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -91868,191 +148859,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - identity: - description: |- - Storage version of v1api20180601.CMKIdentityDefinition_STATUS - Managed Identity used for CMK. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - keyName: - type: string - keyVersion: + createdAt: type: string - vaultBaseUrl: + createdBy: type: string - type: object - globalParameters: - additionalProperties: - description: |- - Storage version of v1api20180601.GlobalParameterSpecification_STATUS - Definition of a single parameter for an entity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - value: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20180601.FactoryIdentity_STATUS - Identity properties of the factory resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: + createdByType: type: string - tenantId: + lastModifiedAt: type: string - type: + lastModifiedBy: type: string - userAssignedIdentities: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - location: - type: string - name: - type: string - provisioningState: - type: string - publicNetworkAccess: - type: string - purviewConfiguration: - description: |- - Storage version of v1api20180601.PurviewConfiguration_STATUS - Purview configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - purviewResourceId: + lastModifiedByType: type: string type: object - repoConfiguration: - description: Storage version of v1api20180601.FactoryRepoConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - factoryGitHubConfiguration: - description: Storage version of v1api20180601.FactoryGitHubConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accountName: - type: string - clientId: - type: string - clientSecret: - description: |- - Storage version of v1api20180601.GitHubClientSecret_STATUS - Client secret information for factory's bring your own app repository configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - byoaSecretAkvUrl: - type: string - byoaSecretName: - type: string - type: object - collaborationBranch: - type: string - disablePublish: - type: boolean - hostName: - type: string - lastCommitId: - type: string - repositoryName: - type: string - rootFolder: - type: string - type: - type: string - type: object - factoryVSTSConfiguration: - description: Storage version of v1api20180601.FactoryVSTSConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accountName: - type: string - collaborationBranch: - type: string - disablePublish: - type: boolean - lastCommitId: - type: string - projectName: - type: string - repositoryName: - type: string - rootFolder: - type: string - tenantId: - type: string - type: - type: string - type: object - type: object - tags: - additionalProperties: - type: string - type: object type: type: string - version: - type: string type: object type: object served: true @@ -92065,11 +148886,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: federatedidentitycredentials.managedidentity.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversfirewallrules.dbformysql.azure.com spec: conversion: strategy: Webhook @@ -92082,12 +148903,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: managedidentity.azure.com + group: dbformysql.azure.com names: - kind: FederatedIdentityCredential - listKind: FederatedIdentityCredentialList - plural: federatedidentitycredentials - singular: federatedidentitycredential + categories: + - azure + - dbformysql + kind: FlexibleServersFirewallRule + listKind: FlexibleServersFirewallRuleList + plural: flexibleserversfirewallrules + singular: flexibleserversfirewallrule preserveUnknownFields: false scope: Namespaced versions: @@ -92104,13 +148928,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220131preview + name: v1api20210501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/preview/2022-01-31-preview/ManagedIdentity.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -92131,34 +148955,15 @@ spec: type: object spec: properties: - audiences: - description: 'Audiences: The list of audiences that can appear in the issued token.' - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - issuer: - description: 'Issuer: The URL of the issuer to be trusted.' + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string - issuerFromConfig: - description: 'IssuerFromConfig: The URL of the issuer to be trusted.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -92229,7 +149034,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a managedidentity.azure.com/UserAssignedIdentity resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -92238,35 +149043,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - subject: - description: 'Subject: The identifier of the external identity.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string - subjectFromConfig: - description: 'SubjectFromConfig: The identifier of the external identity.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object required: - - audiences + - endIpAddress - owner + - startIpAddress type: object status: properties: - audiences: - description: 'Audiences: The list of audiences that can appear in the issued token.' - items: - type: string - type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -92311,20 +149098,42 @@ spec: - type type: object type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - issuer: - description: 'Issuer: The URL of the issuer to be trusted.' - type: string name: description: 'Name: The name of the resource' type: string - subject: - description: 'Subject: The identifier of the external identity.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' type: string + systemData: + description: 'SystemData: The system metadata relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -92347,14 +149156,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220131previewstorage + name: v1api20210501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220131preview.FederatedIdentityCredential + Storage version of v1api20210501.FlexibleServersFirewallRule Generator information: - - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/preview/2022-01-31-preview/ManagedIdentity.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -92374,7 +149183,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220131preview.FederatedIdentityCredential_Spec + description: Storage version of v1api20210501.FlexibleServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -92383,37 +149192,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - audiences: - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - issuer: + endIpAddress: type: string - issuerFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object operatorSpec: description: |- - Storage version of v1api20220131preview.FederatedIdentityCredentialOperatorSpec + Storage version of v1api20210501.FlexibleServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -92488,7 +149276,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a managedidentity.azure.com/UserAssignedIdentity resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -92497,30 +149285,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - subject: + startIpAddress: type: string - subjectFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object required: - owner type: object status: - description: Storage version of v1api20220131preview.FederatedIdentityCredential_STATUS + description: Storage version of v1api20210501.FlexibleServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -92529,10 +149300,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - audiences: - items: - type: string - type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -92576,14 +149343,39 @@ spec: - type type: object type: array - id: + endIpAddress: type: string - issuer: + id: type: string name: type: string - subject: + startIpAddress: type: string + systemData: + description: |- + Storage version of v1api20210501.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object type: type: string type: object @@ -92605,13 +149397,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230131 + name: v1api20230630 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/stable/2023-01-31/ManagedIdentity.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -92632,35 +149424,15 @@ spec: type: object spec: properties: - audiences: - description: 'Audiences: The list of audiences that can appear in the issued token.' - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - pattern: ^[a-zA-Z0-9]{1}[a-zA-Z0-9-_]{2,119}$ type: string - issuer: - description: 'Issuer: The URL of the issuer to be trusted.' + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string - issuerFromConfig: - description: 'IssuerFromConfig: The URL of the issuer to be trusted.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -92731,7 +149503,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a managedidentity.azure.com/UserAssignedIdentity resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -92740,35 +149512,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - subject: - description: 'Subject: The identifier of the external identity.' - type: string - subjectFromConfig: - description: 'SubjectFromConfig: The identifier of the external identity.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string required: - - audiences + - endIpAddress - owner + - startIpAddress type: object status: properties: - audiences: - description: 'Audiences: The list of audiences that can appear in the issued token.' - items: - type: string - type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -92813,19 +149567,19 @@ spec: - type type: object type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string id: description: |- Id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - issuer: - description: 'Issuer: The URL of the issuer to be trusted.' - type: string name: description: 'Name: The name of the resource' type: string - subject: - description: 'Subject: The identifier of the external identity.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' type: string systemData: description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' @@ -92871,14 +149625,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230131storage + name: v1api20230630storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230131.FederatedIdentityCredential + Storage version of v1api20230630.FlexibleServersFirewallRule Generator information: - - Generated from: /msi/resource-manager/Microsoft.ManagedIdentity/stable/2023-01-31/ManagedIdentity.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/federatedIdentityCredentials/{federatedIdentityCredentialResourceName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -92898,7 +149652,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230131.FederatedIdentityCredential_Spec + description: Storage version of v1api20230630.FlexibleServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -92907,37 +149661,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - audiences: - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - issuer: + endIpAddress: type: string - issuerFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object operatorSpec: description: |- - Storage version of v1api20230131.FederatedIdentityCredentialOperatorSpec + Storage version of v1api20230630.FlexibleServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -93012,7 +149745,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a managedidentity.azure.com/UserAssignedIdentity resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -93021,30 +149754,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - subject: + startIpAddress: type: string - subjectFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object required: - owner type: object status: - description: Storage version of v1api20230131.FederatedIdentityCredential_STATUS + description: Storage version of v1api20230630.FlexibleServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -93053,10 +149769,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - audiences: - items: - type: string - type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -93100,17 +149812,17 @@ spec: - type type: object type: array - id: + endIpAddress: type: string - issuer: + id: type: string name: type: string - subject: + startIpAddress: type: string systemData: description: |- - Storage version of v1api20230131.SystemData_STATUS + Storage version of v1api20230630.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -93138,41 +149850,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: fleets.containerservice.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerservice.azure.com - names: - kind: Fleet - listKind: FleetList - plural: fleets - singular: fleet - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -93186,13 +149866,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230315preview + name: v1api20231230 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-12-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -93217,22 +149897,10 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 63 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string - hubProfile: - description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' - properties: - dnsPrefix: - description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' - maxLength: 54 - minLength: 1 - pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9-]{0,52}[a-zA-Z0-9]$ - type: string - type: object - location: - description: 'Location: The geo-location where the resource lives' + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string operatorSpec: description: |- @@ -93299,33 +149967,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - userCredentials: - description: |- - UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -93334,17 +149981,16 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string required: - - location + - endIpAddress - owner + - startIpAddress type: object status: - description: The Fleet resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -93390,39 +150036,19 @@ spec: - type type: object type: array - eTag: - description: |- - ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. - Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in - the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header - fields. + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' type: string - hubProfile: - description: 'HubProfile: The FleetHubProfile configures the Fleet''s hub.' - properties: - dnsPrefix: - description: 'DnsPrefix: DNS prefix used to create the FQDN for the Fleet hub.' - type: string - fqdn: - description: 'Fqdn: The FQDN of the Fleet hub.' - type: string - kubernetesVersion: - description: 'KubernetesVersion: The Kubernetes version of the Fleet hub.' - type: string - type: object id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - location: - description: 'Location: The geo-location where the resource lives' + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string name: description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: The status of the last operation.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' type: string systemData: description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' @@ -93446,11 +150072,6 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -93473,14 +150094,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230315previewstorage + name: v1api20231230storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230315preview.Fleet + Storage version of v1api20231230.FlexibleServersFirewallRule Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName} + - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-12-30/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -93500,7 +150121,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230315preview.Fleet_Spec + description: Storage version of v1api20231230.FlexibleServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -93514,26 +150135,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - hubProfile: - description: |- - Storage version of v1api20230315preview.FleetHubProfile - The FleetHubProfile configures the fleet hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsPrefix: - type: string - type: object - location: + endIpAddress: type: string operatorSpec: description: |- - Storage version of v1api20230315preview.FleetOperatorSpec + Storage version of v1api20231230.FlexibleServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -93601,35 +150207,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20230315preview.FleetOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -93637,7 +150214,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbformysql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -93646,17 +150223,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - type: object + startIpAddress: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20230315preview.Fleet_STATUS - The Fleet resource. + description: Storage version of v1api20231230.FlexibleServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -93708,38 +150281,17 @@ spec: - type type: object type: array - eTag: + endIpAddress: type: string - hubProfile: - description: |- - Storage version of v1api20230315preview.FleetHubProfile_STATUS - The FleetHubProfile configures the fleet hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsPrefix: - type: string - fqdn: - type: string - kubernetesVersion: - type: string - type: object id: type: string - location: - type: string name: type: string - provisioningState: + startIpAddress: type: string systemData: description: |- - Storage version of v1api20230315preview.SystemData_STATUS + Storage version of v1api20231230.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -93762,10 +150314,6 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string type: object @@ -93780,11 +150328,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: fleetsmembers.containerservice.azure.com + app.kubernetes.io/version: v2.15.0 + name: flexibleserversfirewallrules.dbforpostgresql.azure.com spec: conversion: strategy: Webhook @@ -93797,12 +150345,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: containerservice.azure.com + group: dbforpostgresql.azure.com names: - kind: FleetsMember - listKind: FleetsMemberList - plural: fleetsmembers - singular: fleetsmember + categories: + - azure + - dbforpostgresql + kind: FlexibleServersFirewallRule + listKind: FlexibleServersFirewallRuleList + plural: flexibleserversfirewallrules + singular: flexibleserversfirewallrule preserveUnknownFields: false scope: Namespaced versions: @@ -93819,13 +150370,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230315preview + name: v1api20210601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -93850,38 +150401,10 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string - clusterResourceReference: - description: |- - ClusterResourceReference: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. - e.g.: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - group: - description: 'Group: The group this member belongs to for multi-cluster update management.' - maxLength: 50 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string operatorSpec: description: |- @@ -93953,7 +150476,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/Fleet resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -93962,17 +150485,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string required: - - clusterResourceReference + - endIpAddress - owner + - startIpAddress type: object status: properties: - clusterResourceId: - description: |- - ClusterResourceId: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. e.g.: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'. - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -94017,15 +150540,8 @@ spec: - type type: object type: array - eTag: - description: |- - ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. - Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in - the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header - fields. - type: string - group: - description: 'Group: The group this member belongs to for multi-cluster update management.' + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' type: string id: description: |- @@ -94035,11 +150551,11 @@ spec: name: description: 'Name: The name of the resource' type: string - provisioningState: - description: 'ProvisioningState: The status of the last operation.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' type: string systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + description: 'SystemData: The system metadata relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -94082,14 +150598,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230315previewstorage + name: v1api20210601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230315preview.FleetsMember + Storage version of v1api20210601.FlexibleServersFirewallRule Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/members/{fleetMemberName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -94109,7 +150625,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230315preview.FleetsMember_Spec + description: Storage version of v1api20210601.FlexibleServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -94123,34 +150639,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clusterResourceReference: - description: |- - ClusterResourceReference: The ARM resource id of the cluster that joins the Fleet. Must be a valid Azure resource id. - e.g.: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{clusterName}'. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - group: + endIpAddress: type: string operatorSpec: description: |- - Storage version of v1api20230315preview.FleetsMemberOperatorSpec + Storage version of v1api20210601.FlexibleServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -94225,7 +150718,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/Fleet resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -94234,12 +150727,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + startIpAddress: + type: string required: - - clusterResourceReference - owner type: object status: - description: Storage version of v1api20230315preview.FleetsMember_STATUS + description: Storage version of v1api20210601.FlexibleServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -94248,8 +150742,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clusterResourceId: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -94293,19 +150785,17 @@ spec: - type type: object type: array - eTag: - type: string - group: + endIpAddress: type: string id: type: string name: type: string - provisioningState: + startIpAddress: type: string systemData: description: |- - Storage version of v1api20230315preview.SystemData_STATUS + Storage version of v1api20210601.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -94333,41 +150823,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: fleetsupdateruns.containerservice.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerservice.azure.com - names: - kind: FleetsUpdateRun - listKind: FleetsUpdateRunList - plural: fleetsupdateruns - singular: fleetsupdaterun - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -94381,13 +150839,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230315preview + name: v1api20220120preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -94412,33 +150870,11 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ type: string - managedClusterUpdate: - description: |- - ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be - modified until the run is started. - properties: - upgrade: - description: 'Upgrade: The upgrade to apply to the ManagedClusters.' - properties: - kubernetesVersion: - description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' - type: string - type: - description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' - enum: - - Full - - NodeImageOnly - type: string - required: - - type - type: object - required: - - upgrade - type: object + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -94509,7 +150945,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/Fleet resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -94518,58 +150954,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - strategy: - description: |- - Strategy: The strategy defines the order in which the clusters will be updated. - If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single - UpdateGroup targeting all members. - The strategy of the UpdateRun can be modified until the run is started. - properties: - stages: - description: 'Stages: The list of stages that compose this update run. Min size: 1.' - items: - description: |- - Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting - the next stage. - properties: - afterStageWaitInSeconds: - description: |- - AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to - 0 seconds if unspecified. - type: integer - groups: - description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' - items: - description: A group to be updated. - properties: - name: - description: |- - Name: Name of the group. - It must match a group name of an existing fleet member. - maxLength: 50 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - required: - - name - type: object - type: array - name: - description: 'Name: The name of the stage. Must be unique within the UpdateRun.' - maxLength: 50 - minLength: 1 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ - type: string - required: - - name - type: object - type: array - required: - - stages - type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string required: - - managedClusterUpdate + - endIpAddress - owner + - startIpAddress type: object status: properties: @@ -94610,488 +151002,29 @@ spec: type: description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - eTag: - description: |- - ETag: If eTag is provided in the response body, it may also be provided as a header per the normal etag convention. - Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in - the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header - fields. - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - managedClusterUpdate: - description: |- - ManagedClusterUpdate: The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be - modified until the run is started. - properties: - upgrade: - description: 'Upgrade: The upgrade to apply to the ManagedClusters.' - properties: - kubernetesVersion: - description: 'KubernetesVersion: The Kubernetes version to upgrade the member clusters to.' - type: string - type: - description: 'Type: ManagedClusterUpgradeType is the type of upgrade to be applied.' - type: string - type: object - type: object - name: - description: 'Name: The name of the resource' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the UpdateRun resource.' - type: string - status: - description: 'Status: The status of the UpdateRun.' - properties: - stages: - description: 'Stages: The stages composing an update run. Stages are run sequentially withing an UpdateRun.' - items: - description: The status of a UpdateStage. - properties: - afterStageWaitStatus: - description: 'AfterStageWaitStatus: The status of the wait period configured on the UpdateStage.' - properties: - status: - description: 'Status: The status of the wait duration.' - properties: - completedTime: - description: 'CompletedTime: The time the operation or group was completed.' - type: string - error: - description: 'Error: The error details when a failure is encountered.' - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The error details.' - items: - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - type: array - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - startTime: - description: 'StartTime: The time the operation or group was started.' - type: string - state: - description: 'State: The State of the operation or group.' - type: string - type: object - waitDurationInSeconds: - description: 'WaitDurationInSeconds: The wait duration configured in seconds.' - type: integer - type: object - groups: - description: 'Groups: The list of groups to be updated as part of this UpdateStage.' - items: - description: The status of a UpdateGroup. - properties: - members: - description: 'Members: The list of member this UpdateGroup updates.' - items: - description: The status of a member update operation. - properties: - clusterResourceId: - description: 'ClusterResourceId: The Azure resource id of the target Kubernetes cluster.' - type: string - name: - description: 'Name: The name of the FleetMember.' - type: string - operationId: - description: 'OperationId: The operation resource id of the latest attempt to perform the operation.' - type: string - status: - description: 'Status: The status of the MemberUpdate operation.' - properties: - completedTime: - description: 'CompletedTime: The time the operation or group was completed.' - type: string - error: - description: 'Error: The error details when a failure is encountered.' - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The error details.' - items: - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - type: array - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - startTime: - description: 'StartTime: The time the operation or group was started.' - type: string - state: - description: 'State: The State of the operation or group.' - type: string - type: object - type: object - type: array - name: - description: 'Name: The name of the UpdateGroup.' - type: string - status: - description: 'Status: The status of the UpdateGroup.' - properties: - completedTime: - description: 'CompletedTime: The time the operation or group was completed.' - type: string - error: - description: 'Error: The error details when a failure is encountered.' - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The error details.' - items: - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - type: array - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - startTime: - description: 'StartTime: The time the operation or group was started.' - type: string - state: - description: 'State: The State of the operation or group.' - type: string - type: object - type: object - type: array - name: - description: 'Name: The name of the UpdateStage.' - type: string - status: - description: 'Status: The status of the UpdateStage.' - properties: - completedTime: - description: 'CompletedTime: The time the operation or group was completed.' - type: string - error: - description: 'Error: The error details when a failure is encountered.' - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The error details.' - items: - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - type: array - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - startTime: - description: 'StartTime: The time the operation or group was started.' - type: string - state: - description: 'State: The State of the operation or group.' - type: string - type: object - type: object - type: array - status: - description: 'Status: The status of the UpdateRun.' - properties: - completedTime: - description: 'CompletedTime: The time the operation or group was completed.' - type: string - error: - description: 'Error: The error details when a failure is encountered.' - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - details: - description: 'Details: The error details.' - items: - properties: - additionalInfo: - description: 'AdditionalInfo: The error additional info.' - items: - description: The resource management error additional info. - properties: - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Info: The additional info.' - type: object - type: - description: 'Type: The additional info type.' - type: string - type: object - type: array - code: - description: 'Code: The error code.' - type: string - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - type: array - message: - description: 'Message: The error message.' - type: string - target: - description: 'Target: The error target.' - type: string - type: object - startTime: - description: 'StartTime: The time the operation or group was started.' - type: string - state: - description: 'State: The State of the operation or group.' - type: string - type: object - type: object - strategy: + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: description: |- - Strategy: The strategy defines the order in which the clusters will be updated. - If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single - UpdateGroup targeting all members. - The strategy of the UpdateRun can be modified until the run is started. - properties: - stages: - description: 'Stages: The list of stages that compose this update run. Min size: 1.' - items: - description: |- - Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting - the next stage. - properties: - afterStageWaitInSeconds: - description: |- - AfterStageWaitInSeconds: The time in seconds to wait at the end of this stage before starting the next one. Defaults to - 0 seconds if unspecified. - type: integer - groups: - description: 'Groups: Defines the groups to be executed in parallel in this stage. Duplicate groups are not allowed. Min size: 1.' - items: - description: A group to be updated. - properties: - name: - description: |- - Name: Name of the group. - It must match a group name of an existing fleet member. - type: string - type: object - type: array - name: - description: 'Name: The name of the stage. Must be unique within the UpdateRun.' - type: string - type: object - type: array - type: object + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + description: 'SystemData: The system metadata relating to this resource.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -95134,14 +151067,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230315previewstorage + name: v1api20220120previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20230315preview.FleetsUpdateRun + Storage version of v1api20220120preview.FlexibleServersFirewallRule Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-03-15-preview/fleets.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/fleets/{fleetName}/updateRuns/{updateRunName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -95161,7 +151094,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230315preview.FleetsUpdateRun_Spec + description: Storage version of v1api20220120preview.FlexibleServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -95175,39 +151108,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - managedClusterUpdate: - description: |- - Storage version of v1api20230315preview.ManagedClusterUpdate - The update to be applied to the ManagedClusters. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - upgrade: - description: |- - Storage version of v1api20230315preview.ManagedClusterUpgradeSpec - The upgrade to apply to a ManagedCluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - kubernetesVersion: - type: string - type: - type: string - type: object - type: object + endIpAddress: + type: string operatorSpec: description: |- - Storage version of v1api20230315preview.FleetsUpdateRunOperatorSpec + Storage version of v1api20220120preview.FlexibleServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -95282,7 +151187,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/Fleet resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -95291,67 +151196,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - strategy: - description: |- - Storage version of v1api20230315preview.UpdateRunStrategy - Defines the update sequence of the clusters via stages and groups. - Stages within a run are executed sequentially one - after another. - Groups within a stage are executed in parallel. - Member clusters within a group are updated sequentially - one after another. - A valid strategy contains no duplicate groups within or across stages. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - stages: - items: - description: |- - Storage version of v1api20230315preview.UpdateStage - Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting - the next stage. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - afterStageWaitInSeconds: - type: integer - groups: - items: - description: |- - Storage version of v1api20230315preview.UpdateGroup - A group to be updated. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - type: array - name: - type: string - type: object - type: array - type: object + startIpAddress: + type: string required: - owner type: object status: - description: Storage version of v1api20230315preview.FleetsUpdateRun_STATUS + description: Storage version of v1api20220120preview.FlexibleServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -95403,14 +151254,18 @@ spec: - type type: object type: array - eTag: + endIpAddress: type: string id: type: string - managedClusterUpdate: + name: + type: string + startIpAddress: + type: string + systemData: description: |- - Storage version of v1api20230315preview.ManagedClusterUpdate_STATUS - The update to be applied to the ManagedClusters. + Storage version of v1api20220120preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -95419,616 +151274,317 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - upgrade: - description: |- - Storage version of v1api20230315preview.ManagedClusterUpgradeSpec_STATUS - The upgrade to apply to a ManagedCluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - kubernetesVersion: - type: string - type: - type: string - type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - name: + type: type: string - provisioningState: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ type: string - status: + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: description: |- - Storage version of v1api20230315preview.UpdateRunStatus_STATUS - The status of a UpdateRun. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - stages: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- - Storage version of v1api20230315preview.UpdateStageStatus_STATUS - The status of a UpdateStage. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - afterStageWaitStatus: + key: description: |- - Storage version of v1api20230315preview.WaitStatus_STATUS - The status of the wait duration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - description: |- - Storage version of v1api20230315preview.UpdateStatus_STATUS - The status for an operation or group of operations. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completedTime: - type: string - error: - description: |- - Storage version of v1api20230315preview.ErrorDetail_STATUS - The error detail. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - details: - items: - description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - startTime: - type: string - state: - type: string - type: object - waitDurationInSeconds: - type: integer - type: object - groups: - items: - description: |- - Storage version of v1api20230315preview.UpdateGroupStatus_STATUS - The status of a UpdateGroup. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - members: - items: - description: |- - Storage version of v1api20230315preview.MemberUpdateStatus_STATUS - The status of a member update operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clusterResourceId: - type: string - name: - type: string - operationId: - type: string - status: - description: |- - Storage version of v1api20230315preview.UpdateStatus_STATUS - The status for an operation or group of operations. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completedTime: - type: string - error: - description: |- - Storage version of v1api20230315preview.ErrorDetail_STATUS - The error detail. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - details: - items: - description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - startTime: - type: string - state: - type: string - type: object - type: object - type: array - name: - type: string - status: - description: |- - Storage version of v1api20230315preview.UpdateStatus_STATUS - The status for an operation or group of operations. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completedTime: - type: string - error: - description: |- - Storage version of v1api20230315preview.ErrorDetail_STATUS - The error detail. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - details: - items: - description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - startTime: - type: string - state: - type: string - type: object - type: object - type: array + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - status: + value: description: |- - Storage version of v1api20230315preview.UpdateStatus_STATUS - The status for an operation or group of operations. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completedTime: - type: string - error: - description: |- - Storage version of v1api20230315preview.ErrorDetail_STATUS - The error detail. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - details: - items: - description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - startTime: - type: string - state: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - status: - description: |- - Storage version of v1api20230315preview.UpdateStatus_STATUS - The status for an operation or group of operations. - properties: - $propertyBag: - additionalProperties: + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - completedTime: - type: string - error: - description: |- - Storage version of v1api20230315preview.ErrorDetail_STATUS - The error detail. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - details: - items: - description: Storage version of v1api20230315preview.ErrorDetail_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalInfo: - items: - description: |- - Storage version of v1api20230315preview.ErrorAdditionalInfo_STATUS - The resource management error additional info. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - info: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: - type: string - type: object - type: array - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - startTime: - type: string - state: - type: string - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20221201.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20221201.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - strategy: + azureName: description: |- - Storage version of v1api20230315preview.UpdateRunStrategy_STATUS - Defines the update sequence of the clusters via stages and groups. - Stages within a run are executed sequentially one - after another. - Groups within a stage are executed in parallel. - Member clusters within a group are updated sequentially - one after another. - A valid strategy contains no duplicate groups within or across stages. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string + operatorSpec: + description: |- + Storage version of v1api20221201.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -96037,47 +151593,149 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - stages: + configMapExpressions: items: description: |- - Storage version of v1api20230315preview.UpdateStage_STATUS - Defines a stage which contains the groups to update and the steps to take (e.g., wait for a time period) before starting - the next stage. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - afterStageWaitInSeconds: - type: integer - groups: - items: - description: |- - Storage version of v1api20230315preview.UpdateGroup_STATUS - A group to be updated. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - type: array + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIpAddress: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20221201.FlexibleServersFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + type: string + id: + type: string + name: + type: string + startIpAddress: + type: string systemData: description: |- - Storage version of v1api20230315preview.SystemData_STATUS + Storage version of v1api20221201.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -96105,41 +151763,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleservers.dbformysql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: dbformysql.azure.com - names: - kind: FlexibleServer - listKind: FlexibleServerList - plural: flexibleservers - singular: flexibleserver - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -96153,13 +151779,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501 + name: v1api20230601preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -96180,233 +151806,265 @@ spec: type: object spec: properties: - administratorLogin: + azureName: description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - key: - description: Key is the key in the Kubernetes secret being referenced + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + description: This is the name of the Kubernetes resource to reference. type: string - required: - - key - - name type: object - availabilityZone: - description: 'AvailabilityZone: availability Zone information of the server.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string - azureName: + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + type: string + id: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - backup: - description: 'Backup: Backup related properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' - enum: - - Disabled - - Enabled - type: string - type: object - createMode: - description: 'CreateMode: The mode to create a new MySQL server.' - enum: - - Default - - GeoRestore - - PointInTimeRestore - - Replica + name: + description: 'Name: The name of the resource' type: string - dataEncryption: - description: 'DataEncryption: The Data Encryption for CMK.' + startIpAddress: + description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - geoBackupKeyURI: - description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - geoBackupUserAssignedIdentityReference: - description: |- - GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need - identity in same region as geo backup - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryKeyURI: - description: 'PrimaryKeyURI: Primary key uri' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - primaryUserAssignedIdentityReference: - description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' - enum: - - AzureKeyVault - - SystemManaged + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - type: object - highAvailability: - description: 'HighAvailability: High availability related properties of a server.' - properties: - mode: - description: 'Mode: High availability mode for a server.' - enum: - - Disabled - - SameZone - - ZoneRedundant + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - type: object - identity: - description: 'Identity: The cmk identity for the server.' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - UserAssigned + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Metadata of user assigned identity.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object - location: - description: 'Location: The geo-location where the resource lives' + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - network: - description: 'Network: Network related properties of a server.' - properties: - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneResourceReference: - description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230601previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230601preview.FlexibleServersFirewallRule + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230601preview.FlexibleServersFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20230601preview.FlexibleServersFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -96435,46 +152093,7 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - administratorLogin: - description: |- - AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will - be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no - config map will be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -96503,33 +152122,14 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -96538,92 +152138,22 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - replicationRole: - description: 'ReplicationRole: The replication role.' - enum: - - None - - Replica - - Source - type: string - restorePointInTime: - description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' - enum: - - Burstable - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - - tier - type: object - sourceServerResourceId: - description: 'SourceServerResourceId: The source MySQL server id.' - type: string - storage: - description: 'Storage: Storage related properties of a server.' - properties: - autoGrow: - description: 'AutoGrow: Enable Storage Auto Grow or not.' - enum: - - Disabled - - Enabled - type: string - iops: - description: 'Iops: Storage IOPS for a server.' - type: integer - storageSizeGB: - description: 'StorageSizeGB: Max storage size allowed for a server.' - type: integer - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - version: - description: 'Version: Server version.' - enum: - - "5.7" - - 8.0.21 + startIpAddress: type: string required: - - location - owner type: object status: + description: Storage version of v1api20230601preview.FlexibleServersFirewallRule_STATUS properties: - administratorLogin: + $propertyBag: + additionalProperties: + type: string description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - availabilityZone: - description: 'AvailabilityZone: availability Zone information of the server.' - type: string - backup: - description: 'Backup: Backup related properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - earliestRestoreDate: - description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' - type: string - geoRedundantBackup: - description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -96666,149 +152196,252 @@ spec: - type type: object type: array - createMode: - description: 'CreateMode: The mode to create a new MySQL server.' + endIpAddress: type: string - dataEncryption: - description: 'DataEncryption: The Data Encryption for CMK.' + id: + type: string + name: + type: string + startIpAddress: + type: string + systemData: + description: |- + Storage version of v1api20230601preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - geoBackupKeyURI: - description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' - type: string - geoBackupUserAssignedIdentityId: + $propertyBag: + additionalProperties: + type: string description: |- - GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in - same region as geo backup - type: string - primaryKeyURI: - description: 'PrimaryKeyURI: Primary key uri' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: type: string - primaryUserAssignedIdentityId: - description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' + createdBy: type: string - type: - description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' + createdByType: type: string - type: object - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' - type: string - highAvailability: - description: 'HighAvailability: High availability related properties of a server.' - properties: - mode: - description: 'Mode: High availability mode for a server.' + lastModifiedAt: type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: Availability zone of the standby server.' + lastModifiedBy: type: string - state: - description: 'State: The state of server high availability.' + lastModifiedByType: type: string type: object - id: + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + pattern: ^[-\w\._]+$ type: string - identity: - description: 'Identity: The cmk identity for the server.' - properties: - principalId: - description: 'PrincipalId: ObjectId from the KeyVault' - type: string - tenantId: - description: 'TenantId: TenantId from the KeyVault' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'UserAssignedIdentities: Metadata of user assigned identity.' - type: object - type: object - location: - description: 'Location: The geo-location where the resource lives' + endIpAddress: + description: 'EndIpAddress: IP address defining the end of the range of addresses of a firewall rule. Must be expressed in IPv4 format.' + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window of a server.' + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - name: - description: 'Name: The name of the resource' - type: string - network: - description: 'Network: Network related properties of a server.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: - delegatedSubnetResourceId: - description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' - type: string - privateDnsZoneResourceId: - description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server - has VNet integration. + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - replicaCapacity: - description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' - type: integer - replicationRole: - description: 'ReplicationRole: The replication role.' + startIpAddress: + description: |- + StartIpAddress: IP address defining the start of the range of addresses of a firewall rule. Must be expressed in IPv4 + format. + pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ type: string - restorePointInTime: - description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + required: + - endIpAddress + - owner + - startIpAddress + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIpAddress: + description: 'EndIpAddress: IP address defining the end of the range of addresses of a firewall rule. Must be expressed in IPv4 format.' type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' - type: string - type: object - sourceServerResourceId: - description: 'SourceServerResourceId: The source MySQL server id.' + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - state: - description: 'State: The state of a server.' + name: + description: 'Name: The name of the resource' + type: string + startIpAddress: + description: |- + StartIpAddress: IP address defining the start of the range of addresses of a firewall rule. Must be expressed in IPv4 + format. type: string - storage: - description: 'Storage: Storage related properties of a server.' - properties: - autoGrow: - description: 'AutoGrow: Enable Storage Auto Grow or not.' - type: string - iops: - description: 'Iops: Storage IOPS for a server.' - type: integer - storageSizeGB: - description: 'StorageSizeGB: Max storage size allowed for a server.' - type: integer - storageSku: - description: 'StorageSku: The sku name of the server storage.' - type: string - type: object systemData: - description: 'SystemData: The system metadata relating to this resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -96829,17 +152462,9 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - version: - description: 'Version: Server version.' - type: string type: object type: object served: true @@ -96859,14 +152484,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501storage + name: v1api20240801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210501.FlexibleServer + Storage version of v1api20240801.FlexibleServersFirewallRule Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -96886,7 +152511,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210501.FlexibleServer_Spec + description: Storage version of v1api20240801.FlexibleServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -96895,258 +152520,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - availabilityZone: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backup: - description: |- - Storage version of v1api20210501.Backup - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - type: object - createMode: - type: string - dataEncryption: - description: |- - Storage version of v1api20210501.DataEncryption - The date encryption for cmk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - geoBackupKeyURI: - type: string - geoBackupUserAssignedIdentityReference: - description: |- - GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need - identity in same region as geo backup - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryKeyURI: - type: string - primaryUserAssignedIdentityReference: - description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - type: string - type: object - highAvailability: - description: |- - Storage version of v1api20210501.HighAvailability - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string - standbyAvailabilityZone: - type: string - type: object - identity: - description: |- - Storage version of v1api20210501.Identity - Properties to configure Identity for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20210501.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: + endIpAddress: type: string - maintenanceWindow: - description: |- - Storage version of v1api20210501.MaintenanceWindow - Maintenance window of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: - type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object - network: - description: |- - Storage version of v1api20210501.Network - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneResourceReference: - description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object operatorSpec: description: |- - Storage version of v1api20210501.FlexibleServerOperatorSpec + Storage version of v1api20240801.FlexibleServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -97185,53 +152568,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20210501.FlexibleServerOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorLogin: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - fullyQualifiedDomainName: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -97261,35 +152597,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20210501.FlexibleServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -97297,7 +152604,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -97306,59 +152613,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - replicationRole: - type: string - restorePointInTime: - type: string - sku: - description: |- - Storage version of v1api20210501.Sku - Billing information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceId: - type: string - storage: - description: |- - Storage version of v1api20210501.Storage - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGrow: - type: string - iops: - type: integer - storageSizeGB: - type: integer - type: object - tags: - additionalProperties: - type: string - type: object - version: + startIpAddress: type: string required: - owner type: object status: - description: Storage version of v1api20210501.FlexibleServer_STATUS + description: Storage version of v1api20240801.FlexibleServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -97367,29 +152628,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - availabilityZone: - type: string - backup: - description: |- - Storage version of v1api20210501.Backup_STATUS - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - earliestRestoreDate: - type: string - geoRedundantBackup: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -97433,172 +152671,17 @@ spec: - type type: object type: array - createMode: - type: string - dataEncryption: - description: |- - Storage version of v1api20210501.DataEncryption_STATUS - The date encryption for cmk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - geoBackupKeyURI: - type: string - geoBackupUserAssignedIdentityId: - type: string - primaryKeyURI: - type: string - primaryUserAssignedIdentityId: - type: string - type: - type: string - type: object - fullyQualifiedDomainName: + endIpAddress: type: string - highAvailability: - description: |- - Storage version of v1api20210501.HighAvailability_STATUS - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string - standbyAvailabilityZone: - type: string - state: - type: string - type: object id: type: string - identity: - description: |- - Storage version of v1api20210501.Identity_STATUS - Properties to configure Identity for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - location: - type: string - maintenanceWindow: - description: |- - Storage version of v1api20210501.MaintenanceWindow_STATUS - Maintenance window of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: - type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object name: type: string - network: - description: |- - Storage version of v1api20210501.Network_STATUS - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceId: - type: string - privateDnsZoneResourceId: - type: string - publicNetworkAccess: - type: string - type: object - replicaCapacity: - type: integer - replicationRole: - type: string - restorePointInTime: - type: string - sku: - description: |- - Storage version of v1api20210501.Sku_STATUS - Billing information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceId: - type: string - state: + startIpAddress: type: string - storage: - description: |- - Storage version of v1api20210501.Storage_STATUS - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGrow: - type: string - iops: - type: integer - storageSizeGB: - type: integer - storageSku: - type: string - type: object systemData: description: |- - Storage version of v1api20210501.SystemData_STATUS + Storage version of v1api20240801.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -97621,318 +152704,106 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string - version: - type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The password of the administrator login (required for server creation).' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - availabilityZone: - description: 'AvailabilityZone: availability Zone information of the server.' - type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backup: - description: 'Backup: Backup related properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' - enum: - - Disabled - - Enabled - type: string - type: object - createMode: - description: 'CreateMode: The mode to create a new MySQL server.' - enum: - - Default - - GeoRestore - - PointInTimeRestore - - Replica - type: string - dataEncryption: - description: 'DataEncryption: The Data Encryption for CMK.' - properties: - geoBackupKeyURI: - description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' - type: string - geoBackupUserAssignedIdentityReference: - description: |- - GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need - identity in same region as geo backup - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryKeyURI: - description: 'PrimaryKeyURI: Primary key uri' - type: string - primaryUserAssignedIdentityReference: - description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' - enum: - - AzureKeyVault - - SystemManaged - type: string - type: object - highAvailability: - description: 'HighAvailability: High availability related properties of a server.' - properties: - mode: - description: 'Mode: High availability mode for a server.' - enum: - - Disabled - - SameZone - - ZoneRedundant - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: Availability zone of the standby server.' - type: string - type: object - identity: - description: 'Identity: The cmk identity for the server.' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Metadata of user assigned identity.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - importSourceProperties: - description: 'ImportSourceProperties: Source properties for import from storage.' - properties: - dataDirPath: - description: 'DataDirPath: Relative path of data directory in storage.' - type: string - sasToken: - description: 'SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageType: - description: 'StorageType: Storage type of import source.' - enum: - - AzureBlob - type: string - storageUrl: - description: 'StorageUrl: Uri of the import source storage.' - type: string - type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - network: - description: 'Network: Network related properties of a server.' - properties: - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneResourceReference: - description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server - has VNet integration. - enum: - - Disabled - - Enabled - type: string - type: object +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: flexibleserversvirtualendpoints.dbforpostgresql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbforpostgresql.azure.com + names: + categories: + - azure + - dbforpostgresql + kind: FlexibleServersVirtualEndpoint + listKind: FlexibleServersVirtualEndpointList + plural: flexibleserversvirtualendpoints + singular: flexibleserversvirtualendpoint + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/VirtualEndpoints.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/virtualendpoints/{virtualEndpointName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + endpointType: + description: 'EndpointType: Type of endpoint for the virtual endpoints.' + enum: + - ReadWrite + type: string + members: + description: 'Members: List of flexible servers that one of the virtual endpoints can refer to.' + items: + type: string + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -97968,44 +152839,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - administratorLogin: - description: |- - AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will - be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no - config map will be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -98036,33 +152869,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -98071,119 +152883,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - replicationRole: - description: 'ReplicationRole: The replication role.' - enum: - - None - - Replica - - Source - type: string - restorePointInTime: - description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' - enum: - - Burstable - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - - tier - type: object - sourceServerResourceReference: - description: 'SourceServerResourceReference: The source MySQL server id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - storage: - description: 'Storage: Storage related properties of a server.' - properties: - autoGrow: - description: 'AutoGrow: Enable Storage Auto Grow or not.' - enum: - - Disabled - - Enabled - type: string - autoIoScaling: - description: 'AutoIoScaling: Enable IO Auto Scaling or not.' - enum: - - Disabled - - Enabled - type: string - iops: - description: 'Iops: Storage IOPS for a server.' - type: integer - logOnDisk: - description: 'LogOnDisk: Enable Log On Disk or not.' - enum: - - Disabled - - Enabled - type: string - storageSizeGB: - description: 'StorageSizeGB: Max storage size allowed for a server.' - type: integer - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - version: - description: 'Version: Server version.' - enum: - - "5.7" - - 8.0.21 - type: string required: - - location - owner type: object status: properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - availabilityZone: - description: 'AvailabilityZone: availability Zone information of the server.' - type: string - backup: - description: 'Backup: Backup related properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - earliestRestoreDate: - description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' - type: string - geoRedundantBackup: - description: 'GeoRedundantBackup: Whether or not geo redundant backup is enabled.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -98228,178 +152932,22 @@ spec: - type type: object type: array - createMode: - description: 'CreateMode: The mode to create a new MySQL server.' - type: string - dataEncryption: - description: 'DataEncryption: The Data Encryption for CMK.' - properties: - geoBackupKeyURI: - description: 'GeoBackupKeyURI: Geo backup key uri as key vault can''t cross region, need cmk in same region as geo backup' - type: string - geoBackupUserAssignedIdentityId: - description: |- - GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in - same region as geo backup - type: string - primaryKeyURI: - description: 'PrimaryKeyURI: Primary key uri' - type: string - primaryUserAssignedIdentityId: - description: 'PrimaryUserAssignedIdentityId: Primary user identity resource id' - type: string - type: - description: 'Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.' - type: string - type: object - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + endpointType: + description: 'EndpointType: Type of endpoint for the virtual endpoints.' type: string - highAvailability: - description: 'HighAvailability: High availability related properties of a server.' - properties: - mode: - description: 'Mode: High availability mode for a server.' - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: Availability zone of the standby server.' - type: string - state: - description: 'State: The state of server high availability.' - type: string - type: object id: description: |- Id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - identity: - description: 'Identity: The cmk identity for the server.' - properties: - principalId: - description: 'PrincipalId: ObjectId from the KeyVault' - type: string - tenantId: - description: 'TenantId: TenantId from the KeyVault' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'UserAssignedIdentities: Metadata of user assigned identity.' - type: object - type: object - importSourceProperties: - description: 'ImportSourceProperties: Source properties for import from storage.' - properties: - dataDirPath: - description: 'DataDirPath: Relative path of data directory in storage.' - type: string - storageType: - description: 'StorageType: Storage type of import source.' - type: string - storageUrl: - description: 'StorageUrl: Uri of the import source storage.' - type: string - type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - name: - description: 'Name: The name of the resource' - type: string - network: - description: 'Network: Network related properties of a server.' - properties: - delegatedSubnetResourceId: - description: 'DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server.' - type: string - privateDnsZoneResourceId: - description: 'PrivateDnsZoneResourceId: Private DNS zone resource id.' - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server - has VNet integration. - type: string - type: object - privateEndpointConnections: - description: 'PrivateEndpointConnections: PrivateEndpointConnections related properties of a server.' + members: + description: 'Members: List of flexible servers that one of the virtual endpoints can refer to.' items: - description: The private endpoint connection resource. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - type: object + type: string type: array - replicaCapacity: - description: 'ReplicaCapacity: The maximum number of replicas that a primary server can have.' - type: integer - replicationRole: - description: 'ReplicationRole: The replication role.' - type: string - restorePointInTime: - description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, e.g. Standard_D32s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. GeneralPurpose.' - type: string - type: object - sourceServerResourceId: - description: 'SourceServerResourceId: The source MySQL server id.' - type: string - state: - description: 'State: The state of a server.' + name: + description: 'Name: The name of the resource' type: string - storage: - description: 'Storage: Storage related properties of a server.' - properties: - autoGrow: - description: 'AutoGrow: Enable Storage Auto Grow or not.' - type: string - autoIoScaling: - description: 'AutoIoScaling: Enable IO Auto Scaling or not.' - type: string - iops: - description: 'Iops: Storage IOPS for a server.' - type: integer - logOnDisk: - description: 'LogOnDisk: Enable Log On Disk or not.' - type: string - storageSizeGB: - description: 'StorageSizeGB: Max storage size allowed for a server.' - type: integer - storageSku: - description: 'StorageSku: The sku name of the server storage.' - type: string - type: object systemData: description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: @@ -98422,17 +152970,14 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - version: - description: 'Version: Server version.' - type: string + virtualEndpoints: + description: 'VirtualEndpoints: List of virtual endpoints for a flexible server.' + items: + type: string + type: array type: object type: object served: true @@ -98452,14 +152997,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230630storage + name: v1api20240801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230630.FlexibleServer + Storage version of v1api20240801.FlexibleServersVirtualEndpoint Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} + - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2024-08-01/VirtualEndpoints.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/virtualendpoints/{virtualEndpointName} properties: apiVersion: description: |- @@ -98479,7 +153024,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230630.FlexibleServer_Spec + description: Storage version of v1api20240801.FlexibleServersVirtualEndpoint_Spec properties: $propertyBag: additionalProperties: @@ -98488,296 +153033,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - availabilityZone: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backup: - description: |- - Storage version of v1api20230630.Backup - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - type: object - createMode: - type: string - dataEncryption: - description: |- - Storage version of v1api20230630.DataEncryption - The date encryption for cmk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - geoBackupKeyURI: - type: string - geoBackupUserAssignedIdentityReference: - description: |- - GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need - identity in same region as geo backup - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryKeyURI: - type: string - primaryUserAssignedIdentityReference: - description: 'PrimaryUserAssignedIdentityReference: Primary user identity resource id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - type: string - type: object - highAvailability: - description: |- - Storage version of v1api20230630.HighAvailability - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string - standbyAvailabilityZone: - type: string - type: object - identity: - description: |- - Storage version of v1api20230630.MySQLServerIdentity - Properties to configure Identity for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20230630.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - importSourceProperties: - description: |- - Storage version of v1api20230630.ImportSourceProperties - Import source related properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataDirPath: - type: string - sasToken: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageType: - type: string - storageUrl: - type: string - type: object - location: + endpointType: type: string - maintenanceWindow: - description: |- - Storage version of v1api20230630.MaintenanceWindow - Maintenance window of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: - type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object - network: - description: |- - Storage version of v1api20230630.Network - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneResourceReference: - description: 'PrivateDnsZoneResourceReference: Private DNS zone resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - type: string - type: object + members: + items: + type: string + type: array operatorSpec: description: |- - Storage version of v1api20230630.FlexibleServerOperatorSpec + Storage version of v1api20240801.FlexibleServersVirtualEndpointOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -98816,53 +153085,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20230630.FlexibleServerOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorLogin: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - fullyQualifiedDomainName: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -98891,407 +153113,92 @@ spec: - name - value type: object - type: array - secrets: - description: Storage version of v1api20230630.FlexibleServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - replicationRole: - type: string - restorePointInTime: - type: string - sku: - description: |- - Storage version of v1api20230630.MySQLServerSku - Billing information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceReference: - description: 'SourceServerResourceReference: The source MySQL server id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - storage: - description: |- - Storage version of v1api20230630.Storage - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGrow: - type: string - autoIoScaling: - type: string - iops: - type: integer - logOnDisk: - type: string - storageSizeGB: - type: integer - type: object - tags: - additionalProperties: - type: string - type: object - version: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230630.FlexibleServer_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorLogin: - type: string - availabilityZone: - type: string - backup: - description: |- - Storage version of v1api20230630.Backup_STATUS - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - earliestRestoreDate: - type: string - geoRedundantBackup: - type: string - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createMode: - type: string - dataEncryption: - description: |- - Storage version of v1api20230630.DataEncryption_STATUS - The date encryption for cmk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - geoBackupKeyURI: - type: string - geoBackupUserAssignedIdentityId: - type: string - primaryKeyURI: - type: string - primaryUserAssignedIdentityId: - type: string - type: - type: string - type: object - fullyQualifiedDomainName: - type: string - highAvailability: - description: |- - Storage version of v1api20230630.HighAvailability_STATUS - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string - standbyAvailabilityZone: - type: string - state: - type: string - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20230630.MySQLServerIdentity_STATUS - Properties to configure Identity for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - importSourceProperties: - description: |- - Storage version of v1api20230630.ImportSourceProperties_STATUS - Import source related properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataDirPath: - type: string - storageType: - type: string - storageUrl: - type: string + type: array type: object - location: + originalVersion: type: string - maintenanceWindow: + owner: description: |- - Storage version of v1api20230630.MaintenanceWindow_STATUS - Maintenance window of a server. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a dbforpostgresql.azure.com/FlexibleServer resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer type: object - name: - type: string - network: + required: + - owner + type: object + status: + description: Storage version of v1api20240801.FlexibleServersVirtualEndpoint_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230630.Network_STATUS - Network related properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceId: - type: string - privateDnsZoneResourceId: - type: string - publicNetworkAccess: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - privateEndpointConnections: + conditions: items: - description: |- - Storage version of v1api20230630.PrivateEndpointConnection_STATUS - The private endpoint connection resource. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - replicaCapacity: - type: integer - replicationRole: - type: string - restorePointInTime: + endpointType: type: string - sku: - description: |- - Storage version of v1api20230630.MySQLServerSku_STATUS - Billing information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceId: + id: type: string - state: + members: + items: + type: string + type: array + name: type: string - storage: - description: |- - Storage version of v1api20230630.Storage_STATUS - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGrow: - type: string - autoIoScaling: - type: string - iops: - type: integer - logOnDisk: - type: string - storageSizeGB: - type: integer - storageSku: - type: string - type: object systemData: description: |- - Storage version of v1api20230630.SystemData_STATUS + Storage version of v1api20240801.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -99314,14 +153221,12 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string - version: - type: string + virtualEndpoints: + items: + type: string + type: array type: object type: object served: true @@ -99334,11 +153239,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleservers.dbforpostgresql.azure.com + app.kubernetes.io/version: v2.15.0 + name: fluxconfigurations.kubernetesconfiguration.azure.com spec: conversion: strategy: Webhook @@ -99351,12 +153256,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dbforpostgresql.azure.com + group: kubernetesconfiguration.azure.com names: - kind: FlexibleServer - listKind: FlexibleServerList - plural: flexibleservers - singular: flexibleserver + categories: + - azure + - kubernetesconfiguration + kind: FluxConfiguration + listKind: FluxConfigurationList + plural: fluxconfigurations + singular: fluxconfiguration preserveUnknownFields: false scope: Namespaced versions: @@ -99373,13 +153281,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601 + name: v1api20230501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} properties: apiVersion: description: |- @@ -99400,131 +153308,337 @@ spec: type: object spec: properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced + accountKey: + description: 'AccountKey: The account key (shared key) to access the storage account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' type: string - name: + localAuthRef: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + sasToken: + description: 'SasToken: The Shared Access token to access the storage container' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificate: + description: 'ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: 'ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client Id for authenticating a Service Principal.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: The client secret for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The tenant Id for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' type: string - required: - - key - - name type: object - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backup: - description: 'Backup: Backup properties of a server.' + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' - enum: - - Disabled - - Enabled + accessKey: + description: 'AccessKey: Plaintext access key used to securely access the S3 bucket' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' type: string - type: object - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - enum: - - Create - - Default - - PointInTimeRestore - - Update - type: string - highAvailability: - description: 'HighAvailability: High availability properties of a server.' - properties: - mode: - description: 'Mode: The HA mode for the server.' - enum: - - Disabled - - ZoneRedundant + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' type: string type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' + configurationProtectedSettings: + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer + required: + - name type: object - network: - description: 'Network: Network properties of a server.' + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' properties: - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + httpsCACert: + description: 'HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - privateDnsZoneArmResourceReference: - description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + branch: + description: 'Branch: The git repository branch name to checkout.' type: string - group: - description: Group is the Kubernetes group of the resource. + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. type: string - kind: - description: Kind is the Kubernetes kind of the resource. + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' type: string - name: - description: Name is the Kubernetes name of the resource. + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' type: string type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' + type: string + type: object + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' type: object + namespace: + description: |- + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -99590,73 +153704,15 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - pointInTimeUTC: - description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore'. - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' - enum: - - Burstable - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - - tier - type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore'. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string group: @@ -99666,56 +153722,109 @@ spec: description: Kind is the Kubernetes kind of the resource. type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - storage: - description: 'Storage: Storage properties of a server.' - properties: - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - version: - description: 'Version: PostgreSQL Server version.' + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + scope: + description: 'Scope: Scope at which the operator will be installed.' enum: - - "11" - - "12" - - "13" - - "14" + - cluster + - namespace + type: string + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + enum: + - AzureBlob + - Bucket + - GitRepository type: string + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean required: - - location - owner type: object status: + description: The Flux Configuration object returned in Get & Put response. properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string - backup: - description: 'Backup: Backup properties of a server.' + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' type: integer - earliestRestoreDate: - description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' type: string - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: object + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' + properties: + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' type: string type: object + complianceState: + description: |- + ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the + managed objects. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -99760,23 +153869,56 @@ spec: - type type: object type: array - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - type: string - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + configurationProtectedSettings: + additionalProperties: + type: string + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' + type: object + errorMessage: + description: 'ErrorMessage: Error message returned to the user in the case of provisioning failure.' type: string - highAvailability: - description: 'HighAvailability: High availability properties of a server.' + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' properties: - mode: - description: 'Mode: The HA mode for the server.' + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. type: string - state: - description: 'State: A state of a HA server that is visible to user.' + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' type: string type: object id: @@ -99784,107 +153926,197 @@ spec: Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + name: + description: 'Name: Name of the Kustomization, matching the key in the Kustomizations object map.' + type: string + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' type: object - minorVersion: - description: 'MinorVersion: The minor version of the server.' - type: string name: description: 'Name: The name of the resource' type: string - network: - description: 'Network: Network properties of a server.' - properties: - delegatedSubnetResourceId: - description: 'DelegatedSubnetResourceId: delegated subnet arm resource id.' - type: string - privateDnsZoneArmResourceId: - description: 'PrivateDnsZoneArmResourceId: private dns zone arm resource id.' - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: public network access is enabled or not' - type: string - type: object - pointInTimeUTC: + namespace: description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore'. + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' - type: string - type: object - sourceServerResourceId: + provisioningState: + description: 'ProvisioningState: Status of the creation of the fluxConfiguration.' + type: string + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + repositoryPublicKey: description: |- - SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore'. + RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided + by the user). type: string - state: - description: 'State: A state of a server that is visible to user.' + scope: + description: 'Scope: Scope at which the operator will be installed.' type: string - storage: - description: 'Storage: Storage properties of a server.' - properties: - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - type: object - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + type: string + sourceSyncedCommitId: + description: 'SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.' + type: string + sourceUpdatedAt: + description: 'SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.' + type: string + statusUpdatedAt: + description: 'StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.' + type: string + statuses: + description: |- + Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects + provisioned by the fluxConfiguration. + items: + description: Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + appliedBy: + description: 'AppliedBy: Object reference to the Kustomization that applied this object' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + complianceState: + description: |- + ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state + on the cluster. + type: string + helmReleaseProperties: + description: 'HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind' + properties: + failureCount: + description: 'FailureCount: Total number of times that the HelmRelease failed to install or upgrade' + type: integer + helmChartRef: + description: 'HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + installFailureCount: + description: 'InstallFailureCount: Number of times that the HelmRelease failed to install' + type: integer + lastRevisionApplied: + description: 'LastRevisionApplied: The revision number of the last released object change' + type: integer + upgradeFailureCount: + description: 'UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade' + type: integer + type: object + kind: + description: 'Kind: Kind of the applied object' + type: string + name: + description: 'Name: Name of the applied object' + type: string + namespace: + description: 'Namespace: Namespace of the applied object' + type: string + statusConditions: + description: 'StatusConditions: List of Kubernetes object status conditions present on the cluster' + items: + description: Status condition of Kubernetes object + properties: + lastTransitionTime: + description: 'LastTransitionTime: Last time this status condition has changed' + type: string + message: + description: 'Message: A more verbose description of the object status condition' + type: string + reason: + description: 'Reason: Reason for the specified status condition type status' + type: string + status: + description: 'Status: Status of the Kubernetes object condition type' + type: string + type: + description: 'Type: Object status condition type for this object' + type: string + type: object + type: array + type: object + type: array + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - version: - description: 'Version: PostgreSQL Server version.' - type: string + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean type: object type: object served: true @@ -99904,14 +154136,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601storage + name: v1api20230501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210601.FlexibleServer + Storage version of v1api20230501.FluxConfiguration Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} properties: apiVersion: description: |- @@ -99931,7 +154163,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210601.FlexibleServer_Spec + description: Storage version of v1api20230501.FluxConfiguration_Spec properties: $propertyBag: additionalProperties: @@ -99940,36 +154172,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - availabilityZone: - type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backup: + azureBlob: description: |- - Storage version of v1api20210601.Backup - Backup properties of a server + Storage version of v1api20230501.AzureBlobDefinition + Parameters to reconcile to the AzureBlob source kind type. properties: $propertyBag: additionalProperties: @@ -99978,17 +154184,179 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupRetentionDays: + accountKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20230501.ManagedIdentityDefinition + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: |- + Storage version of v1api20230501.ServicePrincipalDefinition + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: type: integer - geoRedundantBackup: + timeoutInSeconds: + type: integer + url: type: string type: object - createMode: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - highAvailability: + bucket: description: |- - Storage version of v1api20210601.HighAvailability - High availability properties of a server + Storage version of v1api20230501.BucketDefinition + Parameters to reconcile to the Bucket source kind type. properties: $propertyBag: additionalProperties: @@ -99997,38 +154365,53 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: + accessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: type: string - standbyAvailabilityZone: + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: type: string type: object - location: - type: string - maintenanceWindow: + configurationProtectedSettings: description: |- - Storage version of v1api20210601.MaintenanceWindow - Maintenance window properties of a server. + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer + required: + - name type: object - network: + gitRepository: description: |- - Storage version of v1api20210601.Network - Network properties of a server + Storage version of v1api20230501.GitRepositoryDefinition + Parameters to reconcile to the GitRepository source kind type. properties: $propertyBag: additionalProperties: @@ -100037,50 +154420,133 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + httpsCACert: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - privateDnsZoneArmResourceReference: - description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + httpsUser: + type: string + localAuthRef: + type: string + repositoryRef: + description: |- + Storage version of v1api20230501.RepositoryRefDefinition + The source reference for the GitRepository object. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: type: string - group: - description: Group is the Kubernetes group of the resource. + commit: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + semver: type: string - name: - description: Name is the Kubernetes name of the resource. + tag: type: string type: object + sshKnownHosts: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: + type: string + type: object + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20230501.KustomizationDefinition + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + path: + type: string + postBuild: + description: |- + Storage version of v1api20230501.PostBuildDefinition + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20230501.SubstituteFromDefinition + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object type: object + namespace: + type: string operatorSpec: description: |- - Storage version of v1api20210601.FlexibleServerOperatorSpec + Storage version of v1api20230501.FluxConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -100148,80 +154614,17 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20210601.FlexibleServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - pointInTimeUTC: - type: string - sku: - description: |- - Storage version of v1api20210601.Sku - Sku information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore'. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string group: @@ -100231,35 +154634,26 @@ spec: description: Kind is the Kubernetes kind of the resource. type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - storage: - description: |- - Storage version of v1api20210601.Storage - Storage properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageSizeGB: - type: integer - type: object - tags: - additionalProperties: - type: string - type: object - version: + reconciliationWaitDuration: + type: string + scope: + type: string + sourceKind: type: string + suspend: + type: boolean + waitForReconciliation: + type: boolean required: - owner type: object status: - description: Storage version of v1api20210601.FlexibleServer_STATUS + description: |- + Storage version of v1api20230501.FluxConfiguration_STATUS + The Flux Configuration object returned in Get & Put response. properties: $propertyBag: additionalProperties: @@ -100268,14 +154662,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - availabilityZone: - type: string - backup: + azureBlob: description: |- - Storage version of v1api20210601.Backup_STATUS - Backup properties of a server + Storage version of v1api20230501.AzureBlobDefinition_STATUS + Parameters to reconcile to the AzureBlob source kind type. properties: $propertyBag: additionalProperties: @@ -100284,13 +154674,78 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupRetentionDays: + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20230501.ManagedIdentityDefinition_STATUS + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + servicePrincipal: + description: |- + Storage version of v1api20230501.ServicePrincipalDefinition_STATUS + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + tenantId: + type: string + type: object + syncIntervalInSeconds: type: integer - earliestRestoreDate: + timeoutInSeconds: + type: integer + url: type: string - geoRedundantBackup: + type: object + bucket: + description: |- + Storage version of v1api20230501.BucketDefinition_STATUS + Parameters to reconcile to the Bucket source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: type: string type: object + complianceState: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -100334,14 +154789,16 @@ spec: - type type: object type: array - createMode: - type: string - fullyQualifiedDomainName: + configurationProtectedSettings: + additionalProperties: + type: string + type: object + errorMessage: type: string - highAvailability: + gitRepository: description: |- - Storage version of v1api20210601.HighAvailability_STATUS - High availability properties of a server + Storage version of v1api20230501.GitRepositoryDefinition_STATUS + Parameters to reconcile to the GitRepository source kind type. properties: $propertyBag: additionalProperties: @@ -100350,132 +154807,244 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: - type: string - standbyAvailabilityZone: + httpsUser: type: string - state: + localAuthRef: type: string - type: object - id: - type: string - location: - type: string - maintenanceWindow: - description: |- - Storage version of v1api20210601.MaintenanceWindow_STATUS - Maintenance window properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string + repositoryRef: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230501.RepositoryRefDefinition_STATUS + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string type: object - customWindow: + sshKnownHosts: type: string - dayOfWeek: - type: integer - startHour: + syncIntervalInSeconds: type: integer - startMinute: + timeoutInSeconds: type: integer - type: object - minorVersion: - type: string - name: - type: string - network: - description: |- - Storage version of v1api20210601.Network_STATUS - Network properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceId: - type: string - privateDnsZoneArmResourceId: - type: string - publicNetworkAccess: + url: type: string type: object - pointInTimeUTC: + id: type: string - sku: - description: |- - Storage version of v1api20210601.Sku_STATUS - Sku information related properties of a server. - properties: - $propertyBag: - additionalProperties: + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20230501.KustomizationDefinition_STATUS + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string + path: + type: string + postBuild: + description: |- + Storage version of v1api20230501.PostBuildDefinition_STATUS + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20230501.SubstituteFromDefinition_STATUS + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object type: object - sourceServerResourceId: + name: type: string - state: + namespace: type: string - storage: - description: |- - Storage version of v1api20210601.Storage_STATUS - Storage properties of a server - properties: - $propertyBag: - additionalProperties: + provisioningState: + type: string + reconciliationWaitDuration: + type: string + repositoryPublicKey: + type: string + scope: + type: string + sourceKind: + type: string + sourceSyncedCommitId: + type: string + sourceUpdatedAt: + type: string + statusUpdatedAt: + type: string + statuses: + items: + description: |- + Storage version of v1api20230501.ObjectStatusDefinition_STATUS + Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appliedBy: + description: |- + Storage version of v1api20230501.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + complianceState: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageSizeGB: - type: integer - type: object - systemData: - description: |- - Storage version of v1api20210601.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: + helmReleaseProperties: + description: |- + Storage version of v1api20230501.HelmReleasePropertiesDefinition_STATUS + Properties for HelmRelease objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCount: + type: integer + helmChartRef: + description: |- + Storage version of v1api20230501.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + installFailureCount: + type: integer + lastRevisionApplied: + type: integer + upgradeFailureCount: + type: integer + type: object + kind: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object + name: + type: string + namespace: + type: string + statusConditions: + items: + description: |- + Storage version of v1api20230501.ObjectStatusConditionDefinition_STATUS + Status condition of Kubernetes object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastTransitionTime: + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + type: object + type: array + suspend: + type: boolean type: type: string - version: - type: string + waitForReconciliation: + type: boolean type: object type: object served: true @@ -100495,13 +155064,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220120preview + name: v1api20241101 schema: openAPIV3Schema: description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + Generator information: + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} properties: apiVersion: description: |- @@ -100522,130 +155091,473 @@ spec: type: object spec: properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced + accountKey: + description: 'AccountKey: The account key (shared key) to access the storage account' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' type: string - name: + localAuthRef: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + sasToken: + description: 'SasToken: The Shared Access token to access the storage container' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificate: + description: 'ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: 'ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client Id for authenticating a Service Principal.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: The client secret for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The tenant Id for authenticating a Service Principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' type: string - required: - - key - - name type: object - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backup: - description: 'Backup: Backup properties of a server.' + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' + accessKey: + description: 'AccessKey: Plaintext access key used to securely access the S3 bucket' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' - enum: - - Disabled - - Enabled + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' type: string type: object - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - enum: - - Create - - Default - - PointInTimeRestore - - Update - type: string - highAvailability: - description: 'HighAvailability: High availability properties of a server.' + configurationProtectedSettings: + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' properties: - mode: - description: 'Mode: The HA mode for the server.' - enum: - - Disabled - - SameZone - - ZoneRedundant - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - name type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' + httpsCACert: + description: 'HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + provider: + description: 'Provider: Name of the provider used for authentication.' + enum: + - Azure + - Generic + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' + type: string type: object - network: - description: 'Network: Network properties of a server.' + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' + type: object + namespace: + description: |- + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. + type: string + ociRepository: + description: 'OciRepository: Parameters to reconcile to the OCIRepository source kind type.' properties: - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + insecure: + description: 'Insecure: Specify whether to allow connecting to a non-TLS HTTP container registry.' + type: boolean + layerSelector: + description: 'LayerSelector: The layer to be pulled from the OCI artifact.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + mediaType: + description: 'MediaType: The first layer matching the specified media type will be used.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + operation: + description: |- + Operation: The operation to be performed on the selected layer. The default value is 'extract', but it can be set to + 'copy'. + enum: + - copy + - extract type: string type: object - privateDnsZoneArmResourceReference: - description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the OCIRepository object.' properties: - armId: + digest: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Digest: The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes + precedence over semver. type: string - group: - description: Group is the Kubernetes group of the resource. + semver: + description: 'Semver: The semver range used to match against OCI repository tags. This takes precedence over tag.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + tag: + description: 'Tag: The OCI repository image tag name to pull. This defaults to ''latest''.' type: string - name: - description: Name is the Kubernetes name of the resource. + type: object + serviceAccountName: + description: 'ServiceAccountName: The service account name to authenticate with the OCI repository.' + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster OCI repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster OCI repository source with the remote.' + type: integer + tlsConfig: + description: 'TlsConfig: Parameters to authenticate using TLS config for OCI repository.' + properties: + caCertificate: + description: 'CaCertificate: Base64-encoded CA certificate used to verify the server.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificate: + description: 'ClientCertificate: Base64-encoded certificate used to authenticate a client with the OCI repository.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKey: + description: 'PrivateKey: Base64-encoded private key used to authenticate a client with the OCI repository.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + url: + description: 'Url: The URL to sync for the flux configuration OCI repository.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string + useWorkloadIdentity: + description: 'UseWorkloadIdentity: Specifies whether to use Workload Identity to authenticate with the OCI repository.' + type: boolean + verify: + description: 'Verify: Verification of the authenticity of an OCI Artifact.' + properties: + matchOidcIdentity: + description: 'MatchOidcIdentity: Array defining the criteria for matching the identity while verifying an OCI artifact.' + items: + description: MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + issuer: + description: 'Issuer: The regex pattern to match against to verify the OIDC issuer.' + type: string + subject: + description: 'Subject: The regex pattern to match against to verify the identity subject.' + type: string + type: object + type: array + provider: + description: 'Provider: Verification provider name.' type: string + verificationConfig: + additionalProperties: + type: string + description: 'VerificationConfig: An object containing trusted public keys of trusted authors.' + type: object type: object type: object operatorSpec: @@ -100683,27 +155595,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no - config map will be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -100734,73 +155625,15 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - pointInTimeUTC: - description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore'. - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' - enum: - - Burstable - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - - tier - type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore'. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string group: @@ -100810,56 +155643,110 @@ spec: description: Kind is the Kubernetes kind of the resource. type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - storage: - description: 'Storage: Storage properties of a server.' - properties: - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - version: - description: 'Version: PostgreSQL Server version.' + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + scope: + description: 'Scope: Scope at which the operator will be installed.' enum: - - "11" - - "12" - - "13" - - "14" + - cluster + - namespace + type: string + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + enum: + - AzureBlob + - Bucket + - GitRepository + - OCIRepository type: string + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean required: - - location - owner type: object status: + description: The Flux Configuration object returned in Get & Put response. properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string - backup: - description: 'Backup: Backup properties of a server.' + azureBlob: + description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' + containerName: + description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + type: string + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + managedIdentity: + description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' + properties: + clientId: + description: 'ClientId: The client Id for authenticating a Managed Identity.' + type: string + type: object + servicePrincipal: + description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' + properties: + clientCertificateSendChain: + description: |- + ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable + subject name / issuer based authentication for the Client Certificate + type: boolean + clientId: + description: 'ClientId: The client Id for authenticating a Service Principal.' + type: string + tenantId: + description: 'TenantId: The tenant Id for authenticating a Service Principal' + type: string + type: object + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' type: integer - earliestRestoreDate: - description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' type: string - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' + type: object + bucket: + description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' + properties: + bucketName: + description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' + type: string + insecure: + description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' + type: boolean + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration S3 bucket.' type: string type: object + complianceState: + description: |- + ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the + managed objects. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -100904,23 +155791,59 @@ spec: - type type: object type: array - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - type: string - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + configurationProtectedSettings: + additionalProperties: + type: string + description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' + type: object + errorMessage: + description: 'ErrorMessage: Error message returned to the user in the case of provisioning failure.' type: string - highAvailability: - description: 'HighAvailability: High availability properties of a server.' + gitRepository: + description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' properties: - mode: - description: 'Mode: The HA mode for the server.' + httpsUser: + description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. type: string - state: - description: 'State: A state of a HA server that is visible to user.' + provider: + description: 'Provider: Name of the provider used for authentication.' + type: string + repositoryRef: + description: 'RepositoryRef: The source reference for the GitRepository object.' + properties: + branch: + description: 'Branch: The git repository branch name to checkout.' + type: string + commit: + description: |- + Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence + over semver. + type: string + semver: + description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' + type: string + type: object + sshKnownHosts: + description: |- + SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories + over SSH + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' + type: integer + url: + description: 'Url: The URL to sync for the flux configuration git repository.' type: string type: object id: @@ -100928,107 +155851,276 @@ spec: Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer + kustomizations: + additionalProperties: + description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + dependsOn: + description: |- + DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile + until all dependencies have completed their reconciliation. + items: + type: string + type: array + force: + description: |- + Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field + change. + type: boolean + name: + description: 'Name: Name of the Kustomization, matching the key in the Kustomizations object map.' + type: string + path: + description: 'Path: The path in the source reference to reconcile on the cluster.' + type: string + postBuild: + description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' + properties: + substitute: + additionalProperties: + type: string + description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' + type: object + substituteFrom: + description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' + items: + description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + kind: + description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' + type: string + name: + description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' + type: string + optional: + description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' + type: boolean + type: object + type: array + type: object + prune: + description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' + type: boolean + retryIntervalInSeconds: + description: |- + RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure + on reconciliation. + type: integer + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' + type: integer + wait: + description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' + type: boolean + type: object + description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' type: object - minorVersion: - description: 'MinorVersion: The minor version of the server.' - type: string name: description: 'Name: The name of the resource' type: string - network: - description: 'Network: Network properties of a server.' - properties: - delegatedSubnetResourceId: - description: 'DelegatedSubnetResourceId: delegated subnet arm resource id.' - type: string - privateDnsZoneArmResourceId: - description: 'PrivateDnsZoneArmResourceId: private dns zone arm resource id.' - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: public network access is enabled or not' - type: string - type: object - pointInTimeUTC: + namespace: description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore'. + Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, + hyphen and period only. type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' + ociRepository: + description: 'OciRepository: Parameters to reconcile to the OCIRepository source kind type.' properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + insecure: + description: 'Insecure: Specify whether to allow connecting to a non-TLS HTTP container registry.' + type: boolean + layerSelector: + description: 'LayerSelector: The layer to be pulled from the OCI artifact.' + properties: + mediaType: + description: 'MediaType: The first layer matching the specified media type will be used.' + type: string + operation: + description: |- + Operation: The operation to be performed on the selected layer. The default value is 'extract', but it can be set to + 'copy'. + type: string + type: object + localAuthRef: + description: |- + LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the + managed or user-provided configuration secrets. type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + repositoryRef: + description: 'RepositoryRef: The source reference for the OCIRepository object.' + properties: + digest: + description: |- + Digest: The image digest to pull from OCI repository, the value should be in the format ‘sha256:’. This takes + precedence over semver. + type: string + semver: + description: 'Semver: The semver range used to match against OCI repository tags. This takes precedence over tag.' + type: string + tag: + description: 'Tag: The OCI repository image tag name to pull. This defaults to ''latest''.' + type: string + type: object + serviceAccountName: + description: 'ServiceAccountName: The service account name to authenticate with the OCI repository.' + type: string + syncIntervalInSeconds: + description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster OCI repository source with the remote.' + type: integer + timeoutInSeconds: + description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster OCI repository source with the remote.' + type: integer + tlsConfig: + description: 'TlsConfig: Parameters to authenticate using TLS config for OCI repository.' + type: object + url: + description: 'Url: The URL to sync for the flux configuration OCI repository.' type: string + useWorkloadIdentity: + description: 'UseWorkloadIdentity: Specifies whether to use Workload Identity to authenticate with the OCI repository.' + type: boolean + verify: + description: 'Verify: Verification of the authenticity of an OCI Artifact.' + properties: + matchOidcIdentity: + description: 'MatchOidcIdentity: Array defining the criteria for matching the identity while verifying an OCI artifact.' + items: + description: MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + issuer: + description: 'Issuer: The regex pattern to match against to verify the OIDC issuer.' + type: string + subject: + description: 'Subject: The regex pattern to match against to verify the identity subject.' + type: string + type: object + type: array + provider: + description: 'Provider: Verification provider name.' + type: string + verificationConfig: + additionalProperties: + type: string + description: 'VerificationConfig: An object containing trusted public keys of trusted authors.' + type: object + type: object type: object - sourceServerResourceId: + reconciliationWaitDuration: + description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' + type: string + repositoryPublicKey: description: |- - SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore'. + RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided + by the user). type: string - state: - description: 'State: A state of a server that is visible to user.' + scope: + description: 'Scope: Scope at which the operator will be installed.' type: string - storage: - description: 'Storage: Storage properties of a server.' - properties: - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - type: object - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + sourceKind: + description: 'SourceKind: Source Kind to pull the configuration data from.' + type: string + sourceSyncedCommitId: + description: 'SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.' + type: string + sourceUpdatedAt: + description: 'SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.' + type: string + statusUpdatedAt: + description: 'StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.' + type: string + statuses: + description: |- + Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects + provisioned by the fluxConfiguration. + items: + description: Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + appliedBy: + description: 'AppliedBy: Object reference to the Kustomization that applied this object' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + complianceState: + description: |- + ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state + on the cluster. + type: string + helmReleaseProperties: + description: 'HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind' + properties: + failureCount: + description: 'FailureCount: Total number of times that the HelmRelease failed to install or upgrade' + type: integer + helmChartRef: + description: 'HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease' + properties: + name: + description: 'Name: Name of the object' + type: string + namespace: + description: 'Namespace: Namespace of the object' + type: string + type: object + installFailureCount: + description: 'InstallFailureCount: Number of times that the HelmRelease failed to install' + type: integer + lastRevisionApplied: + description: 'LastRevisionApplied: The revision number of the last released object change' + type: integer + upgradeFailureCount: + description: 'UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade' + type: integer + type: object + kind: + description: 'Kind: Kind of the applied object' + type: string + name: + description: 'Name: Name of the applied object' + type: string + namespace: + description: 'Namespace: Namespace of the applied object' + type: string + statusConditions: + description: 'StatusConditions: List of Kubernetes object status conditions present on the cluster' + items: + description: Status condition of Kubernetes object + properties: + lastTransitionTime: + description: 'LastTransitionTime: Last time this status condition has changed' + type: string + message: + description: 'Message: A more verbose description of the object status condition' + type: string + reason: + description: 'Reason: Reason for the specified status condition type status' + type: string + status: + description: 'Status: Status of the Kubernetes object condition type' + type: string + type: + description: 'Type: Object status condition type for this object' + type: string + type: object + type: array + type: object + type: array + suspend: + description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' + type: boolean type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - version: - description: 'Version: PostgreSQL Server version.' - type: string + waitForReconciliation: + description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' + type: boolean type: object type: object served: true @@ -101048,14 +156140,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220120previewstorage + name: v1api20241101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220120preview.FlexibleServer + Storage version of v1api20241101.FluxConfiguration Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/fluxConfigurations/stable/2024-11-01/fluxconfiguration.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} properties: apiVersion: description: |- @@ -101075,7 +156167,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220120preview.FlexibleServer_Spec + description: Storage version of v1api20241101.FluxConfiguration_Spec properties: $propertyBag: additionalProperties: @@ -101084,36 +156176,191 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: + azureBlob: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + Storage version of v1api20241101.AzureBlobDefinition + Parameters to reconcile to the AzureBlob source kind type. properties: - key: - description: Key is the key in the Kubernetes secret being referenced + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: type: string - name: + localAuthRef: + type: string + managedIdentity: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Storage version of v1api20241101.ManagedIdentityDefinition + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sasToken: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + servicePrincipal: + description: |- + Storage version of v1api20241101.ServicePrincipalDefinition + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: type: string - required: - - key - - name type: object - availabilityZone: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backup: + bucket: description: |- - Storage version of v1api20220120preview.Backup - Backup properties of a server + Storage version of v1api20241101.BucketDefinition + Parameters to reconcile to the Bucket source kind type. properties: $propertyBag: additionalProperties: @@ -101122,36 +156369,53 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupRetentionDays: + accessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: type: integer - geoRedundantBackup: + timeoutInSeconds: + type: integer + url: type: string type: object - createMode: - type: string - highAvailability: + configurationProtectedSettings: description: |- - Storage version of v1api20220120preview.HighAvailability - High availability properties of a server + SecretMapReference is a reference to a Kubernetes secret in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string - standbyAvailabilityZone: + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - name type: object - location: - type: string - maintenanceWindow: + gitRepository: description: |- - Storage version of v1api20220120preview.MaintenanceWindow - Maintenance window properties of a server. + Storage version of v1api20241101.GitRepositoryDefinition + Parameters to reconcile to the GitRepository source kind type. properties: $propertyBag: additionalProperties: @@ -101160,19 +156424,136 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - customWindow: + httpsCACert: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + httpsUser: type: string - dayOfWeek: - type: integer - startHour: + localAuthRef: + type: string + provider: + type: string + repositoryRef: + description: |- + Storage version of v1api20241101.RepositoryRefDefinition + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string + type: object + sshKnownHosts: + type: string + syncIntervalInSeconds: type: integer - startMinute: + timeoutInSeconds: type: integer + url: + type: string type: object - network: + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20241101.KustomizationDefinition + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + path: + type: string + postBuild: + description: |- + Storage version of v1api20241101.PostBuildDefinition + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20241101.SubstituteFromDefinition + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object + type: object + namespace: + type: string + ociRepository: description: |- - Storage version of v1api20220120preview.Network - Network properties of a server + Storage version of v1api20241101.OCIRepositoryDefinition + Parameters to reconcile to the OCIRepository source kind type. properties: $propertyBag: additionalProperties: @@ -101181,50 +156562,162 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - delegatedSubnetResourceReference: - description: 'DelegatedSubnetResourceReference: delegated subnet arm resource id.' + insecure: + type: boolean + layerSelector: + description: |- + Storage version of v1api20241101.LayerSelectorDefinition + Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mediaType: type: string - name: - description: Name is the Kubernetes name of the resource. + operation: type: string type: object - privateDnsZoneArmResourceReference: - description: 'PrivateDnsZoneArmResourceReference: private dns zone arm resource id.' + localAuthRef: + type: string + repositoryRef: + description: |- + Storage version of v1api20241101.OCIRepositoryRefDefinition + The source reference for the OCIRepository object. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + digest: type: string - group: - description: Group is the Kubernetes group of the resource. + semver: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + tag: type: string - name: - description: Name is the Kubernetes name of the resource. + type: object + serviceAccountName: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + tlsConfig: + description: |- + Storage version of v1api20241101.TlsConfigDefinition + Parameters to authenticate using TLS config for OCI repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + caCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + privateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + url: + type: string + useWorkloadIdentity: + type: boolean + verify: + description: |- + Storage version of v1api20241101.VerifyDefinition + Parameters to verify the authenticity of an OCI Artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchOidcIdentity: + items: + description: |- + Storage version of v1api20241101.MatchOidcIdentityDefinition + MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuer: + type: string + subject: + type: string + type: object + type: array + provider: type: string + verificationConfig: + additionalProperties: + type: string + type: object type: object type: object operatorSpec: description: |- - Storage version of v1api20220120preview.FlexibleServerOperatorSpec + Storage version of v1api20241101.FluxConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -101263,35 +156756,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20220120preview.FlexibleServerOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -101321,80 +156785,17 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20220120preview.FlexibleServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - pointInTimeUTC: - type: string - sku: - description: |- - Storage version of v1api20220120preview.Sku - Sku information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore'. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string group: @@ -101404,35 +156805,26 @@ spec: description: Kind is the Kubernetes kind of the resource. type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - storage: - description: |- - Storage version of v1api20220120preview.Storage - Storage properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageSizeGB: - type: integer - type: object - tags: - additionalProperties: - type: string - type: object - version: + reconciliationWaitDuration: + type: string + scope: + type: string + sourceKind: type: string + suspend: + type: boolean + waitForReconciliation: + type: boolean required: - owner type: object status: - description: Storage version of v1api20220120preview.FlexibleServer_STATUS + description: |- + Storage version of v1api20241101.FluxConfiguration_STATUS + The Flux Configuration object returned in Get & Put response. properties: $propertyBag: additionalProperties: @@ -101441,14 +156833,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - availabilityZone: - type: string - backup: + azureBlob: description: |- - Storage version of v1api20220120preview.Backup_STATUS - Backup properties of a server + Storage version of v1api20241101.AzureBlobDefinition_STATUS + Parameters to reconcile to the AzureBlob source kind type. properties: $propertyBag: additionalProperties: @@ -101457,13 +156845,78 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupRetentionDays: + containerName: + type: string + localAuthRef: + type: string + managedIdentity: + description: |- + Storage version of v1api20241101.ManagedIdentityDefinition_STATUS + Parameters to authenticate using a Managed Identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + servicePrincipal: + description: |- + Storage version of v1api20241101.ServicePrincipalDefinition_STATUS + Parameters to authenticate using Service Principal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertificateSendChain: + type: boolean + clientId: + type: string + tenantId: + type: string + type: object + syncIntervalInSeconds: type: integer - earliestRestoreDate: + timeoutInSeconds: + type: integer + url: type: string - geoRedundantBackup: + type: object + bucket: + description: |- + Storage version of v1api20241101.BucketDefinition_STATUS + Parameters to reconcile to the Bucket source kind type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bucketName: + type: string + insecure: + type: boolean + localAuthRef: + type: string + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + url: type: string type: object + complianceState: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -101507,14 +156960,16 @@ spec: - type type: object type: array - createMode: - type: string - fullyQualifiedDomainName: + configurationProtectedSettings: + additionalProperties: + type: string + type: object + errorMessage: type: string - highAvailability: + gitRepository: description: |- - Storage version of v1api20220120preview.HighAvailability_STATUS - High availability properties of a server + Storage version of v1api20241101.GitRepositoryDefinition_STATUS + Parameters to reconcile to the GitRepository source kind type. properties: $propertyBag: additionalProperties: @@ -101523,46 +156978,125 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: + httpsUser: type: string - standbyAvailabilityZone: + localAuthRef: type: string - state: + provider: type: string - type: object - id: - type: string - location: - type: string - maintenanceWindow: - description: |- - Storage version of v1api20220120preview.MaintenanceWindow_STATUS - Maintenance window properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string + repositoryRef: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20241101.RepositoryRefDefinition_STATUS + The source reference for the GitRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + branch: + type: string + commit: + type: string + semver: + type: string + tag: + type: string type: object - customWindow: + sshKnownHosts: type: string - dayOfWeek: - type: integer - startHour: + syncIntervalInSeconds: type: integer - startMinute: + timeoutInSeconds: type: integer + url: + type: string type: object - minorVersion: + id: type: string + kustomizations: + additionalProperties: + description: |- + Storage version of v1api20241101.KustomizationDefinition_STATUS + The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dependsOn: + items: + type: string + type: array + force: + type: boolean + name: + type: string + path: + type: string + postBuild: + description: |- + Storage version of v1api20241101.PostBuildDefinition_STATUS + The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + substitute: + additionalProperties: + type: string + type: object + substituteFrom: + items: + description: |- + Storage version of v1api20241101.SubstituteFromDefinition_STATUS + Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + name: + type: string + optional: + type: boolean + type: object + type: array + type: object + prune: + type: boolean + retryIntervalInSeconds: + type: integer + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + wait: + type: boolean + type: object + type: object name: type: string - network: + namespace: + type: string + ociRepository: description: |- - Storage version of v1api20220120preview.Network_STATUS - Network properties of a server + Storage version of v1api20241101.OCIRepositoryDefinition_STATUS + Parameters to reconcile to the OCIRepository source kind type. properties: $propertyBag: additionalProperties: @@ -101571,90 +157105,272 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - delegatedSubnetResourceId: + insecure: + type: boolean + layerSelector: + description: |- + Storage version of v1api20241101.LayerSelectorDefinition_STATUS + Parameters to specify which layer to pull from the OCI artifact. By default, the first layer in the artifact is pulled. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mediaType: + type: string + operation: + type: string + type: object + localAuthRef: type: string - privateDnsZoneArmResourceId: + repositoryRef: + description: |- + Storage version of v1api20241101.OCIRepositoryRefDefinition_STATUS + The source reference for the OCIRepository object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + digest: + type: string + semver: + type: string + tag: + type: string + type: object + serviceAccountName: type: string - publicNetworkAccess: + syncIntervalInSeconds: + type: integer + timeoutInSeconds: + type: integer + tlsConfig: + description: |- + Storage version of v1api20241101.TlsConfigDefinition_STATUS + Parameters to authenticate using TLS config for OCI repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + url: type: string + useWorkloadIdentity: + type: boolean + verify: + description: |- + Storage version of v1api20241101.VerifyDefinition_STATUS + Parameters to verify the authenticity of an OCI Artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchOidcIdentity: + items: + description: |- + Storage version of v1api20241101.MatchOidcIdentityDefinition_STATUS + MatchOIDCIdentity defines the criteria for matching the identity while verifying an OCI artifact. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + issuer: + type: string + subject: + type: string + type: object + type: array + provider: + type: string + verificationConfig: + additionalProperties: + type: string + type: object + type: object type: object - pointInTimeUTC: + reconciliationWaitDuration: type: string - sku: - description: |- - Storage version of v1api20220120preview.Sku_STATUS - Sku information related properties of a server. - properties: - $propertyBag: - additionalProperties: + repositoryPublicKey: + type: string + scope: + type: string + sourceKind: + type: string + sourceSyncedCommitId: + type: string + sourceUpdatedAt: + type: string + statusUpdatedAt: + type: string + statuses: + items: + description: |- + Storage version of v1api20241101.ObjectStatusDefinition_STATUS + Statuses of objects deployed by the user-specified kustomizations from the git repository. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appliedBy: + description: |- + Storage version of v1api20241101.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + complianceState: + type: string + helmReleaseProperties: + description: |- + Storage version of v1api20241101.HelmReleasePropertiesDefinition_STATUS + Properties for HelmRelease objects + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureCount: + type: integer + helmChartRef: + description: |- + Storage version of v1api20241101.ObjectReferenceDefinition_STATUS + Object reference to a Kubernetes object on a cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + type: object + installFailureCount: + type: integer + lastRevisionApplied: + type: integer + upgradeFailureCount: + type: integer + type: object + kind: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceId: - type: string - state: - type: string - storage: - description: |- - Storage version of v1api20220120preview.Storage_STATUS - Storage properties of a server - properties: - $propertyBag: - additionalProperties: + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageSizeGB: - type: integer - type: object - systemData: - description: |- - Storage version of v1api20220120preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: + namespace: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object + statusConditions: + items: + description: |- + Storage version of v1api20241101.ObjectStatusConditionDefinition_STATUS + Status condition of Kubernetes object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lastTransitionTime: + type: string + message: + type: string + reason: + type: string + status: + type: string + type: + type: string + type: object + type: array + type: object + type: array + suspend: + type: boolean type: type: string - version: - type: string + waitForReconciliation: + type: boolean type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: images.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: Image + listKind: ImageList + plural: images + singular: image + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -101668,13 +157384,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221201 + name: v1api20210701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FlexibleServers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2021-07-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} properties: apiVersion: description: |- @@ -101695,253 +157411,36 @@ spec: type: object spec: properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - authConfig: - description: 'AuthConfig: AuthConfig properties of a server.' - properties: - activeDirectoryAuth: - description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' - enum: - - Disabled - - Enabled - type: string - passwordAuth: - description: 'PasswordAuth: If Enabled, Password authentication is enabled.' - enum: - - Disabled - - Enabled - type: string - tenantId: - description: 'TenantId: Tenant id of the server.' - type: string - type: object - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 63 - minLength: 3 - pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* - type: string - backup: - description: 'Backup: Backup properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' - enum: - - Disabled - - Enabled - type: string - type: object - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - enum: - - Create - - Default - - GeoRestore - - PointInTimeRestore - - Replica - - Update type: string - dataEncryption: - description: 'DataEncryption: Data encryption properties of a server.' - properties: - primaryKeyURI: - description: 'PrimaryKeyURI: URI for the key for data encryption for primary server.' - type: string - primaryKeyURIFromConfig: - description: 'PrimaryKeyURIFromConfig: URI for the key for data encryption for primary server.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - primaryUserAssignedIdentityReference: - description: |- - PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for - primary server. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' - enum: - - AzureKeyVault - - SystemManaged - type: string - type: object - highAvailability: - description: 'HighAvailability: High availability properties of a server.' + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' properties: - mode: - description: 'Mode: The HA mode for the server.' - enum: - - Disabled - - SameZone - - ZoneRedundant - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' + name: + description: 'Name: The name of the extended location.' type: string - type: object - identity: - description: 'Identity: Describes the identity of the application.' - properties: type: - description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + description: 'Type: The type of the extended location.' enum: - - None - - UserAssigned + - EdgeZone type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: represents user assigned identities map.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type type: object + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. + enum: + - V1 + - V2 + type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location' type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - network: - description: |- - Network: Network properties of a server. This Network property is required to be passed only in case you want the server - to be Private access server. - properties: - delegatedSubnetResourceReference: - description: |- - DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case - we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update - the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneArmResourceReference: - description: |- - PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in - case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to - update the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -101977,27 +157476,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no - config map will be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -102028,27 +157506,6 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- @@ -102063,118 +157520,309 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - pointInTimeUTC: - description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore' or 'GeoRestore'. - type: string - replicationRole: - description: 'ReplicationRole: Replication role of the server' - enum: - - AsyncReplica - - GeoAsyncReplica - - None - - Primary - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' - enum: - - Burstable - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - - tier + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' properties: - armId: + dataDisks: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - storage: - description: 'Storage: Storage properties of a server.' - properties: - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - lun + type: object + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + description: 'OsState: The OS State.' + enum: + - Generalized + - Specialized + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - osState + - osType + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object - version: - description: 'Version: PostgreSQL Server version.' - enum: - - "11" - - "12" - - "13" - - "14" - type: string required: - location - owner type: object status: + description: |- + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - authConfig: - description: 'AuthConfig: AuthConfig properties of a server.' - properties: - activeDirectoryAuth: - description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' - type: string - passwordAuth: - description: 'PasswordAuth: If Enabled, Password authentication is enabled.' - type: string - tenantId: - description: 'TenantId: Tenant id of the server.' - type: string - type: object - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string - backup: - description: 'Backup: Backup properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - earliestRestoreDate: - description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' - type: string - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -102219,182 +157867,179 @@ spec: - type type: object type: array - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - type: string - dataEncryption: - description: 'DataEncryption: Data encryption properties of a server.' + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' properties: - primaryKeyURI: - description: 'PrimaryKeyURI: URI for the key for data encryption for primary server.' - type: string - primaryUserAssignedIdentityId: - description: |- - PrimaryUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption for primary - server. + name: + description: 'Name: The name of the extended location.' type: string type: - description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' + description: 'Type: The type of the extended location.' type: string type: object - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. type: string - highAvailability: - description: 'HighAvailability: High availability properties of a server.' - properties: - mode: - description: 'Mode: The HA mode for the server.' - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' - type: string - state: - description: 'State: A state of a HA server that is visible to user.' - type: string - type: object id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource Id' type: string - identity: - description: 'Identity: Describes the identity of the application.' + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state.' + type: string + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' properties: - tenantId: - description: 'TenantId: Tenant id of the server.' - type: string - type: - description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + id: + description: 'Id: Resource Id' type: string - userAssignedIdentities: - additionalProperties: - description: Describes a single user-assigned identity associated with the application. + type: object + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + properties: + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. properties: - clientId: - description: 'ClientId: the client identifier of the Service Principal which this identity represents.' + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' type: string - principalId: - description: 'PrincipalId: the object identifier of the Service Principal which this identity represents.' + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. type: string type: object - description: 'UserAssignedIdentities: represents user assigned identities map.' + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + osState: + description: 'OsState: The OS State.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string type: object - type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - minorVersion: - description: 'MinorVersion: The minor version of the server.' - type: string - name: - description: 'Name: The name of the resource' - type: string - network: - description: |- - Network: Network properties of a server. This Network property is required to be passed only in case you want the server - to be Private access server. - properties: - delegatedSubnetResourceId: - description: |- - DelegatedSubnetResourceId: Delegated subnet arm resource id. This is required to be passed during create, in case we - want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the - value for Private DNS zone. - type: string - privateDnsZoneArmResourceId: + zoneResilient: description: |- - PrivateDnsZoneArmResourceId: Private dns zone arm resource id. This is required to be passed during create, in case we - want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the - value for Private DNS zone. - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: public network access is enabled or not' - type: string - type: object - pointInTimeUTC: - description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore' or 'GeoRestore'. - type: string - replicaCapacity: - description: 'ReplicaCapacity: Replicas allowed for a server.' - type: integer - replicationRole: - description: 'ReplicationRole: Replication role of the server' - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' - type: string - type: object - sourceServerResourceId: - description: |- - SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server - type: string - state: - description: 'State: A state of a server that is visible to user.' - type: string - storage: - description: 'Storage: Storage properties of a server.' - properties: - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - type: object - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - version: - description: 'Version: PostgreSQL Server version.' + description: 'Type: Resource type' type: string type: object type: object @@ -102415,14 +158060,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221201storage + name: v1api20210701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20221201.FlexibleServer + Storage version of v1api20210701.Image Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FlexibleServers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2021-07-01/compute.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} properties: apiVersion: description: |- @@ -102442,7 +158087,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221201.FlexibleServer_Spec + description: Storage version of v1api20210701.Image_Spec properties: $propertyBag: additionalProperties: @@ -102451,130 +158096,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - authConfig: - description: |- - Storage version of v1api20221201.AuthConfig - Authentication configuration properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - activeDirectoryAuth: - type: string - passwordAuth: - type: string - tenantId: - type: string - type: object - availabilityZone: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - backup: - description: |- - Storage version of v1api20221201.Backup - Backup properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - type: object - createMode: - type: string - dataEncryption: - description: |- - Storage version of v1api20221201.DataEncryption - Data encryption properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryKeyURI: - type: string - primaryKeyURIFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - primaryUserAssignedIdentityReference: - description: |- - PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for - primary server. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - type: string - type: object - highAvailability: + extendedLocation: description: |- - Storage version of v1api20221201.HighAvailability - High availability properties of a server + Storage version of v1api20210701.ExtendedLocation + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -102583,146 +158113,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: - type: string - standbyAvailabilityZone: + name: type: string - type: object - identity: - description: |- - Storage version of v1api20221201.UserAssignedIdentity - Information describing the identities associated with this application. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object type: type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20221201.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object + hyperVGeneration: + type: string location: type: string - maintenanceWindow: - description: |- - Storage version of v1api20221201.MaintenanceWindow - Maintenance window properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: - type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object - network: - description: |- - Storage version of v1api20221201.Network - Network properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceReference: - description: |- - DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case - we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update - the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneArmResourceReference: - description: |- - PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in - case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to - update the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object operatorSpec: description: |- - Storage version of v1api20221201.FlexibleServerOperatorSpec + Storage version of v1api20210701.ImageOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -102761,35 +158163,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20221201.FlexibleServerOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -102819,35 +158192,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20221201.FlexibleServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -102864,14 +158208,8 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - pointInTimeUTC: - type: string - replicationRole: - type: string - sku: - description: |- - Storage version of v1api20221201.Sku - Sku information related properties of a server. + sourceVirtualMachine: + description: Storage version of v1api20210701.SubResource properties: $propertyBag: additionalProperties: @@ -102880,37 +158218,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore' or 'GeoRestore' or 'Replica'. This property is returned only for Replica server - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - storage: + storageProfile: description: |- - Storage version of v1api20221201.Storage - Storage properties of a server + Storage version of v1api20210701.ImageStorageProfile + Describes a storage profile. properties: $propertyBag: additionalProperties: @@ -102919,20 +158251,257 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - storageSizeGB: - type: integer + dataDisks: + items: + description: |- + Storage version of v1api20210701.ImageDataDisk + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: + description: |- + Storage version of v1api20210701.ImageOSDisk + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20210701.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + zoneResilient: + type: boolean type: object tags: additionalProperties: type: string type: object - version: - type: string required: - owner type: object status: - description: Storage version of v1api20221201.FlexibleServer_STATUS + description: |- + Storage version of v1api20210701.Image_STATUS + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. properties: $propertyBag: additionalProperties: @@ -102941,48 +158510,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - authConfig: - description: |- - Storage version of v1api20221201.AuthConfig_STATUS - Authentication configuration properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - activeDirectoryAuth: - type: string - passwordAuth: - type: string - tenantId: - type: string - type: object - availabilityZone: - type: string - backup: - description: |- - Storage version of v1api20221201.Backup_STATUS - Backup properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - earliestRestoreDate: - type: string - geoRedundantBackup: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -103026,12 +158553,10 @@ spec: - type type: object type: array - createMode: - type: string - dataEncryption: + extendedLocation: description: |- - Storage version of v1api20221201.DataEncryption_STATUS - Data encryption properties of a server + Storage version of v1api20210701.ExtendedLocation_STATUS + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -103040,19 +158565,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - primaryKeyURI: - type: string - primaryUserAssignedIdentityId: + name: type: string type: type: string type: object - fullyQualifiedDomainName: + hyperVGeneration: type: string - highAvailability: - description: |- - Storage version of v1api20221201.HighAvailability_STATUS - High availability properties of a server + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + sourceVirtualMachine: + description: Storage version of v1api20210701.SubResource_STATUS properties: $propertyBag: additionalProperties: @@ -103061,19 +158590,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: - type: string - standbyAvailabilityZone: - type: string - state: + id: type: string type: object - id: - type: string - identity: + storageProfile: description: |- - Storage version of v1api20221201.UserAssignedIdentity_STATUS - Information describing the identities associated with this application. + Storage version of v1api20210701.ImageStorageProfile_STATUS + Describes a storage profile. properties: $propertyBag: additionalProperties: @@ -103082,15 +158605,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: + dataDisks: + items: description: |- - Storage version of v1api20221201.UserIdentity_STATUS - Describes a single user-assigned identity associated with the application. + Storage version of v1api20210701.ImageDataDisk_STATUS + Describes a data disk. properties: $propertyBag: additionalProperties: @@ -103099,125 +158618,123 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + blobUri: type: string - principalId: + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + snapshot: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: type: string type: object - type: object - type: object - location: - type: string - maintenanceWindow: - description: |- - Storage version of v1api20221201.MaintenanceWindow_STATUS - Maintenance window properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: - type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object - minorVersion: - type: string - name: - type: string - network: - description: |- - Storage version of v1api20221201.Network_STATUS - Network properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceId: - type: string - privateDnsZoneArmResourceId: - type: string - publicNetworkAccess: - type: string - type: object - pointInTimeUTC: - type: string - replicaCapacity: - type: integer - replicationRole: - type: string - sku: - description: |- - Storage version of v1api20221201.Sku_STATUS - Sku information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceId: - type: string - state: - type: string - storage: - description: |- - Storage version of v1api20221201.Storage_STATUS - Storage properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - storageSizeGB: - type: integer - type: object - systemData: - description: |- - Storage version of v1api20221201.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + osDisk: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20210701.ImageOSDisk_STATUS + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20210701.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string + zoneResilient: + type: boolean type: object tags: additionalProperties: @@ -103225,12 +158742,10 @@ spec: type: object type: type: string - version: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -103246,13 +158761,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230601preview + name: v1api20220301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/image.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} properties: apiVersion: description: |- @@ -103273,312 +158788,36 @@ spec: type: object spec: properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - authConfig: - description: 'AuthConfig: AuthConfig properties of a server.' - properties: - activeDirectoryAuth: - description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' - enum: - - Disabled - - Enabled - type: string - passwordAuth: - description: 'PasswordAuth: If Enabled, Password authentication is enabled.' - enum: - - Disabled - - Enabled - type: string - tenantId: - description: 'TenantId: Tenant id of the server.' - type: string - type: object - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 63 - minLength: 3 - pattern: ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)* - type: string - backup: - description: 'Backup: Backup properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' - enum: - - Disabled - - Enabled - type: string - type: object - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - enum: - - Create - - Default - - GeoRestore - - PointInTimeRestore - - Replica - - ReviveDropped - - Update type: string - dataEncryption: - description: 'DataEncryption: Data encryption properties of a server.' - properties: - geoBackupEncryptionKeyStatus: - description: 'GeoBackupEncryptionKeyStatus: Geo-backup encryption key status for Data encryption enabled server.' - enum: - - Invalid - - Valid - type: string - geoBackupKeyURI: - description: 'GeoBackupKeyURI: URI for the key in keyvault for data encryption for geo-backup of server.' - type: string - geoBackupKeyURIFromConfig: - description: 'GeoBackupKeyURIFromConfig: URI for the key in keyvault for data encryption for geo-backup of server.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - geoBackupUserAssignedIdentityReference: - description: |- - GeoBackupUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for - geo-backup of server. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryEncryptionKeyStatus: - description: 'PrimaryEncryptionKeyStatus: Primary encryption key status for Data encryption enabled server.' - enum: - - Invalid - - Valid - type: string - primaryKeyURI: - description: 'PrimaryKeyURI: URI for the key in keyvault for data encryption of the primary server.' - type: string - primaryKeyURIFromConfig: - description: 'PrimaryKeyURIFromConfig: URI for the key in keyvault for data encryption of the primary server.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - primaryUserAssignedIdentityReference: - description: |- - PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption of the - primary server. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' - enum: - - AzureKeyVault - - SystemManaged - type: string - type: object - highAvailability: - description: 'HighAvailability: High availability properties of a server.' + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' properties: - mode: - description: 'Mode: The HA mode for the server.' - enum: - - Disabled - - SameZone - - ZoneRedundant - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' + name: + description: 'Name: The name of the extended location.' type: string - type: object - identity: - description: 'Identity: Describes the identity of the application.' - properties: type: - description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' + description: 'Type: The type of the extended location.' enum: - - None - - UserAssigned + - EdgeZone type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: represents user assigned identities map.' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type type: object + hyperVGeneration: + description: |- + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. + enum: + - V1 + - V2 + type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location' type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - network: - description: |- - Network: Network properties of a server. This Network property is required to be passed only in case you want the server - to be Private access server. - properties: - delegatedSubnetResourceReference: - description: |- - DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case - we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update - the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneArmResourceReference: - description: |- - PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in - case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to - update the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: public network access is enabled or not' - enum: - - Disabled - - Enabled - type: string - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -103614,27 +158853,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no - config map will be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -103665,27 +158883,6 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- @@ -103700,184 +158897,311 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - pointInTimeUTC: - description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'. - type: string - replica: - description: |- - Replica: Replica properties of a server. These Replica properties are required to be passed only in case you want to - Promote a server. - properties: - promoteMode: - description: 'PromoteMode: Sets the promote mode for a replica server. This is a write only property.' - enum: - - standalone - - switchover - type: string - promoteOption: - description: 'PromoteOption: Sets the promote options for a replica server. This is a write only property.' - enum: - - forced - - planned - type: string - role: - description: 'Role: Used to indicate role of the server in replication set.' - enum: - - AsyncReplica - - GeoAsyncReplica - - None - - Primary - type: string - type: object - replicationRole: - description: 'ReplicationRole: Replication role of the server' - enum: - - AsyncReplica - - GeoAsyncReplica - - None - - Primary - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' properties: - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' - enum: - - Burstable - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - - tier + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' properties: - armId: + dataDisks: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - storage: - description: 'Storage: Storage properties of a server.' - properties: - autoGrow: - description: 'AutoGrow: Flag to enable / disable Storage Auto grow for flexible server.' - enum: - - Disabled - - Enabled - type: string - iops: - description: 'Iops: Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS' - type: integer - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - throughput: - description: 'Throughput: Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS' - type: integer - tier: - description: 'Tier: Name of storage tier for IOPS.' - enum: - - P1 - - P10 - - P15 - - P2 - - P20 - - P3 - - P30 - - P4 - - P40 - - P50 - - P6 - - P60 - - P70 - - P80 - type: string - type: + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - lun + type: object + type: array + osDisk: description: |- - Type: Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not - specified - enum: - - PremiumV2_LRS - - Premium_LRS - type: string + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + enum: + - None + - ReadOnly + - ReadWrite + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: + description: 'OsState: The OS State. For managed images, use Generalized.' + enum: + - Generalized + - Specialized + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + enum: + - Linux + - Windows + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + enum: + - PremiumV2_LRS + - Premium_LRS + - Premium_ZRS + - StandardSSD_LRS + - StandardSSD_ZRS + - Standard_LRS + - UltraSSD_LRS + type: string + required: + - osState + - osType + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object - version: - description: 'Version: PostgreSQL Server version.' - enum: - - "11" - - "12" - - "13" - - "14" - - "15" - - "16" - type: string required: - location - owner type: object status: + description: |- + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - authConfig: - description: 'AuthConfig: AuthConfig properties of a server.' - properties: - activeDirectoryAuth: - description: 'ActiveDirectoryAuth: If Enabled, Azure Active Directory authentication is enabled.' - type: string - passwordAuth: - description: 'PasswordAuth: If Enabled, Password authentication is enabled.' - type: string - tenantId: - description: 'TenantId: Tenant id of the server.' - type: string - type: object - availabilityZone: - description: 'AvailabilityZone: availability zone information of the server.' - type: string - backup: - description: 'Backup: Backup properties of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - earliestRestoreDate: - description: 'EarliestRestoreDate: The earliest restore point time (ISO8601 format) for server.' - type: string - geoRedundantBackup: - description: 'GeoRedundantBackup: A value indicating whether Geo-Redundant backup is enabled on the server.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -103896,274 +159220,205 @@ spec: .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance. format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createMode: - description: 'CreateMode: The mode to create a new PostgreSQL server.' - type: string - dataEncryption: - description: 'DataEncryption: Data encryption properties of a server.' - properties: - geoBackupEncryptionKeyStatus: - description: 'GeoBackupEncryptionKeyStatus: Geo-backup encryption key status for Data encryption enabled server.' - type: string - geoBackupKeyURI: - description: 'GeoBackupKeyURI: URI for the key in keyvault for data encryption for geo-backup of server.' - type: string - geoBackupUserAssignedIdentityId: - description: |- - GeoBackupUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption for - geo-backup of server. - type: string - primaryEncryptionKeyStatus: - description: 'PrimaryEncryptionKeyStatus: Primary encryption key status for Data encryption enabled server.' - type: string - primaryKeyURI: - description: 'PrimaryKeyURI: URI for the key in keyvault for data encryption of the primary server.' - type: string - primaryUserAssignedIdentityId: - description: |- - PrimaryUserAssignedIdentityId: Resource Id for the User assigned identity to be used for data encryption of the primary - server. - type: string - type: - description: 'Type: Data encryption type to depict if it is System Managed vs Azure Key vault.' - type: string - type: object - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' - type: string - highAvailability: - description: 'HighAvailability: High availability properties of a server.' - properties: - mode: - description: 'Mode: The HA mode for the server.' - type: string - standbyAvailabilityZone: - description: 'StandbyAvailabilityZone: availability zone information of the standby.' - type: string - state: - description: 'State: A state of a HA server that is visible to user.' - type: string - type: object - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - identity: - description: 'Identity: Describes the identity of the application.' - properties: - tenantId: - description: 'TenantId: Tenant id of the server.' - type: string - type: - description: 'Type: the types of identities associated with this resource; currently restricted to ''None and UserAssigned''' - type: string - userAssignedIdentities: - additionalProperties: - description: Describes a single user-assigned identity associated with the application. - properties: - clientId: - description: 'ClientId: the client identifier of the Service Principal which this identity represents.' - type: string - principalId: - description: 'PrincipalId: the object identifier of the Service Principal which this identity represents.' - type: string - type: object - description: 'UserAssignedIdentities: represents user assigned identities map.' - type: object - type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window properties of a server.' - properties: - customWindow: - description: 'CustomWindow: indicates whether custom window is enabled or disabled' - type: string - dayOfWeek: - description: 'DayOfWeek: day of week for maintenance window' - type: integer - startHour: - description: 'StartHour: start hour for maintenance window' - type: integer - startMinute: - description: 'StartMinute: start minute for maintenance window' - type: integer - type: object - minorVersion: - description: 'MinorVersion: The minor version of the server.' - type: string - name: - description: 'Name: The name of the resource' - type: string - network: - description: |- - Network: Network properties of a server. This Network property is required to be passed only in case you want the server - to be Private access server. - properties: - delegatedSubnetResourceId: - description: |- - DelegatedSubnetResourceId: Delegated subnet arm resource id. This is required to be passed during create, in case we - want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the - value for Private DNS zone. - type: string - privateDnsZoneArmResourceId: - description: |- - PrivateDnsZoneArmResourceId: Private dns zone arm resource id. This is required to be passed during create, in case we - want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update the - value for Private DNS zone. - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: public network access is enabled or not' - type: string - type: object - pointInTimeUTC: - description: |- - PointInTimeUTC: Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when - 'createMode' is 'PointInTimeRestore' or 'GeoRestore' or 'ReviveDropped'. - type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified resource.' - items: - description: The private endpoint connection resource. - properties: - id: + type: integer + reason: description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - replica: - description: |- - Replica: Replica properties of a server. These Replica properties are required to be passed only in case you want to - Promote a server. - properties: - capacity: - description: 'Capacity: Replicas allowed for a server.' - type: integer - promoteMode: - description: 'PromoteMode: Sets the promote mode for a replica server. This is a write only property.' - type: string - promoteOption: - description: 'PromoteOption: Sets the promote options for a replica server. This is a write only property.' - type: string - replicationState: - description: |- - ReplicationState: Gets the replication state of a replica server. This property is returned only for replicas api call. - Supported values are Active, Catchup, Provisioning, Updating, Broken, Reconfiguring - type: string - role: - description: 'Role: Used to indicate role of the server in replication set.' - type: string - type: object - replicaCapacity: - description: 'ReplicaCapacity: Replicas allowed for a server.' - type: integer - replicationRole: - description: 'ReplicationRole: Replication role of the server' - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' + extendedLocation: + description: 'ExtendedLocation: The extended location of the Image.' properties: name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3.' + description: 'Name: The name of the extended location.' type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Burstable.' + type: + description: 'Type: The type of the extended location.' type: string type: object - sourceServerResourceId: + hyperVGeneration: description: |- - SourceServerResourceId: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server + HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version + 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource + like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed + resource. type: string - state: - description: 'State: A state of a server that is visible to user.' + id: + description: 'Id: Resource Id' type: string - storage: - description: 'Storage: Storage properties of a server.' + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Resource name' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state.' + type: string + sourceVirtualMachine: + description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' properties: - autoGrow: - description: 'AutoGrow: Flag to enable / disable Storage Auto grow for flexible server.' - type: string - iops: - description: 'Iops: Storage tier IOPS quantity. This property is required to be set for storage Type PremiumV2_LRS' - type: integer - storageSizeGB: - description: 'StorageSizeGB: Max storage allowed for a server.' - type: integer - throughput: - description: 'Throughput: Storage throughput for the server. This is required to be set for storage Type PremiumV2_LRS' - type: integer - tier: - description: 'Tier: Name of storage tier for IOPS.' - type: string - type: - description: |- - Type: Storage type for the server. Allowed values are Premium_LRS and PremiumV2_LRS, and default is Premium_LRS if not - specified + id: + description: 'Id: Resource Id' type: string type: object - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + storageProfile: + description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string + dataDisks: + description: |- + DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + items: + description: Describes a data disk. + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + lun: + description: |- + Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and + therefore must be unique for each data disk attached to a VM. + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + type: array + osDisk: + description: |- + OsDisk: Specifies information about the operating system disk used by the virtual machine. + For more information about disks, see [About disks and VHDs for Azure virtual + machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + properties: + blobUri: + description: 'BlobUri: The Virtual Hard Disk.' + type: string + caching: + description: |- + Caching: Specifies the caching requirements. + Possible values are: + None + ReadOnly + ReadWrite + Default: None for Standard storage. ReadOnly for Premium storage + type: string + diskEncryptionSet: + description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the + disk in a virtual machine image. + This value cannot be larger than 1023 GB + type: integer + managedDisk: + description: 'ManagedDisk: The managedDisk.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + osState: + description: 'OsState: The OS State. For managed images, use Generalized.' + type: string + osType: + description: |- + OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a + custom image. + Possible values are: + Windows + Linux + type: string + snapshot: + description: 'Snapshot: The snapshot.' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + storageAccountType: + description: |- + StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with + data disks, it cannot be used with OS Disk. + type: string + type: object + zoneResilient: + description: |- + ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be + created only in regions that provide Zone Redundant Storage (ZRS). + type: boolean type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Resource tags' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - version: - description: 'Version: PostgreSQL Server version.' + description: 'Type: Resource type' type: string type: object type: object @@ -104184,14 +159439,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230601previewstorage + name: v1api20220301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230601preview.FlexibleServer + Storage version of v1api20220301.Image Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FlexibleServers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName} + - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/image.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} properties: apiVersion: description: |- @@ -104211,7 +159466,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230601preview.FlexibleServer_Spec + description: Storage version of v1api20220301.Image_Spec properties: $propertyBag: additionalProperties: @@ -104220,29 +159475,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: + azureName: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - authConfig: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + extendedLocation: description: |- - Storage version of v1api20230601preview.AuthConfig - Authentication configuration properties of a server + Storage version of v1api20220301.ExtendedLocation + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -104251,24 +159492,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeDirectoryAuth: - type: string - passwordAuth: + name: type: string - tenantId: + type: type: string type: object - availabilityZone: + hyperVGeneration: type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + location: type: string - backup: + operatorSpec: description: |- - Storage version of v1api20230601preview.Backup - Backup properties of a server + Storage version of v1api20220301.ImageOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -104277,17 +159513,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - createMode: + originalVersion: type: string - dataEncryption: + owner: description: |- - Storage version of v1api20230601preview.DataEncryption - Data encryption properties of a server + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sourceVirtualMachine: + description: Storage version of v1api20220301.SubResource properties: $propertyBag: additionalProperties: @@ -104296,31 +159597,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - geoBackupEncryptionKeyStatus: - type: string - geoBackupKeyURI: - type: string - geoBackupKeyURIFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - geoBackupUserAssignedIdentityReference: - description: |- - GeoBackupUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption for - geo-backup of server. + reference: + description: 'Reference: Resource Id' properties: armId: description: |- @@ -104339,56 +159617,325 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - primaryEncryptionKeyStatus: - type: string - primaryKeyURI: - type: string - primaryKeyURIFromConfig: + type: object + storageProfile: + description: |- + Storage version of v1api20220301.ImageStorageProfile + Describes a storage profile. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - primaryUserAssignedIdentityReference: + dataDisks: + items: + description: |- + Storage version of v1api20220301.ImageDataDisk + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + snapshot: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: description: |- - PrimaryUserAssignedIdentityReference: Resource Id for the User assigned identity to be used for data encryption of the - primary server. + Storage version of v1api20220301.ImageOSDisk + Describes an Operating System disk. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: type: string - group: - description: Group is the Kubernetes group of the resource. + caching: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + osState: type: string - name: - description: Name is the Kubernetes name of the resource. + osType: + type: string + snapshot: + description: Storage version of v1api20220301.SubResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + storageAccountType: type: string type: object - type: - type: string + zoneResilient: + type: boolean type: object - highAvailability: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220301.Image_STATUS + The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual + machine. If SourceImage is provided, the destination virtual hard drive must not exist. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230601preview.HighAvailability - High availability properties of a server + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -104397,15 +159944,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: + name: type: string - standbyAvailabilityZone: + type: type: string type: object - identity: + hyperVGeneration: + type: string + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + sourceVirtualMachine: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageProfile: description: |- - Storage version of v1api20230601preview.UserAssignedIdentity - Information describing the identities associated with this application. + Storage version of v1api20220301.ImageStorageProfile_STATUS + Describes a storage profile. properties: $propertyBag: additionalProperties: @@ -104414,21 +159984,246 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + dataDisks: + items: + description: |- + Storage version of v1api20220301.ImageDataDisk_STATUS + Describes a data disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + lun: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + snapshot: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + type: array + osDisk: + description: |- + Storage version of v1api20220301.ImageOSDisk_STATUS + Describes an Operating System disk. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobUri: + type: string + caching: + type: string + diskEncryptionSet: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + diskSizeGB: + type: integer + managedDisk: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + osState: + type: string + osType: + type: string + snapshot: + description: Storage version of v1api20220301.SubResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + storageAccountType: + type: string + type: object + zoneResilient: + type: boolean + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: iothubs.devices.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: devices.azure.com + names: + categories: + - azure + - devices + kind: IotHub + listKind: IotHubList + plural: iothubs + singular: iothub + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210702 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: The managed identities for the IotHub.' + properties: type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string userAssignedIdentities: items: - description: |- - Storage version of v1api20230601preview.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: @@ -104453,102 +160248,15 @@ spec: type: array type: object location: + description: 'Location: The resource location.' type: string - maintenanceWindow: - description: |- - Storage version of v1api20230601preview.MaintenanceWindow - Maintenance window properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customWindow: - type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object - network: - description: |- - Storage version of v1api20230601preview.Network - Network properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedSubnetResourceReference: - description: |- - DelegatedSubnetResourceReference: Delegated subnet arm resource id. This is required to be passed during create, in case - we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to update - the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateDnsZoneArmResourceReference: - description: |- - PrivateDnsZoneArmResourceReference: Private dns zone arm resource id. This is required to be passed during create, in - case we want the server to be VNET injected, i.e. Private access server. During update, pass this only if we want to - update the value for Private DNS zone. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20230601preview.FlexibleServerOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -104577,258 +160285,997 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20230601preview.FlexibleServerOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + devicePrimaryKey: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DevicePrimaryKey: indicates where the DevicePrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - fullyQualifiedDomainName: + deviceSecondaryKey: description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. + DeviceSecondaryKey: indicates where the DeviceSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. properties: key: - description: Key is the key in the ConfigMap being referenced + description: Key is the key in the Kubernetes secret being referenced. type: string name: description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerPrimaryKey: + description: |- + IotHubOwnerPrimaryKey: indicates where the IotHubOwnerPrimaryKey secret should be placed. If omitted, the secret will + not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerSecondaryKey: + description: |- + IotHubOwnerSecondaryKey: indicates where the IotHubOwnerSecondaryKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadPrimaryKey: + description: |- + RegistryReadPrimaryKey: indicates where the RegistryReadPrimaryKey secret should be placed. If omitted, the secret will + not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadSecondaryKey: + description: |- + RegistryReadSecondaryKey: indicates where the RegistryReadSecondaryKey secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWritePrimaryKey: + description: |- + RegistryReadWritePrimaryKey: indicates where the RegistryReadWritePrimaryKey secret should be placed. If omitted, the + secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWriteSecondaryKey: + description: |- + RegistryReadWriteSecondaryKey: indicates where the RegistryReadWriteSecondaryKey secret should be placed. If omitted, + the secret will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + servicePrimaryKey: + description: |- + ServicePrimaryKey: indicates where the ServicePrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + serviceSecondaryKey: + description: |- + ServiceSecondaryKey: indicates where the ServiceSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string required: - key - name type: object type: object - secretExpressions: + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: IotHub properties' + properties: + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + type: string + type: array + authorizationPolicies: + description: 'AuthorizationPolicies: The shared access policies you can use to secure a connection to the IoT hub.' + items: + description: The properties of an IoT hub shared access policy. + properties: + keyName: + description: 'KeyName: The name of the shared access policy.' + type: string + rights: + description: 'Rights: The permissions assigned to the shared access policy.' + enum: + - DeviceConnect + - RegistryRead + - RegistryRead, DeviceConnect + - RegistryRead, RegistryWrite + - RegistryRead, RegistryWrite, DeviceConnect + - RegistryRead, RegistryWrite, ServiceConnect + - RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect + - RegistryRead, ServiceConnect + - RegistryRead, ServiceConnect, DeviceConnect + - RegistryWrite + - RegistryWrite, DeviceConnect + - RegistryWrite, ServiceConnect + - RegistryWrite, ServiceConnect, DeviceConnect + - ServiceConnect + - ServiceConnect, DeviceConnect + type: string + required: + - keyName + - rights + type: object + type: array + cloudToDevice: + description: 'CloudToDevice: The IoT hub cloud-to-device messaging properties.' + properties: + defaultTtlAsIso8601: + description: |- + DefaultTtlAsIso8601: The default time to live for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + feedback: + description: 'Feedback: The properties of the feedback queue for cloud-to-device messages.' + properties: + lockDurationAsIso8601: + description: |- + LockDurationAsIso8601: The lock duration for the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message on the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + maximum: 100 + minimum: 1 + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + type: object + maxDeliveryCount: + description: |- + MaxDeliveryCount: The max delivery count for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + maximum: 100 + minimum: 1 + type: integer + type: object + comments: + description: 'Comments: IoT hub comments.' + type: string + disableDeviceSAS: + description: |- + DisableDeviceSAS: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for + authentication. + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.' + type: boolean + disableModuleSAS: + description: 'DisableModuleSAS: If true, all module scoped SAS keys cannot be used for authentication.' + type: boolean + enableDataResidency: + description: 'EnableDataResidency: This property when set to true, will enable data residency, thus, disabling disaster recovery.' + type: boolean + enableFileUploadNotifications: + description: 'EnableFileUploadNotifications: If True, file upload notifications are enabled.' + type: boolean + eventHubEndpoints: + additionalProperties: + description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + partitionCount: + description: |- + PartitionCount: The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. + See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. + type: integer + retentionTimeInDays: + description: |- + RetentionTimeInDays: The retention time for device-to-cloud messages in days. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages + type: integer + type: object + description: |- + EventHubEndpoints: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. + This key has to be present in the dictionary while making create or update calls for the IoT hub. + type: object + features: + description: 'Features: The capabilities and features enabled for the IoT hub.' + enum: + - DeviceManagement + - None + type: string + ipFilterRules: + description: 'IpFilterRules: The IP filter rules.' + items: + description: The IP filter rules for the IoT hub. + properties: + action: + description: 'Action: The desired action for requests captured by this rule.' + enum: + - Accept + - Reject + type: string + filterName: + description: 'FilterName: The name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + required: + - action + - filterName + - ipMask + type: object + type: array + messagingEndpoints: + additionalProperties: + description: The properties of the messaging endpoints used by this IoT hub. + properties: + lockDurationAsIso8601: + description: 'LockDurationAsIso8601: The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + maximum: 100 + minimum: 1 + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + type: string + type: object + description: 'MessagingEndpoints: The messaging endpoint properties for the file upload notification queue.' + type: object + minTlsVersion: + description: |- + MinTlsVersion: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a + TLS version below 1.2 to be rejected. + type: string + networkRuleSets: + description: 'NetworkRuleSets: Network Rule Set Properties of IotHub' + properties: + applyToBuiltInEventHubEndpoint: + description: 'ApplyToBuiltInEventHubEndpoint: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub' + type: boolean + defaultAction: + description: 'DefaultAction: Default Action for Network Rule Set' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: List of IP Rules' + items: + description: IP Rule to be applied as part of Network Rule Set + properties: + action: + description: 'Action: IP Filter Action' + enum: + - Allow + type: string + filterName: + description: 'FilterName: Name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + required: + - filterName + - ipMask + type: object + type: array + required: + - applyToBuiltInEventHubEndpoint + - ipRules + type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: If true, egress from IotHub will be restricted to only the allowed FQDNs that are + configured via allowedFqdnList. + type: boolean + routing: + description: |- + Routing: The routing related properties of the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + endpoints: + description: |- + Endpoints: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing + rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint + is allowed across all endpoint types for free hubs. + properties: + eventHubs: + description: |- + EventHubs: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does + not include the built-in Event Hubs endpoint. + items: + description: The properties related to an event hub endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the event hub endpoint' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string of the event hub endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + description: 'EndpointUri: The url of the event hub endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Event hub name on the event hub namespace' + type: string + identity: + description: 'Identity: Managed identity properties of routing event hub endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the event hub endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the event hub endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the event hub endpoint.' + type: string + required: + - name + type: object + type: array + serviceBusQueues: + description: |- + ServiceBusQueues: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus queue endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus queue endpoint' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string of the service bus queue endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + description: 'EndpointUri: The url of the service bus queue endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus namespace' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus queue endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the service bus queue endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus queue endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus queue endpoint.' + type: string + required: + - name + type: object + type: array + serviceBusTopics: + description: |- + ServiceBusTopics: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus topic endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus topic endpoint' + enum: + - identityBased + - keyBased + type: string + connectionString: + description: 'ConnectionString: The connection string of the service bus topic endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + description: 'EndpointUri: The url of the service bus topic endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus topic' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus topic endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the service bus topic endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus topic endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus topic endpoint.' + type: string + required: + - name + type: object + type: array + storageContainers: + description: 'StorageContainers: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.' + items: + description: The properties related to a storage container endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the storage endpoint' + enum: + - identityBased + - keyBased + type: string + batchFrequencyInSeconds: + description: |- + BatchFrequencyInSeconds: Time interval at which blobs are written to storage. Value should be between 60 and 720 + seconds. Default value is 300 seconds. + maximum: 720 + minimum: 60 + type: integer + connectionString: + description: 'ConnectionString: The connection string of the storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + description: 'ContainerName: The name of storage container in the storage account.' + type: string + encoding: + description: |- + Encoding: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. + Default value is 'avro'. + enum: + - Avro + - AvroDeflate + - JSON + type: string + endpointUri: + description: 'EndpointUri: The url of the storage endpoint. It must include the protocol https://' + type: string + fileNameFormat: + description: |- + FileNameFormat: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All + parameters are mandatory but can be reordered. + type: string + identity: + description: 'Identity: Managed identity properties of routing storage endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + maxChunkSizeInBytes: + description: |- + MaxChunkSizeInBytes: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) + and 524288000(500MB). Default value is 314572800(300MB). + maximum: 524288000 + minimum: 10485760 + type: integer + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + reference: + description: 'Reference: Id of the storage container endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the storage account.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the storage account.' + type: string + required: + - containerName + - name + type: object + type: array + type: object + enrichments: + description: |- + Enrichments: The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and + custom endpoints. See: https://aka.ms/telemetryoneventgrid + items: + description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + endpointNames: + description: 'EndpointNames: The list of endpoints for which the enrichment is applied to the message.' + items: + type: string + minItems: 1 + type: array + key: + description: 'Key: The key or name for the enrichment property.' + type: string + value: + description: 'Value: The value for the enrichment property.' + type: string + required: + - endpointNames + - key + - value + type: object + type: array + fallbackRoute: + description: |- + FallbackRoute: The properties of the route that is used as a fall-back route when none of the conditions specified in + the 'routes' section are met. This is an optional parameter. When this property is not present in the template, the + fallback route is disabled by default. + properties: + condition: + description: |- + Condition: The condition which is evaluated in order to apply the fallback route. If the condition is not provided it + will evaluate to true by default. For grammar, See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 + endpoint is allowed. + items: + type: string + maxItems: 1 + minItems: 1 + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether the fallback route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + type: string + source: + description: 'Source: The source to which the routing rule is to be applied to. For example, DeviceMessages' + enum: + - DeviceMessages + type: string + required: + - endpointNames + - isEnabled + - source + type: object + routes: + description: |- + Routes: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom + endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for + free hubs. + items: + description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + condition: + description: |- + Condition: The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true + by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which messages that satisfy the condition are routed. Currently only one + endpoint is allowed. + items: + type: string + maxItems: 1 + minItems: 1 + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether a route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + pattern: ^[A-Za-z0-9-._]{1,64}$ + type: string + source: + description: 'Source: The source that the routing rule is to be applied to, such as DeviceMessages.' + enum: + - DeviceConnectionStateEvents + - DeviceJobLifecycleEvents + - DeviceLifecycleEvents + - DeviceMessages + - Invalid + - TwinChangeEvents + type: string + required: + - endpointNames + - isEnabled + - name + - source + type: object + type: array + type: object + storageEndpoints: + additionalProperties: + description: The properties of the Azure Storage endpoint for file upload. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + authenticationType: + description: 'AuthenticationType: Specifies authentication type being used for connecting to the storage account.' + enum: + - identityBased + - keyBased type: string - name: + connectionString: + description: 'ConnectionString: The connection string for the Azure Storage account to which files are uploaded.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + ContainerName: The name of the root container where you upload files. The container need not exist but should be + creatable using the connectionString specified. type: string - value: + identity: + description: 'Identity: Managed identity properties of storage endpoint for file upload.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + sasTtlAsIso8601: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + SasTtlAsIso8601: The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. type: string required: - - name - - value + - connectionString + - containerName type: object - type: array - secrets: - description: Storage version of v1api20230601preview.FlexibleServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - pointInTimeUTC: - type: string - replica: - description: |- - Storage version of v1api20230601preview.Replica - Replica properties of a server - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + StorageEndpoints: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one + Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error + to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, + causes an error to be thrown. type: object - promoteMode: - type: string - promoteOption: - type: string - role: - type: string type: object - replicationRole: - type: string sku: - description: |- - Storage version of v1api20230601preview.Sku - Sku information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - sourceServerResourceReference: - description: |- - SourceServerResourceReference: The source server resource ID to restore from. It's required when 'createMode' is - 'PointInTimeRestore' or 'GeoRestore' or 'Replica' or 'ReviveDropped'. This property is returned only for Replica server - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - storage: - description: |- - Storage version of v1api20230601preview.Storage - Storage properties of a server + description: 'Sku: IotHub SKU info' properties: - $propertyBag: - additionalProperties: - type: string + capacity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGrow: - type: string - iops: - type: integer - storageSizeGB: - type: integer - throughput: + Capacity: The number of provisioned IoT Hub units. See: + https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits. type: integer - tier: - type: string - type: + name: + description: 'Name: The name of the SKU.' + enum: + - B1 + - B2 + - B3 + - F1 + - S1 + - S2 + - S3 type: string + required: + - name type: object tags: additionalProperties: type: string + description: 'Tags: The resource tags.' type: object - version: - type: string required: + - location - owner + - sku type: object status: - description: Storage version of v1api20230601preview.FlexibleServer_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorLogin: - type: string - authConfig: - description: |- - Storage version of v1api20230601preview.AuthConfig_STATUS - Authentication configuration properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - activeDirectoryAuth: - type: string - passwordAuth: - type: string - tenantId: - type: string - type: object - availabilityZone: - type: string - backup: - description: |- - Storage version of v1api20230601preview.Backup_STATUS - Backup properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - earliestRestoreDate: - type: string - geoRedundantBackup: - type: string - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -104871,87 +161318,31 @@ spec: - type type: object type: array - createMode: - type: string - dataEncryption: + etag: description: |- - Storage version of v1api20230601preview.DataEncryption_STATUS - Data encryption properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - geoBackupEncryptionKeyStatus: - type: string - geoBackupKeyURI: - type: string - geoBackupUserAssignedIdentityId: - type: string - primaryEncryptionKeyStatus: - type: string - primaryKeyURI: - type: string - primaryUserAssignedIdentityId: - type: string - type: - type: string - type: object - fullyQualifiedDomainName: + Etag: The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per + the normal ETag convention. type: string - highAvailability: - description: |- - Storage version of v1api20230601preview.HighAvailability_STATUS - High availability properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string - standbyAvailabilityZone: - type: string - state: - type: string - type: object id: + description: 'Id: The resource identifier.' type: string identity: - description: |- - Storage version of v1api20230601preview.UserAssignedIdentity_STATUS - Information describing the identities associated with this application. + description: 'Identity: The managed identities for the IotHub.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + principalId: + description: 'PrincipalId: Principal Id' + type: string tenantId: + description: 'TenantId: Tenant Id' type: string type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. type: string userAssignedIdentities: additionalProperties: - description: |- - Storage version of v1api20230601preview.UserIdentity_STATUS - Describes a single user-assigned identity associated with the application. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object clientId: type: string principalId: @@ -104960,214 +161351,586 @@ spec: type: object type: object location: + description: 'Location: The resource location.' type: string - maintenanceWindow: - description: |- - Storage version of v1api20230601preview.MaintenanceWindow_STATUS - Maintenance window properties of a server. + name: + description: 'Name: The resource name.' + type: string + properties: + description: 'Properties: IotHub properties' properties: - $propertyBag: - additionalProperties: + allowedFqdnList: + description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: array + authorizationPolicies: + description: 'AuthorizationPolicies: The shared access policies you can use to secure a connection to the IoT hub.' + items: + description: The properties of an IoT hub shared access policy. + properties: + keyName: + description: 'KeyName: The name of the shared access policy.' + type: string + rights: + description: 'Rights: The permissions assigned to the shared access policy.' + type: string + type: object + type: array + cloudToDevice: + description: 'CloudToDevice: The IoT hub cloud-to-device messaging properties.' + properties: + defaultTtlAsIso8601: + description: |- + DefaultTtlAsIso8601: The default time to live for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + feedback: + description: 'Feedback: The properties of the feedback queue for cloud-to-device messages.' + properties: + lockDurationAsIso8601: + description: |- + LockDurationAsIso8601: The lock duration for the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message on the feedback queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: string + type: object + maxDeliveryCount: + description: |- + MaxDeliveryCount: The max delivery count for cloud-to-device messages in the device queue. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + type: integer type: object - customWindow: + comments: + description: 'Comments: IoT hub comments.' type: string - dayOfWeek: - type: integer - startHour: - type: integer - startMinute: - type: integer - type: object - minorVersion: - type: string - name: - type: string - network: - description: |- - Storage version of v1api20230601preview.Network_STATUS - Network properties of a server. - properties: - $propertyBag: + disableDeviceSAS: + description: |- + DisableDeviceSAS: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for + authentication. + type: boolean + disableLocalAuth: + description: 'DisableLocalAuth: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.' + type: boolean + disableModuleSAS: + description: 'DisableModuleSAS: If true, all module scoped SAS keys cannot be used for authentication.' + type: boolean + enableDataResidency: + description: 'EnableDataResidency: This property when set to true, will enable data residency, thus, disabling disaster recovery.' + type: boolean + enableFileUploadNotifications: + description: 'EnableFileUploadNotifications: If True, file upload notifications are enabled.' + type: boolean + eventHubEndpoints: additionalProperties: - type: string + description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + endpoint: + description: 'Endpoint: The Event Hub-compatible endpoint.' + type: string + partitionCount: + description: |- + PartitionCount: The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. + See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. + type: integer + partitionIds: + description: 'PartitionIds: The partition ids in the Event Hub-compatible endpoint.' + items: + type: string + type: array + path: + description: 'Path: The Event Hub-compatible name.' + type: string + retentionTimeInDays: + description: |- + RetentionTimeInDays: The retention time for device-to-cloud messages in days. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages + type: integer + type: object description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + EventHubEndpoints: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. + This key has to be present in the dictionary while making create or update calls for the IoT hub. type: object - delegatedSubnetResourceId: - type: string - privateDnsZoneArmResourceId: + features: + description: 'Features: The capabilities and features enabled for the IoT hub.' type: string - publicNetworkAccess: + hostName: + description: 'HostName: The name of the host.' type: string - type: object - pointInTimeUTC: - type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20230601preview.PrivateEndpointConnection_STATUS - The private endpoint connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + ipFilterRules: + description: 'IpFilterRules: The IP filter rules.' + items: + description: The IP filter rules for the IoT hub. + properties: + action: + description: 'Action: The desired action for requests captured by this rule.' + type: string + filterName: + description: 'FilterName: The name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string type: object - id: - type: string - type: object - type: array - replica: - description: |- - Storage version of v1api20230601preview.Replica_STATUS - Replica properties of a server - properties: - $propertyBag: + type: array + locations: + description: 'Locations: Primary and secondary location for iot hub' + items: + description: Public representation of one of the locations where a resource is provisioned. + properties: + location: + description: 'Location: The name of the Azure region' + type: string + role: + description: |- + Role: The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently + provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT + hub can failover to. + type: string + type: object + type: array + messagingEndpoints: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + description: The properties of the messaging endpoints used by this IoT hub. + properties: + lockDurationAsIso8601: + description: 'LockDurationAsIso8601: The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + type: integer + ttlAsIso8601: + description: |- + TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + type: string + type: object + description: 'MessagingEndpoints: The messaging endpoint properties for the file upload notification queue.' type: object - capacity: - type: integer - promoteMode: + minTlsVersion: + description: |- + MinTlsVersion: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a + TLS version below 1.2 to be rejected. type: string - promoteOption: + networkRuleSets: + description: 'NetworkRuleSets: Network Rule Set Properties of IotHub' + properties: + applyToBuiltInEventHubEndpoint: + description: 'ApplyToBuiltInEventHubEndpoint: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub' + type: boolean + defaultAction: + description: 'DefaultAction: Default Action for Network Rule Set' + type: string + ipRules: + description: 'IpRules: List of IP Rules' + items: + description: IP Rule to be applied as part of Network Rule Set + properties: + action: + description: 'Action: IP Filter Action' + type: string + filterName: + description: 'FilterName: Name of the IP filter rule.' + type: string + ipMask: + description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + type: string + type: object + type: array + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections created on this IotHub' + items: + description: The private endpoint connection of an IotHub + properties: + id: + description: 'Id: The resource identifier.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state.' type: string - replicationState: + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' type: string - role: + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: If true, egress from IotHub will be restricted to only the allowed FQDNs that are + configured via allowedFqdnList. + type: boolean + routing: + description: |- + Routing: The routing related properties of the IoT hub. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + endpoints: + description: |- + Endpoints: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing + rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint + is allowed across all endpoint types for free hubs. + properties: + eventHubs: + description: |- + EventHubs: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does + not include the built-in Event Hubs endpoint. + items: + description: The properties related to an event hub endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the event hub endpoint' + type: string + endpointUri: + description: 'EndpointUri: The url of the event hub endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Event hub name on the event hub namespace' + type: string + id: + description: 'Id: Id of the event hub endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing event hub endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the event hub endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the event hub endpoint.' + type: string + type: object + type: array + serviceBusQueues: + description: |- + ServiceBusQueues: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus queue endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus queue endpoint' + type: string + endpointUri: + description: 'EndpointUri: The url of the service bus queue endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus namespace' + type: string + id: + description: 'Id: Id of the service bus queue endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus queue endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus queue endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus queue endpoint.' + type: string + type: object + type: array + serviceBusTopics: + description: |- + ServiceBusTopics: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing + rules. + items: + description: The properties related to service bus topic endpoint types. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the service bus topic endpoint' + type: string + endpointUri: + description: 'EndpointUri: The url of the service bus topic endpoint. It must include the protocol sb://' + type: string + entityPath: + description: 'EntityPath: Queue name on the service bus topic' + type: string + id: + description: 'Id: Id of the service bus topic endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing service bus topic endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the service bus topic endpoint.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the service bus topic endpoint.' + type: string + type: object + type: array + storageContainers: + description: 'StorageContainers: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.' + items: + description: The properties related to a storage container endpoint. + properties: + authenticationType: + description: 'AuthenticationType: Method used to authenticate against the storage endpoint' + type: string + batchFrequencyInSeconds: + description: |- + BatchFrequencyInSeconds: Time interval at which blobs are written to storage. Value should be between 60 and 720 + seconds. Default value is 300 seconds. + type: integer + containerName: + description: 'ContainerName: The name of storage container in the storage account.' + type: string + encoding: + description: |- + Encoding: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. + Default value is 'avro'. + type: string + endpointUri: + description: 'EndpointUri: The url of the storage endpoint. It must include the protocol https://' + type: string + fileNameFormat: + description: |- + FileNameFormat: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All + parameters are mandatory but can be reordered. + type: string + id: + description: 'Id: Id of the storage container endpoint' + type: string + identity: + description: 'Identity: Managed identity properties of routing storage endpoint.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + maxChunkSizeInBytes: + description: |- + MaxChunkSizeInBytes: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) + and 524288000(500MB). Default value is 314572800(300MB). + type: integer + name: + description: |- + Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, + hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, + $default. Endpoint names must be unique across endpoint types. + type: string + resourceGroup: + description: 'ResourceGroup: The name of the resource group of the storage account.' + type: string + subscriptionId: + description: 'SubscriptionId: The subscription identifier of the storage account.' + type: string + type: object + type: array + type: object + enrichments: + description: |- + Enrichments: The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and + custom endpoints. See: https://aka.ms/telemetryoneventgrid + items: + description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + endpointNames: + description: 'EndpointNames: The list of endpoints for which the enrichment is applied to the message.' + items: + type: string + type: array + key: + description: 'Key: The key or name for the enrichment property.' + type: string + value: + description: 'Value: The value for the enrichment property.' + type: string + type: object + type: array + fallbackRoute: + description: |- + FallbackRoute: The properties of the route that is used as a fall-back route when none of the conditions specified in + the 'routes' section are met. This is an optional parameter. When this property is not present in the template, the + fallback route is disabled by default. + properties: + condition: + description: |- + Condition: The condition which is evaluated in order to apply the fallback route. If the condition is not provided it + will evaluate to true by default. For grammar, See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 + endpoint is allowed. + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether the fallback route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + type: string + source: + description: 'Source: The source to which the routing rule is to be applied to. For example, DeviceMessages' + type: string + type: object + routes: + description: |- + Routes: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom + endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for + free hubs. + items: + description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + condition: + description: |- + Condition: The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true + by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language + type: string + endpointNames: + description: |- + EndpointNames: The list of endpoints to which messages that satisfy the condition are routed. Currently only one + endpoint is allowed. + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Used to specify whether a route is enabled.' + type: boolean + name: + description: |- + Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a + maximum length of 64 characters, and must be unique. + type: string + source: + description: 'Source: The source that the routing rule is to be applied to, such as DeviceMessages.' + type: string + type: object + type: array + type: object + state: + description: 'State: The hub state.' type: string - type: object - replicaCapacity: - type: integer - replicationRole: - type: string - sku: - description: |- - Storage version of v1api20230601preview.Sku_STATUS - Sku information related properties of a server. - properties: - $propertyBag: + storageEndpoints: additionalProperties: - type: string + description: The properties of the Azure Storage endpoint for file upload. + properties: + authenticationType: + description: 'AuthenticationType: Specifies authentication type being used for connecting to the storage account.' + type: string + containerName: + description: |- + ContainerName: The name of the root container where you upload files. The container need not exist but should be + creatable using the connectionString specified. + type: string + identity: + description: 'Identity: Managed identity properties of storage endpoint for file upload.' + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: The user assigned identity.' + type: string + type: object + sasTtlAsIso8601: + description: |- + SasTtlAsIso8601: The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: + https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. + type: string + type: object description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + StorageEndpoints: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one + Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error + to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, + causes an error to be thrown. type: object - name: - type: string - tier: - type: string type: object - sourceServerResourceId: - type: string - state: - type: string - storage: - description: |- - Storage version of v1api20230601preview.Storage_STATUS - Storage properties of a server + sku: + description: 'Sku: IotHub SKU info' properties: - $propertyBag: - additionalProperties: - type: string + capacity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoGrow: - type: string - iops: - type: integer - storageSizeGB: - type: integer - throughput: + Capacity: The number of provisioned IoT Hub units. See: + https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits. type: integer - tier: + name: + description: 'Name: The name of the SKU.' type: string - type: + tier: + description: 'Tier: The billing tier for the IoT hub.' type: string type: object systemData: - description: |- - Storage version of v1api20230601preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + description: 'SystemData: The system meta data relating to this resource.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - version: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversadministrators.dbformysql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: dbformysql.azure.com - names: - kind: FlexibleServersAdministrator - listKind: FlexibleServersAdministratorList - plural: flexibleserversadministrators - singular: flexibleserversadministrator - preserveUnknownFields: false - scope: Namespaced - versions: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + type: + description: 'Type: The resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -105181,13 +161944,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220101 + name: v1api20210702storage schema: openAPIV3Schema: description: |- + Storage version of v1api20210702.IotHub Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2022-01-01/AzureADAdministrator.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} + - Generated from: /iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName} properties: apiVersion: description: |- @@ -105207,42 +161971,83 @@ spec: metadata: type: object spec: + description: Storage version of v1api20210702.IotHub_Spec properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - enum: - - ActiveDirectory + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - identityResourceReference: - description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + identity: + description: Storage version of v1api20210702.ArmIdentity properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210702.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - login: - description: 'Login: Login name of the server administrator.' + location: type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20210702.IotHubOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -105272,7 +162077,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -105301,12 +162105,205 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20210702.IotHubOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + devicePrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + deviceSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + iotHubOwnerSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWritePrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + registryReadWriteSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + servicePrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + serviceSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -105315,222 +162312,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sid: - description: 'Sid: SID (object ID) of the server administrator.' - type: string - sidFromConfig: - description: 'SidFromConfig: SID (object ID) of the server administrator.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - type: string - tenantIdFromConfig: - description: 'TenantIdFromConfig: Tenant ID of the administrator.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - required: - - owner - type: object - status: - properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - identityResourceId: - description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' - type: string - login: - description: 'Login: Login name of the server administrator.' - type: string - name: - description: 'Name: The name of the resource' - type: string - sid: - description: 'Sid: SID (object ID) of the server administrator.' - type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20220101.FlexibleServersAdministrator - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2022-01-01/AzureADAdministrator.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20220101.FlexibleServersAdministrator_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorType: - type: string - identityResourceReference: - description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - login: - type: string - operatorSpec: + properties: description: |- - Storage version of v1api20220101.FlexibleServersAdministratorOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20210702.IotHubProperties + The properties of an IoT hub. properties: $propertyBag: additionalProperties: @@ -105539,123 +162324,691 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: + allowedFqdnList: + items: + type: string + type: array + authorizationPolicies: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20210702.SharedAccessSignatureAuthorizationRule + The properties of an IoT hub shared access policy. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: type: string - name: + rights: + type: string + type: object + type: array + cloudToDevice: + description: |- + Storage version of v1api20210702.CloudToDeviceProperties + The IoT hub cloud-to-device messaging properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultTtlAsIso8601: + type: string + feedback: + description: |- + Storage version of v1api20210702.FeedbackProperties + The properties of the feedback queue for cloud-to-device messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + maxDeliveryCount: + type: integer + type: object + comments: + type: string + disableDeviceSAS: + type: boolean + disableLocalAuth: + type: boolean + disableModuleSAS: + type: boolean + enableDataResidency: + type: boolean + enableFileUploadNotifications: + type: boolean + eventHubEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.EventHubProperties + The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + partitionCount: + type: integer + retentionTimeInDays: + type: integer + type: object + type: object + features: + type: string + ipFilterRules: + items: + description: |- + Storage version of v1api20210702.IpFilterRule + The IP filter rules for the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array + messagingEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.MessagingEndpointProperties + The properties of the messaging endpoints used by this IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + type: object + minTlsVersion: + type: string + networkRuleSets: + description: |- + Storage version of v1api20210702.NetworkRuleSetProperties + Network Rule Set Properties of IotHub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applyToBuiltInEventHubEndpoint: + type: boolean + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210702.NetworkRuleSetIpRule + IP Rule to be applied as part of Network Rule Set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array + type: object + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: boolean + routing: + description: |- + Storage version of v1api20210702.RoutingProperties + The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoints: + description: |- + Storage version of v1api20210702.RoutingEndpoints + The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A + maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed + across all endpoint types for free hubs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubs: + items: + description: |- + Storage version of v1api20210702.RoutingEventHubProperties + The properties related to an event hub endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + type: string + entityPath: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + reference: + description: 'Reference: Id of the event hub endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusQueues: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusQueueEndpointProperties + The properties related to service bus queue endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + type: string + entityPath: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + reference: + description: 'Reference: Id of the service bus queue endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusTopics: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusTopicEndpointProperties + The properties related to service bus topic endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpointUri: + type: string + entityPath: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + reference: + description: 'Reference: Id of the service bus topic endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + storageContainers: + items: + description: |- + Storage version of v1api20210702.RoutingStorageContainerProperties + The properties related to a storage container endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + batchFrequencyInSeconds: + type: integer + connectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: + type: string + encoding: + type: string + endpointUri: + type: string + fileNameFormat: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + maxChunkSizeInBytes: + type: integer + name: + type: string + reference: + description: 'Reference: Id of the storage container endpoint' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + type: object + enrichments: + items: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + Storage version of v1api20210702.EnrichmentProperties + The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointNames: + items: + type: string + type: array + key: + type: string + value: + type: string + type: object + type: array + fallbackRoute: + description: |- + Storage version of v1api20210702.FallbackRouteProperties + The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + routes: + items: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: + Storage version of v1api20210702.RouteProperties + The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + type: array + type: object + storageEndpoints: + additionalProperties: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20210702.StorageEndpointProperties + The properties of the Azure Storage endpoint for file upload. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: type: string - name: + connectionString: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + containerName: type: string - value: + identity: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Storage version of v1api20210702.ManagedIdentity + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + sasTtlAsIso8601: type: string - required: - - name - - value type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string + type: object type: object - sid: - type: string - sidFromConfig: + sku: description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + Storage version of v1api20210702.IotHubSkuInfo + Information about the SKU of the IoT hub. properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - tenantId: - type: string - tenantIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource type: string - required: - - key - - name + type: object + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20220101.FlexibleServersAdministrator_STATUS + description: Storage version of v1api20210702.IotHub_STATUS properties: $propertyBag: additionalProperties: @@ -105664,8 +163017,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorType: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -105709,20 +163060,12 @@ spec: - type type: object type: array - id: - type: string - identityResourceId: - type: string - login: - type: string - name: + etag: type: string - sid: + id: type: string - systemData: - description: |- - Storage version of v1api20220101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + identity: + description: Storage version of v1api20210702.ArmIdentity_STATUS properties: $propertyBag: additionalProperties: @@ -105731,583 +163074,620 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: + principalId: type: string - lastModifiedBy: + tenantId: type: string - lastModifiedByType: + type: type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210702.ArmUserIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - tenantId: - type: string - type: + location: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - enum: - - ActiveDirectory + name: type: string - identityResourceReference: - description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' + properties: + description: |- + Storage version of v1api20210702.IotHubProperties_STATUS + The properties of an IoT hub. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedFqdnList: + items: + type: string + type: array + authorizationPolicies: + items: + description: |- + Storage version of v1api20210702.SharedAccessSignatureAuthorizationRule_STATUS + The properties of an IoT hub shared access policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyName: + type: string + rights: + type: string + type: object + type: array + cloudToDevice: + description: |- + Storage version of v1api20210702.CloudToDeviceProperties_STATUS + The IoT hub cloud-to-device messaging properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultTtlAsIso8601: + type: string + feedback: + description: |- + Storage version of v1api20210702.FeedbackProperties_STATUS + The properties of the feedback queue for cloud-to-device messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + maxDeliveryCount: + type: integer + type: object + comments: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + disableDeviceSAS: + type: boolean + disableLocalAuth: + type: boolean + disableModuleSAS: + type: boolean + enableDataResidency: + type: boolean + enableFileUploadNotifications: + type: boolean + eventHubEndpoints: + additionalProperties: + description: |- + Storage version of v1api20210702.EventHubProperties_STATUS + The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + type: string + partitionCount: + type: integer + partitionIds: + items: + type: string + type: array + path: + type: string + retentionTimeInDays: + type: integer + type: object + type: object + features: type: string - name: - description: Name is the Kubernetes name of the resource. + hostName: type: string - type: object - login: - description: 'Login: Login name of the server administrator.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + ipFilterRules: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20210702.IpFilterRule_STATUS + The IP filter rules for the IoT hub. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + filterName: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + ipMask: type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + locations: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20210702.IotHubLocationDescription_STATUS + Public representation of one of the locations where a resource is provisioned. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + role: type: string - required: - - name - - value type: object type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - sid: - description: 'Sid: SID (object ID) of the server administrator.' - type: string - sidFromConfig: - description: 'SidFromConfig: SID (object ID) of the server administrator.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - type: string - tenantIdFromConfig: - description: 'TenantIdFromConfig: Tenant ID of the administrator.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - required: - - owner - type: object - status: - properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + messagingEndpoints: + additionalProperties: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - identityResourceId: - description: 'IdentityResourceId: The resource id of the identity used for AAD Authentication.' - type: string - login: - description: 'Login: Login name of the server administrator.' - type: string - name: - description: 'Name: The name of the resource' - type: string - sid: - description: 'Sid: SID (object ID) of the server administrator.' - type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230630.FlexibleServersAdministrator - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230630.FlexibleServersAdministrator_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorType: - type: string - identityResourceReference: - description: 'IdentityResourceReference: The resource id of the identity used for AAD Authentication.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + Storage version of v1api20210702.MessagingEndpointProperties_STATUS + The properties of the messaging endpoints used by this IoT hub. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lockDurationAsIso8601: + type: string + maxDeliveryCount: + type: integer + ttlAsIso8601: + type: string + type: object + type: object + minTlsVersion: type: string - type: object - login: - type: string - operatorSpec: - description: |- - Storage version of v1api20230630.FlexibleServersAdministratorOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string + networkRuleSets: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20210702.NetworkRuleSetProperties_STATUS + Network Rule Set Properties of IotHub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applyToBuiltInEventHubEndpoint: + type: boolean + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210702.NetworkRuleSetIpRule_STATUS + IP Rule to be applied as part of Network Rule Set + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + filterName: + type: string + ipMask: + type: string + type: object + type: array type: object - configMapExpressions: + privateEndpointConnections: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20210702.PrivateEndpointConnection_STATUS + The private endpoint connection of an IotHub properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - name: + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: boolean + routing: + description: |- + Storage version of v1api20210702.RoutingProperties_STATUS + The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoints: + description: |- + Storage version of v1api20210702.RoutingEndpoints_STATUS + The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A + maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed + across all endpoint types for free hubs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventHubs: + items: + description: |- + Storage version of v1api20210702.RoutingEventHubProperties_STATUS + The properties related to an event hub endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + endpointUri: + type: string + entityPath: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusQueues: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusQueueEndpointProperties_STATUS + The properties related to service bus queue endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + endpointUri: + type: string + entityPath: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + serviceBusTopics: + items: + description: |- + Storage version of v1api20210702.RoutingServiceBusTopicEndpointProperties_STATUS + The properties related to service bus topic endpoint types. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + endpointUri: + type: string + entityPath: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + storageContainers: + items: + description: |- + Storage version of v1api20210702.RoutingStorageContainerProperties_STATUS + The properties related to a storage container endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: + type: string + batchFrequencyInSeconds: + type: integer + containerName: + type: string + encoding: + type: string + endpointUri: + type: string + fileNameFormat: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + maxChunkSizeInBytes: + type: integer + name: + type: string + resourceGroup: + type: string + subscriptionId: + type: string + type: object + type: array + type: object + enrichments: + items: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + Storage version of v1api20210702.EnrichmentProperties_STATUS + The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpointNames: + items: + type: string + type: array + key: + type: string + value: + type: string + type: object + type: array + fallbackRoute: + description: |- + Storage version of v1api20210702.FallbackRouteProperties_STATUS + The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + routes: + items: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: + Storage version of v1api20210702.RouteProperties_STATUS + The properties of a routing rule that your IoT hub uses to route messages to endpoints. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + condition: + type: string + endpointNames: + items: + type: string + type: array + isEnabled: + type: boolean + name: + type: string + source: + type: string + type: object + type: array + type: object + state: + type: string + storageEndpoints: + additionalProperties: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20210702.StorageEndpointProperties_STATUS + The properties of the Azure Storage endpoint for file upload. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authenticationType: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + containerName: type: string - value: + identity: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Storage version of v1api20210702.ManagedIdentity_STATUS + The properties of the Managed identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + sasTtlAsIso8601: type: string - required: - - name - - value type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string + type: object type: object - sid: - type: string - sidFromConfig: + sku: description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + Storage version of v1api20210702.IotHubSkuInfo_STATUS + Information about the SKU of the IoT hub. properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - tenantId: - type: string - tenantIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource type: string - required: - - key - - name - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20230630.FlexibleServersAdministrator_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + tier: + type: string type: object - administratorType: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - identityResourceId: - type: string - login: - type: string - name: - type: string - sid: - type: string systemData: description: |- - Storage version of v1api20230630.SystemData_STATUS + Storage version of v1api20210702.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -106330,8 +163710,10 @@ spec: lastModifiedByType: type: string type: object - tenantId: - type: string + tags: + additionalProperties: + type: string + type: object type: type: string type: object @@ -106346,11 +163728,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversconfigurations.dbformysql.azure.com + app.kubernetes.io/version: v2.15.0 + name: jobs.app.azure.com spec: conversion: strategy: Webhook @@ -106363,12 +163745,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dbformysql.azure.com + group: app.azure.com names: - kind: FlexibleServersConfiguration - listKind: FlexibleServersConfigurationList - plural: flexibleserversconfigurations - singular: flexibleserversconfiguration + categories: + - azure + - app + kind: Job + listKind: JobList + plural: jobs + singular: job preserveUnknownFields: false scope: Namespaced versions: @@ -106385,13 +163770,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220101 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2022-01-01/Configurations.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} properties: apiVersion: description: |- @@ -106416,289 +163801,266 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - pattern: ^[a-zA-Z0-9_.-]+$ - type: string - currentValue: - description: 'CurrentValue: Current value of the configuration.' + pattern: ^[-\w\._\(\)]+$ type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + configuration: + description: 'Configuration: Container Apps Job configuration properties.' properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Container App Private Registry properties: - key: + identityReference: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + server: + description: 'Server: Container Registry Server' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + username: + description: 'Username: Container Registry Username' type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + required: + - cronExpression + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Secret definition. properties: - key: + identityReference: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Secret Name.' type: string value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + enum: + - Event + - Manual + - Schedule + type: string + required: + - replicaTimeout + - triggerType type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - source: - description: 'Source: Source of the configuration.' - enum: - - system-default - - user-override - type: string - value: - description: 'Value: Value of the configuration.' - type: string - required: - - owner - type: object - status: - properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - currentValue: - description: 'CurrentValue: Current value of the configuration.' - type: string - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' - type: string - documentationLink: - description: 'DocumentationLink: The link used to get the document from community or Azure site.' - type: string - id: + identity: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - isConfigPendingRestart: - description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' - type: string - isDynamicConfig: - description: 'IsDynamicConfig: If is the configuration dynamic.' - type: string - isReadOnly: - description: 'IsReadOnly: If is the configuration read only.' - type: string - name: - description: 'Name: The name of the resource' - type: string - source: - description: 'Source: Source of the configuration.' - type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - value: - description: 'Value: Value of the configuration.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20220101.FlexibleServersConfiguration - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2022-01-01/Configurations.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20220101.FlexibleServersConfiguration_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - currentValue: + location: + description: 'Location: The geo-location where the resource lives' type: string operatorSpec: description: |- - Storage version of v1api20220101.FlexibleServersConfigurationOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -106728,6 +164090,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -106757,13 +164120,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -106772,269 +164133,296 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - type: string - value: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20220101.FlexibleServersConfiguration_STATUS - properties: - $propertyBag: + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedValues: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - currentValue: - type: string - dataType: - type: string - defaultValue: - type: string - description: - type: string - documentationLink: - type: string - id: - type: string - isConfigPendingRestart: - type: string - isDynamicConfig: - type: string - isReadOnly: - type: string - name: - type: string - source: - type: string - systemData: - description: |- - Storage version of v1api20220101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string + description: 'Tags: Resource tags.' type: object - type: - type: string - value: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - currentValue: - description: 'CurrentValue: Current value of the configuration.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + template: + description: 'Template: Container Apps job definition.' properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + containers: + description: 'Containers: List of container definitions for the Container App.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Container App container definition properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Custom container name.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + volumes: + description: 'Volumes: List of volume definitions for the Container App.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Volume definitions for the Container App. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Volume name.' type: string - value: + secrets: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - Secret type: string - required: - - name - - value type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - source: - description: 'Source: Source of the configuration.' - enum: - - system-default - - user-override - type: string - value: - description: 'Value: Value of the configuration.' + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' type: string required: + - location - owner type: object status: + description: Container App Job properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -107079,40 +164467,189 @@ spec: - type type: object type: array - currentValue: - description: 'CurrentValue: Current value of the configuration.' - type: string - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' + configuration: + description: 'Configuration: Container Apps Job configuration properties.' + properties: + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + type: string + type: object + environmentId: + description: 'EnvironmentId: Resource ID of environment.' type: string - documentationLink: - description: 'DocumentationLink: The link used to get the document from community or Azure site.' + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container apps job.' type: string id: description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - isConfigPendingRestart: - description: 'IsConfigPendingRestart: If is the configuration pending restart or not.' - type: string - isDynamicConfig: - description: 'IsDynamicConfig: If is the configuration dynamic.' + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - isReadOnly: - description: 'IsReadOnly: If is the configuration read only.' + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' type: string name: description: 'Name: The name of the resource' type: string - source: - description: 'Source: Source of the configuration.' + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses of a container apps job.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container Apps Job.' type: string systemData: description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' @@ -107136,11 +164673,279 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container Apps job definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: 'MountOptions: Mount options used while mounting the AzureFile. Must be a comma-separated string.' + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - value: - description: 'Value: Value of the configuration.' + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' type: string type: object type: object @@ -107161,14 +164966,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230630storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230630.FlexibleServersConfiguration + Storage version of v1api20240301.Job Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} properties: apiVersion: description: |- @@ -107188,7 +164993,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230630.FlexibleServersConfiguration_Spec + description: Storage version of v1api20240301.Job_Spec properties: $propertyBag: additionalProperties: @@ -107202,11 +165007,309 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - currentValue: + configuration: + description: |- + Storage version of v1api20240301.JobConfiguration + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_EventTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20240301.JobScale + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.JobScaleRule + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ManualTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ScheduleTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20240301.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + type: string + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Storage version of v1api20240301.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: type: string operatorSpec: description: |- - Storage version of v1api20230630.FlexibleServersConfigurationOperatorSpec + Storage version of v1api20240301.JobOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -107281,7 +165384,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -107290,94 +165393,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - type: string - value: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230630.FlexibleServersConfiguration_STATUS - properties: - $propertyBag: + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - allowedValues: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - currentValue: - type: string - dataType: - type: string - defaultValue: - type: string - description: - type: string - documentationLink: - type: string - id: - type: string - isConfigPendingRestart: - type: string - isDynamicConfig: - type: string - isReadOnly: - type: string - name: - type: string - source: - type: string - systemData: + template: description: |- - Storage version of v1api20230630.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20240301.JobTemplate + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created properties: $propertyBag: additionalProperties: @@ -107386,201 +165410,320 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - type: - type: string - value: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversconfigurations.dbforpostgresql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: dbforpostgresql.azure.com - names: - kind: FlexibleServersConfiguration - listKind: FlexibleServersConfigurationList - plural: flexibleserversconfigurations - singular: flexibleserversconfiguration - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210601 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + containers: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.Container + Container App container definition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + initContainers: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.BaseContainer + Container App base container definition. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: type: string name: + type: string + resources: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + Storage version of v1api20240301.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20240301.Volume + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + storageType: type: string - required: - - name - - value type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - source: - description: 'Source: Source of the configuration.' - type: string - value: - description: 'Value: Value of the configuration.' + workloadProfileName: type: string required: - owner type: object status: + description: |- + Storage version of v1api20240301.Job_STATUS + Container App Job properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -107623,68 +165766,576 @@ spec: - type type: object type: array - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' + configuration: + description: |- + Storage version of v1api20240301.JobConfiguration_STATUS + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_EventTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20240301.JobScale_STATUS + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20240301.JobScaleRule_STATUS + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20240301.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + manualTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ManualTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20240301.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20240301.JobConfiguration_ScheduleTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20240301.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + triggerType: + type: string + type: object + environmentId: type: string - documentationLink: - description: 'DocumentationLink: Configuration documentation link.' + eventStreamEndpoint: type: string id: + type: string + identity: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Storage version of v1api20240301.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240301.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: type: string - isConfigPendingRestart: - description: 'IsConfigPendingRestart: Configuration is pending restart or not.' - type: boolean - isDynamicConfig: - description: 'IsDynamicConfig: Configuration dynamic or static.' - type: boolean - isReadOnly: - description: 'IsReadOnly: Configuration read-only or not.' - type: boolean name: - description: 'Name: The name of the resource' type: string - source: - description: 'Source: Source of the configuration.' + outboundIpAddresses: + items: + type: string + type: array + provisioningState: type: string systemData: - description: 'SystemData: The system metadata relating to this resource.' + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: - description: 'CreatedBy: The identity that created the resource.' type: string createdByType: - description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20240301.JobTemplate_STATUS + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20240301.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20240301.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20240301.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20240301.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20240301.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20240301.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20240301.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20240301.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20240301.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20240301.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - unit: - description: 'Unit: Configuration unit.' type: string - value: - description: 'Value: Value of the configuration.' + workloadProfileName: type: string type: object type: object @@ -107705,14 +166356,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601storage + name: v1api20250101 schema: openAPIV3Schema: description: |- - Storage version of v1api20210601.FlexibleServersConfiguration Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} properties: apiVersion: description: |- @@ -107732,33 +166382,334 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210601.FlexibleServersConfiguration_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + pattern: ^[-\w\._\(\)]+$ type: string - operatorSpec: - description: |- - Storage version of v1api20210601.FlexibleServersConfigurationOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + configuration: + description: 'Configuration: Container Apps Job configuration properties.' properties: - $propertyBag: - additionalProperties: - type: string + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + identitySettings: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App Job. If a Managed + Identity is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + enum: + - All + - Init + - Main + - None + type: string + required: + - identityReference + type: object + type: array + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + required: + - cronExpression type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + value: + description: 'Value: Secret Value.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + enum: + - Event + - Manual + - Schedule + type: string + required: + - replicaTimeout + - triggerType + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -107788,6 +166739,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -107817,13 +166769,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -107832,263 +166782,299 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - type: string - value: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20210601.FlexibleServersConfiguration_STATUS - properties: - $propertyBag: + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedValues: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - dataType: - type: string - defaultValue: - type: string - description: - type: string - documentationLink: - type: string - id: - type: string - isConfigPendingRestart: - type: boolean - isDynamicConfig: - type: boolean - isReadOnly: - type: boolean - name: - type: string - source: - type: string - systemData: - description: |- - Storage version of v1api20210601.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string + description: 'Tags: Resource tags.' type: object - type: - type: string - unit: - type: string - value: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220120preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + template: + description: 'Template: Container Apps job definition.' properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + containers: + description: 'Containers: List of container definitions for the Container App.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Container App container definition properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + required: + - name + - value + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + enum: + - HTTP + - HTTPS + type: string + required: + - port + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + required: + - port + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + enum: + - Liveness + - Readiness + - Startup + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: Custom container name.' type: string - required: - - name - - value + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + volumes: + description: 'Volumes: List of volume definitions for the Container App.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Volume definitions for the Container App. properties: - key: + mountOptions: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Volume name.' type: string - value: + secrets: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + enum: + - AzureFile + - EmptyDir + - NfsAzureFile + - Secret type: string - required: - - name - - value type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - source: - description: 'Source: Source of the configuration.' - type: string - value: - description: 'Value: Value of the configuration.' + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' type: string required: + - location - owner type: object status: + description: Container App Job properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -108133,40 +167119,214 @@ spec: - type type: object type: array - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' + configuration: + description: 'Configuration: Container Apps Job configuration properties.' + properties: + eventTriggerConfig: + description: 'EventTriggerConfig: Trigger configuration of an event driven job.' + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: 'Scale: Scaling configurations for event driven jobs.' + properties: + maxExecutions: + description: 'MaxExecutions: Maximum number of job executions that are created for a trigger, default 100.' + type: integer + minExecutions: + description: 'MinExecutions: Minimum number of job executions that are created for a trigger, default 0' + type: integer + pollingInterval: + type: integer + rules: + description: 'Rules: Scaling rules.' + items: + description: Scaling rule. + properties: + auth: + description: 'Auth: Authentication secrets for the scale rule.' + items: + description: Auth Secrets for Scale Rule + properties: + secretRef: + description: 'SecretRef: Name of the secret from which to pull the auth params.' + type: string + triggerParameter: + description: 'TriggerParameter: Trigger Parameter that uses the secret' + type: string + type: object + type: array + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Metadata: Metadata properties to describe the scale rule.' + type: object + name: + description: 'Name: Scale Rule Name' + type: string + type: + description: |- + Type: Type of the scale rule + eg: azure-servicebus, redis etc. + type: string + type: object + type: array + type: object + type: object + identitySettings: + description: |- + IdentitySettings: Optional settings for Managed Identities that are assigned to the Container App Job. If a Managed + Identity is not specified here, default settings will be used. + items: + description: Optional settings for a Managed Identity that is assigned to the Container App. + properties: + identity: + description: |- + Identity: The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for + system-assigned identity. + type: string + lifecycle: + description: 'Lifecycle: Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.' + type: string + type: object + type: array + manualTriggerConfig: + description: |- + ManualTriggerConfig: Manual trigger configuration for a single execution job. Properties replicaCompletionCount and + parallelism would be set to 1 by default + properties: + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + description: 'Registries: Collection of private container registry credentials used by a Container apps job' + items: + description: Container App Private Registry + properties: + identity: + description: |- + Identity: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the + full user-assigned identity Resource ID. For system-assigned identities, use 'system' + type: string + passwordSecretRef: + description: 'PasswordSecretRef: The name of the Secret that contains the registry login password' + type: string + server: + description: 'Server: Container Registry Server' + type: string + username: + description: 'Username: Container Registry Username' + type: string + type: object + type: array + replicaRetryLimit: + description: 'ReplicaRetryLimit: Maximum number of retries before failing the job.' + type: integer + replicaTimeout: + description: 'ReplicaTimeout: Maximum number of seconds a replica is allowed to run.' + type: integer + scheduleTriggerConfig: + description: |- + ScheduleTriggerConfig: Cron formatted repeating trigger schedule ("* * * * *") for cronjobs. Properties completions and + parallelism would be set to 1 by default + properties: + cronExpression: + description: 'CronExpression: Cron formatted repeating schedule ("* * * * *") of a Cron Job.' + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + description: 'Secrets: Collection of secrets used by a Container Apps Job' + items: + description: Secret definition. + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: Azure Key Vault URL pointing to the secret referenced by the container app.' + type: string + name: + description: 'Name: Secret Name.' + type: string + type: object + type: array + triggerType: + description: 'TriggerType: Trigger type of the job' + type: string + type: object + environmentId: + description: 'EnvironmentId: Resource ID of environment.' type: string - documentationLink: - description: 'DocumentationLink: Configuration documentation link.' + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the container apps job.' type: string id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: |- + Identity: Managed identities needed by a container app job to interact with other Azure services to not maintain any + secrets or credentials in code. + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' type: string - isConfigPendingRestart: - description: 'IsConfigPendingRestart: Configuration is pending restart or not.' - type: boolean - isDynamicConfig: - description: 'IsDynamicConfig: Configuration dynamic or static.' - type: boolean - isReadOnly: - description: 'IsReadOnly: Configuration read-only or not.' - type: boolean name: description: 'Name: The name of the resource' type: string - source: - description: 'Source: Source of the configuration.' + outboundIpAddresses: + description: 'OutboundIpAddresses: Outbound IP Addresses of a container apps job.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Container Apps Job.' type: string systemData: - description: 'SystemData: The system metadata relating to this resource.' + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: description: 'CreatedAt: The timestamp of resource creation (UTC).' @@ -108187,14 +167347,281 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + template: + description: 'Template: Container Apps job definition.' + properties: + containers: + description: 'Containers: List of container definitions for the Container App.' + items: + description: Container App container definition + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + probes: + description: 'Probes: List of probes for the container.' + items: + description: |- + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + failureThreshold: + description: |- + FailureThreshold: Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to + 3. Minimum value is 1. Maximum value is 10. + type: integer + httpGet: + description: 'HttpGet: HTTPGet specifies the http request to perform.' + properties: + host: + description: 'Host: Host name to connect to, defaults to the pod IP. You probably want to set "Host" in httpHeaders instead.' + type: string + httpHeaders: + description: 'HttpHeaders: Custom headers to set in the request. HTTP allows repeated headers.' + items: + properties: + name: + description: 'Name: The header field name' + type: string + value: + description: 'Value: The header field value' + type: string + type: object + type: array + path: + description: 'Path: Path to access on the HTTP server.' + type: string + port: + description: |- + Port: Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + scheme: + description: 'Scheme: Scheme to use for connecting to the host. Defaults to HTTP.' + type: string + type: object + initialDelaySeconds: + description: |- + InitialDelaySeconds: Number of seconds after the container has started before liveness probes are initiated. Minimum + value is 1. Maximum value is 60. + type: integer + periodSeconds: + description: |- + PeriodSeconds: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is + 240. + type: integer + successThreshold: + description: |- + SuccessThreshold: Minimum consecutive successes for the probe to be considered successful after having failed. Defaults + to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10. + type: integer + tcpSocket: + description: 'TcpSocket: TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.' + properties: + host: + description: 'Host: Optional: Host name to connect to, defaults to the pod IP.' + type: string + port: + description: |- + Port: Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an + IANA_SVC_NAME. + type: integer + type: object + terminationGracePeriodSeconds: + description: |- + TerminationGracePeriodSeconds: Optional duration in seconds the pod needs to terminate gracefully upon probe failure. + The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the + time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for + your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value + overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop + immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling + ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour) + type: integer + timeoutSeconds: + description: |- + TimeoutSeconds: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum + value is 240. + type: integer + type: + description: 'Type: The type of probe.' + type: string + type: object + type: array + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + initContainers: + description: 'InitContainers: List of specialized containers that run before app containers.' + items: + description: Container App base container definition. + properties: + args: + description: 'Args: Container start command arguments.' + items: + type: string + type: array + command: + description: 'Command: Container start command.' + items: + type: string + type: array + env: + description: 'Env: Container environment variables.' + items: + description: Container App container environment variable. + properties: + name: + description: 'Name: Environment variable name.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the environment variable value.' + type: string + value: + description: 'Value: Non-secret environment variable value.' + type: string + type: object + type: array + image: + description: 'Image: Container image tag.' + type: string + name: + description: 'Name: Custom container name.' + type: string + resources: + description: 'Resources: Container resource requirements.' + properties: + cpu: + description: 'Cpu: Required CPU in cores, e.g. 0.5' + type: number + ephemeralStorage: + description: 'EphemeralStorage: Ephemeral Storage, e.g. "1Gi"' + type: string + memory: + description: 'Memory: Required memory, e.g. "250Mb"' + type: string + type: object + volumeMounts: + description: 'VolumeMounts: Container volume mounts.' + items: + description: Volume mount for the Container App. + properties: + mountPath: + description: 'MountPath: Path within the container at which the volume should be mounted.Must not contain '':''.' + type: string + subPath: + description: 'SubPath: Path within the volume from which the container''s volume should be mounted. Defaults to "" (volume''s root).' + type: string + volumeName: + description: 'VolumeName: This must match the Name of a Volume.' + type: string + type: object + type: array + type: object + type: array + volumes: + description: 'Volumes: List of volume definitions for the Container App.' + items: + description: Volume definitions for the Container App. + properties: + mountOptions: + description: |- + MountOptions: Mount options used while mounting the Azure file share or NFS Azure file share. Must be a comma-separated + string. + type: string + name: + description: 'Name: Volume name.' + type: string + secrets: + description: |- + Secrets: List of secrets to be added in volume. If no secrets are provided, all secrets in collection will be added to + volume. + items: + description: Secret to be added to volume. + properties: + path: + description: 'Path: Path to project secret to. If no path is provided, path defaults to name of secret listed in secretRef.' + type: string + secretRef: + description: 'SecretRef: Name of the Container App secret from which to pull the secret value.' + type: string + type: object + type: array + storageName: + description: 'StorageName: Name of storage resource. No need to provide for EmptyDir and Secret.' + type: string + storageType: + description: 'StorageType: Storage type for the volume. If not provided, use EmptyDir.' + type: string + type: object + type: array + type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - unit: - description: 'Unit: Configuration unit.' - type: string - value: - description: 'Value: Value of the configuration.' + workloadProfileName: + description: 'WorkloadProfileName: Workload profile name to pin for container apps job execution.' type: string type: object type: object @@ -108215,14 +167642,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220120previewstorage + name: v1api20250101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220120preview.FlexibleServersConfiguration + Storage version of v1api20250101.Job Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/Jobs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName} properties: apiVersion: description: |- @@ -108242,7 +167669,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220120preview.FlexibleServersConfiguration_Spec + description: Storage version of v1api20250101.Job_Spec properties: $propertyBag: additionalProperties: @@ -108256,9 +167683,372 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + configuration: + description: |- + Storage version of v1api20250101.JobConfiguration + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_EventTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20250101.JobScale + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.JobScaleRule + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: The resource ID of a user-assigned managed identity that is assigned to the Container App, or + 'system' for system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + lifecycle: + type: string + required: + - identityReference + type: object + type: array + manualTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ManualTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned + identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ScheduleTriggerConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + keyVaultUrl: + type: string + name: + type: string + value: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: array + triggerType: + type: string + type: object + environmentReference: + description: 'EnvironmentReference: Resource ID of environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string operatorSpec: description: |- - Storage version of v1api20220120preview.FlexibleServersConfigurationOperatorSpec + Storage version of v1api20250101.JobOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -108333,7 +168123,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -108342,92 +168132,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - type: string - value: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20220120preview.FlexibleServersConfiguration_STATUS - properties: - $propertyBag: + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - allowedValues: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - dataType: - type: string - defaultValue: - type: string - description: - type: string - documentationLink: - type: string - id: - type: string - isConfigPendingRestart: - type: boolean - isDynamicConfig: - type: boolean - isReadOnly: - type: boolean - name: - type: string - source: - type: string - systemData: + template: description: |- - Storage version of v1api20220120preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20250101.JobTemplate + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created properties: $propertyBag: additionalProperties: @@ -108436,173 +168149,320 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - type: - type: string - unit: - type: string - value: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20221201 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Configuration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - minLength: 1 - pattern: ^[-\w\._]+$ - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + containers: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20250101.Container + Container App container definition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: type: string - required: - - name - - value + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + volumes: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20250101.Volume + Volume definitions for the Container App. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: type: string - required: - - name - - value type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - source: - description: 'Source: Source of the configuration. Required to update the configuration.' - type: string - value: - description: 'Value: Value of the configuration. Required to update the configuration.' + workloadProfileName: type: string required: - owner type: object status: + description: |- + Storage version of v1api20250101.Job_STATUS + Container App Job properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -108645,75 +168505,639 @@ spec: - type type: object type: array - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' + configuration: + description: |- + Storage version of v1api20250101.JobConfiguration_STATUS + Non versioned Container Apps Job configuration properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + eventTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_EventTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + scale: + description: |- + Storage version of v1api20250101.JobScale_STATUS + Scaling configurations for event driven jobs. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxExecutions: + type: integer + minExecutions: + type: integer + pollingInterval: + type: integer + rules: + items: + description: |- + Storage version of v1api20250101.JobScaleRule_STATUS + Scaling rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + items: + description: |- + Storage version of v1api20250101.ScaleRuleAuth_STATUS + Auth Secrets for Scale Rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretRef: + type: string + triggerParameter: + type: string + type: object + type: array + identity: + type: string + metadata: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + name: + type: string + type: + type: string + type: object + type: array + type: object + type: object + identitySettings: + items: + description: |- + Storage version of v1api20250101.IdentitySettings_STATUS + Optional settings for a Managed Identity that is assigned to the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + lifecycle: + type: string + type: object + type: array + manualTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ManualTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + registries: + items: + description: |- + Storage version of v1api20250101.RegistryCredentials_STATUS + Container App Private Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + passwordSecretRef: + type: string + server: + type: string + username: + type: string + type: object + type: array + replicaRetryLimit: + type: integer + replicaTimeout: + type: integer + scheduleTriggerConfig: + description: Storage version of v1api20250101.JobConfiguration_ScheduleTriggerConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cronExpression: + type: string + parallelism: + type: integer + replicaCompletionCount: + type: integer + type: object + secrets: + items: + description: |- + Storage version of v1api20250101.Secret_STATUS + Secret definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + name: + type: string + type: object + type: array + triggerType: + type: string + type: object + environmentId: type: string - documentationLink: - description: 'DocumentationLink: Configuration documentation link.' + eventStreamEndpoint: type: string id: + type: string + identity: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Storage version of v1api20250101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: type: string - isConfigPendingRestart: - description: 'IsConfigPendingRestart: Configuration is pending restart or not.' - type: boolean - isDynamicConfig: - description: 'IsDynamicConfig: Configuration dynamic or static.' - type: boolean - isReadOnly: - description: 'IsReadOnly: Configuration read-only or not.' - type: boolean name: - description: 'Name: The name of the resource' type: string - source: - description: 'Source: Source of the configuration. Required to update the configuration.' + outboundIpAddresses: + items: + type: string + type: array + provisioningState: type: string systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: - description: 'CreatedBy: The identity that created the resource.' type: string createdByType: - description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + type: object + template: + description: |- + Storage version of v1api20250101.JobTemplate_STATUS + Container Apps Job versioned application definition. Defines the desired state of an immutable revision. Any changes to + this section Will result in a new revision being created + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + containers: + items: + description: |- + Storage version of v1api20250101.Container_STATUS + Container App container definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + probes: + items: + description: |- + Storage version of v1api20250101.ContainerAppProbe_STATUS + Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive + traffic. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failureThreshold: + type: integer + httpGet: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + httpHeaders: + items: + description: Storage version of v1api20250101.ContainerAppProbe_HttpGet_HttpHeaders_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + path: + type: string + port: + type: integer + scheme: + type: string + type: object + initialDelaySeconds: + type: integer + periodSeconds: + type: integer + successThreshold: + type: integer + tcpSocket: + description: Storage version of v1api20250101.ContainerAppProbe_TcpSocket_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + host: + type: string + port: + type: integer + type: object + terminationGracePeriodSeconds: + type: integer + timeoutSeconds: + type: integer + type: + type: string + type: object + type: array + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + initContainers: + items: + description: |- + Storage version of v1api20250101.BaseContainer_STATUS + Container App base container definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + items: + type: string + type: array + command: + items: + type: string + type: array + env: + items: + description: |- + Storage version of v1api20250101.EnvironmentVar_STATUS + Container App container environment variable. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + secretRef: + type: string + value: + type: string + type: object + type: array + image: + type: string + name: + type: string + resources: + description: |- + Storage version of v1api20250101.ContainerResources_STATUS + Container App container resource requirements. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cpu: + type: number + ephemeralStorage: + type: string + memory: + type: string + type: object + volumeMounts: + items: + description: |- + Storage version of v1api20250101.VolumeMount_STATUS + Volume mount for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountPath: + type: string + subPath: + type: string + volumeName: + type: string + type: object + type: array + type: object + type: array + volumes: + items: + description: |- + Storage version of v1api20250101.Volume_STATUS + Volume definitions for the Container App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mountOptions: + type: string + name: + type: string + secrets: + items: + description: |- + Storage version of v1api20250101.SecretVolumeItem_STATUS + Secret to be added to volume. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + secretRef: + type: string + type: object + type: array + storageName: + type: string + storageType: + type: string + type: object + type: array + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - unit: - description: 'Unit: Configuration unit.' type: string - value: - description: 'Value: Value of the configuration. Required to update the configuration.' + workloadProfileName: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: loadbalancers.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: LoadBalancer + listKind: LoadBalancerList + plural: loadbalancers + singular: loadbalancer + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -108727,14 +169151,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221201storage + name: v1api20201101 schema: openAPIV3Schema: description: |- - Storage version of v1api20221201.FlexibleServersConfiguration Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Configuration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} properties: apiVersion: description: |- @@ -108754,33 +169177,525 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221201.FlexibleServersConfiguration_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the backend address.' + type: string + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + inboundNatPools: + description: |- + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendPort + - frontendPortRangeEnd + - frontendPortRangeStart + - protocol + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + enum: + - Default + - SourceIP + - SourceIPProtocol + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + required: + - frontendPort + - protocol + type: object + type: array + location: + description: 'Location: Resource location.' + type: string operatorSpec: description: |- - Storage version of v1api20221201.FlexibleServersConfigurationOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -108810,6 +169725,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -108839,13 +169755,98 @@ spec: type: object type: array type: object - originalVersion: - type: string + outboundRules: + description: 'OutboundRules: The outbound rules.' + items: + description: Outbound rule of the load balancer. + properties: + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendAddressPool + - frontendIPConfigurations + - protocol + type: object + type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -108854,26 +169855,182 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - source: - type: string - value: - type: string + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + enum: + - Http + - Https + - Tcp + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + required: + - port + - protocol + type: object + type: array + sku: + description: 'Sku: The load balancer SKU.' + properties: + name: + description: 'Name: Name of a load balancer SKU.' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Tier of a load balancer SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner type: object status: - description: Storage version of v1api20221201.FlexibleServersConfiguration_STATUS + description: LoadBalancer resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedValues: - type: string + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + backendIPConfigurations: + description: 'BackendIPConfigurations: An array of references to IP addresses defined in network interfaces.' + items: + description: IPConfiguration in a network interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + name: + description: 'Name: Name of the backend address.' + type: string + networkInterfaceIPConfiguration: + description: 'NetworkInterfaceIPConfiguration: Reference to IP address defined in network interfaces.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + outboundRule: + description: 'OutboundRule: A reference to an outbound rule that uses this backend address pool.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the backend address pool resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -108916,309 +170073,490 @@ spec: - type type: object type: array - dataType: - type: string - defaultValue: - type: string - description: - type: string - documentationLink: - type: string - id: - type: string - isConfigPendingRestart: - type: boolean - isDynamicConfig: - type: boolean - isReadOnly: - type: boolean - name: - type: string - source: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - systemData: - description: |- - Storage version of v1api20221201.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: + name: + description: 'Name: The name of the extended location.' type: string - lastModifiedByType: + type: + description: 'Type: The type of the extended location.' type: string type: object - type: - type: string - unit: - type: string - value: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230601preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - minLength: 1 - pattern: ^[-\w\._]+$ + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + inboundNatPools: + description: 'InboundNatPools: An array of references to inbound pools that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + inboundNatRules: + description: 'InboundNatRules: An array of references to inbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the frontend IP configuration resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Type of the resource.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + id: + description: 'Id: Resource ID.' type: string - operatorSpec: + inboundNatPools: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + id: + description: 'Id: Resource ID.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT pool resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + frontendPort: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + id: + description: 'Id: Resource ID.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + type: object + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + id: + description: 'Id: Resource ID.' type: string - required: - - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - source: - description: 'Source: Source of the configuration.' - type: string - value: - description: 'Value: Value of the configuration.' + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancing rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' type: string - required: - - owner - type: object - status: - properties: - allowedValues: - description: 'AllowedValues: Allowed values of the configuration.' + name: + description: 'Name: Resource name.' type: string - conditions: - description: 'Conditions: The observed state of the resource' + outboundRules: + description: 'OutboundRules: The outbound rules.' items: - description: Condition defines an extension to status (an observation) of a resource + description: Outbound rule of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' type: integer - reason: + name: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' type: string - status: - description: Status of the condition, one of True, False, or Unknown. + provisioningState: + description: 'ProvisioningState: The provisioning state of the outbound rule resource.' type: string type: - description: Type of condition. + description: 'Type: Type of the resource.' type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - dataType: - description: 'DataType: Data type of the configuration.' - type: string - defaultValue: - description: 'DefaultValue: Default value of the configuration.' - type: string - description: - description: 'Description: Description of the configuration.' - type: string - documentationLink: - description: 'DocumentationLink: Configuration documentation link.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - isConfigPendingRestart: - description: 'IsConfigPendingRestart: Configuration is pending restart or not.' - type: boolean - isDynamicConfig: - description: 'IsDynamicConfig: Configuration dynamic or static.' - type: boolean - isReadOnly: - description: 'IsReadOnly: Configuration read-only or not.' - type: boolean - name: - description: 'Name: The name of the resource' + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + loadBalancingRules: + description: 'LoadBalancingRules: The load balancer rules that use this probe.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the probe resource.' + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancer resource.' type: string - source: - description: 'Source: Source of the configuration.' + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the load balancer resource.' type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + sku: + description: 'Sku: The load balancer SKU.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + name: + description: 'Name: Name of a load balancer SKU.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + tier: + description: 'Tier: Tier of a load balancer SKU.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - unit: - description: 'Unit: Configuration unit.' - type: string - value: - description: 'Value: Value of the configuration.' + description: 'Type: Resource type.' type: string type: object type: object @@ -109239,14 +170577,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230601previewstorage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230601preview.FlexibleServersConfiguration + Storage version of v1api20201101.LoadBalancer Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Configuration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} properties: apiVersion: description: |- @@ -109266,7 +170604,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230601preview.FlexibleServersConfiguration_Spec + description: Storage version of v1api20201101.LoadBalancer_Spec properties: $propertyBag: additionalProperties: @@ -109280,10 +170618,145 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - operatorSpec: + backendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20201101.LoadBalancerBackendAddress + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + subnet: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + name: + type: string + type: object + type: array + extendedLocation: description: |- - Storage version of v1api20230601preview.FlexibleServersConfigurationOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -109292,516 +170765,400 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: + name: + type: string + type: + type: string + type: object + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.FrontendIPConfiguration_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_LoadBalancer_SubResourceEmbedded + Public IP address resource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - secretExpressions: - items: + publicIPPrefix: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20201101.SubResource + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - source: - type: string - value: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230601preview.FlexibleServersConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedValues: - type: string - conditions: + zones: + items: + type: string + type: array + type: object + type: array + inboundNatPools: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20201101.InboundNatPool + Inbound NAT pool of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + name: type: string - type: - description: Type of condition. + protocol: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - dataType: - type: string - defaultValue: - type: string - description: - type: string - documentationLink: - type: string - id: - type: string - isConfigPendingRestart: - type: boolean - isDynamicConfig: - type: boolean - isReadOnly: - type: boolean - name: - type: string - source: - type: string - systemData: - description: |- - Storage version of v1api20230601preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - type: - type: string - unit: - type: string - value: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversdatabases.dbformysql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: dbformysql.azure.com - names: - kind: FlexibleServersDatabase - listKind: FlexibleServersDatabaseList - plural: flexibleserversdatabases - singular: flexibleserversdatabase - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210501 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + inboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20201101.SubResource + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - properties: - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + name: type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + protocol: type: string - observedGeneration: + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.LoadBalancingRule + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + loadDistribution: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + name: type: string - type: - description: Type of condition. + probe: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210501storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20210501.FlexibleServersDatabase - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20210501.FlexibleServersDatabase_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - type: string - collation: + location: type: string operatorSpec: description: |- - Storage version of v1api20210501.FlexibleServersDatabaseOperatorSpec + Storage version of v1api20201101.LoadBalancerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -109872,11 +171229,104 @@ spec: type: object originalVersion: type: string + outboundRules: + items: + description: |- + Storage version of v1api20201101.OutboundRule + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -109885,11 +171335,61 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + probes: + items: + description: |- + Storage version of v1api20201101.Probe + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalInSeconds: + type: integer + name: + type: string + numberOfProbes: + type: integer + port: + type: integer + protocol: + type: string + requestPath: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20201101.LoadBalancerSku + SKU of a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20210501.FlexibleServersDatabase_STATUS + description: |- + Storage version of v1api20201101.LoadBalancer_STATUS + LoadBalancer resource. properties: $propertyBag: additionalProperties: @@ -109898,10 +171398,176 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - charset: - type: string - collation: - type: string + backendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_STATUS_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + id: + type: string + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20201101.LoadBalancerBackendAddress_STATUS + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + name: + type: string + networkInterfaceIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + outboundRule: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + outboundRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + type: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -109945,14 +171611,12 @@ spec: - type type: object type: array - id: - type: string - name: + etag: type: string - systemData: + extendedLocation: description: |- - Storage version of v1api20210501.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -109961,463 +171625,497 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: + name: type: string - lastModifiedByType: + type: type: string type: object - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.FrontendIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + id: + type: string + inboundNatPools: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddress_STATUS_LoadBalancer_SubResourceEmbedded + Public IP address resource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + publicIPPrefix: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - value: + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_STATUS_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - properties: - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' + type: + type: string + zones: + items: + type: string + type: array + type: object + type: array + id: type: string - conditions: - description: 'Conditions: The observed state of the resource' + inboundNatPools: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20201101.InboundNatPool_STATUS + Inbound NAT pool of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: type: string - severity: + frontendIPConfiguration: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: type: string type: - description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - name: - description: 'Name: The name of the resource' - type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230630.FlexibleServersDatabase - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230630.FlexibleServersDatabase_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - type: string - collation: - type: string - operatorSpec: - description: |- - Storage version of v1api20230630.FlexibleServersDatabaseOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: + inboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_STATUS_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - value: + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.LoadBalancingRule_STATUS + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - name: + type: object + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - value: + type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + loadDistribution: + type: string + name: + type: string + probe: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20230630.FlexibleServersDatabase_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - charset: + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + location: type: string - collation: + name: type: string - conditions: + outboundRules: + items: + description: |- + Storage version of v1api20201101.OutboundRule_STATUS + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + probes: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20201101.Probe_STATUS + A load balancer probe. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + id: type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + intervalInSeconds: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + loadBalancingRules: + items: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + numberOfProbes: + type: integer + port: + type: integer + protocol: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + provisioningState: + type: string + requestPath: type: string type: - description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: + provisioningState: type: string - name: + resourceGuid: type: string - systemData: + sku: description: |- - Storage version of v1api20230630.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20201101.LoadBalancerSku_STATUS + SKU of a load balancer. properties: $propertyBag: additionalProperties: @@ -110426,59 +172124,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: + name: type: string - lastModifiedByType: + tier: type: string type: object + tags: + additionalProperties: + type: string + type: object type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversdatabases.dbforpostgresql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: dbforpostgresql.azure.com - names: - kind: FlexibleServersDatabase - listKind: FlexibleServersDatabaseList - plural: flexibleserversdatabases - singular: flexibleserversdatabase - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -110492,13 +172154,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} properties: apiVersion: description: |- @@ -110524,256 +172186,675 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + drainPeriodInSeconds: + description: 'DrainPeriodInSeconds: Amount of seconds Load Balancer waits for before sending RESET to client and backend address.' + type: integer + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + adminState: + description: |- + AdminState: A list of administrative states which once set can override health probe so that Load Balancer will always + forward new connections to backend, or deny new connections and reset existing connections. + enum: + - Down + - None + - Up + type: string + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name of the backend address.' + type: string + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: The location of the backend address pool.' + type: string + name: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + syncMode: + description: 'SyncMode: Backend address synchronous mode for the backend pool' + enum: + - Automatic + - Manual + type: string + tunnelInterfaces: + description: 'TunnelInterfaces: An array of gateway load balancer tunnel interfaces.' + items: + description: Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + identifier: + description: 'Identifier: Identifier of gateway load balancer tunnel interface.' + type: integer + port: + description: 'Port: Port of gateway load balancer tunnel interface.' + type: integer + protocol: + description: 'Protocol: Protocol of gateway load balancer tunnel interface.' + enum: + - Native + - None + - VXLAN + type: string + type: + description: 'Type: Traffic type of gateway load balancer tunnel interface.' + enum: + - External + - Internal + - None + type: string + type: object + type: array + virtualNetwork: + description: 'VirtualNetwork: A reference to a virtual network.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + type: object + type: array + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string name: - description: This is the name of the Kubernetes resource to reference. + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone type: string type: object - required: - - owner - type: object - status: - properties: - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' items: - description: Condition defines an extension to status (an observation) of a resource + description: Frontend IP address of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' type: string - observedGeneration: + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + inboundNatPools: + description: |- + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. type: integer - reason: + frontendPortRangeStart: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + idleTimeoutInMinutes: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. type: string - type: - description: Type of condition. + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + enum: + - All + - Tcp + - Udp type: string required: - - lastTransitionTime - - reason - - status - - type + - backendPort + - frontendPortRangeEnd + - frontendPortRangeStart + - protocol type: object type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210601storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20210601.FlexibleServersDatabase - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20210601.FlexibleServersDatabase_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: + inboundNatRules: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - type: string - collation: + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendAddressPools: + description: 'BackendAddressPools: An array of references to pool of DIPs.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + enum: + - Default + - SourceIP + - SourceIPProtocol + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp + type: string + required: + - frontendPort + - protocol + type: object + type: array + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- - Storage version of v1api20210601.FlexibleServersDatabaseOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -110803,6 +172884,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -110832,13 +172914,98 @@ spec: type: object type: array type: object - originalVersion: - type: string + outboundRules: + description: 'OutboundRules: The outbound rules.' + items: + description: Outbound rule of the load balancer. + properties: + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + enum: + - All + - Tcp + - Udp + type: string + required: + - backendAddressPool + - frontendIPConfigurations + - protocol + type: object + type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -110847,24 +173014,263 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + noHealthyBackendsBehavior: + description: |- + NoHealthyBackendsBehavior: Determines how new connections are handled by the load balancer when all backend instances + are probed down. + enum: + - AllProbedDown + - AllProbedUp + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + probeThreshold: + description: |- + ProbeThreshold: The number of consecutive successful or failed probes in order to allow or deny traffic from being + delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be + taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. + enum: + - Http + - Https + - Tcp + type: string + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. + type: string + required: + - port + - protocol + type: object + type: array + sku: + description: 'Sku: The load balancer SKU.' + properties: + name: + description: 'Name: Name of a load balancer SKU.' + enum: + - Basic + - Gateway + - Standard + type: string + tier: + description: 'Tier: Tier of a load balancer SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner type: object status: - description: Storage version of v1api20210601.FlexibleServersDatabase_STATUS + description: LoadBalancer resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - charset: - type: string - collation: - type: string + backendAddressPools: + description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + items: + description: Pool of backend IP addresses. + properties: + backendIPConfigurations: + description: 'BackendIPConfigurations: An array of references to IP addresses defined in network interfaces.' + items: + description: IPConfiguration in a network interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + drainPeriodInSeconds: + description: 'DrainPeriodInSeconds: Amount of seconds Load Balancer waits for before sending RESET to client and backend address.' + type: integer + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + inboundNatRules: + description: 'InboundNatRules: An array of references to inbound NAT rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancerBackendAddresses: + description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + items: + description: Load balancer backend addresses. + properties: + adminState: + description: |- + AdminState: A list of administrative states which once set can override health probe so that Load Balancer will always + forward new connections to backend, or deny new connections and reset existing connections. + type: string + inboundNatRulesPortMapping: + description: 'InboundNatRulesPortMapping: Collection of inbound NAT rule port mappings.' + items: + description: Individual port mappings for inbound NAT rule created for backend pool. + properties: + backendPort: + description: 'BackendPort: Backend port.' + type: integer + frontendPort: + description: 'FrontendPort: Frontend port.' + type: integer + inboundNatRuleName: + description: 'InboundNatRuleName: Name of inbound NAT rule.' + type: string + type: object + type: array + ipAddress: + description: 'IpAddress: IP Address belonging to the referenced virtual network.' + type: string + loadBalancerFrontendIPConfiguration: + description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + name: + description: 'Name: Name of the backend address.' + type: string + networkInterfaceIPConfiguration: + description: 'NetworkInterfaceIPConfiguration: Reference to IP address defined in network interfaces.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Reference to an existing subnet.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetwork: + description: 'VirtualNetwork: Reference to an existing virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + location: + description: 'Location: The location of the backend address pool.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This + name can be used to access the resource. + type: string + outboundRule: + description: 'OutboundRule: A reference to an outbound rule that uses this backend address pool.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this backend address pool.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the backend address pool resource.' + type: string + syncMode: + description: 'SyncMode: Backend address synchronous mode for the backend pool' + type: string + tunnelInterfaces: + description: 'TunnelInterfaces: An array of gateway load balancer tunnel interfaces.' + items: + description: Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + identifier: + description: 'Identifier: Identifier of gateway load balancer tunnel interface.' + type: integer + port: + description: 'Port: Port of gateway load balancer tunnel interface.' + type: integer + protocol: + description: 'Protocol: Protocol of gateway load balancer tunnel interface.' + type: string + type: + description: 'Type: Traffic type of gateway load balancer tunnel interface.' + type: string + type: object + type: array + type: + description: 'Type: Type of the resource.' + type: string + virtualNetwork: + description: 'VirtualNetwork: A reference to a virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: array conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -110907,260 +173313,537 @@ spec: - type type: object type: array - id: - type: string - name: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - systemData: - description: |- - Storage version of v1api20210601.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: + name: + description: 'Name: The name of the extended location.' type: string - lastModifiedByType: + type: + description: 'Type: The type of the extended location.' type: string type: object - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220120preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' + frontendIPConfigurations: + description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + items: + description: Frontend IP address of the load balancer. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + inboundNatPools: + description: 'InboundNatPools: An array of references to inbound pools that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + inboundNatRules: + description: 'InboundNatRules: An array of references to inbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: An array of references to load balancing rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: |- + Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. + This name can be used to access the resource. + type: string + outboundRules: + description: 'OutboundRules: An array of references to outbound rules that use this frontend IP.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + privateIPAddress: + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the frontend IP configuration resource.' + type: string + publicIPAddress: + description: 'PublicIPAddress: The reference to the Public IP resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + publicIPPrefix: + description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Type of the resource.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + id: + description: 'Id: Resource ID.' type: string - operatorSpec: + inboundNatPools: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load + balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external + port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT + rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual + virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + items: + description: Inbound NAT pool of the load balancer. + properties: + backendPort: + description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + type: integer + enableFloatingIP: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + id: + description: 'Id: Resource ID.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + type: object + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65535. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to + NICs associated with a load balancer. Acceptable values range between 1 and 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT pool resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + inboundNatRules: + description: |- + InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load + balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine + scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to + reference individual inbound NAT rules. + items: + description: Inbound NAT rule of the load balancer. + properties: + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + id: + description: 'Id: Resource ID.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: object + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + id: + description: 'Id: Resource ID.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. + type: string + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + loadBalancingRules: + description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' + items: + description: A load balancing rule for a load balancer. + properties: + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: object + backendAddressPools: + description: 'BackendAddressPools: An array of references to pool of DIPs.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + backendPort: + description: |- + BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note + that value 0 enables "Any Port". + type: integer + disableOutboundSnat: + description: |- + DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the + frontend of the load balancing rule. + type: boolean + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' type: string - required: - - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - properties: - charset: - description: 'Charset: The charset of the database.' + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + type: integer + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer + loadDistribution: + description: 'LoadDistribution: The load distribution policy for this rule.' + type: string + name: + description: |- + Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This + name can be used to access the resource. + type: string + probe: + description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancing rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' type: string - collation: - description: 'Collation: The collation of the database.' + name: + description: 'Name: Resource name.' type: string - conditions: - description: 'Conditions: The observed state of the resource' + outboundRules: + description: 'OutboundRules: The outbound rules.' items: - description: Condition defines an extension to status (an observation) of a resource + description: Outbound rule of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + allocatedOutboundPorts: + description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + type: integer + backendAddressPool: + description: |- + BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend + IPs. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + frontendIPConfigurations: + description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + id: + description: 'Id: Resource ID.' type: string - observedGeneration: + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + type: integer + name: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can + be used to access the resource. + type: string + protocol: + description: 'Protocol: The protocol for the outbound rule in load balancer.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the outbound rule resource.' + type: string + type: + description: 'Type: Type of the resource.' + type: string + type: object + type: array + probes: + description: 'Probes: Collection of probe objects used in the load balancer.' + items: + description: A load balancer probe. + properties: + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the + interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking + the instance out of rotation. The default value is 15, the minimum value is 5. type: integer - reason: + loadBalancingRules: + description: 'LoadBalancingRules: The load balancer rules that use this probe.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used + to access the resource. + type: string + noHealthyBackendsBehavior: + description: |- + NoHealthyBackendsBehavior: Determines how new connections are handled by the load balancer when all backend instances + are probed down. + type: string + numberOfProbes: + description: |- + NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered + to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used + in Azure. + type: integer + port: + description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' + type: integer + probeThreshold: + description: |- + ProbeThreshold: The number of consecutive successful or failed probes in order to allow or deny traffic from being + delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be + taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. + type: integer + protocol: + description: |- + Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be + successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be + successful. type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + provisioningState: + description: 'ProvisioningState: The provisioning state of the probe resource.' type: string - status: - description: Status of the condition, one of True, False, or Unknown. + requestPath: + description: |- + RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. + Otherwise, it is not allowed. There is no default value. type: string type: - description: Type of condition. + description: 'Type: Type of the resource.' type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + provisioningState: + description: 'ProvisioningState: The provisioning state of the load balancer resource.' type: string - name: - description: 'Name: The name of the resource' + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the load balancer resource.' type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' + sku: + description: 'Sku: The load balancer SKU.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + name: + description: 'Name: Name of a load balancer SKU.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + tier: + description: 'Tier: Tier of a load balancer SKU.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string type: object type: object @@ -111181,14 +173864,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220120previewstorage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220120preview.FlexibleServersDatabase + Storage version of v1api20240301.LoadBalancer Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} properties: apiVersion: description: |- @@ -111208,7 +173891,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220120preview.FlexibleServersDatabase_Spec + description: Storage version of v1api20240301.LoadBalancer_Spec properties: $propertyBag: additionalProperties: @@ -111222,14 +173905,209 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - charset: - type: string - collation: - type: string - operatorSpec: + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainPeriodInSeconds: + type: integer + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20240301.LoadBalancerBackendAddress + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminState: + type: string + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + subnet: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + location: + type: string + name: + type: string + syncMode: + type: string + tunnelInterfaces: + items: + description: |- + Storage version of v1api20240301.GatewayLoadBalancerTunnelInterface + Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifier: + type: integer + port: + type: integer + protocol: + type: string + type: + type: string + type: object + type: array + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: array + extendedLocation: description: |- - Storage version of v1api20220120preview.FlexibleServersDatabaseOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -111238,466 +174116,505 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: + name: + type: string + type: + type: string + type: object + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - secretExpressions: - items: + name: + type: string + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.PublicIPAddressSpec_LoadBalancer_SubResourceEmbedded + Public IP address resource. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20220120preview.FlexibleServersDatabase_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - charset: - type: string - collation: - type: string - conditions: + zones: + items: + type: string + type: array + type: object + type: array + inboundNatPools: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20240301.InboundNatPool + Inbound NAT pool of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + name: type: string - type: - description: Type of condition. + protocol: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - type: string - name: - type: string - systemData: - description: |- - Storage version of v1api20220120preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20221201 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - minLength: 1 - pattern: ^[-\w\._]+$ - type: string - charset: - description: 'Charset: The charset of the database.' - pattern: ^[a-zA-Z]+\w*$ - type: string - collation: - description: 'Collation: The collation of the database.' - pattern: ^[a-zA-Z\-]+([. ]|\w)*$ - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.SubResource + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - properties: - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer + name: type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + protocol: type: string - observedGeneration: + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.LoadBalancingRule + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer + loadDistribution: type: string - type: - description: Type of condition. + name: + type: string + probe: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protocol: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20221201storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20221201.FlexibleServersDatabase - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20221201.FlexibleServersDatabase_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - type: string - collation: + location: type: string operatorSpec: description: |- - Storage version of v1api20221201.FlexibleServersDatabaseOperatorSpec + Storage version of v1api20240301.LoadBalancerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -111768,11 +174685,104 @@ spec: type: object originalVersion: type: string + outboundRules: + items: + description: |- + Storage version of v1api20240301.OutboundRule + Outbound rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableTcpReset: + type: boolean + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + type: object + type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -111781,11 +174791,65 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + probes: + items: + description: |- + Storage version of v1api20240301.Probe + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalInSeconds: + type: integer + name: + type: string + noHealthyBackendsBehavior: + type: string + numberOfProbes: + type: integer + port: + type: integer + probeThreshold: + type: integer + protocol: + type: string + requestPath: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20240301.LoadBalancerSku + SKU of a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20221201.FlexibleServersDatabase_STATUS + description: |- + Storage version of v1api20240301.LoadBalancer_STATUS + LoadBalancer resource. properties: $propertyBag: additionalProperties: @@ -111794,10 +174858,260 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - charset: - type: string - collation: - type: string + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_STATUS_LoadBalancer_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + drainPeriodInSeconds: + type: integer + etag: + type: string + id: + type: string + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerBackendAddresses: + items: + description: |- + Storage version of v1api20240301.LoadBalancerBackendAddress_STATUS + Load balancer backend addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminState: + type: string + inboundNatRulesPortMapping: + items: + description: |- + Storage version of v1api20240301.NatRulePortMapping_STATUS + Individual port mappings for inbound NAT rule created for backend pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: + type: integer + frontendPort: + type: integer + inboundNatRuleName: + type: string + type: object + type: array + ipAddress: + type: string + loadBalancerFrontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + name: + type: string + networkInterfaceIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + name: + type: string + outboundRule: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + outboundRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + syncMode: + type: string + tunnelInterfaces: + items: + description: |- + Storage version of v1api20240301.GatewayLoadBalancerTunnelInterface_STATUS + Gateway load balancer tunnel interface of a load balancer backend address pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identifier: + type: integer + port: + type: integer + protocol: + type: string + type: + type: string + type: object + type: array + type: + type: string + virtualNetwork: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -111841,14 +175155,12 @@ spec: - type type: object type: array - id: - type: string - name: + etag: type: string - systemData: + extendedLocation: description: |- - Storage version of v1api20221201.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -111857,467 +175169,552 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: + name: type: string - lastModifiedByType: + type: type: string type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230601preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - minLength: 1 - pattern: ^[-\w\._]+$ - type: string - charset: - description: 'Charset: The charset of the database.' - pattern: ^[a-zA-Z]+\w*$ - type: string - collation: - description: 'Collation: The collation of the database.' - pattern: ^[a-zA-Z\-]+([. ]|\w)*$ - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: + type: string + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + id: + type: string + inboundNatPools: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + outboundRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + provisioningState: + type: string + publicIPAddress: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.PublicIPAddress_STATUS_LoadBalancer_SubResourceEmbedded + Public IP address resource. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - name: + type: object + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - value: + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_LoadBalancer_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - properties: - charset: - description: 'Charset: The charset of the database.' - type: string - collation: - description: 'Collation: The collation of the database.' + type: + type: string + zones: + items: + type: string + type: array + type: object + type: array + id: type: string - conditions: - description: 'Conditions: The observed state of the resource' + inboundNatPools: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20240301.InboundNatPool_STATUS + Inbound NAT pool of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendPort: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: type: string - severity: + frontendIPConfiguration: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - name: - description: 'Name: The name of the resource' - type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230601previewstorage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230601preview.FlexibleServersDatabase - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/databases/{databaseName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230601preview.FlexibleServersDatabase_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - charset: - type: string - collation: - type: string - operatorSpec: - description: |- - Storage version of v1api20230601preview.FlexibleServersDatabaseOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + inboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_STATUS_LoadBalancer_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - name: + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - value: + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.LoadBalancingRule_STATUS + A load balancing rule for a load balancer. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - name: + type: object + backendAddressPools: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + backendPort: + type: integer + disableOutboundSnat: + type: boolean + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: + type: string + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - value: + type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + loadDistribution: + type: string + name: + type: string + probe: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20230601preview.FlexibleServersDatabase_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - charset: + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + location: type: string - collation: + name: type: string - conditions: + outboundRules: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20240301.OutboundRule_STATUS + Outbound rule of the load balancer. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + $propertyBag: + additionalProperties: + type: string description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: type: integer - reason: + backendAddressPool: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableTcpReset: + type: boolean + etag: type: string - severity: + frontendIPConfigurations: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string + type: + type: string + type: object + type: array + probes: + items: + description: |- + Storage version of v1api20240301.Probe_STATUS + A load balancer probe. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + etag: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + id: + type: string + intervalInSeconds: + type: integer + loadBalancingRules: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + noHealthyBackendsBehavior: + type: string + numberOfProbes: + type: integer + port: + type: integer + probeThreshold: + type: integer + protocol: + type: string + provisioningState: + type: string + requestPath: type: string type: - description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: + provisioningState: type: string - name: + resourceGuid: type: string - systemData: + sku: description: |- - Storage version of v1api20230601preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20240301.LoadBalancerSku_STATUS + SKU of a load balancer. properties: $propertyBag: additionalProperties: @@ -112326,25 +175723,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: + name: type: string - lastModifiedByType: + tier: type: string type: object + tags: + additionalProperties: + type: string + type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -112353,11 +175746,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversfirewallrules.dbformysql.azure.com + app.kubernetes.io/version: v2.15.0 + name: loadbalancersinboundnatrules.network.azure.com spec: conversion: strategy: Webhook @@ -112370,12 +175763,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dbformysql.azure.com + group: network.azure.com names: - kind: FlexibleServersFirewallRule - listKind: FlexibleServersFirewallRuleList - plural: flexibleserversfirewallrules - singular: flexibleserversfirewallrule + categories: + - azure + - network + kind: LoadBalancersInboundNatRule + listKind: LoadBalancersInboundNatRuleList + plural: loadbalancersinboundnatrules + singular: loadbalancersinboundnatrule preserveUnknownFields: false scope: Namespaced versions: @@ -112392,13 +175788,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501 + name: v1api20201101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} properties: apiVersion: description: |- @@ -112424,10 +175820,54 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -112498,7 +175938,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a network.azure.com/LoadBalancer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -112507,17 +175947,30 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp type: string required: - - endIpAddress - owner - - startIpAddress type: object status: properties: + backendIPConfiguration: + description: |- + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer conditions: description: 'Conditions: The observed state of the resource' items: @@ -112562,44 +176015,53 @@ spec: - type type: object type: array - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - id: + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + id: + description: 'Id: Resource ID.' type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer name: - description: 'Name: The name of the resource' + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. type: string - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Type of the resource.' type: string type: object type: object @@ -112620,14 +176082,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501storage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210501.FlexibleServersFirewallRule + Storage version of v1api20201101.LoadBalancersInboundNatRule Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/legacy/stable/2021-05-01/mysql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} properties: apiVersion: description: |- @@ -112647,7 +176109,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210501.FlexibleServersFirewallRule_Spec + description: Storage version of v1api20201101.LoadBalancersInboundNatRule_Spec properties: $propertyBag: additionalProperties: @@ -112661,11 +176123,52 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIpAddress: - type: string + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + idleTimeoutInMinutes: + type: integer operatorSpec: description: |- - Storage version of v1api20210501.FlexibleServersFirewallRuleOperatorSpec + Storage version of v1api20201101.LoadBalancersInboundNatRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -112740,7 +176243,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a network.azure.com/LoadBalancer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -112749,13 +176252,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: + protocol: type: string required: - owner type: object status: - description: Storage version of v1api20210501.FlexibleServersFirewallRule_STATUS + description: Storage version of v1api20201101.LoadBalancersInboundNatRule_STATUS properties: $propertyBag: additionalProperties: @@ -112764,6 +176267,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + backendIPConfiguration: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancers_InboundNatRule_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -112807,18 +176327,16 @@ spec: - type type: object type: array - endIpAddress: - type: string - id: - type: string - name: - type: string - startIpAddress: + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: type: string - systemData: + frontendIPConfiguration: description: |- - Storage version of v1api20210501.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. properties: $propertyBag: additionalProperties: @@ -112827,19 +176345,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + id: type: string type: object + frontendPort: + type: integer + id: + type: string + idleTimeoutInMinutes: + type: integer + name: + type: string + protocol: + type: string + provisioningState: + type: string type: type: string type: object @@ -112861,13 +176381,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230630 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} properties: apiVersion: description: |- @@ -112893,258 +176413,97 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - owner: + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer + enableFloatingIP: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string - required: - - endIpAddress - - owner - - startIpAddress - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - type: string - id: + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - name: - description: 'Name: The name of the resource' - type: string - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230630storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230630.FlexibleServersFirewallRule - Generator information: - - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230630.FlexibleServersFirewallRule_Spec - properties: - $propertyBag: - additionalProperties: - type: string + frontendPort: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - endIpAddress: - type: string + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer operatorSpec: description: |- - Storage version of v1api20230630.FlexibleServersFirewallRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -113174,6 +176533,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -113203,13 +176563,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbformysql.azure.com/FlexibleServer resource + reference to a network.azure.com/LoadBalancer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -113218,22 +176576,39 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + enum: + - All + - Tcp + - Udp type: string required: - owner type: object status: - description: Storage version of v1api20230630.FlexibleServersFirewallRule_STATUS properties: - $propertyBag: - additionalProperties: - type: string + backendAddressPool: + description: 'BackendAddressPool: A reference to backendAddressPool resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + backendIPConfiguration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the + frontend port of each of the frontend IP configurations is forwarded to the backend IP. + properties: + id: + description: 'Id: Resource ID.' + type: string type: object + backendPort: + description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' + type: integer conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -113276,79 +176651,72 @@ spec: - type type: object type: array - endIpAddress: + enableFloatingIP: + description: |- + EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL + AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. + This setting can't be changed after you create the endpoint. + type: boolean + enableTcpReset: + description: |- + EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This + element is only used when the protocol is set to TCP. + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + frontendIPConfiguration: + description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + frontendPort: + description: |- + FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. + Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeEnd: + description: |- + FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each + backend address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer + frontendPortRangeStart: + description: |- + FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with + BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend + address from BackendAddressPool. Acceptable values range from 1 to 65534. + type: integer id: + description: 'Id: Resource ID.' type: string + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The + default value is 4 minutes. This element is only used when the protocol is set to TCP. + type: integer name: + description: |- + Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name + can be used to access the resource. type: string - startIpAddress: + protocol: + description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' type: string - systemData: - description: |- - Storage version of v1api20230630.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object type: + description: 'Type: Type of the resource.' type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: flexibleserversfirewallrules.dbforpostgresql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: dbforpostgresql.azure.com - names: - kind: FlexibleServersFirewallRule - listKind: FlexibleServersFirewallRuleList - plural: flexibleserversfirewallrules - singular: flexibleserversfirewallrule - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -113362,13 +176730,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601 + name: v1api20240301storage schema: openAPIV3Schema: description: |- + Storage version of v1api20240301.LoadBalancersInboundNatRule Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} properties: apiVersion: description: |- @@ -113388,23 +176757,113 @@ spec: metadata: type: object spec: + description: Storage version of v1api20240301.LoadBalancersInboundNatRule_Spec properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + backendPort: + type: integer + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + frontendIPConfiguration: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + idleTimeoutInMinutes: + type: integer operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20240301.LoadBalancersInboundNatRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -113434,7 +176893,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -113464,11 +176922,13 @@ spec: type: object type: array type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a network.azure.com/LoadBalancer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -113477,19 +176937,54 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + protocol: type: string required: - - endIpAddress - owner - - startIpAddress type: object status: + description: Storage version of v1api20240301.LoadBalancersInboundNatRule_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backendAddressPool: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendIPConfiguration: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancers_InboundNatRule_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + backendPort: + type: integer conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -113532,51 +177027,86 @@ spec: - type type: object type: array - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' + enableFloatingIP: + type: boolean + enableTcpReset: + type: boolean + etag: type: string - id: + frontendIPConfiguration: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + frontendPort: + type: integer + frontendPortRangeEnd: + type: integer + frontendPortRangeStart: + type: integer + id: type: string + idleTimeoutInMinutes: + type: integer name: - description: 'Name: The name of the resource' type: string - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + protocol: + type: string + provisioningState: type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: maintenanceconfigurations.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: MaintenanceConfiguration + listKind: MaintenanceConfigurationList + plural: maintenanceconfigurations + singular: maintenanceconfiguration + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -113590,14 +177120,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601storage + name: v1api20240901 schema: openAPIV3Schema: description: |- - Storage version of v1api20210601.FlexibleServersFirewallRule Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2021-06-01/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} properties: apiVersion: description: |- @@ -113617,35 +177146,169 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210601.FlexibleServersFirewallRule_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIpAddress: - type: string - operatorSpec: - description: |- - Storage version of v1api20210601.FlexibleServersFirewallRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window for the maintenance configuration.' properties: - $propertyBag: - additionalProperties: - type: string + durationHours: + description: 'DurationHours: Length of maintenance window range from 4 to 24 hours.' + maximum: 24 + minimum: 4 + type: integer + notAllowedDates: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + 22:00' to '2023-01-03 22:00' in UTC time. + items: + description: For example, between '2022-12-23' and '2023-01-05'. + properties: + end: + description: 'End: The end date of the date span.' + type: string + start: + description: 'Start: The start date of the date span.' + type: string + required: + - end + - start + type: object + type: array + schedule: + description: 'Schedule: Recurrence schedule for the maintenance window.' + properties: + absoluteMonthly: + description: 'AbsoluteMonthly: For schedules like: ''recur every month on the 15th'' or ''recur every 3 months on the 20th''.' + properties: + dayOfMonth: + description: 'DayOfMonth: The date of the month.' + maximum: 31 + minimum: 1 + type: integer + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + maximum: 6 + minimum: 1 + type: integer + required: + - dayOfMonth + - intervalMonths + type: object + daily: + description: 'Daily: For schedules like: ''recur every day'' or ''recur every 3 days''.' + properties: + intervalDays: + description: 'IntervalDays: Specifies the number of days between each set of occurrences.' + maximum: 7 + minimum: 1 + type: integer + required: + - intervalDays + type: object + relativeMonthly: + description: 'RelativeMonthly: For schedules like: ''recur every month on the first Monday'' or ''recur every 3 months on last Friday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + maximum: 6 + minimum: 1 + type: integer + weekIndex: + description: 'WeekIndex: Specifies on which week of the month the dayOfWeek applies.' + enum: + - First + - Fourth + - Last + - Second + - Third + type: string + required: + - dayOfWeek + - intervalMonths + - weekIndex + type: object + weekly: + description: 'Weekly: For schedules like: ''recur every Monday'' or ''recur every 3 weeks on Wednesday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + intervalWeeks: + description: 'IntervalWeeks: Specifies the number of weeks between each set of occurrences.' + maximum: 4 + minimum: 1 + type: integer + required: + - dayOfWeek + - intervalWeeks + type: object type: object + startDate: + description: |- + StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + type: string + startTime: + description: |- + StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + pattern: ^\d{2}:\d{2}$ + type: string + utcOffset: + description: |- + UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + default is '+00:00'. + pattern: ^(-|\+)[0-9]{2}:[0-9]{2}$ + type: string + required: + - durationHours + - schedule + - startTime + type: object + notAllowedTime: + description: 'NotAllowedTime: Time slots on which upgrade is not allowed.' + items: + description: For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + end: + description: 'End: The end of a time span' + type: string + start: + description: 'Start: The start of a time span' + type: string + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -113675,6 +177338,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -113704,13 +177368,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a containerservice.azure.com/ManagedCluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -113719,22 +177381,43 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: - type: string + timeInWeek: + description: |- + TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + both entries. + items: + description: Time in a week. + properties: + day: + description: 'Day: The day of the week.' + enum: + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + type: string + hourSlots: + description: |- + HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + time range. + items: + maximum: 23 + minimum: 0 + type: integer + type: array + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20210601.FlexibleServersFirewallRule_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -113777,40 +177460,151 @@ spec: - type type: object type: array - endIpAddress: - type: string id: + description: 'Id: Resource ID.' type: string + maintenanceWindow: + description: 'MaintenanceWindow: Maintenance window for the maintenance configuration.' + properties: + durationHours: + description: 'DurationHours: Length of maintenance window range from 4 to 24 hours.' + type: integer + notAllowedDates: + description: |- + NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with + 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 + 22:00' to '2023-01-03 22:00' in UTC time. + items: + description: For example, between '2022-12-23' and '2023-01-05'. + properties: + end: + description: 'End: The end date of the date span.' + type: string + start: + description: 'Start: The start date of the date span.' + type: string + type: object + type: array + schedule: + description: 'Schedule: Recurrence schedule for the maintenance window.' + properties: + absoluteMonthly: + description: 'AbsoluteMonthly: For schedules like: ''recur every month on the 15th'' or ''recur every 3 months on the 20th''.' + properties: + dayOfMonth: + description: 'DayOfMonth: The date of the month.' + type: integer + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + type: integer + type: object + daily: + description: 'Daily: For schedules like: ''recur every day'' or ''recur every 3 days''.' + properties: + intervalDays: + description: 'IntervalDays: Specifies the number of days between each set of occurrences.' + type: integer + type: object + relativeMonthly: + description: 'RelativeMonthly: For schedules like: ''recur every month on the first Monday'' or ''recur every 3 months on last Friday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + type: string + intervalMonths: + description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' + type: integer + weekIndex: + description: 'WeekIndex: Specifies on which week of the month the dayOfWeek applies.' + type: string + type: object + weekly: + description: 'Weekly: For schedules like: ''recur every Monday'' or ''recur every 3 weeks on Wednesday''.' + properties: + dayOfWeek: + description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' + type: string + intervalWeeks: + description: 'IntervalWeeks: Specifies the number of weeks between each set of occurrences.' + type: integer + type: object + type: object + startDate: + description: |- + StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is + inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + type: string + startTime: + description: |- + StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to + this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + type: string + utcOffset: + description: |- + UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the + default is '+00:00'. + type: string + type: object name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' type: string - startIpAddress: - type: string + notAllowedTime: + description: 'NotAllowedTime: Time slots on which upgrade is not allowed.' + items: + description: For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + end: + description: 'End: The end of a time span' + type: string + start: + description: 'Start: The start of a time span' + type: string + type: object + type: array systemData: - description: |- - Storage version of v1api20210601.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + description: 'SystemData: The system metadata relating to this resource.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + timeInWeek: + description: |- + TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in + both entries. + items: + description: Time in a week. + properties: + day: + description: 'Day: The day of the week.' + type: string + hourSlots: + description: |- + HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour + (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC + time range. + items: + type: integer + type: array + type: object + type: array type: + description: 'Type: Resource type' type: string type: object type: object @@ -113831,13 +177625,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220120preview + name: v1api20240901storage schema: openAPIV3Schema: description: |- + Storage version of v1api20240901.MaintenanceConfiguration Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} properties: apiVersion: description: |- @@ -113857,254 +177652,164 @@ spec: metadata: type: object spec: + description: Storage version of v1api20240901.MaintenanceConfiguration_Spec properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string - operatorSpec: + maintenanceWindow: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20240901.MaintenanceWindow + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + durationHours: + type: integer + notAllowedDates: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240901.DateSpan + For example, between '2022-12-23' and '2023-01-05'. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + start: type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + schedule: + description: |- + Storage version of v1api20240901.Schedule + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or + 'relativeMonthly' for your maintenance schedule. + properties: + $propertyBag: + additionalProperties: type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteMonthly: + description: |- + Storage version of v1api20240901.AbsoluteMonthlySchedule + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfMonth: + type: integer + intervalMonths: + type: integer + type: object + daily: + description: |- + Storage version of v1api20240901.DailySchedule + For schedules like: 'recur every day' or 'recur every 3 days'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalDays: + type: integer + type: object + relativeMonthly: + description: |- + Storage version of v1api20240901.RelativeMonthlySchedule + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalMonths: + type: integer + weekIndex: + type: string + type: object + weekly: + description: |- + Storage version of v1api20240901.WeeklySchedule + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalWeeks: + type: integer + type: object + type: object + startDate: type: string - name: - description: This is the name of the Kubernetes resource to reference. + startTime: + type: string + utcOffset: type: string type: object - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string - required: - - endIpAddress - - owner - - startIpAddress - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' + notAllowedTime: items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + description: |- + Storage version of v1api20240901.TimeSpan + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: type: string - type: - description: Type of condition. + start: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - type: string - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220120previewstorage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20220120preview.FlexibleServersFirewallRule - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2022-01-20-preview/postgresql.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20220120preview.FlexibleServersFirewallRule_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - endIpAddress: - type: string operatorSpec: description: |- - Storage version of v1api20220120preview.FlexibleServersFirewallRuleOperatorSpec + Storage version of v1api20240901.MaintenanceConfigurationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -114179,7 +177884,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a containerservice.azure.com/ManagedCluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -114188,13 +177893,32 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: - type: string + timeInWeek: + items: + description: |- + Storage version of v1api20240901.TimeInWeek + Time in a week. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + day: + type: string + hourSlots: + items: + type: integer + type: array + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20220120preview.FlexibleServersFirewallRule_STATUS + description: Storage version of v1api20240901.MaintenanceConfiguration_STATUS properties: $propertyBag: additionalProperties: @@ -114246,17 +177970,154 @@ spec: - type type: object type: array - endIpAddress: - type: string id: type: string + maintenanceWindow: + description: |- + Storage version of v1api20240901.MaintenanceWindow_STATUS + Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + durationHours: + type: integer + notAllowedDates: + items: + description: |- + Storage version of v1api20240901.DateSpan_STATUS + For example, between '2022-12-23' and '2023-01-05'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + type: object + type: array + schedule: + description: |- + Storage version of v1api20240901.Schedule_STATUS + One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or + 'relativeMonthly' for your maintenance schedule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + absoluteMonthly: + description: |- + Storage version of v1api20240901.AbsoluteMonthlySchedule_STATUS + For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfMonth: + type: integer + intervalMonths: + type: integer + type: object + daily: + description: |- + Storage version of v1api20240901.DailySchedule_STATUS + For schedules like: 'recur every day' or 'recur every 3 days'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + intervalDays: + type: integer + type: object + relativeMonthly: + description: |- + Storage version of v1api20240901.RelativeMonthlySchedule_STATUS + For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalMonths: + type: integer + weekIndex: + type: string + type: object + weekly: + description: |- + Storage version of v1api20240901.WeeklySchedule_STATUS + For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + intervalWeeks: + type: integer + type: object + type: object + startDate: + type: string + startTime: + type: string + utcOffset: + type: string + type: object name: type: string - startIpAddress: - type: string + notAllowedTime: + items: + description: |- + Storage version of v1api20240901.TimeSpan_STATUS + For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + end: + type: string + start: + type: string + type: object + type: array systemData: description: |- - Storage version of v1api20220120preview.SystemData_STATUS + Storage version of v1api20240901.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -114279,14 +178140,70 @@ spec: lastModifiedByType: type: string type: object + timeInWeek: + items: + description: |- + Storage version of v1api20240901.TimeInWeek_STATUS + Time in a week. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + day: + type: string + hourSlots: + items: + type: integer + type: array + type: object + type: array type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: managedclusters.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: ManagedCluster + listKind: ManagedClusterList + plural: managedclusters + singular: managedcluster + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -114300,13 +178217,9 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221201 + name: v1api20210501 schema: openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -114327,265 +178240,665 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - minLength: 1 - pattern: ^[-\w\._]+$ - type: string - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + aadProfile: properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + adminGroupObjectIDs: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + required: + - enabled + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + kubeletConfig: properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + cpuManagerPolicy: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + kubeletDiskType: + enum: + - OS + - Temporary + type: string + linuxOSConfig: properties: - key: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + enum: + - System + - User + type: string + name: + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + enum: + - Ephemeral + - Managed + type: string + osSKU: + enum: + - CBLMariner + - Ubuntu + type: string + osType: + enum: + - Linux + - Windows + type: string + podSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - value: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + enum: + - Regular + - Spot + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string type: object - owner: + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + enum: + - least-waste + - most-pods + - priority + - random + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + upgradeChannel: + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureName: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + dnsPrefix: type: string - required: - - endIpAddress - - owner - - startIpAddress - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + type: array + trustedCa: + type: string + type: object + identity: + properties: + type: + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + properties: + clientId: type: string - type: - description: Type of condition. + objectId: type: string - required: - - lastTransitionTime - - reason - - status - - type + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' + type: object + kubernetesVersion: type: string - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + linuxProfile: + properties: + adminUsername: + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + networkProfile: properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' + dnsServiceIP: + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + dockerBridgeCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + loadBalancerProfile: + properties: + allocatedOutboundPorts: + maximum: 64000 + minimum: 0 + type: integer + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + properties: + count: + maximum: 100 + minimum: 1 + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + enum: + - basic + - standard type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' + networkMode: + enum: + - bridge + - transparent type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' + networkPlugin: + enum: + - azure + - kubenet type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + networkPolicy: + enum: + - azure + - calico type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + outboundType: + enum: + - loadBalancer + - userDefinedRouting type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + podCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ type: string type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20221201storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20221201.FlexibleServersFirewallRule - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2022-12-01/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20221201.FlexibleServersFirewallRule_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - endIpAddress: + nodeResourceGroup: type: string operatorSpec: description: |- - Storage version of v1api20221201.FlexibleServersFirewallRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -114615,6 +178928,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -114643,14 +178957,50 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -114659,22 +179009,466 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: - type: string + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + items: + properties: + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + servicePrincipalProfile: + properties: + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + properties: + name: + enum: + - Basic + type: string + tier: + enum: + - Free + - Paid + type: string + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + properties: + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object required: + - location - owner type: object status: - description: Storage version of v1api20221201.FlexibleServersFirewallRule_STATUS properties: - $propertyBag: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + properties: + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + upgradeChannel: + type: string type: object + azurePortalFQDN: + type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -114717,271 +179511,279 @@ spec: - type type: object type: array - endIpAddress: + disableLocalAccounts: + type: boolean + diskEncryptionSetID: type: string - id: + dnsPrefix: type: string - name: + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + type: string + type: object + fqdn: type: string - startIpAddress: + fqdnSubdomain: type: string - systemData: - description: |- - Storage version of v1api20221201.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + httpProxyConfig: properties: - $propertyBag: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + properties: + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: additionalProperties: + properties: + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + properties: + clientId: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + type: object + type: array type: object - createdAt: + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + properties: + dnsServiceIP: type: string - createdBy: + dockerBridgeCidr: type: string - createdByType: + loadBalancerProfile: + properties: + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + properties: + count: + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + id: + type: string + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: type: string - lastModifiedAt: + networkMode: type: string - lastModifiedBy: + networkPlugin: type: string - lastModifiedByType: + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + serviceCidr: type: string type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230601preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - minLength: 1 - pattern: ^[-\w\._]+$ - type: string - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + nodeResourceGroup: type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + podIdentityProfile: properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + bindingSelector: type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + namespace: + type: string + provisioningInfo: + properties: + error: + properties: + error: + properties: + code: + type: string + details: + items: + properties: + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + userAssignedIdentityExceptions: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + namespace: type: string - required: - - name - - value + podLabels: + additionalProperties: + type: string + type: object type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + powerState: properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + code: type: string type: object - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' - pattern: ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ + privateFQDN: type: string - required: - - endIpAddress - - owner - - startIpAddress - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' + privateLinkResources: items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + properties: + groupId: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + id: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + name: type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array type: - description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - endIpAddress: - description: 'EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - name: - description: 'Name: The name of the resource' - type: string - startIpAddress: - description: 'StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format.' + provisioningState: type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + servicePrincipalProfile: properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + clientId: type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + type: object + sku: + properties: + name: type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + tier: type: string type: object + tags: + additionalProperties: + type: string + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + windowsProfile: + properties: + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + type: string + type: object type: object type: object served: true @@ -115001,14 +179803,10 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230601previewstorage + name: v1api20210501storage schema: openAPIV3Schema: - description: |- - Storage version of v1api20230601preview.FlexibleServersFirewallRule - Generator information: - - Generated from: /postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2023-06-01-preview/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} + description: Storage version of v1api20210501.ManagedCluster properties: apiVersion: description: |- @@ -115028,7 +179826,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230601preview.FlexibleServersFirewallRule_Spec + description: Storage version of v1api20210501.ManagedCluster_Spec properties: $propertyBag: additionalProperties: @@ -115037,17 +179835,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - endIpAddress: - type: string - operatorSpec: - description: |- - Storage version of v1api20230601preview.FlexibleServersFirewallRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + aadProfile: + description: Storage version of v1api20210501.ManagedClusterAADProfile properties: $propertyBag: additionalProperties: @@ -115056,150 +179845,548 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: + adminGroupObjectIDs: items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20210501.ManagedClusterAddonProfile + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20210501.ManagedClusterAgentPoolProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - name: + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: type: string - value: + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: type: string - value: + type: object + vmSize: + type: string + vnetSubnetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string type: array + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string type: object - originalVersion: - type: string - owner: + autoScalerProfile: + description: Storage version of v1api20210501.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgradeChannel: + type: string + type: object + azureName: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a dbforpostgresql.azure.com/FlexibleServer resource + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetIDReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - startIpAddress: + dnsPrefix: type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230601preview.FlexibleServersFirewallRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20210501.ExtendedLocation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20210501.ManagedClusterHTTPProxyConfig + properties: + $propertyBag: + additionalProperties: type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: array + trustedCa: + type: string + type: object + identity: + description: Storage version of v1api20210501.ManagedClusterIdentity + properties: + $propertyBag: + additionalProperties: type: string - severity: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: Storage version of v1api20210501.UserAssignedIdentityDetails + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20210501.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: type: string - type: - description: Type of condition. + objectId: type: string - required: - - lastTransitionTime - - reason - - status - - type + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - endIpAddress: - type: string - id: - type: string - name: - type: string - startIpAddress: + type: object + kubernetesVersion: type: string - systemData: - description: |- - Storage version of v1api20230601preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + linuxProfile: + description: Storage version of v1api20210501.ContainerServiceLinuxProfile properties: $propertyBag: additionalProperties: @@ -115208,437 +180395,230 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + adminUsername: type: string + ssh: + description: Storage version of v1api20210501.ContainerServiceSshConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20210501.ContainerServiceSshPublicKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object type: object - type: + location: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: fluxconfigurations.kubernetesconfiguration.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: kubernetesconfiguration.azure.com - names: - kind: FluxConfiguration - listKind: FluxConfigurationList - plural: fluxconfigurations - singular: fluxconfiguration - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureBlob: - description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' + networkProfile: + description: Storage version of v1api20210501.ContainerServiceNetworkProfile properties: - accountKey: - description: 'AccountKey: The account key (shared key) to access the storage account' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - containerName: - description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' + dnsServiceIP: type: string - localAuthRef: - description: |- - LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the - managed or user-provided configuration secrets. + dockerBridgeCidr: type: string - managedIdentity: - description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' - properties: - clientId: - description: 'ClientId: The client Id for authenticating a Managed Identity.' - type: string - type: object - sasToken: - description: 'SasToken: The Shared Access token to access the storage container' + loadBalancerProfile: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - servicePrincipal: - description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' - properties: - clientCertificate: - description: 'ClientCertificate: Base64-encoded certificate used to authenticate a Service Principal' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - clientCertificatePassword: - description: 'ClientCertificatePassword: The password for the certificate used to authenticate a Service Principal' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - clientCertificateSendChain: - description: |- - ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable - subject name / issuer based authentication for the Client Certificate - type: boolean - clientId: - description: 'ClientId: The client Id for authenticating a Service Principal.' - type: string - clientIdFromConfig: - description: 'ClientIdFromConfig: The client Id for authenticating a Service Principal.' + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20210501.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer type: object - clientSecret: - description: 'ClientSecret: The client secret for authenticating a Service Principal' + outboundIPPrefixes: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20210501.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - tenantId: - description: 'TenantId: The tenant Id for authenticating a Service Principal' - type: string - tenantIdFromConfig: - description: 'TenantIdFromConfig: The tenant Id for authenticating a Service Principal' + outboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPs properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20210501.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object type: object - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' - type: integer - url: - description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' - type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - bucket: - description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' - properties: - accessKey: - description: 'AccessKey: Plaintext access key used to securely access the S3 bucket' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - bucketName: - description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' - type: string - insecure: - description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' - type: boolean - localAuthRef: - description: |- - LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the - managed or user-provided configuration secrets. + loadBalancerSku: type: string - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' - type: integer - url: - description: 'Url: The URL to sync for the flux configuration S3 bucket.' + networkMode: type: string - type: object - configurationProtectedSettings: - description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' - properties: - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + networkPlugin: type: string - required: - - name - type: object - gitRepository: - description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' - properties: - httpsCACert: - description: 'HttpsCACert: Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - httpsUser: - description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' + networkPolicy: type: string - localAuthRef: - description: |- - LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the - managed or user-provided configuration secrets. + outboundType: type: string - repositoryRef: - description: 'RepositoryRef: The source reference for the GitRepository object.' - properties: - branch: - description: 'Branch: The git repository branch name to checkout.' - type: string - commit: - description: |- - Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence - over semver. - type: string - semver: - description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' - type: string - tag: - description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' - type: string - type: object - sshKnownHosts: - description: |- - SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories - over SSH + podCidr: type: string - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' - type: integer - url: - description: 'Url: The URL to sync for the flux configuration git repository.' + serviceCidr: type: string type: object - kustomizations: - additionalProperties: - description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - properties: - dependsOn: - description: |- - DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile - until all dependencies have completed their reconciliation. - items: - type: string - type: array - force: - description: |- - Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field - change. - type: boolean - path: - description: 'Path: The path in the source reference to reconcile on the cluster.' - type: string - postBuild: - description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' - properties: - substitute: - additionalProperties: - type: string - description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' - type: object - substituteFrom: - description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' - items: - description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. - properties: - kind: - description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' - type: string - name: - description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' - type: string - optional: - description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' - type: boolean - type: object - type: array - type: object - prune: - description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' - type: boolean - retryIntervalInSeconds: - description: |- - RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure - on reconciliation. - type: integer - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' - type: integer - wait: - description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' - type: boolean - type: object - description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' - type: object - namespace: - description: |- - Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, - hyphen and period only. + nodeResourceGroup: type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20210501.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -115668,7 +180648,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -115697,543 +180676,8 @@ spec: - value type: object type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. - properties: - armId: - description: Ownership across namespaces is not supported. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - reconciliationWaitDuration: - description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' - type: string - scope: - description: 'Scope: Scope at which the operator will be installed.' - enum: - - cluster - - namespace - type: string - sourceKind: - description: 'SourceKind: Source Kind to pull the configuration data from.' - enum: - - AzureBlob - - Bucket - - GitRepository - type: string - suspend: - description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' - type: boolean - waitForReconciliation: - description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' - type: boolean - required: - - owner - type: object - status: - description: The Flux Configuration object returned in Get & Put response. - properties: - azureBlob: - description: 'AzureBlob: Parameters to reconcile to the AzureBlob source kind type.' - properties: - containerName: - description: 'ContainerName: The Azure Blob container name to sync from the url endpoint for the flux configuration.' - type: string - localAuthRef: - description: |- - LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the - managed or user-provided configuration secrets. - type: string - managedIdentity: - description: 'ManagedIdentity: Parameters to authenticate using a Managed Identity.' - properties: - clientId: - description: 'ClientId: The client Id for authenticating a Managed Identity.' - type: string - type: object - servicePrincipal: - description: 'ServicePrincipal: Parameters to authenticate using Service Principal.' - properties: - clientCertificateSendChain: - description: |- - ClientCertificateSendChain: Specifies whether to include x5c header in client claims when acquiring a token to enable - subject name / issuer based authentication for the Client Certificate - type: boolean - clientId: - description: 'ClientId: The client Id for authenticating a Service Principal.' - type: string - tenantId: - description: 'TenantId: The tenant Id for authenticating a Service Principal' - type: string - type: object - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster Azure Blob source with the remote.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster Azure Blob source with the remote.' - type: integer - url: - description: 'Url: The URL to sync for the flux configuration Azure Blob storage account.' - type: string - type: object - bucket: - description: 'Bucket: Parameters to reconcile to the Bucket source kind type.' - properties: - bucketName: - description: 'BucketName: The bucket name to sync from the url endpoint for the flux configuration.' - type: string - insecure: - description: 'Insecure: Specify whether to use insecure communication when puling data from the S3 bucket.' - type: boolean - localAuthRef: - description: |- - LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the - managed or user-provided configuration secrets. - type: string - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster bucket source with the remote.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster bucket source with the remote.' - type: integer - url: - description: 'Url: The URL to sync for the flux configuration S3 bucket.' - type: string - type: object - complianceState: - description: |- - ComplianceState: Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the - managed objects. - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - configurationProtectedSettings: - additionalProperties: - type: string - description: 'ConfigurationProtectedSettings: Key-value pairs of protected configuration settings for the configuration' - type: object - errorMessage: - description: 'ErrorMessage: Error message returned to the user in the case of provisioning failure.' - type: string - gitRepository: - description: 'GitRepository: Parameters to reconcile to the GitRepository source kind type.' - properties: - httpsUser: - description: 'HttpsUser: Plaintext HTTPS username used to access private git repositories over HTTPS' - type: string - localAuthRef: - description: |- - LocalAuthRef: Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the - managed or user-provided configuration secrets. - type: string - repositoryRef: - description: 'RepositoryRef: The source reference for the GitRepository object.' - properties: - branch: - description: 'Branch: The git repository branch name to checkout.' - type: string - commit: - description: |- - Commit: The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence - over semver. - type: string - semver: - description: 'Semver: The semver range used to match against git repository tags. This takes precedence over tag.' - type: string - tag: - description: 'Tag: The git repository tag name to checkout. This takes precedence over branch.' - type: string - type: object - sshKnownHosts: - description: |- - SshKnownHosts: Base64-encoded known_hosts value containing public SSH keys required to access private git repositories - over SSH - type: string - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the cluster git repository source with the remote.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the cluster git repository source with the remote.' - type: integer - url: - description: 'Url: The URL to sync for the flux configuration git repository.' - type: string - type: object - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - kustomizations: - additionalProperties: - description: The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. - properties: - dependsOn: - description: |- - DependsOn: Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile - until all dependencies have completed their reconciliation. - items: - type: string - type: array - force: - description: |- - Force: Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field - change. - type: boolean - name: - description: 'Name: Name of the Kustomization, matching the key in the Kustomizations object map.' - type: string - path: - description: 'Path: The path in the source reference to reconcile on the cluster.' - type: string - postBuild: - description: 'PostBuild: Used for variable substitution for this Kustomization after kustomize build.' - properties: - substitute: - additionalProperties: - type: string - description: 'Substitute: Key/value pairs holding the variables to be substituted in this Kustomization.' - type: object - substituteFrom: - description: 'SubstituteFrom: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization.' - items: - description: Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. - properties: - kind: - description: 'Kind: Define whether it is ConfigMap or Secret that holds the variables to be used in substitution.' - type: string - name: - description: 'Name: Name of the ConfigMap/Secret that holds the variables to be used in substitution.' - type: string - optional: - description: 'Optional: Set to True to proceed without ConfigMap/Secret, if it is not present.' - type: boolean - type: object - type: array - type: object - prune: - description: 'Prune: Enable/disable garbage collections of Kubernetes objects created by this Kustomization.' - type: boolean - retryIntervalInSeconds: - description: |- - RetryIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster in the event of failure - on reconciliation. - type: integer - syncIntervalInSeconds: - description: 'SyncIntervalInSeconds: The interval at which to re-reconcile the Kustomization on the cluster.' - type: integer - timeoutInSeconds: - description: 'TimeoutInSeconds: The maximum time to attempt to reconcile the Kustomization on the cluster.' - type: integer - wait: - description: 'Wait: Enable/disable health check for all Kubernetes objects created by this Kustomization.' - type: boolean - type: object - description: 'Kustomizations: Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.' - type: object - name: - description: 'Name: The name of the resource' - type: string - namespace: - description: |- - Namespace: The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, - hyphen and period only. - type: string - provisioningState: - description: 'ProvisioningState: Status of the creation of the fluxConfiguration.' - type: string - reconciliationWaitDuration: - description: 'ReconciliationWaitDuration: Maximum duration to wait for flux configuration reconciliation. E.g PT1H, PT5M, P1D' - type: string - repositoryPublicKey: - description: |- - RepositoryPublicKey: Public Key associated with this fluxConfiguration (either generated within the cluster or provided - by the user). - type: string - scope: - description: 'Scope: Scope at which the operator will be installed.' - type: string - sourceKind: - description: 'SourceKind: Source Kind to pull the configuration data from.' - type: string - sourceSyncedCommitId: - description: 'SourceSyncedCommitId: Branch and/or SHA of the source commit synced with the cluster.' - type: string - sourceUpdatedAt: - description: 'SourceUpdatedAt: Datetime the fluxConfiguration synced its source on the cluster.' - type: string - statusUpdatedAt: - description: 'StatusUpdatedAt: Datetime the fluxConfiguration synced its status on the cluster with Azure.' - type: string - statuses: - description: |- - Statuses: Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects - provisioned by the fluxConfiguration. - items: - description: Statuses of objects deployed by the user-specified kustomizations from the git repository. - properties: - appliedBy: - description: 'AppliedBy: Object reference to the Kustomization that applied this object' - properties: - name: - description: 'Name: Name of the object' - type: string - namespace: - description: 'Namespace: Namespace of the object' - type: string - type: object - complianceState: - description: |- - ComplianceState: Compliance state of the applied object showing whether the applied object has come into a ready state - on the cluster. - type: string - helmReleaseProperties: - description: 'HelmReleaseProperties: Additional properties that are provided from objects of the HelmRelease kind' - properties: - failureCount: - description: 'FailureCount: Total number of times that the HelmRelease failed to install or upgrade' - type: integer - helmChartRef: - description: 'HelmChartRef: The reference to the HelmChart object used as the source to this HelmRelease' - properties: - name: - description: 'Name: Name of the object' - type: string - namespace: - description: 'Namespace: Namespace of the object' - type: string - type: object - installFailureCount: - description: 'InstallFailureCount: Number of times that the HelmRelease failed to install' - type: integer - lastRevisionApplied: - description: 'LastRevisionApplied: The revision number of the last released object change' - type: integer - upgradeFailureCount: - description: 'UpgradeFailureCount: Number of times that the HelmRelease failed to upgrade' - type: integer - type: object - kind: - description: 'Kind: Kind of the applied object' - type: string - name: - description: 'Name: Name of the applied object' - type: string - namespace: - description: 'Namespace: Namespace of the applied object' - type: string - statusConditions: - description: 'StatusConditions: List of Kubernetes object status conditions present on the cluster' - items: - description: Status condition of Kubernetes object - properties: - lastTransitionTime: - description: 'LastTransitionTime: Last time this status condition has changed' - type: string - message: - description: 'Message: A more verbose description of the object status condition' - type: string - reason: - description: 'Reason: Reason for the specified status condition type status' - type: string - status: - description: 'Status: Status of the Kubernetes object condition type' - type: string - type: - description: 'Type: Object status condition type for this object' - type: string - type: object - type: array - type: object - type: array - suspend: - description: 'Suspend: Whether this configuration should suspend its reconciliation of its kustomizations and sources.' - type: boolean - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - waitForReconciliation: - description: 'WaitForReconciliation: Whether flux configuration deployment should wait for cluster to reconcile the kustomizations.' - type: boolean - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230501.FluxConfiguration - Generator information: - - Generated from: /kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2023-05-01/fluxconfiguration.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230501.FluxConfiguration_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBlob: - description: |- - Storage version of v1api20230501.AzureBlobDefinition - Parameters to reconcile to the AzureBlob source kind type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accountKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - containerName: - type: string - localAuthRef: - type: string - managedIdentity: - description: |- - Storage version of v1api20230501.ManagedIdentityDefinition - Parameters to authenticate using a Managed Identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - type: object - sasToken: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - servicePrincipal: - description: |- - Storage version of v1api20230501.ServicePrincipalDefinition - Parameters to authenticate using Service Principal. + secrets: + description: Storage version of v1api20210501.ManagedClusterOperatorSecrets properties: $propertyBag: additionalProperties: @@ -116242,114 +180686,194 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientCertificate: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - clientCertificatePassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - clientCertificateSendChain: - type: boolean - clientId: - type: string - clientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - clientSecret: + adminCredentials: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: key: - description: Key is the key in the Kubernetes secret being referenced + description: Key is the key in the Kubernetes secret being referenced. type: string name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string required: - key - name type: object - tenantId: - type: string - tenantIdFromConfig: + userCredentials: description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: key: - description: Key is the key in the Kubernetes configmap being referenced + description: Key is the key in the Kubernetes secret being referenced. type: string name: description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string required: - key - name type: object type: object - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - url: - type: string type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + originalVersion: type: string - bucket: + owner: description: |- - Storage version of v1api20230501.BucketDefinition - Parameters to reconcile to the Bucket source kind type. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20210501.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentityException + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: Storage version of v1api20210501.PrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + servicePrincipalProfile: + description: Storage version of v1api20210501.ManagedClusterServicePrincipalProfile properties: $propertyBag: additionalProperties: @@ -116358,7 +180882,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessKey: + clientId: + type: string + secret: description: |- SecretReference is a reference to a Kubernetes secret and key in the same namespace as the resource it is on. @@ -116375,36 +180901,28 @@ spec: - key - name type: object - bucketName: - type: string - insecure: - type: boolean - localAuthRef: - type: string - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - url: - type: string type: object - configurationProtectedSettings: - description: |- - SecretMapReference is a reference to a Kubernetes secret in the same namespace as - the resource it is on. + sku: + description: Storage version of v1api20210501.ManagedClusterSKU properties: - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: type: string - required: - - name type: object - gitRepository: - description: |- - Storage version of v1api20230501.GitRepositoryDefinition - Parameters to reconcile to the GitRepository source kind type. + tags: + additionalProperties: + type: string + type: object + windowsProfile: + description: Storage version of v1api20210501.ManagedClusterWindowsProfile properties: $propertyBag: additionalProperties: @@ -116413,7 +180931,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - httpsCACert: + adminPassword: description: |- SecretReference is a reference to a Kubernetes secret and key in the same namespace as the resource it is on. @@ -116430,45 +180948,56 @@ spec: - key - name type: object - httpsUser: + adminUsername: type: string - localAuthRef: + enableCSIProxy: + type: boolean + licenseType: type: string - repositoryRef: + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210501.ManagedCluster_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20210501.ManagedClusterAADProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230501.RepositoryRefDefinition - The source reference for the GitRepository object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - branch: - type: string - commit: - type: string - semver: - type: string - tag: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - sshKnownHosts: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: type: string - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - url: + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: type: string type: object - kustomizations: + addonProfiles: additionalProperties: - description: |- - Storage version of v1api20230501.KustomizationDefinition - The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + description: Storage version of v1api20210501.ManagedClusterAddonProfile_STATUS properties: $propertyBag: additionalProperties: @@ -116477,18 +181006,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dependsOn: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20210501.ManagedClusterAgentPoolProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: items: type: string type: array - force: + count: + type: integer + enableAutoScaling: type: boolean - path: + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: type: string - postBuild: - description: |- - Storage version of v1api20230501.PostBuildDefinition - The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig_STATUS properties: $propertyBag: additionalProperties: @@ -116497,50 +181070,201 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - substitute: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig_STATUS + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - substituteFrom: - items: - description: |- - Storage version of v1api20230501.SubstituteFromDefinition - Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - kind: - type: string - name: + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: type: string - optional: - type: boolean - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - prune: - type: boolean - retryIntervalInSeconds: + maxCount: type: integer - syncIntervalInSeconds: + maxPods: type: integer - timeoutInSeconds: + minCount: type: integer - wait: - type: boolean + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20210501.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string type: object - type: object - namespace: - type: string - operatorSpec: - description: |- - Storage version of v1api20230501.FluxConfigurationOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + type: array + apiServerAccessProfile: + description: Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile_STATUS properties: $propertyBag: additionalProperties: @@ -116549,116 +181273,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: + authorizedIPRanges: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object + type: string type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. - properties: - armId: - description: Ownership across namespaces is not supported. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: This is the name of the Kubernetes resource to reference. + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: type: string type: object - reconciliationWaitDuration: - type: string - scope: - type: string - sourceKind: - type: string - suspend: - type: boolean - waitForReconciliation: - type: boolean - required: - - owner - type: object - status: - description: |- - Storage version of v1api20230501.FluxConfiguration_STATUS - The Flux Configuration object returned in Get & Put response. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureBlob: - description: |- - Storage version of v1api20230501.AzureBlobDefinition_STATUS - Parameters to reconcile to the AzureBlob source kind type. + autoScalerProfile: + description: Storage version of v1api20210501.ManagedClusterProperties_AutoScalerProfile_STATUS properties: $propertyBag: additionalProperties: @@ -116667,55 +181294,43 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - containerName: + balance-similar-node-groups: type: string - localAuthRef: + expander: type: string - managedIdentity: - description: |- - Storage version of v1api20230501.ManagedIdentityDefinition_STATUS - Parameters to authenticate using a Managed Identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - type: object - servicePrincipal: - description: |- - Storage version of v1api20230501.ServicePrincipalDefinition_STATUS - Parameters to authenticate using Service Principal. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertificateSendChain: - type: boolean - clientId: - type: string - tenantId: - type: string - type: object - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - url: + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: type: string type: object - bucket: - description: |- - Storage version of v1api20230501.BucketDefinition_STATUS - Parameters to reconcile to the Bucket source kind type. + autoUpgradeProfile: + description: Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile_STATUS properties: $propertyBag: additionalProperties: @@ -116724,20 +181339,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bucketName: - type: string - insecure: - type: boolean - localAuthRef: - type: string - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - url: + upgradeChannel: type: string type: object - complianceState: + azurePortalFQDN: type: string conditions: items: @@ -116782,16 +181387,18 @@ spec: - type type: object type: array - configurationProtectedSettings: - additionalProperties: - type: string - type: object - errorMessage: + disableLocalAccounts: + type: boolean + diskEncryptionSetID: type: string - gitRepository: - description: |- - Storage version of v1api20230501.GitRepositoryDefinition_STATUS - Parameters to reconcile to the GitRepository source kind type. + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20210501.ExtendedLocation_STATUS properties: $propertyBag: additionalProperties: @@ -116800,47 +181407,75 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - httpsUser: + name: type: string - localAuthRef: + type: type: string - repositoryRef: + type: object + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20210501.ManagedClusterHTTPProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230501.RepositoryRefDefinition_STATUS - The source reference for the GitRepository object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - branch: - type: string - commit: - type: string - semver: - type: string - tag: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - sshKnownHosts: + httpProxy: type: string - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - url: + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: type: string type: object id: type: string - kustomizations: + identity: + description: Storage version of v1api20210501.ManagedClusterIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210501.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: additionalProperties: - description: |- - Storage version of v1api20230501.KustomizationDefinition_STATUS - The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster. + description: Storage version of v1api20210501.UserAssignedIdentity_STATUS properties: $propertyBag: additionalProperties: @@ -116849,20 +181484,300 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dependsOn: - items: - type: string - type: array - force: - type: boolean - name: - type: string - path: - type: string - postBuild: - description: |- - Storage version of v1api20230501.PostBuildDefinition_STATUS - The postBuild definitions defining variable substitutions for this Kustomization after kustomize build. + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20210501.ContainerServiceLinuxProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20210501.ContainerServiceSshConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20210501.ContainerServiceSshPublicKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + description: Storage version of v1api20210501.ContainerServiceNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + loadBalancerProfile: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20210501.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20210501.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20210501.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + serviceCidr: + type: string + type: object + nodeResourceGroup: + type: string + podIdentityProfile: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20210501.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20210501.ManagedClusterPodIdentityException_STATUS properties: $propertyBag: additionalProperties: @@ -116871,69 +181786,35 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - substitute: + name: + type: string + namespace: + type: string + podLabels: additionalProperties: type: string type: object - substituteFrom: - items: - description: |- - Storage version of v1api20230501.SubstituteFromDefinition_STATUS - Array of ConfigMaps/Secrets from which the variables are substituted for this Kustomization. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - kind: - type: string - name: - type: string - optional: - type: boolean - type: object - type: array type: object - prune: - type: boolean - retryIntervalInSeconds: - type: integer - syncIntervalInSeconds: - type: integer - timeoutInSeconds: - type: integer - wait: - type: boolean - type: object + type: array type: object - name: - type: string - namespace: - type: string - provisioningState: - type: string - reconciliationWaitDuration: - type: string - repositoryPublicKey: - type: string - scope: - type: string - sourceKind: - type: string - sourceSyncedCommitId: - type: string - sourceUpdatedAt: - type: string - statusUpdatedAt: + powerState: + description: Storage version of v1api20210501.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: type: string - statuses: + privateLinkResources: items: - description: |- - Storage version of v1api20230501.ObjectStatusDefinition_STATUS - Statuses of objects deployed by the user-specified kustomizations from the git repository. + description: Storage version of v1api20210501.PrivateLinkResource_STATUS properties: $propertyBag: additionalProperties: @@ -116942,140 +181823,81 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appliedBy: - description: |- - Storage version of v1api20230501.ObjectReferenceDefinition_STATUS - Object reference to a Kubernetes object on a cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - type: object - complianceState: + groupId: type: string - helmReleaseProperties: - description: |- - Storage version of v1api20230501.HelmReleasePropertiesDefinition_STATUS - Properties for HelmRelease objects - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - failureCount: - type: integer - helmChartRef: - description: |- - Storage version of v1api20230501.ObjectReferenceDefinition_STATUS - Object reference to a Kubernetes object on a cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - type: object - installFailureCount: - type: integer - lastRevisionApplied: - type: integer - upgradeFailureCount: - type: integer - type: object - kind: + id: type: string name: type: string - namespace: + privateLinkServiceID: type: string - statusConditions: + requiredMembers: items: - description: |- - Storage version of v1api20230501.ObjectStatusConditionDefinition_STATUS - Status condition of Kubernetes object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lastTransitionTime: - type: string - message: - type: string - reason: - type: string - status: - type: string - type: - type: string - type: object + type: string type: array + type: + type: string type: object type: array - suspend: - type: boolean + provisioningState: + type: string + servicePrincipalProfile: + description: Storage version of v1api20210501.ManagedClusterServicePrincipalProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: Storage version of v1api20210501.ManagedClusterSKU_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object type: type: string - waitForReconciliation: - type: boolean + windowsProfile: + description: Storage version of v1api20210501.ManagedClusterWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + licenseType: + type: string + type: object type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: images.compute.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: compute.azure.com - names: - kind: Image - listKind: ImageList - plural: images - singular: image - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -117089,13 +181911,9 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210701 + name: v1api20230201 schema: openAPIV3Schema: - description: |- - Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2021-07-01/compute.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} properties: apiVersion: description: |- @@ -117116,941 +181934,645 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the Image.' + aadProfile: properties: - name: - description: 'Name: The name of the extended location.' + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: type: string type: object - hyperVGeneration: - description: |- - HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version - 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource - like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed - resource. - enum: - - V1 - - V2 - type: string - location: - description: 'Location: Resource location' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + required: + - enabled + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: properties: - key: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: Name is the Kubernetes name of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: object + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + kubeletDiskType: + enum: + - OS + - Temporary + type: string + linuxOSConfig: properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + transparentHugePageEnabled: type: string - value: + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + enum: + - System + - User + type: string + name: + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - sourceVirtualMachine: - description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + nodeTaints: + items: type: string - type: object - type: object - storageProfile: - description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' - properties: - dataDisks: - description: |- - DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). - items: - description: Describes a data disk. + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + enum: + - Ephemeral + - Managed + type: string + osSKU: + enum: + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + enum: + - Linux + - Windows + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' - type: string - caching: + armId: description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + properties: + code: enum: - - None - - ReadOnly - - ReadWrite + - Running + - Stopped type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - lun: - description: |- - Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and - therefore must be unique for each data disk attached to a VM. - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - snapshot: - description: 'Snapshot: The snapshot.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - storageAccountType: + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - enum: - - Premium_LRS - - Premium_ZRS - - StandardSSD_LRS - - StandardSSD_ZRS - - Standard_LRS - - UltraSSD_LRS + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - lun type: object - type: array - osDisk: - description: |- - OsDisk: Specifies information about the operating system disk used by the virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). - properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' - type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage - enum: - - None - - ReadOnly - - ReadWrite - type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - osState: - description: 'OsState: The OS State.' - enum: - - Generalized - - Specialized - type: string - osType: - description: |- - OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a - custom image. - Possible values are: - Windows - Linux - enum: - - Linux - - Windows - type: string - snapshot: - description: 'Snapshot: The snapshot.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - storageAccountType: - description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - enum: - - Premium_LRS - - Premium_ZRS - - StandardSSD_LRS - - StandardSSD_ZRS - - Standard_LRS - - UltraSSD_LRS - type: string - required: - - osState - - osType - type: object - zoneResilient: - description: |- - ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be - created only in regions that provide Zone Redundant Storage (ZRS). - type: boolean - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - required: - - location - - owner - type: object - status: - description: |- - The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual - machine. If SourceImage is provided, the destination virtual hard drive must not exist. - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + scaleDownMode: + enum: + - Deallocate + - Delete type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + scaleSetEvictionPolicy: + enum: + - Deallocate + - Delete type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + scaleSetPriority: + enum: + - Regular + - Spot type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + enum: + - AvailabilitySet + - VirtualMachineScaleSets type: string - status: - description: Status of the condition, one of True, False, or Unknown. + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: type: string - type: - description: Type of condition. + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + enum: + - OCIContainer + - WasmWasi type: string required: - - lastTransitionTime - - reason - - status - - type + - name type: object type: array - extendedLocation: - description: 'ExtendedLocation: The extended location of the Image.' + apiServerAccessProfile: properties: - name: - description: 'Name: The name of the extended location.' + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: type: string - type: - description: 'Type: The type of the extended location.' + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + enum: + - least-waste + - most-pods + - priority + - random + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: type: string type: object - hyperVGeneration: - description: |- - HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version - 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource - like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed - resource. - type: string - id: - description: 'Id: Resource Id' - type: string - location: - description: 'Location: Resource location' - type: string - name: - description: 'Name: Resource name' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state.' - type: string - sourceVirtualMachine: - description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' + autoUpgradeProfile: properties: - id: - description: 'Id: Resource Id' + upgradeChannel: + enum: + - node-image + - none + - patch + - rapid + - stable type: string type: object - storageProfile: - description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + azureMonitorProfile: properties: - dataDisks: - description: |- - DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). - items: - description: Describes a data disk. - properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' - type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage - type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - lun: - description: |- - Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and - therefore must be unique for each data disk attached to a VM. - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - snapshot: - description: 'Snapshot: The snapshot.' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - storageAccountType: - description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - type: string - type: object - type: array - osDisk: - description: |- - OsDisk: Specifies information about the operating system disk used by the virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + metrics: properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' - type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage - type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' + enabled: + type: boolean + kubeStateMetrics: properties: - id: - description: 'Id: Resource Id' + metricAnnotationsAllowList: type: string - type: object - osState: - description: 'OsState: The OS State.' - type: string - osType: - description: |- - OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a - custom image. - Possible values are: - Windows - Linux - type: string - snapshot: - description: 'Snapshot: The snapshot.' - properties: - id: - description: 'Id: Resource Id' + metricLabelsAllowlist: type: string type: object - storageAccountType: - description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - type: string + required: + - enabled type: object - zoneResilient: - description: |- - ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be - created only in regions that provide Zone Redundant Storage (ZRS). - type: boolean - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - type: - description: 'Type: Resource type' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210701storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20210701.Image - Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2021-07-01/compute.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20210701.Image_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ type: string - extendedLocation: - description: |- - Storage version of v1api20210701.ExtendedLocation - The complex type of the extended location. + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: name: type: string type: + enum: + - EdgeZone type: string type: object - hyperVGeneration: - type: string - location: + fqdnSubdomain: type: string - operatorSpec: - description: |- - Storage version of v1api20210701.ImageOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + httpProxyConfig: properties: - $propertyBag: - additionalProperties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: + type: array + trustedCa: + type: string + type: object + identity: + properties: + type: + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + group: + description: Group is the Kubernetes group of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array + type: object type: object - originalVersion: + kubernetesVersion: type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + linuxProfile: properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + adminUsername: + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ type: string - type: object - sourceVirtualMachine: - description: Storage version of v1api20210701.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' + ssh: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + publicKeys: + items: + properties: + keyData: + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys type: object + required: + - adminUsername + - ssh type: object - storageProfile: - description: |- - Storage version of v1api20210701.ImageStorageProfile - Describes a storage profile. + location: + type: string + networkProfile: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataDisks: + dnsServiceIP: + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + dockerBridgeCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + ipFamilies: items: - description: |- - Storage version of v1api20210701.ImageDataDisk - Describes a data disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20210701.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - diskSizeGB: - type: integer - lun: - type: integer - managedDisk: - description: Storage version of v1api20210701.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - snapshot: - description: Storage version of v1api20210701.SubResource + enum: + - IPv4 + - IPv6 + type: string + type: array + loadBalancerProfile: + properties: + allocatedOutboundPorts: + maximum: 64000 + minimum: 0 + type: integer + effectiveOutboundIPs: + items: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object reference: - description: 'Reference: Resource Id' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -118070,459 +182592,180 @@ spec: type: string type: object type: object - storageAccountType: - type: string - type: object - type: array - osDisk: - description: |- - Storage version of v1api20210701.ImageOSDisk - Describes an Operating System disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20210701.SubResource + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + count: + maximum: 100 + minimum: 1 + type: integer + countIPv6: + maximum: 100 + minimum: 0 + type: integer type: object - diskSizeGB: - type: integer - managedDisk: - description: Storage version of v1api20210701.SubResource + outboundIPPrefixes: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + publicIPPrefixes: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - osState: - type: string - osType: - type: string - snapshot: - description: Storage version of v1api20210701.SubResource + outboundIPs: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + publicIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - storageAccountType: - type: string - type: object - zoneResilient: - type: boolean - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20210701.Image_STATUS - The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual - machine. If SourceImage is provided, the destination virtual hard drive must not exist. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - extendedLocation: - description: |- - Storage version of v1api20210701.ExtendedLocation_STATUS - The complex type of the extended location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - hyperVGeneration: - type: string - id: - type: string - location: - type: string - name: - type: string - provisioningState: - type: string - sourceVirtualMachine: - description: Storage version of v1api20210701.SubResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - storageProfile: - description: |- - Storage version of v1api20210701.ImageStorageProfile_STATUS - Describes a storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - dataDisks: - items: - description: |- - Storage version of v1api20210701.ImageDataDisk_STATUS - Describes a data disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20210701.SubResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - diskSizeGB: - type: integer - lun: - type: integer - managedDisk: - description: Storage version of v1api20210701.SubResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - snapshot: - description: Storage version of v1api20210701.SubResource_STATUS + loadBalancerSku: + enum: + - basic + - standard + type: string + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - id: - type: string type: object - storageAccountType: - type: string - type: object - type: array - osDisk: - description: |- - Storage version of v1api20210701.ImageOSDisk_STATUS - Describes an Operating System disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20210701.SubResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - diskSizeGB: + type: array + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 type: integer - managedDisk: - description: Storage version of v1api20210701.SubResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - osState: - type: string - osType: - type: string - snapshot: - description: Storage version of v1api20210701.SubResource_STATUS + managedOutboundIPProfile: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string + count: + maximum: 16 + minimum: 1 + type: integer type: object - storageAccountType: - type: string type: object - zoneResilient: - type: boolean - type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220301 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/image.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the Image.' - properties: - name: - description: 'Name: The name of the extended location.' + networkDataplane: + enum: + - azure + - cilium type: string - type: - description: 'Type: The type of the extended location.' + networkMode: enum: - - EdgeZone + - bridge + - transparent + type: string + networkPlugin: + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + enum: + - overlay + type: string + networkPolicy: + enum: + - azure + - calico + - cilium + type: string + outboundType: + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ type: string + serviceCidrs: + items: + type: string + type: array type: object - hyperVGeneration: - description: |- - HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version - 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource - like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed - resource. - enum: - - V1 - - V2 - type: string - location: - description: 'Location: Resource location' + nodeResourceGroup: type: string + oidcIssuerProfile: + properties: + enabled: + type: boolean + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -118558,6 +182801,42 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -118588,6 +182867,44 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -118602,121 +182919,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sourceVirtualMachine: - description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - storageProfile: - description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' + podIdentityProfile: properties: - dataDisks: - description: |- - DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: items: - description: Describes a data disk. properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' - type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage - enum: - - None - - ReadOnly - - ReadWrite + bindingSelector: type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - lun: - description: |- - Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and - therefore must be unique for each data disk attached to a VM. - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - snapshot: - description: 'Snapshot: The snapshot.' + identity: properties: - reference: - description: 'Reference: Resource Id' + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -118736,177 +182957,578 @@ spec: type: string type: object type: object - storageAccountType: - description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - enum: - - PremiumV2_LRS - - Premium_LRS - - Premium_ZRS - - StandardSSD_LRS - - StandardSSD_ZRS - - Standard_LRS - - UltraSSD_LRS + name: + type: string + namespace: type: string required: - - lun + - identity + - name + - namespace type: object type: array - osDisk: - description: |- - OsDisk: Specifies information about the operating system disk used by the virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: + items: + properties: + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + enum: + - Disabled + - Enabled + type: string + securityProfile: + properties: + azureKeyVaultKms: properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' + enabled: + type: boolean + keyId: type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage + keyVaultNetworkAccess: enum: - - None - - ReadOnly - - ReadWrite + - Private + - Public type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' + type: object + defender: + properties: + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - osState: - description: 'OsState: The OS State. For managed images, use Generalized.' - enum: - - Generalized - - Specialized + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - osType: + name: description: |- - OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a - custom image. - Possible values are: - Windows - Linux - enum: - - Linux - - Windows + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - snapshot: - description: 'Snapshot: The snapshot.' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - storageAccountType: + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + properties: + name: + enum: + - Base + type: string + tier: + enum: + - Free + - Standard + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + properties: + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - enum: - - PremiumV2_LRS - - Premium_LRS - - Premium_ZRS - - StandardSSD_LRS - - StandardSSD_ZRS - - Standard_LRS - - UltraSSD_LRS + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + properties: + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + properties: + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + properties: + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: type: string - required: - - osState - - osType - type: object - zoneResilient: - description: |- - ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be - created only in regions that provide Zone Redundant Storage (ZRS). + type: object + type: + type: string + upgradeSettings: + properties: + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: type: boolean + privateDNSZone: + type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string type: object - required: - - location - - owner - type: object - status: - description: |- - The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual - machine. If SourceImage is provided, the destination virtual hard drive must not exist. - properties: + autoUpgradeProfile: + properties: + upgradeChannel: + type: string + type: object + azureMonitorProfile: + properties: + metrics: + properties: + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -118951,180 +183573,418 @@ spec: - type type: object type: array + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean extendedLocation: - description: 'ExtendedLocation: The extended location of the Image.' properties: name: - description: 'Name: The name of the extended location.' type: string type: - description: 'Type: The type of the extended location.' type: string type: object - hyperVGeneration: - description: |- - HyperVGeneration: Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version - 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource - like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed - resource. + fqdn: + type: string + fqdnSubdomain: type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object id: - description: 'Id: Resource Id' type: string + identity: + properties: + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + type: object + type: array + type: object + type: object location: - description: 'Location: Resource location' type: string + maxAgentPools: + type: integer name: - description: 'Name: Resource name' type: string - provisioningState: - description: 'ProvisioningState: The provisioning state.' - type: string - sourceVirtualMachine: - description: 'SourceVirtualMachine: The source virtual machine from which Image is created.' + networkProfile: properties: - id: - description: 'Id: Resource Id' + dnsServiceIP: type: string - type: object - storageProfile: - description: 'StorageProfile: Specifies the storage settings for the virtual machine disks.' - properties: - dataDisks: - description: |- - DataDisks: Specifies the parameters that are used to add a data disk to a virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + dockerBridgeCidr: + type: string + ipFamilies: items: - description: Describes a data disk. - properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' - type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage - type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' + type: string + type: array + loadBalancerProfile: + properties: + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: properties: id: - description: 'Id: Resource Id' type: string type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - lun: - description: |- - Lun: Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and - therefore must be unique for each data disk attached to a VM. - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + properties: + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + id: + type: string + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: properties: id: - description: 'Id: Resource Id' type: string type: object - snapshot: - description: 'Snapshot: The snapshot.' + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + properties: + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: + type: string + oidcIssuerProfile: + properties: + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: properties: - id: - description: 'Id: Resource Id' + clientId: + type: string + objectId: + type: string + resourceId: type: string type: object - storageAccountType: - description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. + name: + type: string + namespace: + type: string + provisioningInfo: + properties: + error: + properties: + error: + properties: + code: + type: string + details: + items: + properties: + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: type: string type: object type: array - osDisk: - description: |- - OsDisk: Specifies information about the operating system disk used by the virtual machine. - For more information about disks, see [About disks and VHDs for Azure virtual - machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview). + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + powerState: + properties: + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + properties: + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + securityProfile: + properties: + azureKeyVaultKms: properties: - blobUri: - description: 'BlobUri: The Virtual Hard Disk.' + enabled: + type: boolean + keyId: type: string - caching: - description: |- - Caching: Specifies the caching requirements. - Possible values are: - None - ReadOnly - ReadWrite - Default: None for Standard storage. ReadOnly for Premium storage + keyVaultNetworkAccess: type: string - diskEncryptionSet: - description: 'DiskEncryptionSet: Specifies the customer managed disk encryption set resource id for the managed image disk.' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - diskSizeGB: - description: |- - DiskSizeGB: Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the - disk in a virtual machine image. - This value cannot be larger than 1023 GB - type: integer - managedDisk: - description: 'ManagedDisk: The managedDisk.' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - osState: - description: 'OsState: The OS State. For managed images, use Generalized.' + keyVaultResourceId: type: string - osType: - description: |- - OsType: This property allows you to specify the type of the OS that is included in the disk if creating a VM from a - custom image. - Possible values are: - Windows - Linux + type: object + defender: + properties: + logAnalyticsWorkspaceResourceId: type: string - snapshot: - description: 'Snapshot: The snapshot.' + securityMonitoring: properties: - id: - description: 'Id: Resource Id' - type: string + enabled: + type: boolean type: object - storageAccountType: - description: |- - StorageAccountType: Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with - data disks, it cannot be used with OS Disk. - type: string type: object - zoneResilient: - description: |- - ZoneResilient: Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be - created only in regions that provide Zone Redundant Storage (ZRS). - type: boolean + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + type: object + sku: + properties: + name: + type: string + tier: + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + systemData: + properties: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object type: - description: 'Type: Resource type' type: string + windowsProfile: + properties: + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + type: object + type: object type: object type: object served: true @@ -119144,14 +184004,10 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220301storage + name: v1api20230201storage schema: openAPIV3Schema: - description: |- - Storage version of v1api20220301.Image - Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/ComputeRP/stable/2022-03-01/image.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName} + description: Storage version of v1api20230201.ManagedCluster properties: apiVersion: description: |- @@ -119171,7 +184027,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220301.Image_Spec + description: Storage version of v1api20230201.ManagedCluster_Spec properties: $propertyBag: additionalProperties: @@ -119180,15 +184036,409 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - extendedLocation: - description: |- - Storage version of v1api20220301.ExtendedLocation - The complex type of the extended location. + aadProfile: + description: Storage version of v1api20230201.ManagedClusterAADProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20230201.ManagedClusterAddonProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20230201.ManagedClusterAgentPoolProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20230201.PowerState + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile properties: $propertyBag: additionalProperties: @@ -119197,19 +184447,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: type: string type: object - hyperVGeneration: - type: string - location: - type: string - operatorSpec: - description: |- - Storage version of v1api20220301.ImageOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + autoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterProperties_AutoScalerProfile properties: $propertyBag: additionalProperties: @@ -119218,82 +184470,43 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + balance-similar-node-groups: type: string - name: - description: This is the name of the Kubernetes resource to reference. + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: type: string type: object - sourceVirtualMachine: - description: Storage version of v1api20220301.SubResource + autoUpgradeProfile: + description: Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile properties: $propertyBag: additionalProperties: @@ -119302,31 +184515,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + upgradeChannel: + type: string type: object - storageProfile: - description: |- - Storage version of v1api20220301.ImageStorageProfile - Describes a storage profile. + azureMonitorProfile: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfile properties: $propertyBag: additionalProperties: @@ -119335,128 +184528,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dataDisks: - items: - description: |- - Storage version of v1api20220301.ImageDataDisk - Describes a data disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20220301.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - diskSizeGB: - type: integer - lun: - type: integer - managedDisk: - description: Storage version of v1api20220301.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - snapshot: - description: Storage version of v1api20220301.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - storageAccountType: - type: string - type: object - type: array - osDisk: - description: |- - Storage version of v1api20220301.ImageOSDisk - Describes an Operating System disk. + metrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics properties: $propertyBag: additionalProperties: @@ -119465,80 +184538,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20220301.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - diskSizeGB: - type: integer - managedDisk: - description: Storage version of v1api20220301.SubResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - osState: - type: string - osType: - type: string - snapshot: - description: Storage version of v1api20220301.SubResource + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics properties: $propertyBag: additionalProperties: @@ -119547,100 +184550,48 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string type: object - storageAccountType: - type: string type: object - zoneResilient: - type: boolean - type: object - tags: - additionalProperties: - type: string type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20220301.Image_STATUS - The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual - machine. If SourceImage is provided, the destination virtual hard drive must not exist. - properties: - $propertyBag: - additionalProperties: - type: string + azureName: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean extendedLocation: - description: |- - Storage version of v1api20220301.ExtendedLocation_STATUS - The complex type of the extended location. + description: Storage version of v1api20230201.ExtendedLocation properties: $propertyBag: additionalProperties: @@ -119654,18 +184605,10 @@ spec: type: type: string type: object - hyperVGeneration: - type: string - id: - type: string - location: - type: string - name: - type: string - provisioningState: + fqdnSubdomain: type: string - sourceVirtualMachine: - description: Storage version of v1api20220301.SubResource_STATUS + httpProxyConfig: + description: Storage version of v1api20230201.ManagedClusterHTTPProxyConfig properties: $propertyBag: additionalProperties: @@ -119674,13 +184617,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: type: string type: object - storageProfile: - description: |- - Storage version of v1api20220301.ImageStorageProfile_STATUS - Describes a storage profile. + identity: + description: Storage version of v1api20230201.ManagedClusterIdentity properties: $propertyBag: additionalProperties: @@ -119689,11 +184638,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dataDisks: + type: + type: string + userAssignedIdentities: items: - description: |- - Storage version of v1api20220301.ImageDataDisk_STATUS - Describes a data disk. + description: Storage version of v1api20230201.UserAssignedIdentityDetails properties: $propertyBag: additionalProperties: @@ -119702,42 +184651,93 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20220301.SubResource_STATUS + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - diskSizeGB: - type: integer - lun: - type: integer - managedDisk: - description: Storage version of v1api20220301.SubResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - snapshot: - description: Storage version of v1api20220301.SubResource_STATUS + type: object + type: array + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20230201.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20230201.ContainerServiceLinuxProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20230201.ContainerServiceSshConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20230201.ContainerServiceSshPublicKey properties: $propertyBag: additionalProperties: @@ -119746,17 +184746,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + keyData: type: string type: object - storageAccountType: - type: string - type: object - type: array - osDisk: + type: array + type: object + type: object + location: + type: string + networkProfile: + description: Storage version of v1api20230201.ContainerServiceNetworkProfile + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.ImageOSDisk_STATUS - Describes an Operating System disk. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + dockerBridgeCidr: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile properties: $propertyBag: additionalProperties: @@ -119765,12 +184782,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - blobUri: - type: string - caching: - type: string - diskEncryptionSet: - description: Storage version of v1api20220301.SubResource_STATUS + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs properties: $propertyBag: additionalProperties: @@ -119779,13 +184831,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + count: + type: integer + countIPv6: + type: integer type: object - diskSizeGB: - type: integer - managedDisk: - description: Storage version of v1api20220301.SubResource_STATUS + outboundIPPrefixes: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes properties: $propertyBag: additionalProperties: @@ -119794,15 +184846,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + publicIPPrefixes: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - osState: - type: string - osType: - type: string - snapshot: - description: Storage version of v1api20220301.SubResource_STATUS + outboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPs properties: $propertyBag: additionalProperties: @@ -119811,154 +184890,155 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + publicIPs: + items: + description: Storage version of v1api20230201.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - storageAccountType: - type: string type: object - zoneResilient: - type: boolean - type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: iothubs.devices.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: devices.azure.com - names: - kind: IotHub - listKind: IotHubList - plural: iothubs - singular: iothub - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210702 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - identity: - description: 'Identity: The managed identities for the IotHub.' - properties: - type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned + loadBalancerSku: type: string - userAssignedIdentities: - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + natGatewayProfile: + description: Storage version of v1api20230201.ManagedClusterNATGatewayProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string type: array type: object - location: - description: 'Location: The resource location.' - type: string + nodeResourceGroup: + type: string + oidcIssuerProfile: + description: Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20230201.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -119987,8 +185067,54 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20230201.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -120018,148 +185144,20 @@ spec: type: object type: array secrets: - description: 'Secrets: configures where to place Azure generated secrets.' + description: Storage version of v1api20230201.ManagedClusterOperatorSecrets properties: - devicePrimaryKey: - description: |- - DevicePrimaryKey: indicates where the DevicePrimaryKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - deviceSecondaryKey: - description: |- - DeviceSecondaryKey: indicates where the DeviceSecondaryKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - iotHubOwnerPrimaryKey: - description: |- - IotHubOwnerPrimaryKey: indicates where the IotHubOwnerPrimaryKey secret should be placed. If omitted, the secret will - not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - iotHubOwnerSecondaryKey: - description: |- - IotHubOwnerSecondaryKey: indicates where the IotHubOwnerSecondaryKey secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadPrimaryKey: - description: |- - RegistryReadPrimaryKey: indicates where the RegistryReadPrimaryKey secret should be placed. If omitted, the secret will - not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadSecondaryKey: - description: |- - RegistryReadSecondaryKey: indicates where the RegistryReadSecondaryKey secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadWritePrimaryKey: - description: |- - RegistryReadWritePrimaryKey: indicates where the RegistryReadWritePrimaryKey secret should be placed. If omitted, the - secret will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadWriteSecondaryKey: + $propertyBag: + additionalProperties: + type: string description: |- - RegistryReadWriteSecondaryKey: indicates where the RegistryReadWriteSecondaryKey secret should be placed. If omitted, - the secret will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - servicePrimaryKey: + adminCredentials: description: |- - ServicePrimaryKey: indicates where the ServicePrimaryKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: key: description: Key is the key in the Kubernetes secret being referenced. @@ -120173,10 +185171,11 @@ spec: - key - name type: object - serviceSecondaryKey: + userCredentials: description: |- - ServiceSecondaryKey: indicates where the ServiceSecondaryKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: key: description: Key is the key in the Kubernetes secret being referenced. @@ -120192,6 +185191,8 @@ spec: type: object type: object type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -120205,779 +185206,900 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: IotHub properties' + podIdentityProfile: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProfile properties: - allowedFqdnList: - description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.' - items: + $propertyBag: + additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20230201.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object type: array - authorizationPolicies: - description: 'AuthorizationPolicies: The shared access policies you can use to secure a connection to the IoT hub.' + userAssignedIdentityExceptions: items: - description: The properties of an IoT hub shared access policy. + description: Storage version of v1api20230201.ManagedClusterPodIdentityException properties: - keyName: - description: 'KeyName: The name of the shared access policy.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - rights: - description: 'Rights: The permissions assigned to the shared access policy.' - enum: - - DeviceConnect - - RegistryRead - - RegistryRead, DeviceConnect - - RegistryRead, RegistryWrite - - RegistryRead, RegistryWrite, DeviceConnect - - RegistryRead, RegistryWrite, ServiceConnect - - RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect - - RegistryRead, ServiceConnect - - RegistryRead, ServiceConnect, DeviceConnect - - RegistryWrite - - RegistryWrite, DeviceConnect - - RegistryWrite, ServiceConnect - - RegistryWrite, ServiceConnect, DeviceConnect - - ServiceConnect - - ServiceConnect, DeviceConnect + namespace: type: string - required: - - keyName - - rights + podLabels: + additionalProperties: + type: string + type: object type: object type: array - cloudToDevice: - description: 'CloudToDevice: The IoT hub cloud-to-device messaging properties.' + type: object + privateLinkResources: + items: + description: Storage version of v1api20230201.PrivateLinkResource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + securityProfile: + description: Storage version of v1api20230201.ManagedClusterSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20230201.AzureKeyVaultKms properties: - defaultTtlAsIso8601: + $propertyBag: + additionalProperties: + type: string description: |- - DefaultTtlAsIso8601: The default time to live for cloud-to-device messages in the device queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: type: string - feedback: - description: 'Feedback: The properties of the feedback queue for cloud-to-device messages.' + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - lockDurationAsIso8601: + armId: description: |- - LockDurationAsIso8601: The lock duration for the feedback queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - maxDeliveryCount: - description: |- - MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message on the feedback queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - maximum: 100 - minimum: 1 - type: integer - ttlAsIso8601: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefender + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - maxDeliveryCount: + securityMonitoring: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner + properties: + $propertyBag: + additionalProperties: + type: string description: |- - MaxDeliveryCount: The max delivery count for cloud-to-device messages in the device queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - maximum: 100 - minimum: 1 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: type: integer type: object - comments: - description: 'Comments: IoT hub comments.' - type: string - disableDeviceSAS: - description: |- - DisableDeviceSAS: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for - authentication. - type: boolean - disableLocalAuth: - description: 'DisableLocalAuth: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.' - type: boolean - disableModuleSAS: - description: 'DisableModuleSAS: If true, all module scoped SAS keys cannot be used for authentication.' - type: boolean - enableDataResidency: - description: 'EnableDataResidency: This property when set to true, will enable data residency, thus, disabling disaster recovery.' - type: boolean - enableFileUploadNotifications: - description: 'EnableFileUploadNotifications: If True, file upload notifications are enabled.' - type: boolean - eventHubEndpoints: + workloadIdentity: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + servicePrincipalProfile: + description: Storage version of v1api20230201.ManagedClusterServicePrincipalProfile + properties: + $propertyBag: additionalProperties: - description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. - properties: - partitionCount: - description: |- - PartitionCount: The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. - See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. - type: integer - retentionTimeInDays: - description: |- - RetentionTimeInDays: The retention time for device-to-cloud messages in days. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages - type: integer - type: object + type: string description: |- - EventHubEndpoints: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. - This key has to be present in the dictionary while making create or update calls for the IoT hub. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - features: - description: 'Features: The capabilities and features enabled for the IoT hub.' - enum: - - DeviceManagement - - None + clientId: type: string - ipFilterRules: - description: 'IpFilterRules: The IP filter rules.' - items: - description: The IP filter rules for the IoT hub. - properties: - action: - description: 'Action: The desired action for requests captured by this rule.' - enum: - - Accept - - Reject - type: string - filterName: - description: 'FilterName: The name of the IP filter rule.' - type: string - ipMask: - description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' - type: string - required: - - action - - filterName - - ipMask - type: object - type: array - messagingEndpoints: - additionalProperties: - description: The properties of the messaging endpoints used by this IoT hub. - properties: - lockDurationAsIso8601: - description: 'LockDurationAsIso8601: The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' - type: string - maxDeliveryCount: - description: |- - MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. - maximum: 100 - minimum: 1 - type: integer - ttlAsIso8601: - description: |- - TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. - type: string - type: object - description: 'MessagingEndpoints: The messaging endpoint properties for the file upload notification queue.' - type: object - minTlsVersion: + secret: description: |- - MinTlsVersion: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a - TLS version below 1.2 to be rejected. - type: string - networkRuleSets: - description: 'NetworkRuleSets: Network Rule Set Properties of IotHub' + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - applyToBuiltInEventHubEndpoint: - description: 'ApplyToBuiltInEventHubEndpoint: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub' - type: boolean - defaultAction: - description: 'DefaultAction: Default Action for Network Rule Set' - enum: - - Allow - - Deny + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - ipRules: - description: 'IpRules: List of IP Rules' - items: - description: IP Rule to be applied as part of Network Rule Set - properties: - action: - description: 'Action: IP Filter Action' - enum: - - Allow - type: string - filterName: - description: 'FilterName: Name of the IP filter rule.' - type: string - ipMask: - description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' - type: string - required: - - filterName - - ipMask - type: object - type: array required: - - applyToBuiltInEventHubEndpoint - - ipRules + - key + - name type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' - enum: - - Disabled - - Enabled - type: string - restrictOutboundNetworkAccess: - description: |- - RestrictOutboundNetworkAccess: If true, egress from IotHub will be restricted to only the allowed FQDNs that are - configured via allowedFqdnList. - type: boolean - routing: - description: |- - Routing: The routing related properties of the IoT hub. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging - properties: - endpoints: - description: |- - Endpoints: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing - rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint - is allowed across all endpoint types for free hubs. - properties: - eventHubs: - description: |- - EventHubs: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does - not include the built-in Event Hubs endpoint. - items: - description: The properties related to an event hub endpoint. - properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the event hub endpoint' - enum: - - identityBased - - keyBased - type: string - connectionString: - description: 'ConnectionString: The connection string of the event hub endpoint.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - endpointUri: - description: 'EndpointUri: The url of the event hub endpoint. It must include the protocol sb://' - type: string - entityPath: - description: 'EntityPath: Event hub name on the event hub namespace' - type: string - identity: - description: 'Identity: Managed identity properties of routing event hub endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. - pattern: ^[A-Za-z0-9-._]{1,64}$ - type: string - reference: - description: 'Reference: Id of the event hub endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the event hub endpoint.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the event hub endpoint.' - type: string - required: - - name - type: object - type: array - serviceBusQueues: - description: |- - ServiceBusQueues: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing - rules. - items: - description: The properties related to service bus queue endpoint types. - properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the service bus queue endpoint' - enum: - - identityBased - - keyBased - type: string - connectionString: - description: 'ConnectionString: The connection string of the service bus queue endpoint.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - endpointUri: - description: 'EndpointUri: The url of the service bus queue endpoint. It must include the protocol sb://' - type: string - entityPath: - description: 'EntityPath: Queue name on the service bus namespace' - type: string - identity: - description: 'Identity: Managed identity properties of routing service bus queue endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name. - pattern: ^[A-Za-z0-9-._]{1,64}$ - type: string - reference: - description: 'Reference: Id of the service bus queue endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the service bus queue endpoint.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the service bus queue endpoint.' - type: string - required: - - name - type: object - type: array - serviceBusTopics: - description: |- - ServiceBusTopics: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing - rules. - items: - description: The properties related to service bus topic endpoint types. - properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the service bus topic endpoint' - enum: - - identityBased - - keyBased - type: string - connectionString: - description: 'ConnectionString: The connection string of the service bus topic endpoint.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - endpointUri: - description: 'EndpointUri: The url of the service bus topic endpoint. It must include the protocol sb://' - type: string - entityPath: - description: 'EntityPath: Queue name on the service bus topic' - type: string - identity: - description: 'Identity: Managed identity properties of routing service bus topic endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name. - pattern: ^[A-Za-z0-9-._]{1,64}$ - type: string - reference: - description: 'Reference: Id of the service bus topic endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the service bus topic endpoint.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the service bus topic endpoint.' - type: string - required: - - name - type: object - type: array - storageContainers: - description: 'StorageContainers: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.' - items: - description: The properties related to a storage container endpoint. - properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the storage endpoint' - enum: - - identityBased - - keyBased - type: string - batchFrequencyInSeconds: - description: |- - BatchFrequencyInSeconds: Time interval at which blobs are written to storage. Value should be between 60 and 720 - seconds. Default value is 300 seconds. - maximum: 720 - minimum: 60 - type: integer - connectionString: - description: 'ConnectionString: The connection string of the storage account.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - containerName: - description: 'ContainerName: The name of storage container in the storage account.' - type: string - encoding: - description: |- - Encoding: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. - Default value is 'avro'. - enum: - - Avro - - AvroDeflate - - JSON - type: string - endpointUri: - description: 'EndpointUri: The url of the storage endpoint. It must include the protocol https://' - type: string - fileNameFormat: - description: |- - FileNameFormat: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All - parameters are mandatory but can be reordered. - type: string - identity: - description: 'Identity: Managed identity properties of routing storage endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - maxChunkSizeInBytes: - description: |- - MaxChunkSizeInBytes: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) - and 524288000(500MB). Default value is 314572800(300MB). - maximum: 524288000 - minimum: 10485760 - type: integer - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. - pattern: ^[A-Za-z0-9-._]{1,64}$ - type: string - reference: - description: 'Reference: Id of the storage container endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the storage account.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the storage account.' - type: string - required: - - containerName - - name - type: object - type: array + type: object + sku: + description: Storage version of v1api20230201.ManagedClusterSKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20230201.ManagedClusterStorageProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - enrichments: + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Enrichments: The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and - custom endpoints. See: https://aka.ms/telemetryoneventgrid - items: - description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. - properties: - endpointNames: - description: 'EndpointNames: The list of endpoints for which the enrichment is applied to the message.' - items: - type: string - minItems: 1 - type: array - key: - description: 'Key: The key or name for the enrichment property.' - type: string - value: - description: 'Value: The value for the enrichment property.' - type: string - required: - - endpointNames - - key - - value - type: object - type: array - fallbackRoute: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string description: |- - FallbackRoute: The properties of the route that is used as a fall-back route when none of the conditions specified in - the 'routes' section are met. This is an optional parameter. When this property is not present in the template, the - fallback route is disabled by default. - properties: - condition: - description: |- - Condition: The condition which is evaluated in order to apply the fallback route. If the condition is not provided it - will evaluate to true by default. For grammar, See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language - type: string - endpointNames: - description: |- - EndpointNames: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 - endpoint is allowed. - items: - type: string - maxItems: 1 - minItems: 1 - type: array - isEnabled: - description: 'IsEnabled: Used to specify whether the fallback route is enabled.' - type: boolean - name: - description: |- - Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a - maximum length of 64 characters, and must be unique. - type: string - source: - description: 'Source: The source to which the routing rule is to be applied to. For example, DeviceMessages' - enum: - - DeviceMessages - type: string - required: - - endpointNames - - isEnabled - - source + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - routes: + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Routes: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom - endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for - free hubs. - items: - description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. - properties: - condition: - description: |- - Condition: The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true - by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language - type: string - endpointNames: - description: |- - EndpointNames: The list of endpoints to which messages that satisfy the condition are routed. Currently only one - endpoint is allowed. - items: - type: string - maxItems: 1 - minItems: 1 - type: array - isEnabled: - description: 'IsEnabled: Used to specify whether a route is enabled.' - type: boolean - name: - description: |- - Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a - maximum length of 64 characters, and must be unique. - pattern: ^[A-Za-z0-9-._]{1,64}$ - type: string - source: - description: 'Source: The source that the routing rule is to be applied to, such as DeviceMessages.' - enum: - - DeviceConnectionStateEvents - - DeviceJobLifecycleEvents - - DeviceLifecycleEvents - - DeviceMessages - - Invalid - - TwinChangeEvents - type: string - required: - - endpointNames - - isEnabled - - name - - source - type: object - type: array + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean type: object - storageEndpoints: + type: object + tags: + additionalProperties: + type: string + type: object + windowsProfile: + description: Storage version of v1api20230201.ManagedClusterWindowsProfile + properties: + $propertyBag: additionalProperties: - description: The properties of the Azure Storage endpoint for file upload. + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20230201.WindowsGmsaProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230201.ManagedCluster_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20230201.ManagedClusterAADProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20230201.ManagedClusterAddonProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: Storage version of v1api20230201.UserAssignedIdentity_STATUS properties: - authenticationType: - description: 'AuthenticationType: Specifies authentication type being used for connecting to the storage account.' - enum: - - identityBased - - keyBased + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: type: string - connectionString: - description: 'ConnectionString: The connection string for the Azure Storage account to which files are uploaded.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: + items: + description: Storage version of v1api20230201.ManagedClusterAgentPoolProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - containerName: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ContainerName: The name of the root container where you upload files. The container need not exist but should be - creatable using the connectionString specified. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - identity: - description: 'Identity: Managed identity properties of storage endpoint for file upload.' + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig_STATUS properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object - sasTtlAsIso8601: + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20230201.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - SasTtlAsIso8601: The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: type: string - required: - - connectionString - - containerName type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - StorageEndpoints: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one - Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error - to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, - causes an error to be thrown. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string type: object - sku: - description: 'Sku: IotHub SKU info' + autoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterProperties_AutoScalerProfile_STATUS properties: - capacity: + $propertyBag: + additionalProperties: + type: string description: |- - Capacity: The number of provisioned IoT Hub units. See: - https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits. - type: integer - name: - description: 'Name: The name of the SKU.' - enum: - - B1 - - B2 - - B3 - - F1 - - S1 - - S2 - - S3 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: type: string - required: - - name type: object - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' + autoUpgradeProfile: + description: Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + upgradeChannel: + type: string type: object - required: - - location - - owner - - sku - type: object - status: - properties: + azureMonitorProfile: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -121020,675 +186142,349 @@ spec: - type type: object type: array - etag: - description: |- - Etag: The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per - the normal ETag convention. + currentKubernetesVersion: type: string - id: - description: 'Id: The resource identifier.' + disableLocalAccounts: + type: boolean + diskEncryptionSetID: type: string - identity: - description: 'Identity: The managed identities for the IotHub.' + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20230201.ExtendedLocation_STATUS properties: - principalId: - description: 'PrincipalId: Principal Id' - type: string - tenantId: - description: 'TenantId: Tenant Id' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - type: string - principalId: - type: string - type: object - type: object type: object - location: - description: 'Location: The resource location.' + fqdn: type: string - name: - description: 'Name: The resource name.' + fqdnSubdomain: type: string - properties: - description: 'Properties: IotHub properties' + httpProxyConfig: + description: Storage version of v1api20230201.ManagedClusterHTTPProxyConfig_STATUS properties: - allowedFqdnList: - description: 'AllowedFqdnList: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.' - items: + $propertyBag: + additionalProperties: type: string - type: array - authorizationPolicies: - description: 'AuthorizationPolicies: The shared access policies you can use to secure a connection to the IoT hub.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: items: - description: The properties of an IoT hub shared access policy. - properties: - keyName: - description: 'KeyName: The name of the shared access policy.' - type: string - rights: - description: 'Rights: The permissions assigned to the shared access policy.' - type: string - type: object + type: string type: array - cloudToDevice: - description: 'CloudToDevice: The IoT hub cloud-to-device messaging properties.' - properties: - defaultTtlAsIso8601: - description: |- - DefaultTtlAsIso8601: The default time to live for cloud-to-device messages in the device queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - type: string - feedback: - description: 'Feedback: The properties of the feedback queue for cloud-to-device messages.' - properties: - lockDurationAsIso8601: - description: |- - LockDurationAsIso8601: The lock duration for the feedback queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - type: string - maxDeliveryCount: - description: |- - MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message on the feedback queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - type: integer - ttlAsIso8601: - description: |- - TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - type: string - type: object - maxDeliveryCount: - description: |- - MaxDeliveryCount: The max delivery count for cloud-to-device messages in the device queue. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages. - type: integer - type: object - comments: - description: 'Comments: IoT hub comments.' + trustedCa: type: string - disableDeviceSAS: - description: |- - DisableDeviceSAS: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for - authentication. - type: boolean - disableLocalAuth: - description: 'DisableLocalAuth: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.' - type: boolean - disableModuleSAS: - description: 'DisableModuleSAS: If true, all module scoped SAS keys cannot be used for authentication.' - type: boolean - enableDataResidency: - description: 'EnableDataResidency: This property when set to true, will enable data residency, thus, disabling disaster recovery.' - type: boolean - enableFileUploadNotifications: - description: 'EnableFileUploadNotifications: If True, file upload notifications are enabled.' - type: boolean - eventHubEndpoints: + type: object + id: + type: string + identity: + description: Storage version of v1api20230201.ManagedClusterIdentity_STATUS + properties: + $propertyBag: additionalProperties: - description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. - properties: - endpoint: - description: 'Endpoint: The Event Hub-compatible endpoint.' - type: string - partitionCount: - description: |- - PartitionCount: The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. - See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages. - type: integer - partitionIds: - description: 'PartitionIds: The partition ids in the Event Hub-compatible endpoint.' - items: - type: string - type: array - path: - description: 'Path: The Event Hub-compatible name.' - type: string - retentionTimeInDays: - description: |- - RetentionTimeInDays: The retention time for device-to-cloud messages in days. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages - type: integer - type: object + type: string description: |- - EventHubEndpoints: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. - This key has to be present in the dictionary while making create or update calls for the IoT hub. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - features: - description: 'Features: The capabilities and features enabled for the IoT hub.' + principalId: type: string - hostName: - description: 'HostName: The name of the host.' + tenantId: type: string - ipFilterRules: - description: 'IpFilterRules: The IP filter rules.' - items: - description: The IP filter rules for the IoT hub. - properties: - action: - description: 'Action: The desired action for requests captured by this rule.' - type: string - filterName: - description: 'FilterName: The name of the IP filter rule.' - type: string - ipMask: - description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' - type: string - type: object - type: array - locations: - description: 'Locations: Primary and secondary location for iot hub' - items: - description: Public representation of one of the locations where a resource is provisioned. - properties: - location: - description: 'Location: The name of the Azure region' - type: string - role: - description: |- - Role: The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently - provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT - hub can failover to. - type: string - type: object - type: array - messagingEndpoints: + type: + type: string + userAssignedIdentities: additionalProperties: - description: The properties of the messaging endpoints used by this IoT hub. + description: Storage version of v1api20230201.ManagedClusterIdentity_UserAssignedIdentities_STATUS properties: - lockDurationAsIso8601: - description: 'LockDurationAsIso8601: The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' - type: string - maxDeliveryCount: - description: |- - MaxDeliveryCount: The number of times the IoT hub attempts to deliver a message. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. - type: integer - ttlAsIso8601: + $propertyBag: + additionalProperties: + type: string description: |- - TtlAsIso8601: The period of time for which a message is available to consume before it is expired by the IoT hub. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: type: string type: object - description: 'MessagingEndpoints: The messaging endpoint properties for the file upload notification queue.' type: object - minTlsVersion: + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20230201.ContainerServiceLinuxProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - MinTlsVersion: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a - TLS version below 1.2 to be rejected. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: type: string - networkRuleSets: - description: 'NetworkRuleSets: Network Rule Set Properties of IotHub' + ssh: + description: Storage version of v1api20230201.ContainerServiceSshConfiguration_STATUS properties: - applyToBuiltInEventHubEndpoint: - description: 'ApplyToBuiltInEventHubEndpoint: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub' - type: boolean - defaultAction: - description: 'DefaultAction: Default Action for Network Rule Set' - type: string - ipRules: - description: 'IpRules: List of IP Rules' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: items: - description: IP Rule to be applied as part of Network Rule Set + description: Storage version of v1api20230201.ContainerServiceSshPublicKey_STATUS properties: - action: - description: 'Action: IP Filter Action' - type: string - filterName: - description: 'FilterName: Name of the IP filter rule.' - type: string - ipMask: - description: 'IpMask: A string that contains the IP address range in CIDR notation for the rule.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: type: string type: object type: array type: object - privateEndpointConnections: - description: 'PrivateEndpointConnections: Private endpoint connections created on this IotHub' - items: - description: The private endpoint connection of an IotHub - properties: - id: - description: 'Id: The resource identifier.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state.' + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + description: Storage version of v1api20230201.ContainerServiceNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether requests from Public Network are allowed' + dockerBridgeCidr: type: string - restrictOutboundNetworkAccess: - description: |- - RestrictOutboundNetworkAccess: If true, egress from IotHub will be restricted to only the allowed FQDNs that are - configured via allowedFqdnList. - type: boolean - routing: - description: |- - Routing: The routing related properties of the IoT hub. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_STATUS properties: - endpoints: + $propertyBag: + additionalProperties: + type: string description: |- - Endpoints: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing - rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint - is allowed across all endpoint types for free hubs. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + effectiveOutboundIPs: + items: + description: Storage version of v1api20230201.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS properties: - eventHubs: + $propertyBag: + additionalProperties: + type: string description: |- - EventHubs: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does - not include the built-in Event Hubs endpoint. - items: - description: The properties related to an event hub endpoint. - properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the event hub endpoint' - type: string - endpointUri: - description: 'EndpointUri: The url of the event hub endpoint. It must include the protocol sb://' - type: string - entityPath: - description: 'EntityPath: Event hub name on the event hub namespace' - type: string - id: - description: 'Id: Id of the event hub endpoint' - type: string - identity: - description: 'Identity: Managed identity properties of routing event hub endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. - type: string - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the event hub endpoint.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the event hub endpoint.' - type: string - type: object - type: array - serviceBusQueues: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ServiceBusQueues: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing - rules. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: items: - description: The properties related to service bus queue endpoint types. + description: Storage version of v1api20230201.ResourceReference_STATUS properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the service bus queue endpoint' - type: string - endpointUri: - description: 'EndpointUri: The url of the service bus queue endpoint. It must include the protocol sb://' - type: string - entityPath: - description: 'EntityPath: Queue name on the service bus namespace' - type: string - id: - description: 'Id: Id of the service bus queue endpoint' - type: string - identity: - description: 'Identity: Managed identity properties of routing service bus queue endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name. - type: string - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the service bus queue endpoint.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the service bus queue endpoint.' - type: string - type: object - type: array - serviceBusTopics: - description: |- - ServiceBusTopics: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing - rules. - items: - description: The properties related to service bus topic endpoint types. - properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the service bus topic endpoint' - type: string - endpointUri: - description: 'EndpointUri: The url of the service bus topic endpoint. It must include the protocol sb://' - type: string - entityPath: - description: 'EntityPath: Queue name on the service bus topic' - type: string - id: - description: 'Id: Id of the service bus topic endpoint' - type: string - identity: - description: 'Identity: Managed identity properties of routing service bus topic endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name. - type: string - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the service bus topic endpoint.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the service bus topic endpoint.' + id: type: string type: object type: array - storageContainers: - description: 'StorageContainers: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.' + type: object + outboundIPs: + description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: items: - description: The properties related to a storage container endpoint. + description: Storage version of v1api20230201.ResourceReference_STATUS properties: - authenticationType: - description: 'AuthenticationType: Method used to authenticate against the storage endpoint' - type: string - batchFrequencyInSeconds: - description: |- - BatchFrequencyInSeconds: Time interval at which blobs are written to storage. Value should be between 60 and 720 - seconds. Default value is 300 seconds. - type: integer - containerName: - description: 'ContainerName: The name of storage container in the storage account.' - type: string - encoding: - description: |- - Encoding: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. - Default value is 'avro'. - type: string - endpointUri: - description: 'EndpointUri: The url of the storage endpoint. It must include the protocol https://' - type: string - fileNameFormat: + $propertyBag: + additionalProperties: + type: string description: |- - FileNameFormat: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All - parameters are mandatory but can be reordered. - type: string - id: - description: 'Id: Id of the storage container endpoint' - type: string - identity: - description: 'Identity: Managed identity properties of routing storage endpoint.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - maxChunkSizeInBytes: - description: |- - MaxChunkSizeInBytes: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) - and 524288000(500MB). Default value is 314572800(300MB). - type: integer - name: - description: |- - Name: The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, - hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, - $default. Endpoint names must be unique across endpoint types. - type: string - resourceGroup: - description: 'ResourceGroup: The name of the resource group of the storage account.' - type: string - subscriptionId: - description: 'SubscriptionId: The subscription identifier of the storage account.' + id: type: string type: object type: array type: object - enrichments: + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: Storage version of v1api20230201.ManagedClusterNATGatewayProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Enrichments: The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and - custom endpoints. See: https://aka.ms/telemetryoneventgrid + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: items: - description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. + description: Storage version of v1api20230201.ResourceReference_STATUS properties: - endpointNames: - description: 'EndpointNames: The list of endpoints for which the enrichment is applied to the message.' - items: + $propertyBag: + additionalProperties: type: string - type: array - key: - description: 'Key: The key or name for the enrichment property.' - type: string - value: - description: 'Value: The value for the enrichment property.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: array - fallbackRoute: - description: |- - FallbackRoute: The properties of the route that is used as a fall-back route when none of the conditions specified in - the 'routes' section are met. This is an optional parameter. When this property is not present in the template, the - fallback route is disabled by default. + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile_STATUS properties: - condition: - description: |- - Condition: The condition which is evaluated in order to apply the fallback route. If the condition is not provided it - will evaluate to true by default. For grammar, See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language - type: string - endpointNames: - description: |- - EndpointNames: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 - endpoint is allowed. - items: + $propertyBag: + additionalProperties: type: string - type: array - isEnabled: - description: 'IsEnabled: Used to specify whether the fallback route is enabled.' - type: boolean - name: description: |- - Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a - maximum length of 64 characters, and must be unique. - type: string - source: - description: 'Source: The source to which the routing rule is to be applied to. For example, DeviceMessages' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer type: object - routes: - description: |- - Routes: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom - endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for - free hubs. - items: - description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. - properties: - condition: - description: |- - Condition: The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true - by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language - type: string - endpointNames: - description: |- - EndpointNames: The list of endpoints to which messages that satisfy the condition are routed. Currently only one - endpoint is allowed. - items: - type: string - type: array - isEnabled: - description: 'IsEnabled: Used to specify whether a route is enabled.' - type: boolean - name: - description: |- - Name: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a - maximum length of 64 characters, and must be unique. - type: string - source: - description: 'Source: The source that the routing rule is to be applied to, such as DeviceMessages.' - type: string - type: object - type: array - type: object - state: - description: 'State: The hub state.' - type: string - storageEndpoints: - additionalProperties: - description: The properties of the Azure Storage endpoint for file upload. - properties: - authenticationType: - description: 'AuthenticationType: Specifies authentication type being used for connecting to the storage account.' - type: string - containerName: - description: |- - ContainerName: The name of the root container where you upload files. The container need not exist but should be - creatable using the connectionString specified. - type: string - identity: - description: 'Identity: Managed identity properties of storage endpoint for file upload.' - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: The user assigned identity.' - type: string - type: object - sasTtlAsIso8601: - description: |- - SasTtlAsIso8601: The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: - https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options. - type: string - type: object - description: |- - StorageEndpoints: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one - Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error - to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, - causes an error to be thrown. type: object - type: object - sku: - description: 'Sku: IotHub SKU info' - properties: - capacity: - description: |- - Capacity: The number of provisioned IoT Hub units. See: - https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits. - type: integer - name: - description: 'Name: The name of the SKU.' + networkDataplane: type: string - tier: - description: 'Tier: The billing tier for the IoT hub.' + networkMode: type: string - type: object - systemData: - description: 'SystemData: The system meta data relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' + networkPlugin: type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' + networkPluginMode: type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' + networkPolicy: type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + outboundType: type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + podCidr: type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + podCidrs: + items: + type: string + type: array + serviceCidr: type: string + serviceCidrs: + items: + type: string + type: array type: object - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' - type: object - type: - description: 'Type: The resource type.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210702storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20210702.IotHub - Generator information: - - Generated from: /iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20210702.IotHub_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + nodeResourceGroup: type: string - identity: - description: Storage version of v1api20210702.ArmIdentity + oidcIssuerProfile: + description: Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile_STATUS properties: $propertyBag: additionalProperties: @@ -121697,13 +186493,28 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - type: + enabled: + type: boolean + issuerURL: type: string + type: object + podIdentityProfile: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean userAssignedIdentities: items: - description: |- - Storage version of v1api20210702.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + description: Storage version of v1api20230201.ManagedClusterPodIdentity_STATUS properties: $propertyBag: additionalProperties: @@ -121712,103 +186523,171 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + bindingSelector: + type: string + identity: + description: Storage version of v1api20230201.UserAssignedIdentity_STATUS properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + objectId: type: string - name: - description: Name is the Kubernetes name of the resource. + resourceId: type: string type: object - type: object - type: array - type: object - location: - type: string - operatorSpec: - description: |- - Storage version of v1api20210702.IotHubOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20230201.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: type: string - required: - - name - - value type: object type: array - secretExpressions: + userAssignedIdentityExceptions: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Storage version of v1api20230201.ManagedClusterPodIdentityException_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + namespace: type: string - required: - - name - - value + podLabels: + additionalProperties: + type: string + type: object type: object type: array - secrets: - description: Storage version of v1api20210702.IotHubOperatorSecrets + type: object + powerState: + description: Storage version of v1api20230201.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: + items: + description: Storage version of v1api20230201.PrivateLinkResource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + securityProfile: + description: Storage version of v1api20230201.ManagedClusterSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20230201.AzureKeyVaultKms_STATUS properties: $propertyBag: additionalProperties: @@ -121817,207 +186696,100 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - devicePrimaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - deviceSecondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - iotHubOwnerPrimaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - iotHubOwnerSecondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadPrimaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadSecondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - registryReadWritePrimaryKey: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + defender: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefender_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - registryReadWriteSecondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean type: object - servicePrimaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name + type: object + imageCleaner: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - serviceSecondaryKey: + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + enabled: + type: boolean type: object type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + servicePrincipalProfile: + description: Storage version of v1api20230201.ManagedClusterServicePrincipalProfile_STATUS properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: type: string + type: object + sku: + description: Storage version of v1api20230201.ManagedClusterSKU_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: This is the name of the Kubernetes resource to reference. + type: string + tier: type: string type: object - properties: - description: |- - Storage version of v1api20210702.IotHubProperties - The properties of an IoT hub. + storageProfile: + description: Storage version of v1api20230201.ManagedClusterStorageProfile_STATUS properties: $propertyBag: additionalProperties: @@ -122026,33 +186798,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedFqdnList: - items: - type: string - type: array - authorizationPolicies: - items: - description: |- - Storage version of v1api20210702.SharedAccessSignatureAuthorizationRule - The properties of an IoT hub shared access policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyName: + blobCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: type: string - rights: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - cloudToDevice: - description: |- - Storage version of v1api20210702.CloudToDeviceProperties - The IoT hub cloud-to-device messaging properties. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver_STATUS properties: $propertyBag: additionalProperties: @@ -122061,111 +186834,68 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - defaultTtlAsIso8601: - type: string - feedback: + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20210702.FeedbackProperties - The properties of the feedback queue for cloud-to-device messages. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lockDurationAsIso8601: - type: string - maxDeliveryCount: - type: integer - ttlAsIso8601: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - maxDeliveryCount: - type: integer + enabled: + type: boolean type: object - comments: - type: string - disableDeviceSAS: - type: boolean - disableLocalAuth: - type: boolean - disableModuleSAS: - type: boolean - enableDataResidency: - type: boolean - enableFileUploadNotifications: - type: boolean - eventHubEndpoints: + type: object + systemData: + description: Storage version of v1api20230201.SystemData_STATUS + properties: + $propertyBag: additionalProperties: - description: |- - Storage version of v1api20210702.EventHubProperties - The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - partitionCount: - type: integer - retentionTimeInDays: - type: integer - type: object + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - features: + createdAt: type: string - ipFilterRules: - items: - description: |- - Storage version of v1api20210702.IpFilterRule - The IP filter rules for the IoT hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - filterName: - type: string - ipMask: - type: string - type: object - type: array - messagingEndpoints: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + windowsProfile: + description: Storage version of v1api20230201.ManagedClusterWindowsProfile_STATUS + properties: + $propertyBag: additionalProperties: - description: |- - Storage version of v1api20210702.MessagingEndpointProperties - The properties of the messaging endpoints used by this IoT hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lockDurationAsIso8601: - type: string - maxDeliveryCount: - type: integer - ttlAsIso8601: - type: string - type: object + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - minTlsVersion: + adminUsername: type: string - networkRuleSets: - description: |- - Storage version of v1api20210702.NetworkRuleSetProperties - Network Rule Set Properties of IotHub + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20230201.WindowsGmsaProfile_STATUS properties: $propertyBag: additionalProperties: @@ -122174,40 +186904,28 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applyToBuiltInEventHubEndpoint: + dnsServer: + type: string + enabled: type: boolean - defaultAction: + rootDomainName: type: string - ipRules: - items: - description: |- - Storage version of v1api20210702.NetworkRuleSetIpRule - IP Rule to be applied as part of Network Rule Set - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - filterName: - type: string - ipMask: - type: string - type: object - type: array type: object - publicNetworkAccess: + licenseType: type: string - restrictOutboundNetworkAccess: - type: boolean - routing: + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20210702.RoutingProperties - The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS properties: $propertyBag: additionalProperties: @@ -122216,1336 +186934,1818 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - endpoints: - description: |- - Storage version of v1api20210702.RoutingEndpoints - The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A - maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed - across all endpoint types for free hubs. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eventHubs: - items: - description: |- - Storage version of v1api20210702.RoutingEventHubProperties - The properties related to an event hub endpoint. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - connectionString: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - endpointUri: - type: string - entityPath: - type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - name: - type: string - reference: - description: 'Reference: Id of the event hub endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - type: string - subscriptionId: - type: string - type: object - type: array - serviceBusQueues: - items: - description: |- - Storage version of v1api20210702.RoutingServiceBusQueueEndpointProperties - The properties related to service bus queue endpoint types. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - connectionString: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - endpointUri: - type: string - entityPath: - type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - name: - type: string - reference: - description: 'Reference: Id of the service bus queue endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - type: string - subscriptionId: - type: string - type: object - type: array - serviceBusTopics: - items: - description: |- - Storage version of v1api20210702.RoutingServiceBusTopicEndpointProperties - The properties related to service bus topic endpoint types. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - connectionString: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - endpointUri: - type: string - entityPath: - type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - name: - type: string - reference: - description: 'Reference: Id of the service bus topic endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - type: string - subscriptionId: - type: string - type: object - type: array - storageContainers: - items: + enabled: + type: boolean + type: object + type: object + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: + type: string + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. + properties: + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' + type: boolean + required: + - enabled + type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' + items: + description: Profile for the container service agent pool. + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: description: |- - Storage version of v1api20210702.RoutingStorageContainerProperties - The properties related to a storage container endpoint. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - batchFrequencyInSeconds: - type: integer - connectionString: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - containerName: - type: string - encoding: - type: string - endpointUri: - type: string - fileNameFormat: - type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - maxChunkSizeInBytes: - type: integer - name: - type: string - reference: - description: 'Reference: Id of the storage container endpoint' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - resourceGroup: - type: string - subscriptionId: - type: string - type: object - type: array - type: object - enrichments: - items: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: description: |- - Storage version of v1api20210702.EnrichmentProperties - The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpointNames: - items: + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP type: string - type: array - key: - type: string - value: - type: string - type: object - type: array - fallbackRoute: - description: |- - Storage version of v1api20210702.FallbackRouteProperties - The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - condition: - type: string - endpointNames: - items: - type: string - type: array - isEnabled: - type: boolean - name: - type: string - source: - type: string - type: object - routes: - items: + type: array + applicationSecurityGroupsReferences: description: |- - Storage version of v1api20210702.RouteProperties - The properties of a routing rule that your IoT hub uses to route messages to endpoints. - properties: - $propertyBag: - additionalProperties: + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - condition: - type: string - endpointNames: - items: + group: + description: Group is the Kubernetes group of the resource. type: string - type: array - isEnabled: - type: boolean - name: - type: string - source: - type: string - type: object - type: array - type: object - storageEndpoints: - additionalProperties: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: description: |- - Storage version of v1api20210702.StorageEndpointProperties - The properties of the Azure Storage endpoint for file upload. + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - connectionString: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - containerName: + group: + description: Group is the Kubernetes group of the resource. type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - sasTtlAsIso8601: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - type: object - type: object - sku: - description: |- - Storage version of v1api20210702.IotHubSkuInfo - Information about the SKU of the IoT hub. - properties: - $propertyBag: - additionalProperties: + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20210702.IotHub_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 type: string - observedGeneration: + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + podSubnetReference: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete type: string - severity: + scaleSetEvictionPolicy: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete type: string - status: - description: Status of the condition, one of True, False, or Unknown. + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - etag: - type: string - id: - type: string - identity: - description: Storage version of v1api20210702.ArmIdentity_STATUS - properties: - $propertyBag: - additionalProperties: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20210702.ArmUserIdentity_STATUS + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - $propertyBag: - additionalProperties: - type: string + drainTimeoutInMinutes: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade type: string type: object - type: object - type: object - location: - type: string - name: - type: string - properties: - description: |- - Storage version of v1api20210702.IotHubProperties_STATUS - The properties of an IoT hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedFqdnList: - items: + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions type: string - type: array - authorizationPolicies: - items: + vnetSubnetReference: description: |- - Storage version of v1api20210702.SharedAccessSignatureAuthorizationRule_STATUS - The properties of an IoT hub shared access policy. + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyName: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - rights: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - name + type: object + type: array + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + properties: + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string type: array - cloudToDevice: + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: description: |- - Storage version of v1api20210702.CloudToDeviceProperties_STATUS - The IoT hub cloud-to-device messaging properties. + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. + enum: + - least-waste + - most-pods + - priority + - random + type: string + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' + type: string + type: object + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + enum: + - NodeImage + - None + - Unmanaged + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + properties: + metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. properties: - $propertyBag: - additionalProperties: - type: string + enabled: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultTtlAsIso8601: - type: string - feedback: + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + type: boolean + kubeStateMetrics: description: |- - Storage version of v1api20210702.FeedbackProperties_STATUS - The properties of the feedback queue for cloud-to-device messages. + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: - $propertyBag: - additionalProperties: - type: string + metricAnnotationsAllowList: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lockDurationAsIso8601: + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. type: string - maxDeliveryCount: - type: integer - ttlAsIso8601: + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. type: string type: object - maxDeliveryCount: - type: integer + required: + - enabled type: object - comments: + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - disableDeviceSAS: - type: boolean - disableLocalAuth: - type: boolean - disableModuleSAS: - type: boolean - enableDataResidency: - type: boolean - enableFileUploadNotifications: - type: boolean - eventHubEndpoints: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: + type: string + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: additionalProperties: - description: |- - Storage version of v1api20210702.EventHubProperties_STATUS - The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. + description: Delegated resource properties - internal use only. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpoint: + location: + description: 'Location: The source resource location - internal use only.' type: string - partitionCount: - type: integer - partitionIds: - items: - type: string - type: array - path: + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ type: string - retentionTimeInDays: - type: integer type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. type: object - features: - type: string - hostName: + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + enum: + - None + - SystemAssigned + - UserAssigned type: string - ipFilterRules: + userAssignedIdentities: + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: - description: |- - Storage version of v1api20210702.IpFilterRule_STATUS - The IP filter rules for the IoT hub. + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - action: - type: string - filterName: - type: string - ipMask: - type: string type: object type: array - locations: - items: - description: |- - Storage version of v1api20210702.IotHubLocationDescription_STATUS - Public representation of one of the locations where a resource is provisioned. + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - location: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - role: + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - type: array - messagingEndpoints: - additionalProperties: - description: |- - Storage version of v1api20210702.MessagingEndpointProperties_STATUS - The properties of the messaging endpoints used by this IoT hub. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lockDurationAsIso8601: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - maxDeliveryCount: - type: integer - ttlAsIso8601: + name: + description: Name is the Kubernetes name of the resource. type: string type: object - type: object - minTlsVersion: - type: string - networkRuleSets: - description: |- - Storage version of v1api20210702.NetworkRuleSetProperties_STATUS - Network Rule Set Properties of IotHub - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - applyToBuiltInEventHubEndpoint: - type: boolean - defaultAction: - type: string - ipRules: + type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' items: - description: |- - Storage version of v1api20210702.NetworkRuleSetIpRule_STATUS - IP Rule to be applied as part of Network Rule Set + description: Contains information about SSH certificate public key data. properties: - $propertyBag: - additionalProperties: - type: string + keyData: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - filterName: - type: string - ipMask: + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. type: string + required: + - keyData type: object type: array + required: + - publicKeys type: object - privateEndpointConnections: - items: - description: |- - Storage version of v1api20210702.PrivateEndpointConnection_STATUS - The private endpoint connection of an IotHub - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - publicNetworkAccess: + required: + - adminUsername + - ssh + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ type: string - restrictOutboundNetworkAccess: - type: boolean - routing: + ipFamilies: description: |- - Storage version of v1api20210702.RoutingProperties_STATUS - The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + enum: + - IPv4 + - IPv6 + type: string + type: array + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpoints: + allocatedOutboundPorts: description: |- - Storage version of v1api20210702.RoutingEndpoints_STATUS - The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A - maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed - across all endpoint types for free hubs. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - eventHubs: - items: - description: |- - Storage version of v1api20210702.RoutingEventHubProperties_STATUS - The properties related to an event hub endpoint. + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + maximum: 64000 + minimum: 0 + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + enum: + - NodeIP + - NodeIPConfiguration + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - endpointUri: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - entityPath: + group: + description: Group is the Kubernetes group of the resource. type: string - id: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity_STATUS - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object name: - type: string - resourceGroup: - type: string - subscriptionId: + description: Name is the Kubernetes name of the resource. type: string type: object - type: array - serviceBusQueues: + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + maximum: 100 + minimum: 1 + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' items: - description: |- - Storage version of v1api20210702.RoutingServiceBusQueueEndpointProperties_STATUS - The properties related to service bus queue endpoint types. + description: A reference to an Azure resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - endpointUri: - type: string - entityPath: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity_STATUS - The properties of the Managed identity. + reference: + description: 'Reference: The fully qualified Azure resource id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - name: - type: string - resourceGroup: - type: string - subscriptionId: - type: string type: object type: array - serviceBusTopics: + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' items: - description: |- - Storage version of v1api20210702.RoutingServiceBusTopicEndpointProperties_STATUS - The properties related to service bus topic endpoint types. + description: A reference to an Azure resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - endpointUri: - type: string - entityPath: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity_STATUS - The properties of the Managed identity. + reference: + description: 'Reference: The fully qualified Azure resource id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - name: - type: string - resourceGroup: - type: string - subscriptionId: - type: string type: object type: array - storageContainers: - items: - description: |- - Storage version of v1api20210702.RoutingStorageContainerProperties_STATUS - The properties related to a storage container endpoint. + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + enum: + - basic + - standard + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: - type: string - batchFrequencyInSeconds: - type: integer - containerName: - type: string - encoding: - type: string - endpointUri: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - fileNameFormat: + group: + description: Group is the Kubernetes group of the resource. type: string - id: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - identity: - description: |- - Storage version of v1api20210702.ManagedIdentity_STATUS - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - maxChunkSizeInBytes: - type: integer name: + description: Name is the Kubernetes name of the resource. type: string - resourceGroup: - type: string - subscriptionId: - type: string - type: object - type: array - type: object - enrichments: - items: - description: |- - Storage version of v1api20210702.EnrichmentProperties_STATUS - The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - endpointNames: - items: - type: string - type: array - key: - type: string - value: - type: string type: object type: array - fallbackRoute: + idleTimeoutInMinutes: description: |- - Storage version of v1api20210702.FallbackRouteProperties_STATUS - The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' properties: - $propertyBag: - additionalProperties: - type: string + count: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - condition: + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + enum: + - azure + - cilium + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + enum: + - bridge + - transparent + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' + enum: + - overlay + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + enum: + - azure + - calico + - cilium + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced type: string - endpointNames: - items: - type: string - type: array - isEnabled: - type: boolean name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. type: string - source: + required: + - key + - name + type: object + principalId: + description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. type: string + required: + - key + - name type: object - routes: - items: - description: |- - Storage version of v1api20210702.RouteProperties_STATUS - The properties of a routing rule that your IoT hub uses to route messages to endpoints. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - condition: - type: string - endpointNames: - items: - type: string - type: array - isEnabled: - type: boolean - name: - type: string - source: - type: string - type: object - type: array type: object - state: - type: string - storageEndpoints: - additionalProperties: + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - Storage version of v1api20210702.StorageEndpointProperties_STATUS - The properties of the Azure Storage endpoint for file upload. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authenticationType: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - containerName: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - identity: + value: description: |- - Storage version of v1api20210702.ManagedIdentity_STATUS - The properties of the Managed identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - sasTtlAsIso8601: + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object type: object - sku: + owner: description: |- - Storage version of v1api20210702.IotHubSkuInfo_STATUS - Information about the SKU of the IoT hub. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - systemData: + podIdentityProfile: description: |- - Storage version of v1api20210702.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. properties: - $propertyBag: - additionalProperties: - type: string + allowNetworkPluginKubenet: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. + properties: + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + type: string + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: The name of the pod identity.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity.' + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' + type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object + required: + - name + - namespace + - podLabels + type: object + type: array type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: loadbalancers.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: LoadBalancer - listKind: LoadBalancerList - plural: loadbalancers - singular: loadbalancer - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendAddressPools: - description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' items: - description: Pool of backend IP addresses. + description: A private link resource properties: - loadBalancerBackendAddresses: - description: 'LoadBalancerBackendAddresses: An array of backend addresses.' + groupId: + description: 'GroupId: The group ID of the resource.' + type: string + name: + description: 'Name: The name of the private link resource.' + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' items: - description: Load balancer backend addresses. + type: string + type: array + type: + description: 'Type: The resource type.' + type: string + type: object + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + enum: + - Disabled + - Enabled + type: string + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. properties: - ipAddress: - description: 'IpAddress: IP Address belonging to the referenced virtual network.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string - loadBalancerFrontendIPConfiguration: - description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object name: - description: 'Name: Name of the backend address.' + description: Name is the Kubernetes name of the resource. type: string - subnet: - description: 'Subnet: Reference to an existing subnet.' + type: object + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' properties: - reference: - description: 'Reference: Resource ID.' + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' properties: armId: description: |- @@ -123564,789 +188764,905 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string type: object - virtualNetwork: - description: 'VirtualNetwork: Reference to an existing virtual network.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + nodeSelector: + additionalProperties: type: string - type: object - type: object + description: 'NodeSelector: NodeSelector for scheduling the egress gateway.' + type: object + required: + - enabled + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array type: object - type: array - name: - description: |- - Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This - name can be used to access the resource. - type: string - type: object - type: array - extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + maxItems: 2 + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + secret: + description: 'Secret: The secret password associated with the service principal in plain text.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object + sku: + description: 'Sku: The managed cluster SKU.' properties: name: - description: 'Name: The name of the extended location.' + description: 'Name: The name of a managed cluster SKU.' + enum: + - Base type: string - type: - description: 'Type: The type of the extended location.' + tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. enum: - - EdgeZone + - Free + - Premium + - Standard + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminPassword: + description: |- + AdminPassword: Specifies the password of the administrator account. + Minimum-length: 8 characters + Max-length: 123 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + enum: + - None + - Windows_Server type: string required: - - name - - type + - adminUsername type: object - frontendIPConfigurations: - description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' - items: - description: Frontend IP address of the load balancer. - properties: - name: - description: |- - Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. - This name can be used to access the resource. - type: string - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' - enum: - - IPv4 - - IPv6 - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The Private IP allocation method.' - enum: - - Dynamic - - Static + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' + type: boolean + required: + - enabled + type: object + type: object + required: + - location + - owner + type: object + status: + description: Managed cluster. + properties: + aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' + properties: + adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + items: type: string - publicIPAddress: - description: 'PublicIPAddress: The reference to the Public IP resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - publicIPPrefix: - description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: 'Subnet: The reference to the subnet resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array - type: object - type: array - inboundNatPools: - description: |- - InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load - balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external - port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual - virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. - items: - description: Inbound NAT pool of the load balancer. + type: array + clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' + type: boolean + managed: + description: 'Managed: Whether to enable managed AAD.' + type: boolean + serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + type: string + tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. + type: string + type: object + addonProfiles: + additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. properties: - backendPort: - description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. + config: + additionalProperties: + type: string + description: 'Config: Key-value pairs for configuring an add-on.' + type: object + enabled: + description: 'Enabled: Whether the add-on is enabled or not.' type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + identity: + description: 'Identity: Information of user assigned identity used by this add-on.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string type: object - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65535. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65534. - type: integer - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' - enum: - - All - - Tcp - - Udp - type: string - required: - - backendPort - - frontendPortRangeEnd - - frontendPortRangeStart - - protocol type: object - type: array - inboundNatRules: - description: |- - InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load - balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine - scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to - reference individual inbound NAT rules. + description: 'AddonProfiles: The profile of managed cluster add-on.' + type: object + agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' items: - description: Inbound NAT rule of the load balancer. + description: Profile for the container service agent pool. properties: - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPort: + availabilityZones: description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - idleTimeoutInMinutes: + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + count: description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - enum: - - All - - Tcp - - Udp - type: string - type: object - type: array - loadBalancingRules: - description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' - items: - description: A load balancing rule for a load balancer. - properties: - backendAddressPool: + creationData: description: |- - BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend - IPs. + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string type: object - backendPort: - description: |- - BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note - that value 0 enables "Any Port". - type: integer - disableOutboundSnat: + currentOrchestratorVersion: description: |- - DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the - frontend of the load balancing rule. + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean - enableFloatingIP: + enableEncryptionAtHost: description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean - enableTcpReset: + enableFIPS: description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". - type: integer - idleTimeoutInMinutes: + enableNodePublicIP: description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - loadDistribution: - description: 'LoadDistribution: The load distribution policy for this rule.' - enum: - - Default - - SourceIP - - SourceIPProtocol + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' type: string - name: + hostGroupID: description: |- - Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This - name can be used to access the resource. - type: string - probe: - description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - enum: - - All - - Tcp - - Udp + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). type: string - required: - - frontendPort - - protocol - type: object - type: array - location: - description: 'Location: Resource location.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - key: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string - name: + cpuManagerPolicy: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string - value: + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + kubeletDiskType: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string - value: + transparentHugePageEnabled: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string - required: - - name - - value type: object - type: array - type: object - outboundRules: - description: 'OutboundRules: The outbound rules.' - items: - description: Outbound rule of the load balancer. - properties: - allocatedOutboundPorts: - description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' type: integer - backendAddressPool: + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: description: |- - BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend - IPs. + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: Windows agent pool names must be 6 characters or less.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfigurations: - description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' - items: - description: Reference to another subresource. - properties: - reference: - description: 'Reference: Resource ID.' + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. properties: - armId: + portEnd: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' type: string - name: - description: Name is the Kubernetes name of the resource. + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' type: string type: object - type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string type: array - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: type: integer - name: + osDiskType: description: |- - Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can - be used to access the resource. + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type: string - protocol: - description: 'Protocol: The protocol for the outbound rule in load balancer.' - enum: - - All - - Tcp - - Udp + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. type: string - required: - - backendAddressPool - - frontendIPConfigurations - - protocol - type: object - type: array - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - probes: - description: 'Probes: Collection of probe objects used in the load balancer.' - items: - description: A load balancer probe. - properties: - intervalInSeconds: + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: description: |- - IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the - interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking - the instance out of rotation. The default value is 15, the minimum value is 5. - type: integer - name: + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: description: |- - Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used - to access the resource. + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' type: string - numberOfProbes: + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: description: |- - NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered - to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used - in Azure. - type: integer - port: - description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' - type: integer - protocol: + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: description: |- - Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be - successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be - successful. - enum: - - Http - - Https - - Tcp + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' type: string - requestPath: + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + type: object + vmSize: description: |- - RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. - Otherwise, it is not allowed. There is no default value. + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' type: string - required: - - port - - protocol type: object type: array - sku: - description: 'Sku: The load balancer SKU.' + apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' properties: - name: - description: 'Name: Name of a load balancer SKU.' - enum: - - Basic - - Standard + authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). + items: + type: string + type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean + enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). + type: boolean + enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. type: string - tier: - description: 'Tier: Tier of a load balancer SKU.' - enum: - - Global - - Regional + type: object + autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + properties: + balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + type: string + expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. + type: string + max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' + type: string + max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' + type: string + max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: string + new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). + type: string + ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + type: string + scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. + type: string + scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. + type: string + scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. + type: string + scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + type: string + scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + type: string + skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' + type: string + skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' + properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + type: string + upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + type: string type: object - required: - - owner - type: object - status: - description: LoadBalancer resource. - properties: - backendAddressPools: - description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' - items: - description: Pool of backend IP addresses. - properties: - backendIPConfigurations: - description: 'BackendIPConfigurations: An array of references to IP addresses defined in network interfaces.' - items: - description: IPConfiguration in a network interface. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - loadBalancerBackendAddresses: - description: 'LoadBalancerBackendAddresses: An array of backend addresses.' - items: - description: Load balancer backend addresses. - properties: - ipAddress: - description: 'IpAddress: IP Address belonging to the referenced virtual network.' - type: string - loadBalancerFrontendIPConfiguration: - description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - name: - description: 'Name: Name of the backend address.' - type: string - networkInterfaceIPConfiguration: - description: 'NetworkInterfaceIPConfiguration: Reference to IP address defined in network interfaces.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - subnet: - description: 'Subnet: Reference to an existing subnet.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - virtualNetwork: - description: 'VirtualNetwork: Reference to an existing virtual network.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: object - type: array - loadBalancingRules: - description: 'LoadBalancingRules: An array of references to load balancing rules that use this backend address pool.' - items: - description: Reference to another subresource. + azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + properties: + metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + type: boolean + kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: - id: - description: 'Id: Resource ID.' + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. type: string - type: object - type: array - name: - description: |- - Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This - name can be used to access the resource. - type: string - outboundRule: - description: 'OutboundRule: A reference to an outbound rule that uses this backend address pool.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - outboundRules: - description: 'OutboundRules: An array of references to outbound rules that use this backend address pool.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. type: string type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the backend address pool resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array + type: object + type: object + azurePortalFQDN: + description: |- + AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + Portal to function properly. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -124391,11 +189707,37 @@ spec: - type type: object type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + currentKubernetesVersion: + description: |- + CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + exactly equal to it. If kubernetesVersion was , this field will contain the full + version being used. + type: string + disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + type: boolean + diskEncryptionSetID: + description: |- + DiskEncryptionSetID: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + type: string + dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' type: string + enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. + type: boolean + enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + type: boolean extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' + description: 'ExtendedLocation: The extended location of the Virtual Machine.' properties: name: description: 'Name: The name of the extended location.' @@ -124404,468 +189746,692 @@ spec: description: 'Type: The type of the extended location.' type: string type: object - frontendIPConfigurations: - description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' - items: - description: Frontend IP address of the load balancer. - properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - inboundNatPools: - description: 'InboundNatPools: An array of references to inbound pools that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - inboundNatRules: - description: 'InboundNatRules: An array of references to inbound rules that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - loadBalancingRules: - description: 'LoadBalancingRules: An array of references to load balancing rules that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - name: - description: |- - Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. - This name can be used to access the resource. - type: string - outboundRules: - description: 'OutboundRules: An array of references to outbound rules that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The Private IP allocation method.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the frontend IP configuration resource.' + fqdn: + description: 'Fqdn: The FQDN of the master pool.' + type: string + fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + type: string + httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + properties: + httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' + type: string + httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + type: string + noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' + items: type: string - publicIPAddress: - description: 'PublicIPAddress: The reference to the Public IP resource.' + type: array + trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: 'Identity: The identity of the managed cluster, if configured.' + properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. properties: - id: - description: 'Id: Resource ID.' + location: + description: 'Location: The source resource location - internal use only.' type: string - type: object - publicIPPrefix: - description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' - properties: - id: - description: 'Id: Resource ID.' + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + type: string + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' type: string type: object - subnet: - description: 'Subnet: The reference to the subnet resource.' + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object + principalId: + description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' + type: string + tenantId: + description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' + type: string + type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + type: string + userAssignedIdentities: + additionalProperties: properties: - id: - description: 'Id: Resource ID.' + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' type: string type: object - type: - description: 'Type: Type of the resource.' - type: string - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array - type: object - type: array - id: - description: 'Id: Resource ID.' - type: string - inboundNatPools: - description: |- - InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load - balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external - port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat - rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual - virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. - items: - description: Inbound NAT pool of the load balancer. + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + identityProfile: + additionalProperties: + description: Details about a user assigned identity. properties: - backendPort: - description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65535. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65534. - type: integer - id: - description: 'Id: Resource ID.' + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name - can be used to access the resource. + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + type: string + linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + properties: + adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' + type: string + ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + properties: + publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + items: + description: Contains information about SSH certificate public key data. + properties: + keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. + type: string + type: object + type: array + type: object + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + maxAgentPools: + description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + networkProfile: + description: 'NetworkProfile: The network configuration profile.' + properties: + dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. + type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the inbound NAT pool resource.' + type: array + loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + properties: + allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + type: string + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. + type: integer + managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + properties: + count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + type: integer + type: object + outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' + properties: + publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' + properties: + publicIPs: + description: 'PublicIPs: A list of public IP resources.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + type: string + networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' + type: string + networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + type: string + networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' + type: string + networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + type: string + outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + type: string + podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: type: string - type: - description: 'Type: Type of the resource.' + type: array + serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: type: string - type: object - type: array - inboundNatRules: + type: array + type: object + nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + type: string + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + issuerURL: + description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' + type: string + type: object + podIdentityProfile: description: |- - InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load - balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine - scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to - reference individual inbound NAT rules. - items: - description: Inbound NAT rule of the load balancer. - properties: - backendIPConfiguration: - description: |- - BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the - frontend port of each of the frontend IP configurations is forwarded to the backend IP. + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. + properties: + allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. + type: boolean + enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' + type: boolean + userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + items: + description: Details about the pod identity assigned to the Managed Cluster. properties: - id: - description: 'Id: Resource ID.' + bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' type: string - type: object - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - id: - description: 'Id: Resource ID.' + identity: + description: 'Identity: The user assigned identity details.' + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + name: + description: 'Name: The name of the pod identity.' type: string - type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array - loadBalancingRules: - description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' - items: - description: A load balancing rule for a load balancer. - properties: - backendAddressPool: - description: |- - BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend - IPs. - properties: - id: - description: 'Id: Resource ID.' + namespace: + description: 'Namespace: The namespace of the pod identity.' type: string - type: object - backendPort: - description: |- - BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note - that value 0 enables "Any Port". - type: integer - disableOutboundSnat: - description: |- - DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the - frontend of the load balancing rule. - type: boolean - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - id: - description: 'Id: Resource ID.' + provisioningInfo: + properties: + error: + description: 'Error: Pod identity assignment error (if any).' + properties: + error: + description: 'Error: Details about the error.' + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + details: + description: 'Details: A list of additional details about the error.' + items: + properties: + code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' + type: string + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: array + message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' + type: string + target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' + type: string + type: object + type: object + type: object + provisioningState: + description: 'ProvisioningState: The current provisioning state of the pod identity.' type: string type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - loadDistribution: - description: 'LoadDistribution: The load distribution policy for this rule.' - type: string - name: + type: array + userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + items: description: |- - Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This - name can be used to access the resource. - type: string - probe: - description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: - id: - description: 'Id: Resource ID.' + name: + description: 'Name: The name of the pod identity exception.' + type: string + namespace: + description: 'Namespace: The namespace of the pod identity exception.' type: string + podLabels: + additionalProperties: + type: string + description: 'PodLabels: The pod labels to match.' + type: object type: object - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the load balancing rule resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array - location: - description: 'Location: Resource location.' - type: string - name: - description: 'Name: Resource name.' + type: array + type: object + powerState: + description: 'PowerState: The Power State of the cluster.' + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + privateFQDN: + description: 'PrivateFQDN: The FQDN of private cluster.' type: string - outboundRules: - description: 'OutboundRules: The outbound rules.' + privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' items: - description: Outbound rule of the load balancer. + description: A private link resource properties: - allocatedOutboundPorts: - description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' - type: integer - backendAddressPool: - description: |- - BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend - IPs. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + groupId: + description: 'GroupId: The group ID of the resource.' type: string - frontendIPConfigurations: - description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array id: - description: 'Id: Resource ID.' + description: 'Id: The ID of the private link resource.' type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' - type: integer name: - description: |- - Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can - be used to access the resource. - type: string - protocol: - description: 'Protocol: The protocol for the outbound rule in load balancer.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the outbound rule resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array - probes: - description: 'Probes: Collection of probe objects used in the load balancer.' - items: - description: A load balancer probe. - properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + description: 'Name: The name of the private link resource.' type: string - id: - description: 'Id: Resource ID.' + privateLinkServiceID: + description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' type: string - intervalInSeconds: - description: |- - IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the - interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking - the instance out of rotation. The default value is 15, the minimum value is 5. - type: integer - loadBalancingRules: - description: 'LoadBalancingRules: The load balancer rules that use this probe.' + requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + type: string type: array - name: - description: |- - Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used - to access the resource. - type: string - numberOfProbes: - description: |- - NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered - to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used - in Azure. - type: integer - port: - description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' - type: integer - protocol: - description: |- - Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be - successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be - successful. - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the probe resource.' - type: string - requestPath: - description: |- - RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. - Otherwise, it is not allowed. There is no default value. - type: string type: - description: 'Type: Type of the resource.' + description: 'Type: The resource type.' type: string type: object type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the load balancer resource.' + description: 'ProvisioningState: The current provisioning state.' type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the load balancer resource.' + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + type: string + resourceUID: + description: |- + ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + sequence) type: string + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + type: string + keyVaultResourceId: + description: |- + KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + type: string + type: object + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + Defender is disabled, leave the field empty. + type: string + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultId: + description: 'KeyVaultId: The resource ID of the Key Vault.' + type: string + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + nodeSelector: + additionalProperties: + type: string + description: 'NodeSelector: NodeSelector for scheduling the egress gateway.' + type: object + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + type: string + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + type: string + type: object + servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. + properties: + clientId: + description: 'ClientId: The ID for the service principal.' + type: string + type: object sku: - description: 'Sku: The load balancer SKU.' + description: 'Sku: The managed cluster SKU.' properties: name: - description: 'Name: Name of a load balancer SKU.' + description: 'Name: The name of a managed cluster SKU.' type: string tier: - description: 'Tier: Tier of a load balancer SKU.' + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: @@ -124874,8 +190440,86 @@ spec: description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object + windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + properties: + adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters + type: string + enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). + type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object + licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + type: string + type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' + type: boolean + type: object + type: object type: object type: object served: true @@ -124895,14 +190539,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101storage + name: v1api20231001storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201101.LoadBalancer + Storage version of v1api20231001.ManagedCluster Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} properties: apiVersion: description: |- @@ -124922,7 +190566,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201101.LoadBalancer_Spec + description: Storage version of v1api20231001.ManagedCluster_Spec properties: $propertyBag: additionalProperties: @@ -124931,16 +190575,61 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: + aadProfile: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendAddressPools: + Storage version of v1api20231001.ManagedClusterAADProfile + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20231001.ManagedClusterAddonProfile + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + type: object + type: object + agentPoolProfiles: items: description: |- - Storage version of v1api20201101.BackendAddressPool_LoadBalancer_SubResourceEmbedded - Pool of backend IP addresses. + Storage version of v1api20231001.ManagedClusterAgentPoolProfile + Profile for the container service agent pool. properties: $propertyBag: additionalProperties: @@ -124949,25 +190638,254 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - loadBalancerBackendAddresses: + availabilityZones: items: - description: |- - Storage version of v1api20201101.LoadBalancerBackendAddress - Load balancer backend addresses. - properties: - $propertyBag: - additionalProperties: + type: string + type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddress: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20231001.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20231001.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20231001.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: type: string - loadBalancerFrontendIPConfiguration: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20231001.PortRange + The port range. properties: $propertyBag: additionalProperties: @@ -124976,66 +190894,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string type: object - name: - type: string - subnet: - description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - virtualNetwork: + type: array + nodePublicIPTags: + items: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20231001.IPTag + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -125044,108 +190937,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + ipTagType: + type: string + tag: + type: string type: object - type: object - type: array - name: - type: string - type: object - type: array - extendedLocation: - description: |- - Storage version of v1api20201101.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - frontendIPConfigurations: - items: - description: |- - Storage version of v1api20201101.FrontendIPConfiguration_LoadBalancer_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: + type: array + type: object + nodeLabels: additionalProperties: type: string + type: object + nodePublicIPPrefixReference: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - name: + nodeTaints: + items: + type: string + type: array + orchestratorVersion: type: string - privateIPAddress: + osDiskSizeGB: + type: integer + osDiskType: type: string - privateIPAddressVersion: + osSKU: type: string - privateIPAllocationMethod: + osType: type: string - publicIPAddress: + podSubnetReference: description: |- - Storage version of v1api20201101.PublicIPAddressSpec_LoadBalancer_SubResourceEmbedded - Public IP address resource. + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - publicIPPrefix: + powerState: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20231001.PowerState + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -125154,31 +191019,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + code: + type: string type: object - subnet: + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: description: |- - Storage version of v1api20201101.Subnet_LoadBalancer_SubResourceEmbedded - Subnet in a virtual network resource. + Storage version of v1api20231001.AgentPoolUpgradeSettings + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -125187,56 +191068,270 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string type: object - zones: - items: - type: string - type: array - type: object - type: array - inboundNatPools: - items: - description: |- - Storage version of v1api20201101.InboundNatPool - Inbound NAT pool of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string + vmSize: + type: string + vnetSubnetReference: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfile + Azure Monitor addon profiles for monitoring the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20231001.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20231001.ManagedClusterHTTPProxyConfig + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + description: |- + Storage version of v1api20231001.ManagedClusterIdentity + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20231001.DelegatedResource + Delegated resource properties - internal use only. properties: $propertyBag: additionalProperties: @@ -125245,8 +191340,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + location: + type: string + referralResource: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' properties: armId: description: |- @@ -125265,42 +191364,17 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + tenantId: + type: string type: object - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - type: object - type: array - inboundNatRules: - items: - description: |- - Storage version of v1api20201101.InboundNatRule_LoadBalancer_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: + type: object + type: + type: string + userAssignedIdentities: + items: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20231001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -125310,7 +191384,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -125330,21 +191404,13 @@ spec: type: string type: object type: object - frontendPort: - type: integer - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - type: object - type: array - loadBalancingRules: - items: + type: array + type: object + identityProfile: + additionalProperties: description: |- - Storage version of v1api20201101.LoadBalancingRule - A load balancing rule for a load balancer. + Storage version of v1api20231001.UserAssignedIdentity + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -125353,130 +191419,374 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendAddressPool: - description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + clientId: + type: string + objectId: + type: string + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20231001.ContainerServiceLinuxProfile + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20231001.ContainerServiceSshConfiguration + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20231001.ContainerServiceSshPublicKey + Contains information about SSH certificate public key data. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: type: string type: object - type: object - backendPort: - type: integer - disableOutboundSnat: - type: boolean - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: - description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + type: object + type: object + location: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.ContainerServiceNetworkProfile + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterLoadBalancerProfile + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + properties: + $propertyBag: + additionalProperties: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: |- + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - frontendPort: - type: integer - idleTimeoutInMinutes: - type: integer - loadDistribution: - type: string - name: - type: string - probe: - description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20231001.ManagedClusterNATGatewayProfile + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' + Storage version of v1api20231001.ResourceReference + A reference to an Azure resource. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: object - protocol: + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: type: string - type: object - type: array - location: + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeResourceGroup: type: string + oidcIssuerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object operatorSpec: description: |- - Storage version of v1api20201101.LoadBalancerOperatorSpec + Storage version of v1api20231001.ManagedClusterOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -125515,6 +191825,53 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20231001.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + principalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -125544,28 +191901,91 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20231001.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string - outboundRules: - items: - description: |- - Storage version of v1api20201101.OutboundRule - Outbound rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendAddressPool: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProfile + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20231001.ManagedClusterPodIdentity + Details about the pod identity assigned to the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -125574,34 +191994,215 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20231001.UserAssignedIdentity + Details about a user assigned identity. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: type: string - name: - description: Name is the Kubernetes name of the resource. + objectId: type: string + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object + name: + type: string + namespace: + type: string type: object - enableTcpReset: - type: boolean - frontendIPConfigurations: + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityException + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: |- + Storage version of v1api20231001.PrivateLinkResource + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + securityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfile + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20231001.AzureKeyVaultKms + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + defender: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefender + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring + Microsoft Defender settings for the security profile threat detection. properties: $propertyBag: additionalProperties: @@ -125610,80 +192211,221 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20231001.ServiceMeshProfile + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20231001.IstioServiceMesh + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20231001.IstioCertificateAuthority + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20231001.IstioPluginCertificateAuthority + Plugin certificates information for Service Mesh. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: type: string - group: - description: Group is the Kubernetes group of the resource. + certObjectName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + keyObjectName: type: string - name: - description: Name is the Kubernetes name of the resource. + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: type: string type: object type: object - type: array - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - type: object - type: array - owner: + components: + description: |- + Storage version of v1api20231001.IstioComponents + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20231001.IstioEgressGateway + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20231001.IstioIngressGateway + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + Storage version of v1api20231001.ManagedClusterServicePrincipalProfile + Information about a service principal identity for the cluster to use for manipulating Azure APIs. properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: type: string - type: object - probes: - items: - description: |- - Storage version of v1api20201101.Probe - A load balancer probe. - properties: - $propertyBag: - additionalProperties: + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - intervalInSeconds: - type: integer - name: - type: string - numberOfProbes: - type: integer - port: - type: integer - protocol: - type: string - requestPath: - type: string - type: object - type: array + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object sku: description: |- - Storage version of v1api20201101.LoadBalancerSku - SKU of a load balancer. + Storage version of v1api20231001.ManagedClusterSKU + The SKU of a Managed Cluster. properties: $propertyBag: additionalProperties: @@ -125697,17 +192439,220 @@ spec: tier: type: string type: object + storageProfile: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfile + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string tags: additionalProperties: type: string type: object + upgradeSettings: + description: |- + Storage version of v1api20231001.ClusterUpgradeSettings + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20231001.UpgradeOverrideSettings + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWindowsProfile + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20231001.WindowsGmsaProfile + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object required: - owner type: object status: description: |- - Storage version of v1api20201101.LoadBalancer_STATUS - LoadBalancer resource. + Storage version of v1api20231001.ManagedCluster_STATUS + Managed cluster. properties: $propertyBag: additionalProperties: @@ -125716,11 +192661,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendAddressPools: + aadProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAADProfile_STATUS + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: |- + Storage version of v1api20231001.ManagedClusterAddonProfile_STATUS + A Kubernetes add-on profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20231001.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: items: description: |- - Storage version of v1api20201101.BackendAddressPool_STATUS_LoadBalancer_SubResourceEmbedded - Pool of backend IP addresses. + Storage version of v1api20231001.ManagedClusterAgentPoolProfile_STATUS + Profile for the container service agent pool. properties: $propertyBag: additionalProperties: @@ -125729,63 +192743,199 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendIPConfigurations: + availabilityZones: items: - description: |- - Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded - IPConfiguration in a network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + type: string type: array - etag: + capacityReservationGroupID: type: string - id: + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: type: string - loadBalancerBackendAddresses: - items: - description: |- - Storage version of v1api20201101.LoadBalancerBackendAddress_STATUS - Load balancer backend addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipAddress: + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + kubeletConfig: + description: |- + Storage version of v1api20231001.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: type: string - loadBalancerFrontendIPConfiguration: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20231001.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20231001.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: type: string - type: object - name: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: type: string - networkInterfaceIPConfiguration: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20231001.PortRange_STATUS + The port range. properties: $propertyBag: additionalProperties: @@ -125794,13 +192944,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string type: object - subnet: + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20231001.IPTag_STATUS + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -125809,49 +192969,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + ipTagType: type: string - type: object - virtualNetwork: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + tag: type: string type: object - type: object - type: array - loadBalancingRules: + type: array + type: object + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: items: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + type: string type: array - name: + orchestratorVersion: type: string - outboundRule: + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20231001.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -125860,14 +193012,173 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + code: type: string type: object - outboundRules: - items: + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: array + apiServerAccessProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile_STATUS + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + privateDNSZone: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + expander: + type: string + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile_STATUS + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfile_STATUS + Azure Monitor addon profiles for monitoring the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics_STATUS + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: $propertyBag: additionalProperties: @@ -125876,16 +193187,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: type: string type: object - type: array - provisioningState: - type: string - type: - type: string - type: object - type: array + type: object + type: object + azurePortalFQDN: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -125929,12 +193239,22 @@ spec: - type type: object type: array - etag: + currentKubernetesVersion: type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean extendedLocation: description: |- - Storage version of v1api20201101.ExtendedLocation_STATUS - ExtendedLocation complex type. + Storage version of v1api20231001.ExtendedLocation_STATUS + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -125948,11 +193268,99 @@ spec: type: type: string type: object - frontendIPConfigurations: - items: + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + description: |- + Storage version of v1api20231001.ManagedClusterHTTPProxyConfig_STATUS + Cluster HTTP proxy configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20231001.ManagedClusterIdentity_STATUS + Identity for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20231001.DelegatedResource_STATUS + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20231001.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: description: |- - Storage version of v1api20201101.FrontendIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded - Frontend IP address of the load balancer. + Storage version of v1api20231001.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -125961,15 +193369,124 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - etag: + clientId: type: string - id: + objectId: type: string - inboundNatPools: - items: + resourceId: + type: string + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: |- + Storage version of v1api20231001.ContainerServiceLinuxProfile_STATUS + Profile for Linux VMs in the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: |- + Storage version of v1api20231001.ContainerServiceSshConfiguration_STATUS + SSH configuration for Linux-based VMs running on Azure. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: |- + Storage version of v1api20231001.ContainerServiceSshPublicKey_STATUS + Contains information about SSH certificate public key data. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231001.ContainerServiceNetworkProfile_STATUS + Profile of network configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + loadBalancerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_STATUS + Profile of the managed cluster load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -125978,15 +193495,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + count: + type: integer + countIPv6: + type: integer type: object - type: array - inboundNatRules: - items: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + outboundIPPrefixes: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS properties: $propertyBag: additionalProperties: @@ -125995,15 +193510,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + publicIPPrefixes: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array type: object - type: array - loadBalancingRules: - items: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + outboundIPs: + description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -126012,17 +193538,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + publicIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array type: object - type: array - name: - type: string - outboundRules: - items: + type: object + loadBalancerSku: + type: string + natGatewayProfile: + description: |- + Storage version of v1api20231001.ManagedClusterNATGatewayProfile_STATUS + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20231001.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile_STATUS + Profile of the managed outbound IP resources of the managed cluster. properties: $propertyBag: additionalProperties: @@ -126031,144 +193602,76 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + count: + type: integer type: object - type: array - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - provisioningState: + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: type: string - publicIPAddress: - description: |- - Storage version of v1api20201101.PublicIPAddress_STATUS_LoadBalancer_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - publicIPPrefix: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - subnet: - description: |- - Storage version of v1api20201101.Subnet_STATUS_LoadBalancer_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: + type: array + serviceCidr: + type: string + serviceCidrs: + items: type: string - zones: - items: - type: string - type: array - type: object - type: array - id: + type: array + type: object + nodeResourceGroup: type: string - inboundNatPools: - items: - description: |- - Storage version of v1api20201101.InboundNatPool_STATUS - Inbound NAT pool of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: - type: string - type: + oidcIssuerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile_STATUS + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - inboundNatRules: - items: - description: |- - Storage version of v1api20201101.InboundNatRule_STATUS_LoadBalancer_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendIPConfiguration: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProfile_STATUS + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: description: |- - Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded - IPConfiguration in a network interface. + Storage version of v1api20231001.ManagedClusterPodIdentity_STATUS + Details about the pod identity assigned to the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -126177,21 +193680,103 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + bindingSelector: + type: string + identity: + description: |- + Storage version of v1api20231001.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20231001.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningError_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: |- + Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + An error response from the pod identity provisioning. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: type: string type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: + type: array + userAssignedIdentityExceptions: + items: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20231001.ManagedClusterPodIdentityException_STATUS + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: $propertyBag: additionalProperties: @@ -126200,30 +193785,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + name: + type: string + namespace: type: string + podLabels: + additionalProperties: + type: string + type: object type: object - frontendPort: - type: integer - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: - type: string - type: + type: array + type: object + powerState: + description: |- + Storage version of v1api20231001.PowerState_STATUS + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - loadBalancingRules: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + privateFQDN: + type: string + privateLinkResources: items: description: |- - Storage version of v1api20201101.LoadBalancingRule_STATUS - A load balancing rule for a load balancer. + Storage version of v1api20231001.PrivateLinkResource_STATUS + A private link resource properties: $propertyBag: additionalProperties: @@ -126232,122 +193826,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendAddressPool: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - backendPort: - type: integer - disableOutboundSnat: - type: boolean - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: + groupId: type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - frontendPort: - type: integer id: type: string - idleTimeoutInMinutes: - type: integer - loadDistribution: - type: string name: type: string - probe: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - protocol: - type: string - provisioningState: + privateLinkServiceID: type: string + requiredMembers: + items: + type: string + type: array type: type: string type: object type: array - location: + provisioningState: type: string - name: + publicNetworkAccess: type: string - outboundRules: - items: - description: |- - Storage version of v1api20201101.OutboundRule_STATUS - Outbound rule of the load balancer. - properties: - $propertyBag: - additionalProperties: + resourceUID: + type: string + securityProfile: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfile_STATUS + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20231001.AzureKeyVaultKms_STATUS + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendAddressPool: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + defender: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefender_STATUS + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: type: string - type: object - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfigurations: - items: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + Microsoft Defender settings for the security profile threat detection. properties: $propertyBag: additionalProperties: @@ -126356,48 +193907,73 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + enabled: + type: boolean type: object - type: array - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: - type: string - type: - type: string - type: object - type: array - probes: - items: - description: |- - Storage version of v1api20201101.Probe_STATUS - A load balancer probe. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: - type: string - id: + type: object + imageCleaner: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner_STATUS + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + workloadIdentity: + description: |- + Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20231001.ServiceMeshProfile_STATUS + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: type: string - intervalInSeconds: - type: integer - loadBalancingRules: - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20231001.IstioServiceMesh_STATUS + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20231001.IstioCertificateAuthority_STATUS + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca properties: $propertyBag: additionalProperties: @@ -126406,34 +193982,111 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + plugin: + description: |- + Storage version of v1api20231001.IstioPluginCertificateAuthority_STATUS + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object type: object - type: array - name: - type: string - numberOfProbes: - type: integer - port: - type: integer - protocol: - type: string - provisioningState: - type: string - requestPath: - type: string - type: + components: + description: |- + Storage version of v1api20231001.IstioComponents_STATUS + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20231001.IstioEgressGateway_STATUS + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20231001.IstioIngressGateway_STATUS + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: |- + Storage version of v1api20231001.ManagedClusterServicePrincipalProfile_STATUS + Information about a service principal identity for the cluster to use for manipulating Azure APIs. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - provisioningState: - type: string - resourceGuid: - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object sku: description: |- - Storage version of v1api20201101.LoadBalancerSku_STATUS - SKU of a load balancer. + Storage version of v1api20231001.ManagedClusterSKU_STATUS + The SKU of a Managed Cluster. properties: $propertyBag: additionalProperties: @@ -126447,12 +194100,223 @@ spec: tier: type: string type: object + storageProfile: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfile_STATUS + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver_STATUS + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver_STATUS + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + fileCSIDriver: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver_STATUS + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController_STATUS + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + description: |- + Storage version of v1api20231001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object type: type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.ClusterUpgradeSettings_STATUS + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20231001.UpgradeOverrideSettings_STATUS + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWindowsProfile_STATUS + Profile for Windows VMs in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: |- + Storage version of v1api20231001.WindowsGmsaProfile_STATUS + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile_STATUS + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object type: object type: object served: true @@ -126472,13 +194336,9 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20231102preview schema: openAPIV3Schema: - description: |- - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} properties: apiVersion: description: |- @@ -126499,202 +194359,76 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendAddressPools: - description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' - items: - description: Pool of backend IP addresses. - properties: - drainPeriodInSeconds: - description: 'DrainPeriodInSeconds: Amount of seconds Load Balancer waits for before sending RESET to client and backend address.' - type: integer - loadBalancerBackendAddresses: - description: 'LoadBalancerBackendAddresses: An array of backend addresses.' - items: - description: Load balancer backend addresses. - properties: - adminState: - description: |- - AdminState: A list of administrative states which once set can override health probe so that Load Balancer will always - forward new connections to backend, or deny new connections and reset existing connections. - enum: - - Down - - None - - Up - type: string - ipAddress: - description: 'IpAddress: IP Address belonging to the referenced virtual network.' - type: string - loadBalancerFrontendIPConfiguration: - description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - description: 'Name: Name of the backend address.' - type: string - subnet: - description: 'Subnet: Reference to an existing subnet.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetwork: - description: 'VirtualNetwork: Reference to an existing virtual network.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - location: - description: 'Location: The location of the backend address pool.' - type: string - name: - description: |- - Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This - name can be used to access the resource. - type: string - syncMode: - description: 'SyncMode: Backend address synchronous mode for the backend pool' - enum: - - Automatic - - Manual - type: string - tunnelInterfaces: - description: 'TunnelInterfaces: An array of gateway load balancer tunnel interfaces.' - items: - description: Gateway load balancer tunnel interface of a load balancer backend address pool. - properties: - identifier: - description: 'Identifier: Identifier of gateway load balancer tunnel interface.' - type: integer - port: - description: 'Port: Port of gateway load balancer tunnel interface.' - type: integer - protocol: - description: 'Protocol: Protocol of gateway load balancer tunnel interface.' - enum: - - Native - - None - - VXLAN - type: string - type: - description: 'Type: Traffic type of gateway load balancer tunnel interface.' - enum: - - External - - Internal - - None - type: string - type: object - type: array - virtualNetwork: - description: 'VirtualNetwork: A reference to a virtual network.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' + aadProfile: properties: - name: - description: 'Name: The name of the extended location.' + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: type: string type: object - frontendIPConfigurations: - description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + required: + - enabled + type: object + type: object + agentPoolProfiles: items: - description: Frontend IP address of the load balancer. properties: - gatewayLoadBalancer: - description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + artifactStreamingProfile: + properties: + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: properties: - reference: - description: 'Reference: Resource ID.' + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -126714,332 +194448,554 @@ spec: type: string type: object type: object - name: - description: |- - Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. - This name can be used to access the resource. - type: string - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: enum: - - IPv4 - - IPv6 + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The Private IP allocation method.' + gpuProfile: + properties: + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: enum: - - Dynamic - - Static + - OS + - Temporary type: string - publicIPAddress: - description: 'PublicIPAddress: The reference to the Public IP resource.' + linuxOSConfig: properties: - reference: - description: 'Reference: Resource ID.' + swapFileSizeMB: + type: integer + sysctls: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - publicIPPrefix: - description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + enum: + - System + - User + type: string + name: + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + networkProfile: properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + allowedHostPorts: + items: + properties: + portEnd: + maximum: 65535 + minimum: 1 + type: integer + portStart: + maximum: 65535 + minimum: 1 + type: integer + protocol: + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + properties: + ipTagType: + type: string + tag: + type: string + type: object + type: array type: object - subnet: - description: 'Subnet: The reference to the subnet resource.' + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + nodeTaints: items: type: string type: array - type: object - type: array - inboundNatPools: - description: |- - InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load - balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external - port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT - rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual - virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. - items: - description: Inbound NAT pool of the load balancer. - properties: - backendPort: - description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' + orchestratorVersion: + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + osDiskType: + enum: + - Ephemeral + - Managed + type: string + osSKU: + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + enum: + - Linux + - Windows + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65535. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65534. - type: integer - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name - can be used to access the resource. + powerState: + properties: + code: + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + enum: + - Deallocate + - Delete type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' + scaleSetEvictionPolicy: enum: - - All - - Tcp - - Udp + - Deallocate + - Delete type: string - required: - - backendPort - - frontendPortRangeEnd - - frontendPortRangeStart - - protocol - type: object - type: array - inboundNatRules: - description: |- - InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load - balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine - scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to - reference individual inbound NAT rules. - items: - description: Inbound NAT rule of the load balancer. - properties: - backendAddressPool: - description: 'BackendAddressPool: A reference to backendAddressPool resource.' + scaleSetPriority: + enum: + - Regular + - Spot + type: string + securityProfile: properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + enum: + - Disabled + - LocalUser + type: string type: object - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines + type: string + upgradeSettings: properties: - reference: - description: 'Reference: Resource ID.' + drainTimeoutInMinutes: + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + maximum: 30 + minimum: 0 + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + properties: + scale: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + manual: + items: + properties: + count: + maximum: 1000 + minimum: 0 + type: integer + sizes: + items: + type: string + type: array + type: object + type: array type: object type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each - backend address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend - address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name - can be used to access the resource. + vmSize: type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + properties: + disableOutboundNat: + type: boolean + type: object + workloadRuntime: enum: - - All - - Tcp - - Udp + - KataMshvVmIsolation + - OCIContainer + - WasmWasi type: string + required: + - name type: object type: array - loadBalancingRules: - description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' - items: - description: A load balancing rule for a load balancer. - properties: - backendAddressPool: - description: |- - BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend - IPs. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - backendAddressPools: - description: 'BackendAddressPools: An array of references to pool of DIPs.' - items: - description: Reference to another subresource. + aiToolchainOperatorProfile: + properties: + enabled: + type: boolean + type: object + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + enum: + - least-waste + - most-pods + - priority + - random + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + nodeOSUpgradeChannel: + enum: + - NodeImage + - None + - SecurityPatch + - Unmanaged + type: string + upgradeChannel: + enum: + - node-image + - none + - patch + - rapid + - stable + type: string + type: object + azureMonitorProfile: + properties: + logs: + properties: + appMonitoring: properties: - reference: - description: 'Reference: Resource ID.' + enabled: + type: boolean + type: object + containerInsights: + properties: + enabled: + type: boolean + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -127058,34 +195014,163 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + windowsHostLogs: + properties: + enabled: + type: boolean + type: object type: object - type: array - backendPort: - description: |- - BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note - that value 0 enables "Any Port". - type: integer - disableOutboundSnat: - description: |- - DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the - frontend of the load balancing rule. - type: boolean - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + type: object + metrics: + properties: + appMonitoringOpenTelemetryMetrics: + properties: + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + required: + - enabled + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 1 + pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + type: string + creationData: + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + properties: + name: + type: string + type: + enum: + - EdgeZone + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: + type: string + type: array + trustedCa: + type: string + type: object + identity: + properties: + delegatedResources: + additionalProperties: + properties: + location: + type: string + referralResource: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + type: object + type: + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: properties: reference: - description: 'Reference: Resource ID.' + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -127105,33 +195190,44 @@ spec: type: string type: object type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". - type: integer - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - loadDistribution: - description: 'LoadDistribution: The load distribution policy for this rule.' - enum: - - Default - - SourceIP - - SourceIPProtocol + type: array + type: object + identityProfile: + additionalProperties: + properties: + clientId: type: string - name: - description: |- - Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This - name can be used to access the resource. + objectId: type: string - probe: - description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - reference: - description: 'Reference: Resource ID.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + ingressProfile: + properties: + webAppRouting: + properties: + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -127150,22 +195246,313 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - type: object - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: array + enabled: + type: boolean + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + required: + - keyData + type: object + type: array + required: + - publicKeys + type: object + required: + - adminUsername + - ssh + type: object + location: + type: string + metricsProfile: + properties: + costAnalysis: + properties: + enabled: + type: boolean + type: object + type: object + networkProfile: + properties: + dnsServiceIP: + pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + type: string + ipFamilies: + items: enum: - - All - - Tcp - - Udp + - IPv4 + - IPv6 type: string - required: - - frontendPort - - protocol - type: object - type: array - location: - description: 'Location: Resource location.' + type: array + kubeProxyConfig: + properties: + enabled: + type: boolean + ipvsConfig: + properties: + scheduler: + enum: + - LeastConnection + - RoundRobin + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + enum: + - IPTABLES + - IPVS + type: string + type: object + loadBalancerProfile: + properties: + allocatedOutboundPorts: + maximum: 64000 + minimum: 0 + type: integer + backendPoolType: + enum: + - NodeIP + - NodeIPConfiguration + type: string + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPs: + properties: + count: + maximum: 100 + minimum: 1 + type: integer + countIPv6: + maximum: 100 + minimum: 0 + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + enum: + - basic + - standard + type: string + monitoring: + properties: + enabled: + type: boolean + type: object + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + properties: + count: + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + enum: + - azure + - cilium + type: string + networkMode: + enum: + - bridge + - transparent + type: string + networkPlugin: + enum: + - azure + - kubenet + - none + type: string + networkPluginMode: + enum: + - overlay + type: string + networkPolicy: + enum: + - azure + - calico + - cilium + - none + type: string + outboundType: + enum: + - loadBalancer + - managedNATGateway + - userAssignedNATGateway + - userDefinedRouting + type: string + podCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeProvisioningProfile: + properties: + mode: + enum: + - Auto + - Manual + type: string + type: object + nodeResourceGroup: type: string + nodeResourceGroupProfile: + properties: + restrictionLevel: + enum: + - ReadOnly + - Unrestricted + type: string + type: object + oidcIssuerProfile: + properties: + enabled: + type: boolean + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -127201,6 +195588,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -127231,94 +195639,45 @@ spec: - value type: object type: array - type: object - outboundRules: - description: 'OutboundRules: The outbound rules.' - items: - description: Outbound rule of the load balancer. - properties: - allocatedOutboundPorts: - description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' - type: integer - backendAddressPool: - description: |- - BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend - IPs. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfigurations: - description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' - items: - description: Reference to another subresource. + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - type: array - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can - be used to access the resource. - type: string - protocol: - description: 'Protocol: The protocol for the outbound rule in load balancer.' - enum: - - All - - Tcp - - Udp - type: string - required: - - backendAddressPool - - frontendIPConfigurations - - protocol - type: object - type: array + userCredentials: + description: |- + UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -127332,261 +195691,896 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - probes: - description: 'Probes: Collection of probe objects used in the load balancer.' + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + properties: + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + required: + - identity + - name + - namespace + type: object + type: array + userAssignedIdentityExceptions: + items: + properties: + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + required: + - name + - namespace + - podLabels + type: object + type: array + type: object + privateLinkResources: items: - description: A load balancer probe. properties: - intervalInSeconds: - description: |- - IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the - interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking - the instance out of rotation. The default value is 15, the minimum value is 5. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used - to access the resource. - type: string - noHealthyBackendsBehavior: - description: |- - NoHealthyBackendsBehavior: Determines how new connections are handled by the load balancer when all backend instances - are probed down. - enum: - - AllProbedDown - - AllProbedUp + groupId: type: string - numberOfProbes: - description: |- - NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered - to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used - in Azure. - type: integer - port: - description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' - type: integer - probeThreshold: - description: |- - ProbeThreshold: The number of consecutive successful or failed probes in order to allow or deny traffic from being - delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be - taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. - type: integer - protocol: - description: |- - Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be - successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be - successful. - enum: - - Http - - Https - - Tcp + name: type: string - requestPath: - description: |- - RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. - Otherwise, it is not allowed. There is no default value. + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: type: string - required: - - port - - protocol type: object type: array + publicNetworkAccess: + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + safeguardsProfile: + properties: + excludedNamespaces: + items: + type: string + type: array + level: + enum: + - Enforcement + - "Off" + - Warning + type: string + version: + type: string + required: + - level + type: object + securityProfile: + properties: + azureKeyVaultKms: + properties: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + items: + type: string + maxItems: 10 + minItems: 0 + type: array + defender: + properties: + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + properties: + enabled: + type: boolean + type: object + nodeRestriction: + properties: + enabled: + type: boolean + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + properties: + istio: + properties: + certificateAuthority: + properties: + plugin: + properties: + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + properties: + egressGateways: + items: + properties: + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + required: + - enabled + type: object + type: array + ingressGateways: + items: + properties: + enabled: + type: boolean + mode: + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + items: + type: string + maxItems: 2 + type: array + type: object + mode: + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - clientId + type: object sku: - description: 'Sku: The load balancer SKU.' properties: name: - description: 'Name: Name of a load balancer SKU.' enum: - - Basic - - Gateway - - Standard + - Base type: string tier: - description: 'Tier: Tier of a load balancer SKU.' enum: - - Global - - Regional + - Free + - Premium + - Standard type: string type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + supportPlan: + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + type: object + upgradeSettings: + properties: + overrideSettings: + properties: + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + properties: + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + enum: + - None + - Windows_Server + type: string + required: + - adminUsername + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + enum: + - Disabled + - Enabled + type: string + enabled: + type: boolean + required: + - enabled + type: object type: object required: + - location - owner type: object status: - description: LoadBalancer resource. properties: - backendAddressPools: - description: 'BackendAddressPools: Collection of backend address pools used by a load balancer.' + aadProfile: + properties: + adminGroupObjectIDs: + items: + type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + properties: + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + agentPoolProfiles: items: - description: Pool of backend IP addresses. properties: - backendIPConfigurations: - description: 'BackendIPConfigurations: An array of references to IP addresses defined in network interfaces.' + artifactStreamingProfile: + properties: + enabled: + type: boolean + type: object + availabilityZones: items: - description: IPConfiguration in a network interface. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + type: string type: array - drainPeriodInSeconds: - description: 'DrainPeriodInSeconds: Amount of seconds Load Balancer waits for before sending RESET to client and backend address.' + capacityReservationGroupID: + type: string + count: type: integer - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + creationData: + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: type: string - id: - description: 'Id: Resource ID.' + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: type: string - inboundNatRules: - description: 'InboundNatRules: An array of references to inbound NAT rules that use this backend address pool.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - loadBalancerBackendAddresses: - description: 'LoadBalancerBackendAddresses: An array of backend addresses.' - items: - description: Load balancer backend addresses. - properties: - adminState: - description: |- - AdminState: A list of administrative states which once set can override health probe so that Load Balancer will always - forward new connections to backend, or deny new connections and reset existing connections. - type: string - inboundNatRulesPortMapping: - description: 'InboundNatRulesPortMapping: Collection of inbound NAT rule port mappings.' - items: - description: Individual port mappings for inbound NAT rule created for backend pool. - properties: - backendPort: - description: 'BackendPort: Backend port.' - type: integer - frontendPort: - description: 'FrontendPort: Frontend port.' - type: integer - inboundNatRuleName: - description: 'InboundNatRuleName: Name of inbound NAT rule.' - type: string - type: object - type: array - ipAddress: - description: 'IpAddress: IP Address belonging to the referenced virtual network.' + gpuProfile: + properties: + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + kubeletConfig: + properties: + allowedUnsafeSysctls: + items: type: string - loadBalancerFrontendIPConfiguration: - description: 'LoadBalancerFrontendIPConfiguration: Reference to the frontend ip address configuration defined in regional loadbalancer.' + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + properties: + allowedHostPorts: + items: properties: - id: - description: 'Id: Resource ID.' + portEnd: + type: integer + portStart: + type: integer + protocol: type: string type: object - name: - description: 'Name: Name of the backend address.' + type: array + applicationSecurityGroups: + items: type: string - networkInterfaceIPConfiguration: - description: 'NetworkInterfaceIPConfiguration: Reference to IP address defined in network interfaces.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - subnet: - description: 'Subnet: Reference to an existing subnet.' + type: array + nodePublicIPTags: + items: properties: - id: - description: 'Id: Resource ID.' + ipTagType: type: string - type: object - virtualNetwork: - description: 'VirtualNetwork: Reference to an existing virtual network.' - properties: - id: - description: 'Id: Resource ID.' + tag: type: string type: object - type: object + type: array + type: object + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string type: array - loadBalancingRules: - description: 'LoadBalancingRules: An array of references to load balancing rules that use this backend address pool.' + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + type: string type: array - location: - description: 'Location: The location of the backend address pool.' + orchestratorVersion: type: string - name: - description: |- - Name: The name of the resource that is unique within the set of backend address pools used by the load balancer. This - name can be used to access the resource. + osDiskSizeGB: + type: integer + osDiskType: type: string - outboundRule: - description: 'OutboundRule: A reference to an outbound rule that uses this backend address pool.' + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: properties: - id: - description: 'Id: Resource ID.' + code: type: string type: object - outboundRules: - description: 'OutboundRules: An array of references to outbound rules that use this backend address pool.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the backend address pool resource.' type: string - syncMode: - description: 'SyncMode: Backend address synchronous mode for the backend pool' + proximityPlacementGroupID: type: string - tunnelInterfaces: - description: 'TunnelInterfaces: An array of gateway load balancer tunnel interfaces.' + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + properties: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + properties: + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: items: - description: Gateway load balancer tunnel interface of a load balancer backend address pool. properties: - identifier: - description: 'Identifier: Identifier of gateway load balancer tunnel interface.' - type: integer - port: - description: 'Port: Port of gateway load balancer tunnel interface.' + count: type: integer - protocol: - description: 'Protocol: Protocol of gateway load balancer tunnel interface.' - type: string - type: - description: 'Type: Traffic type of gateway load balancer tunnel interface.' + size: type: string type: object type: array - type: - description: 'Type: Type of the resource.' + virtualMachinesProfile: + properties: + scale: + properties: + manual: + items: + properties: + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: type: string - virtualNetwork: - description: 'VirtualNetwork: A reference to a virtual network.' + vnetSubnetID: + type: string + windowsProfile: properties: - id: - description: 'Id: Resource ID.' - type: string + disableOutboundNat: + type: boolean type: object + workloadRuntime: + type: string type: object type: array + aiToolchainOperatorProfile: + properties: + enabled: + type: boolean + type: object + apiServerAccessProfile: + properties: + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + properties: + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + properties: + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + properties: + logs: + properties: + appMonitoring: + properties: + enabled: + type: boolean + type: object + containerInsights: + properties: + enabled: + type: boolean + logAnalyticsWorkspaceResourceId: + type: string + windowsHostLogs: + properties: + enabled: + type: boolean + type: object + type: object + type: object + metrics: + properties: + appMonitoringOpenTelemetryMetrics: + properties: + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + properties: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object + azurePortalFQDN: + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -127631,538 +196625,607 @@ spec: - type type: object type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + creationData: + properties: + sourceResourceId: + type: string + type: object + currentKubernetesVersion: type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' properties: name: - description: 'Name: The name of the extended location.' type: string type: - description: 'Type: The type of the extended location.' type: string type: object - frontendIPConfigurations: - description: 'FrontendIPConfigurations: Object representing the frontend IPs to be used for the load balancer.' - items: - description: Frontend IP address of the load balancer. - properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - gatewayLoadBalancer: - description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - id: - description: 'Id: Resource ID.' - type: string - inboundNatPools: - description: 'InboundNatPools: An array of references to inbound pools that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - inboundNatRules: - description: 'InboundNatRules: An array of references to inbound rules that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - loadBalancingRules: - description: 'LoadBalancingRules: An array of references to load balancing rules that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - name: - description: |- - Name: The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. - This name can be used to access the resource. - type: string - outboundRules: - description: 'OutboundRules: An array of references to outbound rules that use this frontend IP.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4.' - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The Private IP allocation method.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the frontend IP configuration resource.' + fqdn: + type: string + fqdnSubdomain: + type: string + httpProxyConfig: + properties: + effectiveNoProxy: + items: type: string - publicIPAddress: - description: 'PublicIPAddress: The reference to the Public IP resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - publicIPPrefix: - description: 'PublicIPPrefix: The reference to the Public IP Prefix resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - subnet: - description: 'Subnet: The reference to the subnet resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: - description: 'Type: Type of the resource.' + type: array + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: type: string - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array - type: object - type: array + type: array + trustedCa: + type: string + type: object id: - description: 'Id: Resource ID.' type: string - inboundNatPools: - description: |- - InboundNatPools: Defines an external port range for inbound NAT to a single backend port on NICs associated with a load - balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external - port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT - rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual - virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. - items: - description: Inbound NAT pool of the load balancer. - properties: - backendPort: - description: 'BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + identity: + properties: + delegatedResources: + additionalProperties: properties: - id: - description: 'Id: Resource ID.' + location: type: string - type: object - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The last port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65535. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The first port number in the range of external ports that will be used to provide Inbound Nat to - NICs associated with a load balancer. Acceptable values range between 1 and 65534. - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the inbound NAT pool.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the inbound NAT pool resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array - inboundNatRules: - description: |- - InboundNatRules: Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load - balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine - scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to - reference individual inbound NAT rules. - items: - description: Inbound NAT rule of the load balancer. - properties: - backendAddressPool: - description: 'BackendAddressPool: A reference to backendAddressPool resource.' - properties: - id: - description: 'Id: Resource ID.' + referralResource: type: string - type: object - backendIPConfiguration: - description: |- - BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the - frontend port of each of the frontend IP configurations is forwarded to the backend IP. - properties: - id: - description: 'Id: Resource ID.' + resourceId: + type: string + tenantId: type: string type: object - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: properties: - id: - description: 'Id: Resource ID.' + clientId: + type: string + principalId: type: string type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each - backend address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend - address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' + type: object + type: object + identityProfile: + additionalProperties: + properties: + clientId: type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' + objectId: type: string - type: - description: 'Type: Type of the resource.' + resourceId: type: string type: object - type: array - loadBalancingRules: - description: 'LoadBalancingRules: Object collection representing the load balancing rules Gets the provisioning.' - items: - description: A load balancing rule for a load balancer. - properties: - backendAddressPool: - description: |- - BackendAddressPool: A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend - IPs. - properties: - id: - description: 'Id: Resource ID.' + type: object + ingressProfile: + properties: + webAppRouting: + properties: + dnsZoneResourceIds: + items: type: string - type: object - backendAddressPools: - description: 'BackendAddressPools: An array of references to pool of DIPs.' - items: - description: Reference to another subresource. + type: array + enabled: + type: boolean + identity: properties: - id: - description: 'Id: Resource ID.' + clientId: + type: string + objectId: + type: string + resourceId: type: string type: object - type: array - backendPort: - description: |- - BackendPort: The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note - that value 0 enables "Any Port". - type: integer - disableOutboundSnat: - description: |- - DisableOutboundSnat: Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the - frontend of the load balancing rule. - type: boolean - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + properties: + adminUsername: + type: string + ssh: + properties: + publicKeys: + items: + properties: + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + properties: + costAnalysis: + properties: + enabled: + type: boolean + type: object + type: object + name: + type: string + networkProfile: + properties: + dnsServiceIP: + type: string + ipFamilies: + items: type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + type: array + kubeProxyConfig: + properties: + enabled: + type: boolean + ipvsConfig: + properties: + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object + loadBalancerProfile: + properties: + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + properties: + count: + type: integer + countIPv6: + type: integer + type: object + outboundIPPrefixes: + properties: + publicIPPrefixes: + items: + properties: + id: + type: string + type: object + type: array + type: object + outboundIPs: + properties: + publicIPs: + items: + properties: + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + monitoring: + properties: + enabled: + type: boolean + type: object + natGatewayProfile: + properties: + effectiveOutboundIPs: + items: + properties: + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + properties: + count: + type: integer + type: object + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: + type: string + serviceCidrs: + items: + type: string + type: array + type: object + nodeProvisioningProfile: + properties: + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + properties: + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + properties: + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + properties: + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: properties: - id: - description: 'Id: Resource ID.' + bindingSelector: + type: string + identity: + properties: + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + name: + type: string + namespace: + type: string + provisioningInfo: + properties: + error: + properties: + error: + properties: + code: + type: string + details: + items: + properties: + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: type: string type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - loadDistribution: - description: 'LoadDistribution: The load distribution policy for this rule.' - type: string - name: - description: |- - Name: The name of the resource that is unique within the set of load balancing rules used by the load balancer. This - name can be used to access the resource. - type: string - probe: - description: 'Probe: The reference to the load balancer probe used by the load balancing rule.' + type: array + userAssignedIdentityExceptions: + items: properties: - id: - description: 'Id: Resource ID.' + name: + type: string + namespace: type: string + podLabels: + additionalProperties: + type: string + type: object type: object - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the load balancing rule resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array - location: - description: 'Location: Resource location.' - type: string - name: - description: 'Name: Resource name.' + type: array + type: object + powerState: + properties: + code: + type: string + type: object + privateFQDN: type: string - outboundRules: - description: 'OutboundRules: The outbound rules.' + privateLinkResources: items: - description: Outbound rule of the load balancer. properties: - allocatedOutboundPorts: - description: 'AllocatedOutboundPorts: The number of outbound ports to be used for NAT.' - type: integer - backendAddressPool: - description: |- - BackendAddressPool: A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend - IPs. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + groupId: type: string - frontendIPConfigurations: - description: 'FrontendIPConfigurations: The Frontend IP addresses of the load balancer.' - items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array id: - description: 'Id: Resource ID.' type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The timeout for the TCP idle connection.' - type: integer name: - description: |- - Name: The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can - be used to access the resource. - type: string - protocol: - description: 'Protocol: The protocol for the outbound rule in load balancer.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the outbound rule resource.' type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: array - probes: - description: 'Probes: Collection of probe objects used in the load balancer.' - items: - description: A load balancer probe. - properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' + privateLinkServiceID: type: string - intervalInSeconds: - description: |- - IntervalInSeconds: The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the - interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking - the instance out of rotation. The default value is 15, the minimum value is 5. - type: integer - loadBalancingRules: - description: 'LoadBalancingRules: The load balancer rules that use this probe.' + requiredMembers: items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + type: string type: array - name: - description: |- - Name: The name of the resource that is unique within the set of probes used by the load balancer. This name can be used - to access the resource. - type: string - noHealthyBackendsBehavior: - description: |- - NoHealthyBackendsBehavior: Determines how new connections are handled by the load balancer when all backend instances - are probed down. - type: string - numberOfProbes: - description: |- - NumberOfProbes: The number of probes where if no response, will result in stopping further traffic from being delivered - to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used - in Azure. - type: integer - port: - description: 'Port: The port for communicating the probe. Possible values range from 1 to 65535, inclusive.' - type: integer - probeThreshold: - description: |- - ProbeThreshold: The number of consecutive successful or failed probes in order to allow or deny traffic from being - delivered to this endpoint. After failing the number of consecutive probes equal to this value, the endpoint will be - taken out of rotation and require the same number of successful consecutive probes to be placed back in rotation. - type: integer - protocol: - description: |- - Protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be - successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be - successful. - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the probe resource.' - type: string - requestPath: - description: |- - RequestPath: The URI used for requesting health status from the VM. Path is required if a protocol is set to http. - Otherwise, it is not allowed. There is no default value. - type: string type: - description: 'Type: Type of the resource.' type: string type: object type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the load balancer resource.' type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the load balancer resource.' + publicNetworkAccess: type: string + resourceUID: + type: string + safeguardsProfile: + properties: + excludedNamespaces: + items: + type: string + type: array + level: + type: string + systemExcludedNamespaces: + items: + type: string + type: array + version: + type: string + type: object + securityProfile: + properties: + azureKeyVaultKms: + properties: + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + properties: + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + properties: + enabled: + type: boolean + type: object + type: object + imageCleaner: + properties: + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + properties: + enabled: + type: boolean + type: object + nodeRestriction: + properties: + enabled: + type: boolean + type: object + workloadIdentity: + properties: + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + properties: + istio: + properties: + certificateAuthority: + properties: + plugin: + properties: + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + properties: + egressGateways: + items: + properties: + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + properties: + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + properties: + clientId: + type: string + type: object sku: - description: 'Sku: The load balancer SKU.' properties: name: - description: 'Name: Name of a load balancer SKU.' type: string tier: - description: 'Tier: Tier of a load balancer SKU.' + type: string + type: object + storageProfile: + properties: + blobCSIDriver: + properties: + enabled: + type: boolean + type: object + diskCSIDriver: + properties: + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + properties: + enabled: + type: boolean + type: object + snapshotController: + properties: + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + properties: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type.' type: string + upgradeSettings: + properties: + overrideSettings: + properties: + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + properties: + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + properties: + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + properties: + keda: + properties: + enabled: + type: boolean + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object type: object type: object served: true @@ -128182,14 +197245,10 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20231102previewstorage schema: openAPIV3Schema: - description: |- - Storage version of v1api20240301.LoadBalancer - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName} + description: Storage version of v1api20231102preview.ManagedCluster properties: apiVersion: description: |- @@ -128205,567 +197264,68 @@ spec: Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20240301.LoadBalancer_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendAddressPools: - items: - description: |- - Storage version of v1api20240301.BackendAddressPool_LoadBalancer_SubResourceEmbedded - Pool of backend IP addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainPeriodInSeconds: - type: integer - loadBalancerBackendAddresses: - items: - description: |- - Storage version of v1api20240301.LoadBalancerBackendAddress - Load balancer backend addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminState: - type: string - ipAddress: - type: string - loadBalancerFrontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - subnet: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetwork: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - location: - type: string - name: - type: string - syncMode: - type: string - tunnelInterfaces: - items: - description: |- - Storage version of v1api20240301.GatewayLoadBalancerTunnelInterface - Gateway load balancer tunnel interface of a load balancer backend address pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identifier: - type: integer - port: - type: integer - protocol: - type: string - type: - type: string - type: object - type: array - virtualNetwork: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - extendedLocation: - description: |- - Storage version of v1api20240301.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - frontendIPConfigurations: - items: - description: |- - Storage version of v1api20240301.FrontendIPConfiguration_LoadBalancer_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - gatewayLoadBalancer: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - publicIPAddress: - description: |- - Storage version of v1api20240301.PublicIPAddressSpec_LoadBalancer_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - publicIPPrefix: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: |- - Storage version of v1api20240301.Subnet_LoadBalancer_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - zones: - items: - type: string - type: array - type: object - type: array - inboundNatPools: - items: - description: |- - Storage version of v1api20240301.InboundNatPool - Inbound NAT pool of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - type: object - type: array - inboundNatRules: - items: - description: |- - Storage version of v1api20240301.InboundNatRule_LoadBalancer_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - frontendPort: - type: integer - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - idleTimeoutInMinutes: - type: integer - name: + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231102preview.ManagedCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadProfile: + description: Storage version of v1api20231102preview.ManagedClusterAADProfile + properties: + $propertyBag: + additionalProperties: type: string - protocol: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminGroupObjectIDs: + items: type: string + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: + type: string + type: object + addonProfiles: + additionalProperties: + description: Storage version of v1api20231102preview.ManagedClusterAddonProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: + type: string + type: object + enabled: + type: boolean type: object - type: array - loadBalancingRules: + type: object + agentPoolProfiles: items: - description: |- - Storage version of v1api20240301.LoadBalancingRule - A load balancing rule for a load balancer. + description: Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile properties: $propertyBag: additionalProperties: @@ -128774,10 +197334,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile properties: $propertyBag: additionalProperties: @@ -128786,74 +197344,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + enabled: + type: boolean type: object - backendAddressPools: + availabilityZones: items: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + type: string type: array - backendPort: + capacityReservationGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: type: integer - disableOutboundSnat: - type: boolean - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + creationData: + description: Storage version of v1api20231102preview.CreationData properties: $propertyBag: additionalProperties: @@ -128862,8 +197383,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -128883,18 +197404,22 @@ spec: type: string type: object type: object - frontendPort: - type: integer - idleTimeoutInMinutes: - type: integer - loadDistribution: - type: string - name: + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: type: string - probe: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile properties: $propertyBag: additionalProperties: @@ -128903,125 +197428,68 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + installGPUDriver: + type: boolean type: object - protocol: - type: string - type: object - type: array - location: - type: string - operatorSpec: - description: |- - Storage version of v1api20240301.LoadBalancerOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + hostGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + group: + description: Group is the Kubernetes group of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + cpuManagerPolicy: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - outboundRules: - items: - description: |- - Storage version of v1api20240301.OutboundRule - Outbound rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - allocatedOutboundPorts: - type: integer - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig properties: $propertyBag: additionalProperties: @@ -129030,247 +197498,105 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - enableTcpReset: - type: boolean - frontendIPConfigurations: - items: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - type: object - type: array - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - probes: - items: - description: |- - Storage version of v1api20240301.Probe - A load balancer probe. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - intervalInSeconds: - type: integer - name: - type: string - noHealthyBackendsBehavior: - type: string - numberOfProbes: - type: integer - port: + maxCount: type: integer - probeThreshold: + maxPods: type: integer - protocol: - type: string - requestPath: - type: string - type: object - type: array - sku: - description: |- - Storage version of v1api20240301.LoadBalancerSku - SKU of a load balancer. - properties: - $propertyBag: - additionalProperties: + messageOfTheDay: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20240301.LoadBalancer_STATUS - LoadBalancer resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddressPools: - items: - description: |- - Storage version of v1api20240301.BackendAddressPool_STATUS_LoadBalancer_SubResourceEmbedded - Pool of backend IP addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendIPConfigurations: - items: - description: |- - Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded - IPConfiguration in a network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - drainPeriodInSeconds: + minCount: type: integer - etag: + mode: type: string - id: + name: type: string - inboundNatRules: - items: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - loadBalancerBackendAddresses: - items: - description: |- - Storage version of v1api20240301.LoadBalancerBackendAddress_STATUS - Load balancer backend addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminState: - type: string - inboundNatRulesPortMapping: - items: - description: |- - Storage version of v1api20240301.NatRulePortMapping_STATUS - Individual port mappings for inbound NAT rule created for backend pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendPort: - type: integer - frontendPort: - type: integer - inboundNatRuleName: - type: string - type: object - type: array - ipAddress: + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile + properties: + $propertyBag: + additionalProperties: type: string - loadBalancerFrontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange properties: $propertyBag: additionalProperties: @@ -129279,45 +197605,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string type: object - name: - type: string - networkInterfaceIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - subnet: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - virtualNetwork: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag properties: $propertyBag: additionalProperties: @@ -129326,36 +197646,77 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + ipTagType: + type: string + tag: type: string type: object - type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string type: array - loadBalancingRules: + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: items: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + type: string type: array - location: + orchestratorVersion: type: string - name: + osDiskSizeGB: + type: integer + osDiskType: type: string - outboundRule: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + osSKU: + type: string + osType: + type: string + podSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20231102preview.PowerState properties: $propertyBag: additionalProperties: @@ -129364,35 +197725,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + code: type: string type: object - outboundRules: - items: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: + proximityPlacementGroupReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: type: string - syncMode: + scaleSetEvictionPolicy: type: string - tunnelInterfaces: + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: items: - description: |- - Storage version of v1api20240301.GatewayLoadBalancerTunnelInterface_STATUS - Gateway load balancer tunnel interface of a load balancer backend address pool. + description: Storage version of v1api20231102preview.VirtualMachineNodes properties: $propertyBag: additionalProperties: @@ -129401,22 +197807,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - identifier: - type: integer - port: + count: type: integer - protocol: - type: string - type: + size: type: string type: object type: array - type: - type: string - virtualNetwork: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile properties: $propertyBag: additionalProperties: @@ -129425,60 +197823,169 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + scale: + description: Storage version of v1api20231102preview.ScaleProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string type: object type: array - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + aiToolchainOperatorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile + properties: + $propertyBag: + additionalProperties: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + apiServerAccessProfile: + description: Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile + properties: + $propertyBag: + additionalProperties: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: type: string - type: - description: Type of condition. + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - etag: - type: string - extendedLocation: - description: |- - Storage version of v1api20240301.ExtendedLocation_STATUS - ExtendedLocation complex type. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile properties: $propertyBag: additionalProperties: @@ -129487,48 +197994,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + nodeOSUpgradeChannel: type: string - type: + upgradeChannel: type: string type: object - frontendIPConfigurations: - items: - description: |- - Storage version of v1api20240301.FrontendIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: + azureMonitorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile + properties: + $propertyBag: + additionalProperties: type: string - gatewayLoadBalancer: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs + properties: + $propertyBag: + additionalProperties: type: string - type: object - id: - type: string - inboundNatPools: - items: description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring properties: $propertyBag: additionalProperties: @@ -129537,15 +198029,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + enabled: + type: boolean type: object - type: array - inboundNatRules: - items: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + containerInsights: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights properties: $propertyBag: additionalProperties: @@ -129554,15 +198042,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + enabled: + type: boolean + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsHostLogs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object type: object - type: array - loadBalancingRules: - items: + type: object + metrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoringOpenTelemetryMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics properties: $propertyBag: additionalProperties: @@ -129571,17 +198099,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + enabled: + type: boolean type: object - type: array - name: - type: string - outboundRules: - items: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics properties: $propertyBag: additionalProperties: @@ -129590,22 +198114,130 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: type: string type: object - type: array - privateIPAddress: + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + creationData: + description: Storage version of v1api20231102preview.CreationData + properties: + $propertyBag: + additionalProperties: type: string - privateIPAddressVersion: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + disableLocalAccounts: + type: boolean + diskEncryptionSetReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20231102preview.ExtendedLocation + properties: + $propertyBag: + additionalProperties: type: string - privateIPAllocationMethod: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig + properties: + $propertyBag: + additionalProperties: type: string - provisioningState: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpProxy: + type: string + httpsProxy: + type: string + noProxy: + items: type: string - publicIPAddress: - description: |- - Storage version of v1api20240301.PublicIPAddress_STATUS_LoadBalancer_SubResourceEmbedded - Public IP address resource. + type: array + trustedCa: + type: string + type: object + identity: + description: Storage version of v1api20231102preview.ManagedClusterIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + delegatedResources: + additionalProperties: + description: Storage version of v1api20231102preview.DelegatedResource properties: $propertyBag: additionalProperties: @@ -129614,28 +198246,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + location: type: string - type: object - publicIPPrefix: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + referralResource: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - id: + tenantId: type: string type: object - subnet: - description: |- - Storage version of v1api20240301.Subnet_STATUS_LoadBalancer_SubResourceEmbedded - Subnet in a virtual network resource. + type: object + type: + type: string + userAssignedIdentities: + items: + description: Storage version of v1api20231102preview.UserAssignedIdentityDetails properties: $propertyBag: additionalProperties: @@ -129644,24 +198287,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: - type: string - zones: - items: - type: string - type: array - type: object - type: array - id: - type: string - inboundNatPools: - items: - description: |- - Storage version of v1api20240301.InboundNatPool_STATUS - Inbound NAT pool of the load balancer. + type: array + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20231102preview.UserAssignedIdentity properties: $propertyBag: additionalProperties: @@ -129670,166 +198321,175 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: + clientId: type: string - type: + objectId: type: string - type: object - type: array - inboundNatRules: - items: - description: |- - Storage version of v1api20240301.InboundNatRule_STATUS_LoadBalancer_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - backendIPConfiguration: - description: |- - Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancer_SubResourceEmbedded - IPConfiguration in a network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - frontendPort: - type: integer - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - id: + type: object + type: object + ingressProfile: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfile + properties: + $propertyBag: + additionalProperties: type: string - idleTimeoutInMinutes: - type: integer - name: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20231102preview.ContainerServiceLinuxProfile + properties: + $propertyBag: + additionalProperties: type: string - protocol: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20231102preview.ContainerServiceSshConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20231102preview.ContainerServiceSshPublicKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + metricsProfile: + description: Storage version of v1api20231102preview.ManagedClusterMetricsProfile + properties: + $propertyBag: + additionalProperties: type: string - provisioningState: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: Storage version of v1api20231102preview.ManagedClusterCostAnalysis + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + networkProfile: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile + properties: + $propertyBag: + additionalProperties: type: string - type: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: type: string - type: object - type: array - loadBalancingRules: - items: - description: |- - Storage version of v1api20240301.LoadBalancingRule_STATUS - A load balancing rule for a load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + type: array + kubeProxyConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig + properties: + $propertyBag: + additionalProperties: type: string - type: object - backendAddressPools: - items: description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig properties: $propertyBag: additionalProperties: @@ -129838,111 +198498,71 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + scheduler: type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer type: object - type: array - backendPort: - type: integer - disableOutboundSnat: - type: boolean - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - frontendPort: - type: integer - id: - type: string - idleTimeoutInMinutes: - type: integer - loadDistribution: - type: string - name: - type: string - probe: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - protocol: - type: string - provisioningState: - type: string - type: - type: string - type: object - type: array - location: - type: string - name: - type: string - outboundRules: - items: - description: |- - Storage version of v1api20240301.OutboundRule_STATUS - Outbound rule of the load balancer. - properties: - $propertyBag: - additionalProperties: + mode: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + type: object + loadBalancerProfile: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile + properties: + $propertyBag: + additionalProperties: type: string - type: object - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfigurations: - items: description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs properties: $propertyBag: additionalProperties: @@ -129951,48 +198571,162 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + count: + type: integer + countIPv6: + type: integer type: object - type: array - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: - type: string - type: - type: string - type: object - type: array - probes: - items: - description: |- - Storage version of v1api20240301.Probe_STATUS - A load balancer probe. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: - type: string - id: - type: string - intervalInSeconds: - type: integer - loadBalancingRules: - items: + outboundIPPrefixes: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixes: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + outboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPs + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + monitoring: + description: Storage version of v1api20231102preview.NetworkMonitoring + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + natGatewayProfile: + description: Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile properties: $propertyBag: additionalProperties: @@ -130001,38 +198735,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + count: + type: integer type: object - type: array - name: - type: string - noHealthyBackendsBehavior: - type: string - numberOfProbes: - type: integer - port: - type: integer - probeThreshold: - type: integer - protocol: - type: string - provisioningState: + type: object + networkDataplane: + type: string + networkMode: + type: string + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: type: string - requestPath: + type: array + serviceCidr: + type: string + serviceCidrs: + items: type: string - type: + type: array + type: object + nodeProvisioningProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - provisioningState: - type: string - resourceGuid: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + type: object + nodeResourceGroup: type: string - sku: - description: |- - Storage version of v1api20240301.LoadBalancerSku_STATUS - SKU of a load balancer. + nodeResourceGroupProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile properties: $propertyBag: additionalProperties: @@ -130041,155 +198789,35 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - tier: + restrictionLevel: type: string type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: loadbalancersinboundnatrules.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: LoadBalancersInboundNatRule - listKind: LoadBalancersInboundNatRuleList - plural: loadbalancersinboundnatrules - singular: loadbalancersinboundnatrule - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + oidcIssuerProfile: + description: Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + enabled: + type: boolean type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20231102preview.ManagedClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -130218,8 +198846,36 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20231102preview.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -130248,12 +198904,61 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20231102preview.ManagedClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + userCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/LoadBalancer resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -130262,192 +198967,553 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - enum: - - All - - Tcp - - Udp - type: string - required: - - owner - type: object - status: - properties: - backendIPConfiguration: - description: |- - BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the - frontend port of each of the frontend IP configurations is forwarded to the backend IP. + podIdentityProfile: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile properties: - id: - description: 'Id: Resource ID.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: + type: string + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityException + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array type: object - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - conditions: - description: 'Conditions: The observed state of the resource' + privateLinkResources: items: - description: Condition defines an extension to status (an observation) of a resource + description: Storage version of v1api20231102preview.PrivateLinkResource properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + name: type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array type: - description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + publicNetworkAccess: type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' + safeguardsProfile: + description: Storage version of v1api20231102preview.SafeguardsProfile properties: - id: - description: 'Id: Resource ID.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + version: type: string type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20201101.LoadBalancersInboundNatRule - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20201101.LoadBalancersInboundNatRule_Spec - properties: - $propertyBag: + securityProfile: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20231102preview.AzureKeyVaultKms + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: Storage version of v1api20231102preview.ServiceMeshProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: Storage version of v1api20231102preview.IstioServiceMesh + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: Storage version of v1api20231102preview.IstioCertificateAuthority + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: Storage version of v1api20231102preview.IstioPluginCertificateAuthority + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: Storage version of v1api20231102preview.IstioComponents + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: Storage version of v1api20231102preview.IstioEgressGateway + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: Storage version of v1api20231102preview.IstioIngressGateway + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + secret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + sku: + description: Storage version of v1api20231102preview.ManagedClusterSKU + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: - description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + upgradeSettings: + description: Storage version of v1api20231102preview.ClusterUpgradeSettings properties: $propertyBag: additionalProperties: @@ -130456,35 +199522,75 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + overrideSettings: + description: Storage version of v1api20231102preview.UpgradeOverrideSettings properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + type: object + windowsProfile: + description: Storage version of v1api20231102preview.ManagedClusterWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20231102preview.WindowsGmsaProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: type: string type: object + licenseType: + type: string type: object - frontendPort: - type: integer - idleTimeoutInMinutes: - type: integer - operatorSpec: - description: |- - Storage version of v1api20201101.LoadBalancersInboundNatRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + workloadAutoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile properties: $propertyBag: additionalProperties: @@ -130493,87 +199599,40 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + keda: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda + properties: + $propertyBag: + additionalProperties: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + properties: + $propertyBag: + additionalProperties: type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/LoadBalancer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object type: object - protocol: - type: string required: - owner type: object status: - description: Storage version of v1api20201101.LoadBalancersInboundNatRule_STATUS + description: Storage version of v1api20231102preview.ManagedCluster_STATUS properties: $propertyBag: additionalProperties: @@ -130582,10 +199641,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - backendIPConfiguration: - description: |- - Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_LoadBalancers_InboundNatRule_SubResourceEmbedded - IPConfiguration in a network interface. + aadProfile: + description: Storage version of v1api20231102preview.ManagedClusterAADProfile_STATUS properties: $propertyBag: additionalProperties: @@ -130594,541 +199651,493 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string - type: object - backendPort: - type: integer - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: + adminGroupObjectIDs: + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + type: array + clientAppID: + type: string + enableAzureRBAC: + type: boolean + managed: + type: boolean + serverAppID: + type: string + serverAppSecret: + type: string + tenantID: type: string type: object - frontendPort: - type: integer - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: - type: string - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240301 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendAddressPool: - description: 'BackendAddressPool: A reference to backendAddressPool resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + addonProfiles: + additionalProperties: + description: Storage version of v1api20231102preview.ManagedClusterAddonProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + config: + additionalProperties: type: string - type: object + type: object + enabled: + type: boolean + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object type: object - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + agentPoolProfiles: + items: + description: Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each - backend address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend - address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: type: string - value: + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + hostGroupID: + type: string + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + cpuManagerPolicy: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - required: - - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/LoadBalancer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - enum: - - All - - Tcp - - Udp - type: string - required: - - owner - type: object - status: - properties: - backendAddressPool: - description: 'BackendAddressPool: A reference to backendAddressPool resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - backendIPConfiguration: - description: |- - BackendIPConfiguration: A reference to a private IP address defined on a network interface of a VM. Traffic sent to the - frontend port of each of the frontend IP configurations is forwarded to the backend IP. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - backendPort: - description: 'BackendPort: The port used for the internal endpoint. Acceptable values range from 1 to 65535.' - type: integer - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + kubeletDiskType: type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + maxPods: + type: integer + messageOfTheDay: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + minCount: + type: integer + mode: type: string - type: - description: Type of condition. + name: type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - enableFloatingIP: - description: |- - EnableFloatingIP: Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL - AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. - This setting can't be changed after you create the endpoint. - type: boolean - enableTcpReset: - description: |- - EnableTcpReset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This - element is only used when the protocol is set to TCP. - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - frontendIPConfiguration: - description: 'FrontendIPConfiguration: A reference to frontend IP addresses.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - frontendPort: - description: |- - FrontendPort: The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. - Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeEnd: - description: |- - FrontendPortRangeEnd: The port range end for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each - backend address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - frontendPortRangeStart: - description: |- - FrontendPortRangeStart: The port range start for the external endpoint. This property is used together with - BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend - address from BackendAddressPool. Acceptable values range from 1 to 65534. - type: integer - id: - description: 'Id: Resource ID.' - type: string - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The - default value is 4 minutes. This element is only used when the protocol is set to TCP. - type: integer - name: - description: |- - Name: The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name - can be used to access the resource. - type: string - protocol: - description: 'Protocol: The reference to the transport protocol used by the load balancing rule.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the inbound NAT rule resource.' - type: string - type: - description: 'Type: Type of the resource.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240301storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20240301.LoadBalancersInboundNatRule - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/loadBalancer.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20240301.LoadBalancersInboundNatRule_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeImageVersion: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + nodeInitializationTaints: + items: type: string - group: - description: Group is the Kubernetes group of the resource. + type: array + nodeLabels: + additionalProperties: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: type: string - name: - description: Name is the Kubernetes name of the resource. + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20231102preview.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: type: string - type: object - type: object - backendPort: - type: integer - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: Storage version of v1api20231102preview.ScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile_STATUS properties: $propertyBag: additionalProperties: @@ -131137,39 +200146,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + enabled: + type: boolean type: object - frontendPort: - type: integer - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - idleTimeoutInMinutes: - type: integer - operatorSpec: - description: |- - Storage version of v1api20240301.LoadBalancersInboundNatRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + apiServerAccessProfile: + description: Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile_STATUS properties: $propertyBag: additionalProperties: @@ -131178,99 +200159,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: + authorizedIPRanges: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object + type: string type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/LoadBalancer resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: type: string - name: - description: This is the name of the Kubernetes resource to reference. + subnetId: type: string type: object - protocol: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20240301.LoadBalancersInboundNatRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backendAddressPool: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + autoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterProperties_AutoScalerProfile_STATUS properties: $propertyBag: additionalProperties: @@ -131279,13 +200186,49 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: type: string type: object - backendIPConfiguration: - description: |- - Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_LoadBalancers_InboundNatRule_SubResourceEmbedded - IPConfiguration in a network interface. + autoUpgradeProfile: + description: Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile_STATUS properties: $propertyBag: additionalProperties: @@ -131294,64 +200237,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + nodeOSUpgradeChannel: + type: string + upgradeChannel: type: string type: object - backendPort: - type: integer - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - enableFloatingIP: - type: boolean - enableTcpReset: - type: boolean - etag: - type: string - frontendIPConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + azureMonitorProfile: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile_STATUS properties: $propertyBag: additionalProperties: @@ -131360,376 +200252,103 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string - type: object - frontendPort: - type: integer - frontendPortRangeEnd: - type: integer - frontendPortRangeStart: - type: integer - id: - type: string - idleTimeoutInMinutes: - type: integer - name: - type: string - protocol: - type: string - provisioningState: - type: string - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: maintenanceconfigurations.containerservice.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerservice.azure.com - names: - kind: MaintenanceConfiguration - listKind: MaintenanceConfigurationList - plural: maintenanceconfigurations - singular: maintenanceconfiguration - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240901 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window for the maintenance configuration.' - properties: - durationHours: - description: 'DurationHours: Length of maintenance window range from 4 to 24 hours.' - maximum: 24 - minimum: 4 - type: integer - notAllowedDates: - description: |- - NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with - 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 - 22:00' to '2023-01-03 22:00' in UTC time. - items: - description: For example, between '2022-12-23' and '2023-01-05'. - properties: - end: - description: 'End: The end date of the date span.' - type: string - start: - description: 'Start: The start date of the date span.' - type: string - required: - - end - - start - type: object - type: array - schedule: - description: 'Schedule: Recurrence schedule for the maintenance window.' + logs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs_STATUS properties: - absoluteMonthly: - description: 'AbsoluteMonthly: For schedules like: ''recur every month on the 15th'' or ''recur every 3 months on the 20th''.' - properties: - dayOfMonth: - description: 'DayOfMonth: The date of the month.' - maximum: 31 - minimum: 1 - type: integer - intervalMonths: - description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' - maximum: 6 - minimum: 1 - type: integer - required: - - dayOfMonth - - intervalMonths + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - daily: - description: 'Daily: For schedules like: ''recur every day'' or ''recur every 3 days''.' + appMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS properties: - intervalDays: - description: 'IntervalDays: Specifies the number of days between each set of occurrences.' - maximum: 7 - minimum: 1 - type: integer - required: - - intervalDays + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean type: object - relativeMonthly: - description: 'RelativeMonthly: For schedules like: ''recur every month on the first Monday'' or ''recur every 3 months on last Friday''.' + containerInsights: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS properties: - dayOfWeek: - description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' - enum: - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - type: string - intervalMonths: - description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' - maximum: 6 - minimum: 1 - type: integer - weekIndex: - description: 'WeekIndex: Specifies on which week of the month the dayOfWeek applies.' - enum: - - First - - Fourth - - Last - - Second - - Third + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + logAnalyticsWorkspaceResourceId: type: string - required: - - dayOfWeek - - intervalMonths - - weekIndex + windowsHostLogs: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object type: object - weekly: - description: 'Weekly: For schedules like: ''recur every Monday'' or ''recur every 3 weeks on Wednesday''.' + type: object + metrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoringOpenTelemetryMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS properties: - dayOfWeek: - description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' - enum: - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + enabled: + type: boolean + kubeStateMetrics: + description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: type: string - intervalWeeks: - description: 'IntervalWeeks: Specifies the number of weeks between each set of occurrences.' - maximum: 4 - minimum: 1 - type: integer - required: - - dayOfWeek - - intervalWeeks type: object type: object - startDate: - description: |- - StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is - inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. - type: string - startTime: - description: |- - StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to - this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. - pattern: ^\d{2}:\d{2}$ - type: string - utcOffset: - description: |- - UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the - default is '+00:00'. - pattern: ^(-|\+)[0-9]{2}:[0-9]{2}$ - type: string - required: - - durationHours - - schedule - - startTime - type: object - notAllowedTime: - description: 'NotAllowedTime: Time slots on which upgrade is not allowed.' - items: - description: For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - properties: - end: - description: 'End: The end of a time span' - type: string - start: - description: 'Start: The start of a time span' - type: string - type: object - type: array - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string type: object - timeInWeek: - description: |- - TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in - both entries. - items: - description: Time in a week. - properties: - day: - description: 'Day: The day of the week.' - enum: - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - type: string - hourSlots: - description: |- - HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour - (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC - time range. - items: - maximum: 23 - minimum: 0 - type: integer - type: array - type: object - type: array - required: - - owner - type: object - status: - properties: + azurePortalFQDN: + type: string conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -131772,216 +200391,81 @@ spec: - type type: object type: array - id: - description: 'Id: Resource ID.' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: Maintenance window for the maintenance configuration.' + creationData: + description: Storage version of v1api20231102preview.CreationData_STATUS properties: - durationHours: - description: 'DurationHours: Length of maintenance window range from 4 to 24 hours.' - type: integer - notAllowedDates: + $propertyBag: + additionalProperties: + type: string description: |- - NotAllowedDates: Date ranges on which upgrade is not allowed. 'utcOffset' applies to this field. For example, with - 'utcOffset: +02:00' and 'dateSpan' being '2022-12-23' to '2023-01-03', maintenance will be blocked from '2022-12-22 - 22:00' to '2023-01-03 22:00' in UTC time. - items: - description: For example, between '2022-12-23' and '2023-01-05'. - properties: - end: - description: 'End: The end date of the date span.' - type: string - start: - description: 'Start: The start date of the date span.' - type: string - type: object - type: array - schedule: - description: 'Schedule: Recurrence schedule for the maintenance window.' - properties: - absoluteMonthly: - description: 'AbsoluteMonthly: For schedules like: ''recur every month on the 15th'' or ''recur every 3 months on the 20th''.' - properties: - dayOfMonth: - description: 'DayOfMonth: The date of the month.' - type: integer - intervalMonths: - description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' - type: integer - type: object - daily: - description: 'Daily: For schedules like: ''recur every day'' or ''recur every 3 days''.' - properties: - intervalDays: - description: 'IntervalDays: Specifies the number of days between each set of occurrences.' - type: integer - type: object - relativeMonthly: - description: 'RelativeMonthly: For schedules like: ''recur every month on the first Monday'' or ''recur every 3 months on last Friday''.' - properties: - dayOfWeek: - description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' - type: string - intervalMonths: - description: 'IntervalMonths: Specifies the number of months between each set of occurrences.' - type: integer - weekIndex: - description: 'WeekIndex: Specifies on which week of the month the dayOfWeek applies.' - type: string - type: object - weekly: - description: 'Weekly: For schedules like: ''recur every Monday'' or ''recur every 3 weeks on Wednesday''.' - properties: - dayOfWeek: - description: 'DayOfWeek: Specifies on which day of the week the maintenance occurs.' - type: string - intervalWeeks: - description: 'IntervalWeeks: Specifies the number of weeks between each set of occurrences.' - type: integer - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - startDate: - description: |- - StartDate: The date the maintenance window activates. If the current date is before this date, the maintenance window is - inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. + sourceResourceId: type: string - startTime: + type: object + currentKubernetesVersion: + type: string + disableLocalAccounts: + type: boolean + diskEncryptionSetID: + type: string + dnsPrefix: + type: string + enableNamespaceResources: + type: boolean + enablePodSecurityPolicy: + type: boolean + enableRBAC: + type: boolean + extendedLocation: + description: Storage version of v1api20231102preview.ExtendedLocation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - StartTime: The start time of the maintenance window. Accepted values are from '00:00' to '23:59'. 'utcOffset' applies to - this field. For example: '02:00' with 'utcOffset: +02:00' means UTC time '00:00'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - utcOffset: - description: |- - UtcOffset: The UTC offset in format +/-HH:mm. For example, '+05:30' for IST and '-07:00' for PST. If not specified, the - default is '+00:00'. + type: type: string type: object - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + fqdn: type: string - notAllowedTime: - description: 'NotAllowedTime: Time slots on which upgrade is not allowed.' - items: - description: For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - properties: - end: - description: 'End: The end of a time span' + fqdnSubdomain: + type: string + httpProxyConfig: + description: Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: type: string - start: - description: 'Start: The start of a time span' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveNoProxy: + items: type: string - type: object - type: array - systemData: - description: 'SystemData: The system metadata relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + type: array + httpProxy: type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + httpsProxy: type: string - type: object - timeInWeek: - description: |- - TimeInWeek: If two array entries specify the same day of the week, the applied configuration is the union of times in - both entries. - items: - description: Time in a week. - properties: - day: - description: 'Day: The day of the week.' + noProxy: + items: type: string - hourSlots: - description: |- - HourSlots: Each integer hour represents a time range beginning at 0m after the hour ending at the next hour - (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC - time range. - items: - type: integer - type: array - type: object - type: array - type: - description: 'Type: Resource type' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240901storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20240901.MaintenanceConfiguration - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20240901.MaintenanceConfiguration_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: array + trustedCa: + type: string type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + id: type: string - maintenanceWindow: - description: |- - Storage version of v1api20240901.MaintenanceWindow - Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + identity: + description: Storage version of v1api20231102preview.ManagedClusterIdentity_STATUS properties: $propertyBag: additionalProperties: @@ -131990,13 +200474,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - durationHours: - type: integer - notAllowedDates: - items: - description: |- - Storage version of v1api20240901.DateSpan - For example, between '2022-12-23' and '2023-01-05'. + delegatedResources: + additionalProperties: + description: Storage version of v1api20231102preview.DelegatedResource_STATUS properties: $propertyBag: additionalProperties: @@ -132005,17 +200485,71 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - end: + location: type: string - start: + referralResource: + type: string + resourceId: + type: string + tenantId: type: string type: object - type: array - schedule: + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20231102preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + identityProfile: + additionalProperties: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + ingressProfile: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.Schedule - One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or - 'relativeMonthly' for your maintenance schedule. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting_STATUS properties: $propertyBag: additionalProperties: @@ -132024,10 +200558,132 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - absoluteMonthly: + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + kubernetesVersion: + type: string + linuxProfile: + description: Storage version of v1api20231102preview.ContainerServiceLinuxProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + ssh: + description: Storage version of v1api20231102preview.ContainerServiceSshConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.AbsoluteMonthlySchedule - For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicKeys: + items: + description: Storage version of v1api20231102preview.ContainerServiceSshPublicKey_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyData: + type: string + type: object + type: array + type: object + type: object + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + description: Storage version of v1api20231102preview.ManagedClusterMetricsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: Storage version of v1api20231102preview.ManagedClusterCostAnalysis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + name: + type: string + networkProfile: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServiceIP: + type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS properties: $propertyBag: additionalProperties: @@ -132036,15 +200692,53 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dayOfMonth: + scheduler: + type: string + tcpFinTimeoutSeconds: type: integer - intervalMonths: + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: type: integer type: object - daily: + mode: + type: string + type: object + loadBalancerProfile: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.DailySchedule - For schedules like: 'recur every day' or 'recur every 3 days'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allocatedOutboundPorts: + type: integer + backendPoolType: + type: string + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + enableMultipleStandardLoadBalancers: + type: boolean + idleTimeoutInMinutes: + type: integer + managedOutboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -132053,13 +200747,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - intervalDays: + count: + type: integer + countIPv6: type: integer type: object - relativeMonthly: - description: |- - Storage version of v1api20240901.RelativeMonthlySchedule - For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. + outboundIPPrefixes: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS properties: $propertyBag: additionalProperties: @@ -132068,17 +200762,93 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dayOfWeek: - type: string - intervalMonths: - type: integer - weekIndex: - type: string + publicIPPrefixes: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array type: object - weekly: + outboundIPs: + description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: object + loadBalancerSku: + type: string + monitoring: + description: Storage version of v1api20231102preview.NetworkMonitoring_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.WeeklySchedule - For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + natGatewayProfile: + description: Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: Storage version of v1api20231102preview.ResourceReference_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile_STATUS properties: $propertyBag: additionalProperties: @@ -132087,42 +200857,65 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dayOfWeek: - type: string - intervalWeeks: + count: type: integer type: object type: object - startDate: + networkDataplane: type: string - startTime: + networkMode: type: string - utcOffset: + networkPlugin: + type: string + networkPluginMode: + type: string + networkPolicy: + type: string + outboundType: + type: string + podCidr: + type: string + podCidrs: + items: + type: string + type: array + serviceCidr: type: string + serviceCidrs: + items: + type: string + type: array type: object - notAllowedTime: - items: - description: |- - Storage version of v1api20240901.TimeSpan - For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - end: + nodeProvisioningProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - start: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string + type: object + nodeResourceGroup: + type: string + nodeResourceGroupProfile: + description: Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - operatorSpec: - description: |- - Storage version of v1api20240901.MaintenanceConfigurationOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile_STATUS properties: $propertyBag: additionalProperties: @@ -132131,85 +200924,161 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: + enabled: + type: boolean + issuerURL: + type: string + type: object + podIdentityProfile: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowNetworkPluginKubenet: + type: boolean + enabled: + type: boolean + userAssignedIdentities: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Storage version of v1api20231102preview.ManagedClusterPodIdentity_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + bindingSelector: type: string + identity: + description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + namespace: + type: string + provisioningInfo: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningError_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + error: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + details: + items: + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + target: + type: string + type: object + type: array + message: + type: string + target: + type: string + type: object + type: object + type: object + provisioningState: type: string - required: - - name - - value type: object type: array - secretExpressions: + userAssignedIdentityExceptions: items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Storage version of v1api20231102preview.ManagedClusterPodIdentityException_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + namespace: type: string - required: - - name - - value + podLabels: + additionalProperties: + type: string + type: object type: object type: array type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + powerState: + description: Storage version of v1api20231102preview.PowerState_STATUS properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: type: string type: object - timeInWeek: + privateFQDN: + type: string + privateLinkResources: items: - description: |- - Storage version of v1api20240901.TimeInWeek - Time in a week. + description: Storage version of v1api20231102preview.PrivateLinkResource_STATUS properties: $propertyBag: additionalProperties: @@ -132218,76 +201087,287 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - day: + groupId: type: string - hourSlots: + id: + type: string + name: + type: string + privateLinkServiceID: + type: string + requiredMembers: items: - type: integer + type: string type: array + type: + type: string type: object type: array - required: - - owner - type: object - status: - description: Storage version of v1api20240901.MaintenanceConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + provisioningState: + type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + safeguardsProfile: + description: Storage version of v1api20231102preview.SafeguardsProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: array + level: + type: string + systemExcludedNamespaces: + items: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + type: array + version: + type: string + type: object + securityProfile: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: Storage version of v1api20231102preview.AzureKeyVaultKms_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + customCATrustCertificates: + items: type: string - type: - description: Type of condition. + type: array + defender: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: Storage version of v1api20231102preview.ServiceMeshProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: Storage version of v1api20231102preview.IstioServiceMesh_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: Storage version of v1api20231102preview.IstioCertificateAuthority_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: Storage version of v1api20231102preview.IstioPluginCertificateAuthority_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: Storage version of v1api20231102preview.IstioComponents_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: Storage version of v1api20231102preview.IstioEgressGateway_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + nodeSelector: + additionalProperties: + type: string + type: object + type: object + type: array + ingressGateways: + items: + description: Storage version of v1api20231102preview.IstioIngressGateway_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object + servicePrincipalProfile: + description: Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - maintenanceWindow: - description: |- - Storage version of v1api20240901.MaintenanceWindow_STATUS - Maintenance window used to configure scheduled auto-upgrade for a Managed Cluster. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + type: object + sku: + description: Storage version of v1api20231102preview.ManagedClusterSKU_STATUS properties: $propertyBag: additionalProperties: @@ -132296,32 +201376,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - durationHours: - type: integer - notAllowedDates: - items: - description: |- - Storage version of v1api20240901.DateSpan_STATUS - For example, between '2022-12-23' and '2023-01-05'. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - end: - type: string - start: - type: string - type: object - type: array - schedule: + name: + type: string + tier: + type: string + type: object + storageProfile: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.Schedule_STATUS - One and only one of the schedule types should be specified. Choose either 'daily', 'weekly', 'absoluteMonthly' or - 'relativeMonthly' for your maintenance schedule. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS properties: $propertyBag: additionalProperties: @@ -132330,107 +201401,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - absoluteMonthly: - description: |- - Storage version of v1api20240901.AbsoluteMonthlySchedule_STATUS - For schedules like: 'recur every month on the 15th' or 'recur every 3 months on the 20th'. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dayOfMonth: - type: integer - intervalMonths: - type: integer - type: object - daily: + enabled: + type: boolean + type: object + diskCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.DailySchedule_STATUS - For schedules like: 'recur every day' or 'recur every 3 days'. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - intervalDays: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - relativeMonthly: + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.RelativeMonthlySchedule_STATUS - For schedules like: 'recur every month on the first Monday' or 'recur every 3 months on last Friday'. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dayOfWeek: - type: string - intervalMonths: - type: integer - weekIndex: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - weekly: + enabled: + type: boolean + type: object + snapshotController: + description: Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.WeeklySchedule_STATUS - For schedules like: 'recur every Monday' or 'recur every 3 weeks on Wednesday'. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dayOfWeek: - type: string - intervalWeeks: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + enabled: + type: boolean type: object - startDate: - type: string - startTime: - type: string - utcOffset: - type: string type: object - name: + supportPlan: type: string - notAllowedTime: - items: - description: |- - Storage version of v1api20240901.TimeSpan_STATUS - For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - end: - type: string - start: - type: string - type: object - type: array systemData: - description: |- - Storage version of v1api20240901.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + description: Storage version of v1api20231102preview.SystemData_STATUS properties: $propertyBag: additionalProperties: @@ -132452,67 +201471,117 @@ spec: lastModifiedByType: type: string type: object - timeInWeek: - items: - description: |- - Storage version of v1api20240901.TimeInWeek_STATUS - Time in a week. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - day: - type: string - hourSlots: - items: - type: integer - type: array - type: object - type: array + tags: + additionalProperties: + type: string + type: object type: type: string + upgradeSettings: + description: Storage version of v1api20231102preview.ClusterUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: Storage version of v1api20231102preview.UpgradeOverrideSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object + windowsProfile: + description: Storage version of v1api20231102preview.ManagedClusterWindowsProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: + type: string + enableCSIProxy: + type: boolean + gmsaProfile: + description: Storage version of v1api20231102preview.WindowsGmsaProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: + type: string + type: object + workloadAutoScalerProfile: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: managedclusters.containerservice.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerservice.azure.com - names: - kind: ManagedCluster - listKind: ManagedClusterList - plural: managedclusters - singular: managedcluster - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -132526,9 +201595,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501 + name: v1api20240402preview schema: openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} properties: apiVersion: description: |- @@ -132550,57 +201623,172 @@ spec: spec: properties: aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' properties: adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' items: type: string type: array clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' type: boolean managed: + description: 'Managed: Whether to enable managed AAD.' type: boolean serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' type: string tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. type: string type: object addonProfiles: additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. properties: config: additionalProperties: type: string + description: 'Config: Key-value pairs for configuring an add-on.' type: object enabled: + description: 'Enabled: Whether the add-on is enabled or not.' type: boolean required: - enabled type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' type: object agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' items: + description: Profile for the container service agent pool. properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. items: type: string type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. type: boolean enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. type: boolean enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + maximum: 31 + minimum: 28 + type: integer + type: object gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' enum: - MIG1g - MIG2g @@ -132608,127 +201796,327 @@ spec: - MIG4g - MIG7g type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. minimum: 2 type: integer containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' type: integer cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' type: boolean cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' type: boolean imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' type: integer imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' type: integer podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' type: integer topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. enum: - OS - Temporary type: string linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' type: integer sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' properties: fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' type: integer fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' type: integer fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' type: integer fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' type: integer kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' type: integer netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' type: integer netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' type: integer netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' type: integer netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' type: integer netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' type: integer netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' type: integer netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' type: integer netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' type: integer netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' type: integer netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' type: integer netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' type: integer netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' type: integer netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' type: integer netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' type: integer netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' type: integer netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' type: boolean netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 type: integer netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 type: integer netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 type: integer vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' type: integer vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' type: integer vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' type: integer type: object transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string type: object maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' type: integer maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' type: integer mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools enum: + - Gateway - System - User type: string name: + description: 'Name: Windows agent pool names must be 6 characters or less.' pattern: ^[a-z][a-z0-9]{0,11}$ type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array nodeLabels: additionalProperties: type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' type: object - nodePublicIPPrefixIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: armId: description: |- @@ -132748,32 +202136,66 @@ spec: type: string type: object nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' items: type: string type: array orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). type: string osDiskSizeGB: maximum: 2048 minimum: 0 type: integer osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). enum: - Ephemeral - Managed type: string osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. enum: + - AzureLinux - CBLMariner + - Mariner - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual type: string osType: + description: 'OsType: The operating system type. The default is Linux.' enum: - Linux - Windows type: string - podSubnetIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + enum: + - DynamicIndividual + - StaticBlock + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -132792,38 +202214,204 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - proximityPlacementGroupID: + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete type: string scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. enum: - Deallocate - Delete type: string scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' enum: - Regular - Spot type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + enum: + - Disabled + - LocalUser + type: string + type: object spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: + description: 'Type: The type of Agent Pool.' enum: - AvailabilitySet - VirtualMachineScaleSets + - VirtualMachines type: string upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + enum: + - Cordon + - Schedule type: string type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions type: string - vnetSubnetIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -132842,66 +202430,177 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi + type: string + required: + - name type: object type: array + aiToolchainOperatorProfile: + description: 'AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster.' + properties: + enabled: + description: 'Enabled: Indicates if AI toolchain operator enabled or not.' + type: boolean + type: object apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' properties: authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). items: type: string type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). type: boolean enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + enableVnetIntegration: + description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not.' type: boolean privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + subnetId: + description: |- + SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable + apiserver vnet integration. type: string type: object autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' properties: balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean expander: + description: 'Expander: Available values are: ''least-waste'', ''most-pods'', ''priority'', ''random''.' enum: - least-waste - most-pods - priority - random type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' type: string max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' type: string max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' type: string new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). type: string ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' type: string scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. type: string scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. type: string scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' type: string scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' type: string skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' type: string skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' type: string type: object autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA.' + enum: + - NodeImage + - None + - SecurityPatch + - Unmanaged + type: string upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). enum: - node-image - none @@ -132910,6 +202609,122 @@ spec: - stable type: string type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Prometheus addon profile for the container service cluster' + properties: + appMonitoring: + description: |- + AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics + and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + autoInstrumentation: + description: |- + AutoInstrumentation: Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook + to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the + application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Auto Instrumentation is enabled or not.' + type: boolean + type: object + openTelemetryLogs: + description: |- + OpenTelemetryLogs: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and + Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331.' + type: integer + type: object + openTelemetryMetrics: + description: |- + OpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container + Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333.' + type: integer + type: object + type: object + containerInsights: + description: |- + ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & + stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + properties: + disableCustomMetrics: + description: |- + DisableCustomMetrics: Indicates whether custom metrics collection has to be disabled or not. If not specified the + default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is + false + type: boolean + disablePrometheusMetricsScraping: + description: |- + DisablePrometheusMetricsScraping: Indicates whether prometheus metrics scraping is disabled or not. If not specified the + default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field + is false + type: boolean + enabled: + description: 'Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.' + type: boolean + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing + Azure Monitor Container Insights Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + syslogPort: + description: 'SyslogPort: The syslog host port. If not specified, the default port is 28330.' + type: integer + type: object + metrics: + description: 'Metrics: Metrics profile for the prometheus service addon' + properties: + enabled: + description: 'Enabled: Whether to enable the Prometheus collector' + type: boolean + kubeStateMetrics: + description: 'KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster' + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels + metric. + type: string + type: object + required: + - enabled + type: object + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -132918,10 +202733,74 @@ spec: minLength: 1 pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ type: string + bootstrapProfile: + description: 'BootstrapProfile: Profile of the cluster bootstrap configuration.' + properties: + artifactSource: + description: 'ArtifactSource: The source where the artifacts are downloaded from.' + enum: + - Cache + - Direct + type: string + containerRegistryReference: + description: |- + ContainerRegistryReference: The resource Id of Azure Container Registry. The registry must have private network access, + premium SKU and zone redundancy. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a + snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). type: boolean - diskEncryptionSetIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' properties: armId: description: |- @@ -132941,45 +202820,113 @@ spec: type: string type: object dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' type: string + enableNamespaceResources: + description: |- + EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed + cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as + a ARM Resource. + type: boolean enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. type: boolean enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' type: boolean extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' properties: name: + description: 'Name: The name of the extended location.' type: string type: + description: 'Type: The type of the extended location.' enum: - EdgeZone type: string type: object fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' type: string httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' properties: httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' type: string httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' type: string noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' items: type: string type: array trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' type: string type: object identity: + description: 'Identity: The identity of the managed cluster, if configured.' properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). enum: - None - SystemAssigned - UserAssigned type: string userAssignedIdentities: + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: + description: Information about the user assigned identity for the resource properties: reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID @@ -133006,13 +202953,16 @@ spec: type: object identityProfile: additionalProperties: + description: Details about a user assigned identity. properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -133032,20 +202982,74 @@ spec: type: string type: object type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: 'WebAppRouting: Web App Routing settings for the ingress profile.' + properties: + dnsZoneResourceReferences: + description: |- + DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only + when Web App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS + zones must be in the same resource group and all private DNS zones must be in the same resource group. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + description: 'Enabled: Whether to enable Web App Routing.' + type: boolean + type: object type: object + kind: + description: 'Kind: This is primarily used to expose different UI experiences in the portal for different kinds' + type: string kubernetesVersion: + description: |- + KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades + must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> + 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. type: string linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' properties: adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' pattern: ^[A-Za-z][-A-Za-z0-9_]*$ type: string ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' properties: publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' items: + description: Contains information about SSH certificate public key data. properties: keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. type: string required: - keyData @@ -133059,26 +203063,123 @@ spec: - ssh type: object location: + description: 'Location: The geo-location where the resource lives' type: string + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object networkProfile: + description: 'NetworkProfile: The network configuration profile.' properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced + networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + type: object dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ type: string - dockerBridgeCidr: - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ - type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + description: To determine if address belongs IPv4 or IPv6 family. + enum: + - IPv4 + - IPv6 + type: string + type: array + kubeProxyConfig: + description: |- + KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy + defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ + where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + properties: + enabled: + description: |- + Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by + default without these customizations). + type: boolean + ipvsConfig: + description: 'IpvsConfig: Holds configuration customizations for IPVS. May only be specified if ''mode'' is set to ''IPVS''.' + properties: + scheduler: + description: 'Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.' + enum: + - LeastConnection + - RoundRobin + type: string + tcpFinTimeoutSeconds: + description: |- + TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive + integer value. + type: integer + tcpTimeoutSeconds: + description: 'TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.' + type: integer + udpTimeoutSeconds: + description: 'UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.' + type: integer + type: object + mode: + description: 'Mode: Specify which proxy mode to use (''IPTABLES'' or ''IPVS'')' + enum: + - IPTABLES + - IPVS + type: string + type: object loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' properties: allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. maximum: 64000 minimum: 0 type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + enum: + - NodeIP + - NodeIPConfiguration + type: string + clusterServiceLoadBalancerHealthProbeMode: + description: 'ClusterServiceLoadBalancerHealthProbeMode: The health probing behavior for External Traffic Policy Cluster services.' + enum: + - ServiceNodePort + - Shared + type: string effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -133099,24 +203200,44 @@ spec: type: object type: object type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. maximum: 120 minimum: 4 type: integer managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' properties: count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. maximum: 100 minimum: 1 type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. + maximum: 100 + minimum: 0 + type: integer type: object outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' properties: publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -133139,12 +203260,15 @@ spec: type: array type: object outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' properties: publicIPs: + description: 'PublicIPs: A list of public IP resources.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -133168,39 +203292,178 @@ spec: type: object type: object loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. enum: - basic - standard type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + maximum: 120 + minimum: 4 + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + maximum: 16 + minimum: 1 + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' + enum: + - azure + - cilium + type: string networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' enum: - bridge - transparent type: string networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' enum: - azure - kubenet + - none + type: string + networkPluginMode: + description: 'NetworkPluginMode: Network plugin mode used for building the Kubernetes network.' + enum: + - overlay type: string networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' enum: - azure - calico + - cilium + - none type: string outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). enum: - loadBalancer + - managedNATGateway + - none + - userAssignedNATGateway - userDefinedRouting type: string podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + podLinkLocalAccess: + description: |- + PodLinkLocalAccess: Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods + with hostNetwork=false. if not specified, the default is 'IMDS'. + enum: + - IMDS + - None + type: string serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + StaticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, + see https://aka.ms/aks/static-egress-gateway. + properties: + enabled: + description: 'Enabled: Indicates if Static Egress Gateway addon is enabled or not.' + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: 'NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster.' + properties: + mode: + description: 'Mode: Once the mode it set to Auto, it cannot be changed back to Manual.' + enum: + - Auto + - Manual + type: string type: object nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: The node resource group configuration profile.' + properties: + restrictionLevel: + description: 'RestrictionLevel: The restriction level applied to the cluster''s node resource group' + enum: + - ReadOnly + - Unrestricted + type: string + type: object + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -133236,6 +203499,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + oidcIssuerProfile: + description: |- + OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -133319,24 +203603,39 @@ spec: type: string type: object podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. properties: allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. type: boolean enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' type: boolean userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' items: + description: Details about the pod identity assigned to the Managed Cluster. properties: bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' type: string identity: + description: 'Identity: The user assigned identity details.' properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -133357,8 +203656,10 @@ spec: type: object type: object name: + description: 'Name: The name of the pod identity.' type: string namespace: + description: 'Namespace: The namespace of the pod identity.' type: string required: - identity @@ -133367,15 +203668,22 @@ spec: type: object type: array userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: name: + description: 'Name: The name of the pod identity exception.' type: string namespace: + description: 'Namespace: The namespace of the pod identity exception.' type: string podLabels: additionalProperties: type: string + description: 'PodLabels: The pod labels to match.' type: object required: - name @@ -133385,14 +203693,18 @@ spec: type: array type: object privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' items: + description: A private link resource properties: groupId: + description: 'GroupId: The group ID of the resource.' type: string name: + description: 'Name: The name of the private link resource.' type: string reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The ID of the private link resource.' properties: armId: description: |- @@ -133412,21 +203724,293 @@ spec: type: string type: object requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' items: type: string type: array type: + description: 'Type: The resource type.' type: string type: object type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + safeguardsProfile: + description: 'SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster' + properties: + excludedNamespaces: + description: 'ExcludedNamespaces: List of namespaces excluded from Safeguards checks' + items: + type: string + type: array + level: + description: |- + Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS + excludes via systemExcludedNamespaces + enum: + - Enforcement + - "Off" + - Warning + type: string + version: + description: 'Version: The version of constraints to use' + type: string + required: + - level + type: object + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + enum: + - Private + - Public + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + description: |- + CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the + Custom CA Trust feature enabled. For more information see [Custom CA Trust + Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + items: + type: string + maxItems: 10 + minItems: 0 + type: array + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + imageIntegrity: + description: |- + ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This + will not have any effect unless Azure Policy is applied to enforce image signatures. See + https://aka.ms/aks/image-integrity for how to use this feature via policy. + properties: + enabled: + description: 'Enabled: Whether to enable image integrity. The default value is false.' + type: boolean + type: object + nodeRestriction: + description: |- + NodeRestriction: [Node + Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings + for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Node Restriction' + type: boolean + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + required: + - enabled + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + maxItems: 2 + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. properties: clientId: + description: 'ClientId: The ID for the service principal.' type: string secret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + description: 'Secret: The secret password associated with the service principal in plain text.' properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -133444,27 +204028,104 @@ spec: - clientId type: object sku: + description: 'Sku: The managed cluster SKU.' properties: name: + description: 'Name: The name of a managed cluster SKU.' enum: - - Basic + - Automatic + - Base type: string tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. enum: - Free - - Paid + - Premium + - Standard type: string type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + version: + description: 'Version: The version of AzureDisk CSI Driver. The default value is v1.' + type: string + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string tags: additionalProperties: type: string + description: 'Tags: Resource tags.' + type: object + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object type: object windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' properties: adminPassword: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + AdminPassword: Specifies the password of the administrator account. + Minimum-length: 8 characters + Max-length: 123 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -133479,10 +204140,41 @@ spec: - name type: object adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters type: string enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. enum: - None - Windows_Server @@ -133490,292 +204182,935 @@ spec: required: - adminUsername type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + description: 'AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.' + enum: + - Disabled + - Enabled + type: string + enabled: + description: 'Enabled: Whether to enable VPA add-on in cluster. Default value is false.' + type: boolean + required: + - enabled + type: object + type: object required: - location - owner type: object status: + description: Managed cluster. properties: aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' properties: adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' items: type: string type: array clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' type: boolean managed: + description: 'Managed: Whether to enable managed AAD.' type: boolean serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' type: string tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. type: string type: object addonProfiles: additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. properties: config: additionalProperties: type: string + description: 'Config: Key-value pairs for configuring an add-on.' type: object enabled: + description: 'Enabled: Whether the add-on is enabled or not.' type: boolean identity: + description: 'Identity: Information of user assigned identity used by this add-on.' properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string type: object type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' type: object agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' items: + description: Profile for the container service agent pool. properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. items: type: string type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be + exactly equal to it. If orchestratorVersion was , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. type: boolean enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. type: boolean enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + type: integer + type: object gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' + properties: + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean + type: object + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). type: string kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. type: integer containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' type: integer cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' type: boolean cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' type: boolean imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' type: integer imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' type: integer podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' type: integer topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. type: string linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' type: integer sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' properties: fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' type: integer fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' type: integer fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' type: integer fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' type: integer kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' type: integer netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' type: integer netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' type: integer netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' type: integer netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' type: integer netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' type: integer netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' type: integer netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' type: integer netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' type: integer netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' type: integer netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' type: integer netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' type: integer netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' type: integer netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' type: integer netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' type: integer netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' type: integer netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' type: boolean netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' type: integer netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' type: integer netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' type: integer vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' type: integer vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' type: integer vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' type: integer type: object transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string type: object maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' type: integer maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' type: integer mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type: string name: + description: 'Name: Windows agent pool names must be 6 characters or less.' type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object nodeImageVersion: + description: 'NodeImageVersion: The version of node image' type: string + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array nodeLabels: additionalProperties: type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' type: object nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} type: string nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' items: type: string type: array orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). type: string osDiskSizeGB: type: integer osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type: string osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. type: string osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. type: string podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} type: string powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: code: + description: 'Code: Tells whether the cluster is Running or Stopped' type: string type: object provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' type: string proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' type: string scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. type: string scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + type: string + type: object spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: + description: 'Type: The type of Agent Pool.' type: string upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. type: string type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions type: string vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' type: string type: object type: array + aiToolchainOperatorProfile: + description: 'AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster.' + properties: + enabled: + description: 'Enabled: Indicates if AI toolchain operator enabled or not.' + type: boolean + type: object apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' properties: authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). items: type: string type: array + disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' + type: boolean enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). type: boolean enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' + type: boolean + enableVnetIntegration: + description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not.' type: boolean privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. + type: string + subnetId: + description: |- + SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable + apiserver vnet integration. type: string type: object autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' properties: balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean expander: + description: 'Expander: Available values are: ''least-waste'', ''most-pods'', ''priority'', ''random''.' type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' type: string max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' type: string max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' type: string new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). type: string ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' type: string scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. type: string scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. type: string scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' type: string scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' type: string skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' type: string skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' type: string type: object autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA.' + type: string upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). type: string type: object + azureMonitorProfile: + description: 'AzureMonitorProfile: Prometheus addon profile for the container service cluster' + properties: + appMonitoring: + description: |- + AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics + and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + autoInstrumentation: + description: |- + AutoInstrumentation: Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook + to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the + application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Auto Instrumentation is enabled or not.' + type: boolean + type: object + openTelemetryLogs: + description: |- + OpenTelemetryLogs: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and + Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331.' + type: integer + type: object + openTelemetryMetrics: + description: |- + OpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container + Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + enabled: + description: 'Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.' + type: boolean + port: + description: 'Port: The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333.' + type: integer + type: object + type: object + containerInsights: + description: |- + ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & + stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + properties: + disableCustomMetrics: + description: |- + DisableCustomMetrics: Indicates whether custom metrics collection has to be disabled or not. If not specified the + default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is + false + type: boolean + disablePrometheusMetricsScraping: + description: |- + DisablePrometheusMetricsScraping: Indicates whether prometheus metrics scraping is disabled or not. If not specified the + default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field + is false + type: boolean + enabled: + description: 'Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.' + type: boolean + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure + Monitor Container Insights Logs. + type: string + syslogPort: + description: 'SyslogPort: The syslog host port. If not specified, the default port is 28330.' + type: integer + type: object + metrics: + description: 'Metrics: Metrics profile for the prometheus service addon' + properties: + enabled: + description: 'Enabled: Whether to enable the Prometheus collector' + type: boolean + kubeStateMetrics: + description: 'KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster' + properties: + metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric. + type: string + metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels + metric. + type: string + type: object + type: object + type: object azurePortalFQDN: + description: |- + AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + Portal to function properly. type: string + bootstrapProfile: + description: 'BootstrapProfile: Profile of the cluster bootstrap configuration.' + properties: + artifactSource: + description: 'ArtifactSource: The source where the artifacts are downloaded from.' + type: string + containerRegistryId: + description: |- + ContainerRegistryId: The resource Id of Azure Container Registry. The registry must have private network access, premium + SKU and zone redundancy. + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -133820,279 +205155,1022 @@ spec: - type type: object type: array + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a + snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentKubernetesVersion: + description: 'CurrentKubernetesVersion: The version of Kubernetes the Managed Cluster is running.' + type: string disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). type: boolean diskEncryptionSetID: + description: |- + DiskEncryptionSetID: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' type: string dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. type: string + enableNamespaceResources: + description: |- + EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed + cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as + a ARM Resource. + type: boolean enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. type: boolean enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' type: boolean extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' properties: name: + description: 'Name: The name of the extended location.' type: string type: + description: 'Type: The type of the extended location.' type: string type: object fqdn: + description: 'Fqdn: The FQDN of the master pool.' type: string fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' type: string httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' properties: + effectiveNoProxy: + description: |- + EffectiveNoProxy: A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a + superset of noProxy and values injected by AKS. + items: + type: string + type: array httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' type: string httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' type: string noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' items: type: string type: array trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' type: string type: object id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string identity: + description: 'Identity: The identity of the managed cluster, if configured.' properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + type: string + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object principalId: + description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' type: string tenantId: + description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' type: string type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). type: string userAssignedIdentities: additionalProperties: properties: clientId: + description: 'ClientId: The client id of user assigned identity.' type: string principalId: + description: 'PrincipalId: The principal id of user assigned identity.' type: string type: object + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. type: object type: object identityProfile: additionalProperties: + description: Details about a user assigned identity. properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string type: object + description: 'IdentityProfile: Identities associated with the cluster.' + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: 'WebAppRouting: Web App Routing settings for the ingress profile.' + properties: + dnsZoneResourceIds: + description: |- + DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web + App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must + be in the same resource group and all private DNS zones must be in the same resource group. + items: + type: string + type: array + enabled: + description: 'Enabled: Whether to enable Web App Routing.' + type: boolean + identity: + description: |- + Identity: Managed identity of the Web Application Routing add-on. This is the identity that should be granted + permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See + [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more + instructions. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object type: object + kind: + description: 'Kind: This is primarily used to expose different UI experiences in the portal for different kinds' + type: string kubernetesVersion: + description: |- + KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades + must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> + 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. type: string linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' properties: adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' type: string ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' properties: publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' items: + description: Contains information about SSH certificate public key data. properties: keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. type: string type: object type: array type: object type: object location: + description: 'Location: The geo-location where the resource lives' type: string maxAgentPools: + description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' type: integer + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object name: + description: 'Name: The name of the resource' type: string networkProfile: + description: 'NetworkProfile: The network configuration profile.' properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced + networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + type: object dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. type: string - dockerBridgeCidr: - type: string + ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + items: + description: To determine if address belongs IPv4 or IPv6 family. + type: string + type: array + kubeProxyConfig: + description: |- + KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy + defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ + where is represented by a - string. Kubernetes version 1.23 would be '1-23'. + properties: + enabled: + description: |- + Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by + default without these customizations). + type: boolean + ipvsConfig: + description: 'IpvsConfig: Holds configuration customizations for IPVS. May only be specified if ''mode'' is set to ''IPVS''.' + properties: + scheduler: + description: 'Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.' + type: string + tcpFinTimeoutSeconds: + description: |- + TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive + integer value. + type: integer + tcpTimeoutSeconds: + description: 'TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.' + type: integer + udpTimeoutSeconds: + description: 'UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.' + type: integer + type: object + mode: + description: 'Mode: Specify which proxy mode to use (''IPTABLES'' or ''IPVS'')' + type: string + type: object loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' properties: allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + type: string + clusterServiceLoadBalancerHealthProbeMode: + description: 'ClusterServiceLoadBalancerHealthProbeMode: The health probing behavior for External Traffic Policy Cluster services.' + type: string effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array + enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + type: boolean idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. type: integer managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' properties: count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. + type: integer + countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. type: integer type: object outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' properties: publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array type: object outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' properties: publicIPs: + description: 'PublicIPs: A list of public IP resources.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array type: object type: object loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. + type: string + natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + properties: + effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + items: + description: A reference to an Azure resource. + properties: + id: + description: 'Id: The fully qualified Azure resource id.' + type: string + type: object + type: array + idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. + type: integer + managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + properties: + count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. + type: integer + type: object + type: object + networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' type: string networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' type: string networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' + type: string + networkPluginMode: + description: 'NetworkPluginMode: Network plugin mode used for building the Kubernetes network.' type: string networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' type: string outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). type: string podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + type: string + podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. + items: + type: string + type: array + podLinkLocalAccess: + description: |- + PodLinkLocalAccess: Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods + with hostNetwork=false. if not specified, the default is 'IMDS'. type: string serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. + type: string + serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + StaticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, + see https://aka.ms/aks/static-egress-gateway. + properties: + enabled: + description: 'Enabled: Indicates if Static Egress Gateway addon is enabled or not.' + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: 'NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster.' + properties: + mode: + description: 'Mode: Once the mode it set to Auto, it cannot be changed back to Manual.' type: string type: object nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: The node resource group configuration profile.' + properties: + restrictionLevel: + description: 'RestrictionLevel: The restriction level applied to the cluster''s node resource group' + type: string + type: object + oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + properties: + enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' + type: boolean + issuerURL: + description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' + type: string + type: object podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. properties: allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. type: boolean enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' type: boolean userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' items: + description: Details about the pod identity assigned to the Managed Cluster. properties: bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' type: string identity: + description: 'Identity: The user assigned identity details.' properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string type: object name: + description: 'Name: The name of the pod identity.' type: string namespace: + description: 'Namespace: The namespace of the pod identity.' type: string provisioningInfo: properties: error: + description: 'Error: Pod identity assignment error (if any).' properties: error: + description: 'Error: Details about the error.' properties: code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' type: string details: + description: 'Details: A list of additional details about the error.' items: properties: code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' type: string message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' type: string target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' type: string type: object type: array message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' type: string target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' type: string type: object type: object type: object provisioningState: + description: 'ProvisioningState: The current provisioning state of the pod identity.' type: string type: object type: array userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: name: + description: 'Name: The name of the pod identity exception.' type: string namespace: + description: 'Namespace: The namespace of the pod identity exception.' type: string podLabels: additionalProperties: type: string + description: 'PodLabels: The pod labels to match.' type: object type: object type: array type: object powerState: + description: 'PowerState: The Power State of the cluster.' properties: code: + description: 'Code: Tells whether the cluster is Running or Stopped' type: string type: object privateFQDN: + description: 'PrivateFQDN: The FQDN of private cluster.' type: string privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' items: + description: A private link resource properties: groupId: + description: 'GroupId: The group ID of the resource.' type: string id: + description: 'Id: The ID of the private link resource.' type: string name: + description: 'Name: The name of the private link resource.' type: string privateLinkServiceID: + description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' type: string requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' items: type: string type: array type: + description: 'Type: The resource type.' type: string type: object type: array provisioningState: + description: 'ProvisioningState: The current provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + type: string + resourceUID: + description: |- + ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + sequence) type: string + safeguardsProfile: + description: 'SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster' + properties: + excludedNamespaces: + description: 'ExcludedNamespaces: List of namespaces excluded from Safeguards checks' + items: + type: string + type: array + level: + description: |- + Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS + excludes via systemExcludedNamespaces + type: string + systemExcludedNamespaces: + description: 'SystemExcludedNamespaces: List of namespaces specified by AKS to be excluded from Safeguards' + items: + type: string + type: array + version: + description: 'Version: The version of constraints to use' + type: string + type: object + securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' + properties: + azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' + type: boolean + keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. + type: string + keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. + type: string + keyVaultResourceId: + description: |- + KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + type: string + type: object + customCATrustCertificates: + description: |- + CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the + Custom CA Trust feature enabled. For more information see [Custom CA Trust + Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) + items: + type: string + type: array + defender: + description: 'Defender: Microsoft Defender settings for the security profile.' + properties: + logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + Defender is disabled, leave the field empty. + type: string + securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Defender threat detection' + type: boolean + type: object + type: object + imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' + type: boolean + intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' + type: integer + type: object + imageIntegrity: + description: |- + ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This + will not have any effect unless Azure Policy is applied to enforce image signatures. See + https://aka.ms/aks/image-integrity for how to use this feature via policy. + properties: + enabled: + description: 'Enabled: Whether to enable image integrity. The default value is false.' + type: boolean + type: object + nodeRestriction: + description: |- + NodeRestriction: [Node + Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings + for the security profile. + properties: + enabled: + description: 'Enabled: Whether to enable Node Restriction' + type: boolean + type: object + workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. + properties: + enabled: + description: 'Enabled: Whether to enable workload identity.' + type: boolean + type: object + type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultId: + description: 'KeyVaultId: The resource ID of the Key Vault.' + type: string + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + type: string + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + type: string + type: object servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. properties: clientId: + description: 'ClientId: The ID for the service principal.' type: string type: object sku: + description: 'Sku: The managed cluster SKU.' properties: name: + description: 'Name: The name of a managed cluster SKU.' type: string tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + type: string + type: object + storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' + properties: + blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' + type: boolean + type: object + diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' + type: boolean + version: + description: 'Version: The version of AzureDisk CSI Driver. The default value is v1.' + type: string + type: object + fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' + type: boolean + type: object + snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + properties: + enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + type: boolean + type: object + type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags.' type: object type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' properties: adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters type: string enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). type: boolean + gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + properties: + dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' + type: boolean + rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + type: string + type: object licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. type: string type: object + workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + properties: + keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + type: object + verticalPodAutoscaler: + properties: + addonAutoscaling: + description: 'AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.' + type: string + enabled: + description: 'Enabled: Whether to enable VPA add-on in cluster. Default value is false.' + type: boolean + type: object + type: object type: object type: object served: true @@ -134112,10 +206190,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501storage + name: v1api20240402previewstorage schema: openAPIV3Schema: - description: Storage version of v1api20210501.ManagedCluster + description: |- + Storage version of v1api20240402preview.ManagedCluster + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} properties: apiVersion: description: |- @@ -134135,7 +206217,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210501.ManagedCluster_Spec + description: Storage version of v1api20240402preview.ManagedCluster_Spec properties: $propertyBag: additionalProperties: @@ -134145,7 +206227,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object aadProfile: - description: Storage version of v1api20210501.ManagedClusterAADProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterAADProfile + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). properties: $propertyBag: additionalProperties: @@ -134173,7 +206257,9 @@ spec: type: object addonProfiles: additionalProperties: - description: Storage version of v1api20210501.ManagedClusterAddonProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterAddonProfile + A Kubernetes add-on profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -134192,7 +206278,9 @@ spec: type: object agentPoolProfiles: items: - description: Storage version of v1api20210501.ManagedClusterAgentPoolProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterAgentPoolProfile + Profile for the container service agent pool. properties: $propertyBag: additionalProperties: @@ -134201,14 +206289,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object availabilityZones: items: type: string type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object count: type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object enableAutoScaling: type: boolean + enableCustomCATrust: + type: boolean enableEncryptionAtHost: type: boolean enableFIPS: @@ -134217,10 +206373,63 @@ spec: type: boolean enableUltraSSD: type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object gpuInstanceProfile: type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object kubeletConfig: - description: Storage version of v1api20210501.KubeletConfig + description: |- + Storage version of v1api20240402preview.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -134257,7 +206466,9 @@ spec: kubeletDiskType: type: string linuxOSConfig: - description: Storage version of v1api20210501.LinuxOSConfig + description: |- + Storage version of v1api20240402preview.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -134269,7 +206480,9 @@ spec: swapFileSizeMB: type: integer sysctls: - description: Storage version of v1api20210501.SysctlConfig + description: |- + Storage version of v1api20240402preview.SysctlConfig + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -134344,18 +206557,101 @@ spec: type: integer maxPods: type: integer + messageOfTheDay: + type: string minCount: type: integer mode: type: string name: type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array nodeLabels: additionalProperties: type: string type: object - nodePublicIPPrefixIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: armId: description: |- @@ -134388,8 +206684,216 @@ spec: type: string osType: type: string - podSubnetIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + podIPAllocationMode: + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20240402preview.PowerState + Describes the Power State of the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string + type: object + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile + Specifications on VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile + Specifications on how to scale a VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -134407,81 +206911,308 @@ spec: name: description: Name is the Kubernetes name of the resource. type: string - type: object - proximityPlacementGroupID: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: Storage version of v1api20210501.AgentPoolUpgradeSettings - properties: - $propertyBag: - additionalProperties: + type: object + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: array + aiToolchainOperatorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAIToolchainOperatorProfile + When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator + automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and + enables distributed inference against them. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + apiServerAccessProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAPIServerAccessProfile + Access profile for managed cluster API server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authorizedIPRanges: + items: + type: string + type: array + disableRunCommand: + type: boolean + enablePrivateCluster: + type: boolean + enablePrivateClusterPublicFQDN: + type: boolean + enableVnetIntegration: + type: boolean + privateDNSZone: + type: string + subnetId: + type: string + type: object + autoScalerProfile: + description: Storage version of v1api20240402preview.ManagedClusterProperties_AutoScalerProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + balance-similar-node-groups: + type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean + expander: + type: string + ignore-daemonsets-utilization: + type: boolean + max-empty-bulk-delete: + type: string + max-graceful-termination-sec: + type: string + max-node-provision-time: + type: string + max-total-unready-percentage: + type: string + new-pod-scale-up-delay: + type: string + ok-total-unready-count: + type: string + scale-down-delay-after-add: + type: string + scale-down-delay-after-delete: + type: string + scale-down-delay-after-failure: + type: string + scale-down-unneeded-time: + type: string + scale-down-unready-time: + type: string + scale-down-utilization-threshold: + type: string + scan-interval: + type: string + skip-nodes-with-local-storage: + type: string + skip-nodes-with-system-pods: + type: string + type: object + autoUpgradeProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAutoUpgradeProfile + Auto upgrade profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + nodeOSUpgradeChannel: + type: string + upgradeChannel: + type: string + type: object + azureMonitorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfile + Prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoring + Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces + through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoInstrumentation: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation + Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument + Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + openTelemetryLogs: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects + OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + openTelemetryMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects + OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + type: object + containerInsights: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileContainerInsights + Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See + aka.ms/AzureMonitorContainerInsights for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableCustomMetrics: + type: boolean + disablePrometheusMetricsScraping: + type: boolean + enabled: + type: boolean + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing + Azure Monitor Container Insights Logs. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxSurge: - type: string - type: object - vmSize: - type: string - vnetSubnetIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - apiServerAccessProfile: - description: Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile - properties: - $propertyBag: - additionalProperties: - type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + syslogPort: + type: integer + type: object + metrics: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileMetrics + Metrics profile for the prometheus service addon + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileKubeStateMetrics + Kube State Metrics for prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object type: object - authorizedIPRanges: - items: - type: string - type: array - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - privateDNSZone: - type: string type: object - autoScalerProfile: - description: Storage version of v1api20210501.ManagedClusterProperties_AutoScalerProfile + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + bootstrapProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterBootstrapProfile + The bootstrap profile. properties: $propertyBag: additionalProperties: @@ -134490,43 +207221,35 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - balance-similar-node-groups: - type: string - expander: - type: string - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: - type: string - scale-down-utilization-threshold: - type: string - scan-interval: - type: string - skip-nodes-with-local-storage: - type: string - skip-nodes-with-system-pods: + artifactSource: type: string + containerRegistryReference: + description: |- + ContainerRegistryReference: The resource Id of Azure Container Registry. The registry must have private network access, + premium SKU and zone redundancy. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - autoUpgradeProfile: - description: Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile + creationData: + description: |- + Storage version of v1api20240402preview.CreationData + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -134535,18 +207258,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - upgradeChannel: - type: string + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string disableLocalAccounts: type: boolean - diskEncryptionSetIDReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + diskEncryptionSetReference: + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' properties: armId: description: |- @@ -134567,12 +207305,16 @@ spec: type: object dnsPrefix: type: string + enableNamespaceResources: + type: boolean enablePodSecurityPolicy: type: boolean enableRBAC: type: boolean extendedLocation: - description: Storage version of v1api20210501.ExtendedLocation + description: |- + Storage version of v1api20240402preview.ExtendedLocation + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -134589,7 +207331,9 @@ spec: fqdnSubdomain: type: string httpProxyConfig: - description: Storage version of v1api20210501.ManagedClusterHTTPProxyConfig + description: |- + Storage version of v1api20240402preview.ManagedClusterHTTPProxyConfig + Cluster HTTP proxy configuration. properties: $propertyBag: additionalProperties: @@ -134610,7 +207354,9 @@ spec: type: string type: object identity: - description: Storage version of v1api20210501.ManagedClusterIdentity + description: |- + Storage version of v1api20240402preview.ManagedClusterIdentity + Identity for the managed cluster. properties: $propertyBag: additionalProperties: @@ -134619,11 +207365,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240402preview.DelegatedResource + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: object type: type: string userAssignedIdentities: items: - description: Storage version of v1api20210501.UserAssignedIdentityDetails + description: |- + Storage version of v1api20240402preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -134657,7 +207446,9 @@ spec: type: object identityProfile: additionalProperties: - description: Storage version of v1api20210501.UserAssignedIdentity + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -134671,7 +207462,7 @@ spec: objectId: type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -134692,10 +207483,64 @@ spec: type: object type: object type: object + ingressProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfile + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfileWebAppRouting + Web App Routing settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object + kind: + type: string kubernetesVersion: type: string linuxProfile: - description: Storage version of v1api20210501.ContainerServiceLinuxProfile + description: |- + Storage version of v1api20240402preview.ContainerServiceLinuxProfile + Profile for Linux VMs in the container service cluster. properties: $propertyBag: additionalProperties: @@ -134707,7 +207552,9 @@ spec: adminUsername: type: string ssh: - description: Storage version of v1api20210501.ContainerServiceSshConfiguration + description: |- + Storage version of v1api20240402preview.ContainerServiceSshConfiguration + SSH configuration for Linux-based VMs running on Azure. properties: $propertyBag: additionalProperties: @@ -134718,7 +207565,9 @@ spec: type: object publicKeys: items: - description: Storage version of v1api20210501.ContainerServiceSshPublicKey + description: |- + Storage version of v1api20240402preview.ContainerServiceSshPublicKey + Contains information about SSH certificate public key data. properties: $propertyBag: additionalProperties: @@ -134735,8 +207584,38 @@ spec: type: object location: type: string + metricsProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterMetricsProfile + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240402preview.ManagedClusterCostAnalysis + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object networkProfile: - description: Storage version of v1api20210501.ContainerServiceNetworkProfile + description: |- + Storage version of v1api20240402preview.ContainerServiceNetworkProfile + Profile of network configuration. properties: $propertyBag: additionalProperties: @@ -134745,12 +207624,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + advancedNetworking: + description: |- + Storage version of v1api20240402preview.AdvancedNetworking + Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may + incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + observability: + description: |- + Storage version of v1api20240402preview.AdvancedNetworkingObservability + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object dnsServiceIP: type: string - dockerBridgeCidr: - type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object loadBalancerProfile: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile + Profile of the managed cluster load balancer. properties: $propertyBag: additionalProperties: @@ -134761,9 +207707,15 @@ spec: type: object allocatedOutboundPorts: type: integer + backendPoolType: + type: string + clusterServiceLoadBalancerHealthProbeMode: + type: string effectiveOutboundIPs: items: - description: Storage version of v1api20210501.ResourceReference + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -134773,7 +207725,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -134794,10 +207746,12 @@ spec: type: object type: object type: array + enableMultipleStandardLoadBalancers: + type: boolean idleTimeoutInMinutes: type: integer managedOutboundIPs: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs properties: $propertyBag: additionalProperties: @@ -134808,9 +207762,11 @@ spec: type: object count: type: integer + countIPv6: + type: integer type: object outboundIPPrefixes: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes properties: $propertyBag: additionalProperties: @@ -134821,7 +207777,9 @@ spec: type: object publicIPPrefixes: items: - description: Storage version of v1api20210501.ResourceReference + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -134831,7 +207789,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -134854,7 +207812,7 @@ spec: type: array type: object outboundIPs: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPs + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPs properties: $propertyBag: additionalProperties: @@ -134865,7 +207823,9 @@ spec: type: object publicIPs: items: - description: Storage version of v1api20210501.ResourceReference + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -134875,7 +207835,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -134900,24 +207860,161 @@ spec: type: object loadBalancerSku: type: string + natGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNATGatewayProfile + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: The fully qualified Azure resource id.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterManagedOutboundIPProfile + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string networkMode: type: string networkPlugin: type: string + networkPluginMode: + type: string networkPolicy: type: string outboundType: type: string podCidr: type: string + podCidrs: + items: + type: string + type: array + podLinkLocalAccess: + type: string serviceCidr: type: string + serviceCidrs: + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStaticEgressGatewayProfile + The Static Egress Gateway addon configuration for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: Storage version of v1api20240402preview.ManagedClusterNodeProvisioningProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string type: object nodeResourceGroup: type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNodeResourceGroupProfile + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterOIDCIssuerProfile + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object operatorSpec: description: |- - Storage version of v1api20210501.ManagedClusterOperatorSpec + Storage version of v1api20240402preview.ManagedClusterOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -134956,6 +208053,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20240402preview.ManagedClusterOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + oidcIssuerProfile: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -134986,7 +208112,7 @@ spec: type: object type: array secrets: - description: Storage version of v1api20210501.ManagedClusterOperatorSecrets + description: Storage version of v1api20240402preview.ManagedClusterOperatorSecrets properties: $propertyBag: additionalProperties: @@ -135049,7 +208175,10 @@ spec: type: string type: object podIdentityProfile: - description: Storage version of v1api20210501.ManagedClusterPodIdentityProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProfile + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. properties: $propertyBag: additionalProperties: @@ -135064,7 +208193,9 @@ spec: type: boolean userAssignedIdentities: items: - description: Storage version of v1api20210501.ManagedClusterPodIdentity + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentity + Details about the pod identity assigned to the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -135076,113 +208207,454 @@ spec: bindingSelector: type: string identity: - description: Storage version of v1api20210501.UserAssignedIdentity + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity + Details about a user assigned identity. properties: $propertyBag: additionalProperties: type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceReference: + description: 'ResourceReference: The resource ID of the user assigned identity.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + namespace: + type: string + type: object + type: array + userAssignedIdentityExceptions: + items: + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityException + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + namespace: + type: string + podLabels: + additionalProperties: + type: string + type: object + type: object + type: array + type: object + privateLinkResources: + items: + description: |- + Storage version of v1api20240402preview.PrivateLinkResource + A private link resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + name: + type: string + reference: + description: 'Reference: The ID of the private link resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requiredMembers: + items: + type: string + type: array + type: + type: string + type: object + type: array + publicNetworkAccess: + type: string + safeguardsProfile: + description: |- + Storage version of v1api20240402preview.SafeguardsProfile + The Safeguards profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + version: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfile + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20240402preview.AzureKeyVaultKms + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceReference: + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefender + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceReference: + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageCleaner + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageIntegrity + Image integrity related settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileNodeRestriction + Node Restriction settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileWorkloadIdentity + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240402preview.ServiceMeshProfile + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240402preview.IstioServiceMesh + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240402preview.IstioCertificateAuthority + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240402preview.IstioPluginCertificateAuthority + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240402preview.IstioComponents + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioEgressGateway + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioIngressGateway + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: type: string type: object - type: object - name: - type: string - namespace: - type: string - type: object - type: array - userAssignedIdentityExceptions: - items: - description: Storage version of v1api20210501.ManagedClusterPodIdentityException - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: + type: array + type: object + revisions: + items: type: string - podLabels: - additionalProperties: - type: string - type: object - type: object - type: array + type: array + type: object + mode: + type: string type: object - privateLinkResources: - items: - description: Storage version of v1api20210501.PrivateLinkResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - name: - type: string - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object - type: array servicePrincipalProfile: - description: Storage version of v1api20210501.ManagedClusterServicePrincipalProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterServicePrincipalProfile + Information about a service principal identity for the cluster to use for manipulating Azure APIs. properties: $propertyBag: additionalProperties: @@ -135212,7 +208684,9 @@ spec: type: object type: object sku: - description: Storage version of v1api20210501.ManagedClusterSKU + description: |- + Storage version of v1api20240402preview.ManagedClusterSKU + The SKU of a Managed Cluster. properties: $propertyBag: additionalProperties: @@ -135226,12 +208700,121 @@ spec: tier: type: string type: object + storageProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfile + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileBlobCSIDriver + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileDiskCSIDriver + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileFileCSIDriver + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileSnapshotController + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string tags: additionalProperties: type: string type: object + upgradeSettings: + description: |- + Storage version of v1api20240402preview.ClusterUpgradeSettings + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240402preview.UpgradeOverrideSettings + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object windowsProfile: - description: Storage version of v1api20210501.ManagedClusterWindowsProfile + description: |- + Storage version of v1api20240402preview.ManagedClusterWindowsProfile + Profile for Windows VMs in the managed cluster. properties: $propertyBag: additionalProperties: @@ -135261,14 +208844,78 @@ spec: type: string enableCSIProxy: type: boolean + gmsaProfile: + description: |- + Storage version of v1api20240402preview.WindowsGmsaProfile + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object licenseType: type: string type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfile + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileKeda + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object required: - owner type: object status: - description: Storage version of v1api20210501.ManagedCluster_STATUS + description: |- + Storage version of v1api20240402preview.ManagedCluster_STATUS + Managed cluster. properties: $propertyBag: additionalProperties: @@ -135278,7 +208925,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object aadProfile: - description: Storage version of v1api20210501.ManagedClusterAADProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterAADProfile_STATUS + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). properties: $propertyBag: additionalProperties: @@ -135306,7 +208955,9 @@ spec: type: object addonProfiles: additionalProperties: - description: Storage version of v1api20210501.ManagedClusterAddonProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterAddonProfile_STATUS + A Kubernetes add-on profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -135322,7 +208973,9 @@ spec: enabled: type: boolean identity: - description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -135342,7 +208995,9 @@ spec: type: object agentPoolProfiles: items: - description: Storage version of v1api20210501.ManagedClusterAgentPoolProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterAgentPoolProfile_STATUS + Profile for the container service agent pool. properties: $propertyBag: additionalProperties: @@ -135351,14 +209006,50 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object availabilityZones: items: type: string type: array + capacityReservationGroupID: + type: string count: type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + eTag: + type: string enableAutoScaling: type: boolean + enableCustomCATrust: + type: boolean enableEncryptionAtHost: type: boolean enableFIPS: @@ -135367,10 +209058,42 @@ spec: type: boolean enableUltraSSD: type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile_STATUS + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object gpuInstanceProfile: type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string kubeletConfig: - description: Storage version of v1api20210501.KubeletConfig_STATUS + description: |- + Storage version of v1api20240402preview.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -135407,7 +209130,9 @@ spec: kubeletDiskType: type: string linuxOSConfig: - description: Storage version of v1api20210501.LinuxOSConfig_STATUS + description: |- + Storage version of v1api20240402preview.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -135419,7 +209144,9 @@ spec: swapFileSizeMB: type: integer sysctls: - description: Storage version of v1api20210501.SysctlConfig_STATUS + description: |- + Storage version of v1api20240402preview.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -135494,14 +209221,77 @@ spec: type: integer maxPods: type: integer + messageOfTheDay: + type: string minCount: type: integer mode: type: string name: type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object nodeImageVersion: type: string + nodeInitializationTaints: + items: + type: string + type: array nodeLabels: additionalProperties: type: string @@ -135522,10 +209312,14 @@ spec: type: string osType: type: string + podIPAllocationMode: + type: string podSubnetID: type: string powerState: - description: Storage version of v1api20210501.PowerState_STATUS + description: |- + Storage version of v1api20240402preview.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -135541,10 +209335,31 @@ spec: type: string proximityPlacementGroupID: type: string + scaleDownMode: + type: string scaleSetEvictionPolicy: type: string scaleSetPriority: type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object spotMaxPrice: type: number tags: @@ -135554,7 +209369,9 @@ spec: type: type: string upgradeSettings: - description: Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -135563,17 +209380,148 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + drainTimeoutInMinutes: + type: integer maxSurge: type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string + type: object + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes_STATUS + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile_STATUS + Specifications on VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile_STATUS + Specifications on how to scale a VirtualMachines agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile_STATUS + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile_STATUS + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: + type: string + type: array + type: object + type: array + type: object type: object vmSize: type: string vnetSubnetID: type: string + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string type: object type: array + aiToolchainOperatorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAIToolchainOperatorProfile_STATUS + When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator + automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and + enables distributed inference against them. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object apiServerAccessProfile: - description: Storage version of v1api20210501.ManagedClusterAPIServerAccessProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterAPIServerAccessProfile_STATUS + Access profile for managed cluster API server. properties: $propertyBag: additionalProperties: @@ -135586,15 +209534,21 @@ spec: items: type: string type: array + disableRunCommand: + type: boolean enablePrivateCluster: type: boolean enablePrivateClusterPublicFQDN: type: boolean + enableVnetIntegration: + type: boolean privateDNSZone: type: string + subnetId: + type: string type: object autoScalerProfile: - description: Storage version of v1api20210501.ManagedClusterProperties_AutoScalerProfile_STATUS + description: Storage version of v1api20240402preview.ManagedClusterProperties_AutoScalerProfile_STATUS properties: $propertyBag: additionalProperties: @@ -135605,8 +209559,14 @@ spec: type: object balance-similar-node-groups: type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean expander: type: string + ignore-daemonsets-utilization: + type: boolean max-empty-bulk-delete: type: string max-graceful-termination-sec: @@ -135639,7 +209599,9 @@ spec: type: string type: object autoUpgradeProfile: - description: Storage version of v1api20210501.ManagedClusterAutoUpgradeProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterAutoUpgradeProfile_STATUS + Auto upgrade profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -135648,11 +209610,169 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + nodeOSUpgradeChannel: + type: string upgradeChannel: type: string type: object + azureMonitorProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfile_STATUS + Prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS + Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces + through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoInstrumentation: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation_STATUS + Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument + Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + openTelemetryLogs: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs_STATUS + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects + OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + openTelemetryMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS + Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects + OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See + aka.ms/AzureMonitorApplicationMonitoring for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + port: + type: integer + type: object + type: object + containerInsights: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS + Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See + aka.ms/AzureMonitorContainerInsights for an overview. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableCustomMetrics: + type: boolean + disablePrometheusMetricsScraping: + type: boolean + enabled: + type: boolean + logAnalyticsWorkspaceResourceId: + type: string + syslogPort: + type: integer + type: object + metrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileMetrics_STATUS + Metrics profile for the prometheus service addon + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + kubeStateMetrics: + description: |- + Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + Kube State Metrics for prometheus addon profile for the container service cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + metricAnnotationsAllowList: + type: string + metricLabelsAllowlist: + type: string + type: object + type: object + type: object azurePortalFQDN: type: string + bootstrapProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterBootstrapProfile_STATUS + The bootstrap profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactSource: + type: string + containerRegistryId: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -135696,18 +209816,41 @@ spec: - type type: object type: array + creationData: + description: |- + Storage version of v1api20240402preview.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentKubernetesVersion: + type: string disableLocalAccounts: type: boolean diskEncryptionSetID: type: string dnsPrefix: type: string + eTag: + type: string + enableNamespaceResources: + type: boolean enablePodSecurityPolicy: type: boolean enableRBAC: type: boolean extendedLocation: - description: Storage version of v1api20210501.ExtendedLocation_STATUS + description: |- + Storage version of v1api20240402preview.ExtendedLocation_STATUS + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -135726,7 +209869,9 @@ spec: fqdnSubdomain: type: string httpProxyConfig: - description: Storage version of v1api20210501.ManagedClusterHTTPProxyConfig_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterHTTPProxyConfig_STATUS + Cluster HTTP proxy configuration. properties: $propertyBag: additionalProperties: @@ -135735,6 +209880,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + effectiveNoProxy: + items: + type: string + type: array httpProxy: type: string httpsProxy: @@ -135749,7 +209898,9 @@ spec: id: type: string identity: - description: Storage version of v1api20210501.ManagedClusterIdentity_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterIdentity_STATUS + Identity for the managed cluster. properties: $propertyBag: additionalProperties: @@ -135758,6 +209909,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240402preview.DelegatedResource_STATUS + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object principalId: type: string tenantId: @@ -135766,7 +209940,7 @@ spec: type: string userAssignedIdentities: additionalProperties: - description: Storage version of v1api20210501.ManagedClusterIdentity_UserAssignedIdentities_STATUS + description: Storage version of v1api20240402preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS properties: $propertyBag: additionalProperties: @@ -135784,7 +209958,9 @@ spec: type: object identityProfile: additionalProperties: - description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -135801,10 +209977,65 @@ spec: type: string type: object type: object + ingressProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfile_STATUS + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240402preview.ManagedClusterIngressProfileWebAppRouting_STATUS + Web App Routing settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object + kind: + type: string kubernetesVersion: type: string linuxProfile: - description: Storage version of v1api20210501.ContainerServiceLinuxProfile_STATUS + description: |- + Storage version of v1api20240402preview.ContainerServiceLinuxProfile_STATUS + Profile for Linux VMs in the container service cluster. properties: $propertyBag: additionalProperties: @@ -135816,7 +210047,9 @@ spec: adminUsername: type: string ssh: - description: Storage version of v1api20210501.ContainerServiceSshConfiguration_STATUS + description: |- + Storage version of v1api20240402preview.ContainerServiceSshConfiguration_STATUS + SSH configuration for Linux-based VMs running on Azure. properties: $propertyBag: additionalProperties: @@ -135827,7 +210060,9 @@ spec: type: object publicKeys: items: - description: Storage version of v1api20210501.ContainerServiceSshPublicKey_STATUS + description: |- + Storage version of v1api20240402preview.ContainerServiceSshPublicKey_STATUS + Contains information about SSH certificate public key data. properties: $propertyBag: additionalProperties: @@ -135842,14 +210077,44 @@ spec: type: array type: object type: object - location: - type: string - maxAgentPools: - type: integer + location: + type: string + maxAgentPools: + type: integer + metricsProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterMetricsProfile_STATUS + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240402preview.ManagedClusterCostAnalysis_STATUS + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object name: type: string networkProfile: - description: Storage version of v1api20210501.ContainerServiceNetworkProfile_STATUS + description: |- + Storage version of v1api20240402preview.ContainerServiceNetworkProfile_STATUS + Profile of network configuration. properties: $propertyBag: additionalProperties: @@ -135858,12 +210123,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + advancedNetworking: + description: |- + Storage version of v1api20240402preview.AdvancedNetworking_STATUS + Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may + incur additional costs. For more information see aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + observability: + description: |- + Storage version of v1api20240402preview.AdvancedNetworkingObservability_STATUS + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object dnsServiceIP: type: string - dockerBridgeCidr: - type: string + ipFamilies: + items: + type: string + type: array + kubeProxyConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + ipvsConfig: + description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scheduler: + type: string + tcpFinTimeoutSeconds: + type: integer + tcpTimeoutSeconds: + type: integer + udpTimeoutSeconds: + type: integer + type: object + mode: + type: string + type: object loadBalancerProfile: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_STATUS + Profile of the managed cluster load balancer. properties: $propertyBag: additionalProperties: @@ -135874,9 +210206,15 @@ spec: type: object allocatedOutboundPorts: type: integer + backendPoolType: + type: string + clusterServiceLoadBalancerHealthProbeMode: + type: string effectiveOutboundIPs: items: - description: Storage version of v1api20210501.ResourceReference_STATUS + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -135889,10 +210227,12 @@ spec: type: string type: object type: array + enableMultipleStandardLoadBalancers: + type: boolean idleTimeoutInMinutes: type: integer managedOutboundIPs: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -135903,9 +210243,11 @@ spec: type: object count: type: integer + countIPv6: + type: integer type: object outboundIPPrefixes: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS properties: $propertyBag: additionalProperties: @@ -135916,7 +210258,9 @@ spec: type: object publicIPPrefixes: items: - description: Storage version of v1api20210501.ResourceReference_STATUS + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -135931,7 +210275,7 @@ spec: type: array type: object outboundIPs: - description: Storage version of v1api20210501.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -135942,7 +210286,9 @@ spec: type: object publicIPs: items: - description: Storage version of v1api20210501.ResourceReference_STATUS + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -135959,23 +210305,147 @@ spec: type: object loadBalancerSku: type: string + natGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNATGatewayProfile_STATUS + Profile of the managed cluster NAT gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIPs: + items: + description: |- + Storage version of v1api20240402preview.ResourceReference_STATUS + A reference to an Azure resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + idleTimeoutInMinutes: + type: integer + managedOutboundIPProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterManagedOutboundIPProfile_STATUS + Profile of the managed outbound IP resources of the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + networkDataplane: + type: string networkMode: type: string networkPlugin: type: string + networkPluginMode: + type: string networkPolicy: type: string outboundType: type: string podCidr: type: string + podCidrs: + items: + type: string + type: array + podLinkLocalAccess: + type: string serviceCidr: type: string + serviceCidrs: + items: + type: string + type: array + staticEgressGatewayProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStaticEgressGatewayProfile_STATUS + The Static Egress Gateway addon configuration for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + nodeProvisioningProfile: + description: Storage version of v1api20240402preview.ManagedClusterNodeProvisioningProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mode: + type: string type: object nodeResourceGroup: type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterNodeResourceGroupProfile_STATUS + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object + oidcIssuerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterOIDCIssuerProfile_STATUS + The OIDC issuer profile of the Managed Cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + issuerURL: + type: string + type: object podIdentityProfile: - description: Storage version of v1api20210501.ManagedClusterPodIdentityProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProfile_STATUS + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. properties: $propertyBag: additionalProperties: @@ -135990,7 +210460,9 @@ spec: type: boolean userAssignedIdentities: items: - description: Storage version of v1api20210501.ManagedClusterPodIdentity_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentity_STATUS + Details about the pod identity assigned to the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -136002,7 +210474,9 @@ spec: bindingSelector: type: string identity: - description: Storage version of v1api20210501.UserAssignedIdentity_STATUS + description: |- + Storage version of v1api20240402preview.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -136023,7 +210497,7 @@ spec: namespace: type: string provisioningInfo: - description: Storage version of v1api20210501.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + description: Storage version of v1api20240402preview.ManagedClusterPodIdentity_ProvisioningInfo_STATUS properties: $propertyBag: additionalProperties: @@ -136033,7 +210507,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object error: - description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningError_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningError_STATUS + An error response from the pod identity provisioning. properties: $propertyBag: additionalProperties: @@ -136043,7 +210519,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object error: - description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + An error response from the pod identity provisioning. properties: $propertyBag: additionalProperties: @@ -136056,7 +210534,7 @@ spec: type: string details: items: - description: Storage version of v1api20210501.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + description: Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled properties: $propertyBag: additionalProperties: @@ -136086,7 +210564,10 @@ spec: type: array userAssignedIdentityExceptions: items: - description: Storage version of v1api20210501.ManagedClusterPodIdentityException_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterPodIdentityException_STATUS + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: $propertyBag: additionalProperties: @@ -136107,7 +210588,9 @@ spec: type: array type: object powerState: - description: Storage version of v1api20210501.PowerState_STATUS + description: |- + Storage version of v1api20240402preview.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -136123,7 +210606,9 @@ spec: type: string privateLinkResources: items: - description: Storage version of v1api20210501.PrivateLinkResource_STATUS + description: |- + Storage version of v1api20240402preview.PrivateLinkResource_STATUS + A private link resource properties: $propertyBag: additionalProperties: @@ -136150,8 +210635,289 @@ spec: type: array provisioningState: type: string + publicNetworkAccess: + type: string + resourceUID: + type: string + safeguardsProfile: + description: |- + Storage version of v1api20240402preview.SafeguardsProfile_STATUS + The Safeguards profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + excludedNamespaces: + items: + type: string + type: array + level: + type: string + systemExcludedNamespaces: + items: + type: string + type: array + version: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfile_STATUS + Security profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureKeyVaultKms: + description: |- + Storage version of v1api20240402preview.AzureKeyVaultKms_STATUS + Azure Key Vault key management service settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + keyId: + type: string + keyVaultNetworkAccess: + type: string + keyVaultResourceId: + type: string + type: object + customCATrustCertificates: + items: + type: string + type: array + defender: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefender_STATUS + Microsoft Defender settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + logAnalyticsWorkspaceResourceId: + type: string + securityMonitoring: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + Microsoft Defender settings for the security profile threat detection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + imageCleaner: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageCleaner_STATUS + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + intervalHours: + type: integer + type: object + imageIntegrity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageIntegrity_STATUS + Image integrity related settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + nodeRestriction: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileNodeRestriction_STATUS + Node Restriction settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + workloadIdentity: + description: |- + Storage version of v1api20240402preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + Workload identity settings for the security profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240402preview.ServiceMeshProfile_STATUS + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240402preview.IstioServiceMesh_STATUS + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240402preview.IstioCertificateAuthority_STATUS + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240402preview.IstioPluginCertificateAuthority_STATUS + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240402preview.IstioComponents_STATUS + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioEgressGateway_STATUS + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240402preview.IstioIngressGateway_STATUS + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object servicePrincipalProfile: - description: Storage version of v1api20210501.ManagedClusterServicePrincipalProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterServicePrincipalProfile_STATUS + Information about a service principal identity for the cluster to use for manipulating Azure APIs. properties: $propertyBag: additionalProperties: @@ -136164,7 +210930,9 @@ spec: type: string type: object sku: - description: Storage version of v1api20210501.ManagedClusterSKU_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterSKU_STATUS + The SKU of a Managed Cluster. properties: $propertyBag: additionalProperties: @@ -136178,14 +210946,148 @@ spec: tier: type: string type: object + storageProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfile_STATUS + Storage profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + blobCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS + AzureBlob CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + diskCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS + AzureDisk CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + version: + type: string + type: object + fileCSIDriver: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileFileCSIDriver_STATUS + AzureFile CSI Driver settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + snapshotController: + description: |- + Storage version of v1api20240402preview.ManagedClusterStorageProfileSnapshotController_STATUS + Snapshot Controller settings for the storage profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + supportPlan: + type: string + systemData: + description: |- + Storage version of v1api20240402preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object type: type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.ClusterUpgradeSettings_STATUS + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240402preview.UpgradeOverrideSettings_STATUS + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object windowsProfile: - description: Storage version of v1api20210501.ManagedClusterWindowsProfile_STATUS + description: |- + Storage version of v1api20240402preview.ManagedClusterWindowsProfile_STATUS + Profile for Windows VMs in the managed cluster. properties: $propertyBag: additionalProperties: @@ -136198,9 +211100,71 @@ spec: type: string enableCSIProxy: type: boolean + gmsaProfile: + description: |- + Storage version of v1api20240402preview.WindowsGmsaProfile_STATUS + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object licenseType: type: string type: object + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfile_STATUS + Workload Auto-scaler profile for the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + addonAutoscaling: + type: string + enabled: + type: boolean + type: object + type: object type: object type: object served: true @@ -136220,9 +211184,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230201 + name: v1api20240901 schema: openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} properties: apiVersion: description: |- @@ -136244,50 +211212,95 @@ spec: spec: properties: aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' properties: adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' items: type: string type: array clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' type: boolean managed: + description: 'Managed: Whether to enable managed AAD.' type: boolean serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' type: string tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. type: string type: object addonProfiles: additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. properties: config: additionalProperties: type: string + description: 'Config: Key-value pairs for configuring an add-on.' type: object enabled: + description: 'Enabled: Whether the add-on is enabled or not.' type: boolean required: - enabled type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' type: object agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' items: + description: Profile for the container service agent pool. properties: availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. items: type: string type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. type: integer creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' properties: armId: description: |- @@ -136308,16 +211321,32 @@ spec: type: object type: object enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. type: boolean enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' type: boolean gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' enum: - MIG1g - MIG2g @@ -136326,7 +211355,10 @@ spec: - MIG7g type: string hostGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). properties: armId: description: |- @@ -136346,126 +211378,275 @@ spec: type: string type: object kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. minimum: 2 type: integer containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' type: integer cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' type: boolean cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' type: boolean imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' type: integer imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' type: integer podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' type: integer topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. enum: - OS - Temporary type: string linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' type: integer sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' properties: fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' type: integer fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' type: integer fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' type: integer fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' type: integer kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' type: integer netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' type: integer netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' type: integer netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' type: integer netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' type: integer netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' type: integer netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' type: integer netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' type: integer netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' type: integer netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' type: integer netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' type: integer netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' type: integer netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' type: integer netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' type: integer netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' type: integer netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' type: integer netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' type: boolean netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 type: integer netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 type: integer netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 type: integer vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' type: integer vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' type: integer vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' type: integer type: object transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string type: object maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' type: integer maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' type: integer minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' type: integer mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools enum: - System - User type: string name: + description: 'Name: Windows agent pool names must be 6 characters or less.' pattern: ^[a-z][a-z0-9]{0,11}$ type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object nodeLabels: additionalProperties: type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' type: object nodePublicIPPrefixReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: armId: description: |- @@ -136485,34 +211666,56 @@ spec: type: string type: object nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' items: type: string type: array orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). type: string osDiskSizeGB: maximum: 2048 minimum: 0 type: integer osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). enum: - Ephemeral - Managed type: string osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. enum: + - AzureLinux - CBLMariner - Ubuntu - Windows2019 - Windows2022 type: string osType: + description: 'OsType: The operating system type. The default is Linux.' enum: - Linux - Windows type: string podSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -136532,15 +211735,20 @@ spec: type: string type: object powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: code: + description: 'Code: Tells whether the cluster is Running or Stopped' enum: - Running - Stopped type: string type: object proximityPlacementGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' properties: armId: description: |- @@ -136560,40 +211768,93 @@ spec: type: string type: object scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' enum: - Deallocate - Delete type: string scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. enum: - Deallocate - Delete type: string scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' enum: - Regular - Spot type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: + description: 'Type: The type of Agent Pool.' enum: - AvailabilitySet - VirtualMachineScaleSets type: string upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer type: object vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions type: string vnetSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -136612,7 +211873,17 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' enum: - OCIContainer - WasmWasi @@ -136622,65 +211893,144 @@ spec: type: object type: array apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' properties: authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). items: type: string type: array disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' type: boolean enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). type: boolean enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' type: boolean privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. type: string type: object autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' properties: balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. enum: - least-waste - most-pods - priority - random type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' type: string max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' type: string max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' type: string new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). type: string ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' type: string scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. type: string scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. type: string scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' type: string scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' type: string skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' type: string skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' type: string type: object autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + enum: + - NodeImage + - None + - SecurityPatch + - Unmanaged + type: string upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). enum: - node-image - none @@ -136690,16 +212040,36 @@ spec: type: string type: object azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' properties: metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. properties: enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. type: boolean kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. type: string metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. type: string type: object required: @@ -136715,9 +212085,15 @@ spec: pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ type: string disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). type: boolean diskEncryptionSetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' properties: armId: description: |- @@ -136737,45 +212113,107 @@ spec: type: string type: object dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' type: string enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. type: boolean enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' type: boolean extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' properties: name: + description: 'Name: The name of the extended location.' type: string type: + description: 'Type: The type of the extended location.' enum: - EdgeZone type: string type: object fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' type: string httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' properties: httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' type: string httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' type: string noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' items: type: string type: array trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' type: string type: object identity: + description: 'Identity: The identity of the managed cluster, if configured.' properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). enum: - None - SystemAssigned - UserAssigned type: string userAssignedIdentities: + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: + description: Information about the user assigned identity for the resource properties: reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID @@ -136802,13 +212240,16 @@ spec: type: object identityProfile: additionalProperties: + description: Details about a user assigned identity. properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -136828,20 +212269,79 @@ spec: type: string type: object type: object + description: |- + IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: |- + WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + properties: + dnsZoneResourceReferences: + description: |- + DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only + when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all + public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + description: 'Enabled: Whether to enable the Application Routing add-on.' + type: boolean + type: object type: object kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. type: string linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' properties: adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' pattern: ^[A-Za-z][-A-Za-z0-9_]*$ type: string ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' properties: publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' items: + description: Contains information about SSH certificate public key data. properties: keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. type: string required: - keyData @@ -136855,16 +212355,63 @@ spec: - ssh type: object location: + description: 'Location: The geo-location where the resource lives' type: string + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object networkProfile: + description: 'NetworkProfile: The network configuration profile.' properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + more information see aka.ms/aksadvancednetworking. + properties: + enabled: + description: |- + Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + not specified, the default is false. + type: boolean + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + security: + description: 'Security: Security profile to enable security features on cilium based cluster.' + properties: + enabled: + description: |- + Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + cilium based clusters. If not specified, the default is false. + type: boolean + type: object + type: object dnsServiceIP: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ type: string - dockerBridgeCidr: - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ - type: string ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. items: enum: - IPv4 @@ -136872,16 +212419,28 @@ spec: type: string type: array loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' properties: allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. maximum: 64000 minimum: 0 type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + enum: + - NodeIP + - NodeIPConfiguration + type: string effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -136903,29 +212462,43 @@ spec: type: object type: array enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' type: boolean idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. maximum: 120 minimum: 4 type: integer managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' properties: count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. maximum: 100 minimum: 1 type: integer countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. maximum: 100 minimum: 0 type: integer type: object outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' properties: publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -136948,12 +212521,15 @@ spec: type: array type: object outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' properties: publicIPs: + description: 'PublicIPs: A list of public IP resources.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -136977,17 +212553,24 @@ spec: type: object type: object loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. enum: - basic - standard type: string natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' properties: effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' items: + description: A reference to an Azure resource. properties: reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -137009,44 +212592,60 @@ spec: type: object type: array idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. maximum: 120 minimum: 4 type: integer managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' properties: count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. maximum: 16 minimum: 1 type: integer type: object type: object networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' enum: - azure - cilium type: string networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' enum: - bridge - transparent type: string networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' enum: - azure - kubenet - none type: string networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' enum: - overlay type: string networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' enum: - azure - calico - cilium + - none type: string outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). enum: - loadBalancer - managedNATGateway @@ -137054,25 +212653,50 @@ spec: - userDefinedRouting type: string podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ type: string podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. items: type: string type: array serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ type: string serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. items: type: string type: array type: object nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: Profile of the node resource group configuration.' + properties: + restrictionLevel: + description: |- + RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + 'Unrestricted' + enum: + - ReadOnly + - Unrestricted + type: string + type: object oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' properties: enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' type: boolean type: object operatorSpec: @@ -137130,21 +212754,6 @@ spec: - key - name type: object - principalId: - description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' @@ -137229,24 +212838,39 @@ spec: type: string type: object podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. properties: allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. type: boolean enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' type: boolean userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' items: + description: Details about the pod identity assigned to the Managed Cluster. properties: bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' type: string identity: + description: 'Identity: The user assigned identity details.' properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -137267,8 +212891,10 @@ spec: type: object type: object name: + description: 'Name: The name of the pod identity.' type: string namespace: + description: 'Namespace: The namespace of the pod identity.' type: string required: - identity @@ -137277,15 +212903,22 @@ spec: type: object type: array userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: name: + description: 'Name: The name of the pod identity exception.' type: string namespace: + description: 'Namespace: The namespace of the pod identity exception.' type: string podLabels: additionalProperties: type: string + description: 'PodLabels: The pod labels to match.' type: object required: - name @@ -137295,14 +212928,18 @@ spec: type: array type: object privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' items: + description: A private link resource properties: groupId: + description: 'GroupId: The group ID of the resource.' type: string name: + description: 'Name: The name of the private link resource.' type: string reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The ID of the private link resource.' properties: armId: description: |- @@ -137322,33 +212959,52 @@ spec: type: string type: object requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' items: type: string type: array type: + description: 'Type: The resource type.' type: string type: object type: array publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' enum: - Disabled - Enabled type: string securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' properties: azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. properties: enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' type: boolean keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. type: string keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. enum: - Private - Public type: string keyVaultResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. properties: armId: description: |- @@ -137369,9 +213025,13 @@ spec: type: object type: object defender: + description: 'Defender: Microsoft Defender settings for the security profile.' properties: logAnalyticsWorkspaceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. properties: armId: description: |- @@ -137391,32 +213051,147 @@ spec: type: string type: object securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' properties: enabled: + description: 'Enabled: Whether to enable Defender threat detection' type: boolean type: object type: object imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' properties: enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' type: boolean intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' type: integer type: object workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. properties: enabled: + description: 'Enabled: Whether to enable workload identity.' type: boolean type: object type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + required: + - enabled + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + enum: + - External + - Internal + type: string + required: + - enabled + - mode + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + maxItems: 2 + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + enum: + - Disabled + - Istio + type: string + required: + - mode + type: object servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. properties: clientId: + description: 'ClientId: The ID for the service principal.' type: string secret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + description: 'Secret: The secret password associated with the service principal in plain text.' properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -137434,50 +213209,100 @@ spec: - clientId type: object sku: + description: 'Sku: The managed cluster SKU.' properties: name: + description: 'Name: The name of a managed cluster SKU.' enum: - Base type: string tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. enum: - Free + - Premium - Standard type: string type: object storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' properties: blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' type: boolean type: object diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' type: boolean type: object fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' type: boolean type: object snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' type: boolean type: object type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + enum: + - AKSLongTermSupport + - KubernetesOfficial + type: string tags: additionalProperties: type: string + description: 'Tags: Resource tags.' + type: object + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object type: object windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' properties: adminPassword: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + AdminPassword: Specifies the password of the administrator account. + Minimum-length: 8 characters + Max-length: 123 characters + Complexity requirements: 3 out of 4 conditions below need to be fulfilled + Has lower characters + Has upper characters + Has a digit + Has a special character (Regex match [\W_]) + Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", + "Password22", "iloveyou!" properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -137492,19 +213317,41 @@ spec: - name type: object adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters type: string enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). type: boolean gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' properties: dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. type: string enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' type: boolean rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. type: string type: object licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. enum: - None - Windows_Server @@ -137513,10 +213360,22 @@ spec: - adminUsername type: object workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' properties: keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + required: + - enabled + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' properties: enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' type: boolean required: - enabled @@ -137527,316 +213386,685 @@ spec: - owner type: object status: + description: Managed cluster. properties: aadProfile: + description: 'AadProfile: The Azure Active Directory configuration.' properties: adminGroupObjectIDs: + description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' items: type: string type: array clientAppID: + description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string enableAzureRBAC: + description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' type: boolean managed: + description: 'Managed: Whether to enable managed AAD.' type: boolean serverAppID: + description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' type: string serverAppSecret: + description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' type: string tenantID: + description: |- + TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment + subscription. type: string type: object addonProfiles: additionalProperties: + description: A Kubernetes add-on profile for a managed cluster. properties: config: additionalProperties: type: string + description: 'Config: Key-value pairs for configuring an add-on.' type: object enabled: + description: 'Enabled: Whether the add-on is enabled or not.' type: boolean identity: + description: 'Identity: Information of user assigned identity used by this add-on.' properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string type: object type: object + description: 'AddonProfiles: The profile of managed cluster add-on.' type: object agentPoolProfiles: + description: 'AgentPoolProfiles: The agent pool properties.' items: + description: Profile for the container service agent pool. properties: availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. items: type: string type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. type: integer creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' type: string type: object currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. type: string enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. type: boolean enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' type: boolean gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' type: string hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). type: string kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. type: integer containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' type: integer cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' type: boolean cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' type: boolean imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' type: integer imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' type: integer podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' type: integer topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. type: string linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' type: integer sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' properties: fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' type: integer fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' type: integer fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' type: integer fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' type: integer kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' type: integer netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' type: integer netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' type: integer netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' type: integer netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' type: integer netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' type: integer netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' type: integer netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' type: integer netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' type: integer netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' type: integer netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' type: integer netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' type: integer netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' type: integer netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' type: integer netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' type: integer netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' type: integer netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' type: boolean netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' type: integer netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' type: integer netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' type: integer vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' type: integer vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' type: integer vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' type: integer type: object transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string type: object maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' type: integer maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' type: integer minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' type: integer mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type: string name: + description: 'Name: Windows agent pool names must be 6 characters or less.' type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object nodeImageVersion: + description: 'NodeImageVersion: The version of node image' type: string nodeLabels: additionalProperties: type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' type: object nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} type: string nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' items: type: string type: array orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). type: string osDiskSizeGB: type: integer osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type: string osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. type: string osType: + description: 'OsType: The operating system type. The default is Linux.' type: string podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} type: string powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: code: + description: 'Code: Tells whether the cluster is Running or Stopped' type: string type: object provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' type: string proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' type: string scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' type: string scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. type: string scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: + description: 'Type: The type of Agent Pool.' type: string upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer type: object vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions type: string vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' type: string type: object type: array apiServerAccessProfile: + description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' properties: authorizedIPRanges: + description: |- + AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with + clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API + server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). items: type: string type: array disableRunCommand: + description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' type: boolean enablePrivateCluster: + description: |- + EnablePrivateCluster: For more details, see [Creating a private AKS + cluster](https://docs.microsoft.com/azure/aks/private-clusters). type: boolean enablePrivateClusterPublicFQDN: + description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' type: boolean privateDNSZone: + description: |- + PrivateDNSZone: The default is System. For more details see [configure private DNS + zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and + 'none'. type: string type: object autoScalerProfile: + description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' properties: balance-similar-node-groups: + description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' type: string + daemonset-eviction-for-empty-nodes: + description: |- + DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the + node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be + deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean + daemonset-eviction-for-occupied-nodes: + description: |- + DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion + of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node + will be deleted without ensuring that daemonset pods are deleted or evicted. + type: boolean expander: + description: |- + Expander: If not specified, the default is 'random'. See + [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more + information. type: string + ignore-daemonsets-utilization: + description: |- + IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making + scaling down decisions. + type: boolean max-empty-bulk-delete: + description: 'MaxEmptyBulkDelete: The default is 10.' type: string max-graceful-termination-sec: + description: 'MaxGracefulTerminationSec: The default is 600.' type: string max-node-provision-time: + description: |- + MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string max-total-unready-percentage: + description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' type: string new-pod-scale-up-delay: + description: |- + NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler + could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is + '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). type: string ok-total-unready-count: + description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' type: string scale-down-delay-after-add: + description: |- + ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-delay-after-delete: + description: |- + ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of + time other than minutes (m) is supported. type: string scale-down-delay-after-failure: + description: |- + ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other + than minutes (m) is supported. type: string scale-down-unneeded-time: + description: |- + ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-unready-time: + description: |- + ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than + minutes (m) is supported. type: string scale-down-utilization-threshold: + description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' type: string scan-interval: + description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' type: string skip-nodes-with-local-storage: + description: 'SkipNodesWithLocalStorage: The default is true.' type: string skip-nodes-with-system-pods: + description: 'SkipNodesWithSystemPods: The default is true.' type: string type: object autoUpgradeProfile: + description: 'AutoUpgradeProfile: The auto upgrade configuration.' properties: + nodeOSUpgradeChannel: + description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + type: string upgradeChannel: + description: |- + UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade + channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). type: string type: object azureMonitorProfile: + description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' properties: metrics: + description: |- + Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. properties: enabled: + description: |- + Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See + aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. type: boolean kubeStateMetrics: + description: |- + KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: metricAnnotationsAllowList: + description: |- + MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's + labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric + contains only resource name and namespace labels. type: string metricLabelsAllowlist: + description: |- + MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's + labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only + resource name and namespace labels. type: string type: object type: object type: object azurePortalFQDN: + description: |- + AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some + responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure + Portal to function properly. type: string conditions: description: 'Conditions: The observed state of the resource' @@ -137883,414 +214111,907 @@ spec: type: object type: array currentKubernetesVersion: + description: |- + CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be + exactly equal to it. If kubernetesVersion was , this field will contain the full + version being used. type: string disableLocalAccounts: + description: |- + DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be + used on Managed Clusters that are AAD enabled. For more details see [disable local + accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). type: boolean diskEncryptionSetID: + description: |- + DiskEncryptionSetID: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' type: string dnsPrefix: + description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. type: string enablePodSecurityPolicy: + description: |- + EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was + deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and + https://aka.ms/aks/psp. type: boolean enableRBAC: + description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' type: boolean extendedLocation: + description: 'ExtendedLocation: The extended location of the Virtual Machine.' properties: name: + description: 'Name: The name of the extended location.' type: string type: + description: 'Type: The type of the extended location.' type: string type: object fqdn: + description: 'Fqdn: The FQDN of the master pool.' type: string fqdnSubdomain: + description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' type: string httpProxyConfig: + description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' properties: httpProxy: + description: 'HttpProxy: The HTTP proxy server endpoint to use.' type: string httpsProxy: + description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' type: string noProxy: + description: 'NoProxy: The endpoints that should not go through proxy.' items: type: string type: array trustedCa: + description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' type: string type: object id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string identity: + description: 'Identity: The identity of the managed cluster, if configured.' properties: + delegatedResources: + additionalProperties: + description: Delegated resource properties - internal use only. + properties: + location: + description: 'Location: The source resource location - internal use only.' + type: string + referralResource: + description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + type: string + resourceId: + description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + type: string + tenantId: + description: 'TenantId: The tenant id of the delegated resource - internal use only.' + type: string + type: object + description: |- + DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another + Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. + type: object principalId: + description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' type: string tenantId: + description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' type: string type: + description: |- + Type: For more information see [use managed identities in + AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). type: string userAssignedIdentities: additionalProperties: properties: clientId: + description: 'ClientId: The client id of user assigned identity.' type: string principalId: + description: 'PrincipalId: The principal id of user assigned identity.' type: string type: object + description: |- + UserAssignedIdentities: The keys must be ARM resource IDs in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. type: object type: object identityProfile: additionalProperties: + description: Details about a user assigned identity. properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string type: object + description: |- + IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only + one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + type: object + ingressProfile: + description: 'IngressProfile: Ingress profile for the managed cluster.' + properties: + webAppRouting: + description: |- + WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this + feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + properties: + dnsZoneResourceIds: + description: |- + DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when + Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public + DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. + items: + type: string + type: array + enabled: + description: 'Enabled: Whether to enable the Application Routing add-on.' + type: boolean + identity: + description: |- + Identity: Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, + for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview + of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + properties: + clientId: + description: 'ClientId: The client ID of the user assigned identity.' + type: string + objectId: + description: 'ObjectId: The object ID of the user assigned identity.' + type: string + resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' + type: string + type: object + type: object type: object kubernetesVersion: + description: |- + KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All + upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or + 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS + cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. type: string linuxProfile: + description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' properties: adminUsername: + description: 'AdminUsername: The administrator username to use for Linux VMs.' type: string ssh: + description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' properties: publicKeys: + description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' items: + description: Contains information about SSH certificate public key data. properties: keyData: + description: |- + KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or + without headers. type: string type: object type: array type: object type: object location: + description: 'Location: The geo-location where the resource lives' type: string maxAgentPools: + description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' type: integer + metricsProfile: + description: 'MetricsProfile: Optional cluster metrics configuration.' + properties: + costAnalysis: + description: 'CostAnalysis: The cost analysis configuration for the cluster' + properties: + enabled: + description: |- + Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will + add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the + default is false. For more information see aka.ms/aks/docs/cost-analysis. + type: boolean + type: object + type: object name: + description: 'Name: The name of the resource' type: string networkProfile: + description: 'NetworkProfile: The network configuration profile.' properties: + advancedNetworking: + description: |- + AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For + more information see aka.ms/aksadvancednetworking. + properties: + enabled: + description: |- + Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. + When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If + not specified, the default is false. + type: boolean + observability: + description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' + properties: + enabled: + description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' + type: boolean + type: object + security: + description: 'Security: Security profile to enable security features on cilium based cluster.' + properties: + enabled: + description: |- + Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on + cilium based clusters. If not specified, the default is false. + type: boolean + type: object + type: object dnsServiceIP: - type: string - dockerBridgeCidr: + description: |- + DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address + range specified in serviceCidr. type: string ipFamilies: + description: |- + IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value + is IPv4. For dual-stack, the expected values are IPv4 and IPv6. items: type: string type: array loadBalancerProfile: + description: 'LoadBalancerProfile: Profile of the cluster load balancer.' properties: allocatedOutboundPorts: + description: |- + AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 + (inclusive). The default value is 0 which results in Azure dynamically allocating ports. type: integer + backendPoolType: + description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + type: string effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array enableMultipleStandardLoadBalancers: + description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' type: boolean idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 30 minutes. type: integer managedOutboundIPs: + description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' properties: count: + description: |- + Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values + must be in the range of 1 to 100 (inclusive). The default value is 1. type: integer countIPv6: + description: |- + CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed + values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. type: integer type: object outboundIPPrefixes: + description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' properties: publicIPPrefixes: + description: 'PublicIPPrefixes: A list of public IP prefix resources.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array type: object outboundIPs: + description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' properties: publicIPs: + description: 'PublicIPs: A list of public IP resources.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array type: object type: object loadBalancerSku: + description: |- + LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer + SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load + balancer SKUs. type: string natGatewayProfile: + description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' properties: effectiveOutboundIPs: + description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' items: + description: A reference to an Azure resource. properties: id: + description: 'Id: The fully qualified Azure resource id.' type: string type: object type: array idleTimeoutInMinutes: + description: |- + IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 + (inclusive). The default value is 4 minutes. type: integer managedOutboundIPProfile: + description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' properties: count: + description: |- + Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 + (inclusive). The default value is 1. type: integer type: object type: object networkDataplane: + description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' type: string networkMode: + description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' type: string networkPlugin: + description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' type: string networkPluginMode: + description: 'NetworkPluginMode: The mode the network plugin should use.' type: string networkPolicy: + description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' type: string outboundType: + description: |- + OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see + [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). type: string podCidr: + description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' type: string podCidrs: + description: |- + PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. items: type: string type: array serviceCidr: + description: |- + ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP + ranges. type: string serviceCidrs: + description: |- + ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is + expected for dual-stack networking. They must not overlap with any Subnet IP ranges. items: type: string type: array type: object nodeResourceGroup: + description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' type: string + nodeResourceGroupProfile: + description: 'NodeResourceGroupProfile: Profile of the node resource group configuration.' + properties: + restrictionLevel: + description: |- + RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is + 'Unrestricted' + type: string + type: object oidcIssuerProfile: + description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' properties: enabled: + description: 'Enabled: Whether the OIDC issuer is enabled.' type: boolean issuerURL: + description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' type: string type: object podIdentityProfile: + description: |- + PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more + details on AAD pod identity integration. properties: allowNetworkPluginKubenet: + description: |- + AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod + Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod + Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) + for more information. type: boolean enabled: + description: 'Enabled: Whether the pod identity addon is enabled.' type: boolean userAssignedIdentities: + description: 'UserAssignedIdentities: The pod identities to use in the cluster.' items: + description: Details about the pod identity assigned to the Managed Cluster. properties: bindingSelector: + description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' type: string identity: + description: 'Identity: The user assigned identity details.' properties: clientId: + description: 'ClientId: The client ID of the user assigned identity.' type: string objectId: + description: 'ObjectId: The object ID of the user assigned identity.' type: string resourceId: + description: 'ResourceId: The resource ID of the user assigned identity.' type: string type: object name: + description: 'Name: The name of the pod identity.' type: string namespace: + description: 'Namespace: The namespace of the pod identity.' type: string provisioningInfo: properties: error: + description: 'Error: Pod identity assignment error (if any).' properties: error: + description: 'Error: Details about the error.' properties: code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' type: string details: + description: 'Details: A list of additional details about the error.' items: properties: code: + description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' type: string message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' type: string target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' type: string type: object type: array message: + description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' type: string target: + description: 'Target: The target of the particular error. For example, the name of the property in error.' type: string type: object type: object type: object provisioningState: + description: 'ProvisioningState: The current provisioning state of the pod identity.' type: string type: object type: array userAssignedIdentityExceptions: + description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' items: + description: |- + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: name: + description: 'Name: The name of the pod identity exception.' type: string namespace: + description: 'Namespace: The namespace of the pod identity exception.' type: string podLabels: additionalProperties: type: string + description: 'PodLabels: The pod labels to match.' type: object type: object type: array type: object powerState: + description: 'PowerState: The Power State of the cluster.' properties: code: + description: 'Code: Tells whether the cluster is Running or Stopped' type: string type: object privateFQDN: + description: 'PrivateFQDN: The FQDN of private cluster.' type: string privateLinkResources: + description: 'PrivateLinkResources: Private link resources associated with the cluster.' items: + description: A private link resource properties: groupId: + description: 'GroupId: The group ID of the resource.' type: string id: + description: 'Id: The ID of the private link resource.' type: string name: + description: 'Name: The name of the private link resource.' type: string privateLinkServiceID: + description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' type: string requiredMembers: + description: 'RequiredMembers: The RequiredMembers of the resource' items: type: string type: array type: + description: 'Type: The resource type.' type: string type: object type: array provisioningState: + description: 'ProvisioningState: The current provisioning state.' type: string publicNetworkAccess: + description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + type: string + resourceUID: + description: |- + ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create + sequence) type: string securityProfile: + description: 'SecurityProfile: Security profile for the managed cluster.' properties: azureKeyVaultKms: + description: |- + AzureKeyVaultKms: Azure Key Vault [key management + service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. properties: enabled: + description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' type: boolean keyId: + description: |- + KeyId: Identifier of Azure Key Vault key. See [key identifier + format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) + for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key + identifier. When Azure Key Vault key management service is disabled, leave the field empty. type: string keyVaultNetworkAccess: + description: |- + KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the + key vault allows public access from all networks. `Private` means the key vault disables public access and enables + private link. The default value is `Public`. type: string keyVaultResourceId: + description: |- + KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must + be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. type: string type: object defender: + description: 'Defender: Microsoft Defender settings for the security profile.' properties: logAnalyticsWorkspaceResourceId: + description: |- + LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. + When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft + Defender is disabled, leave the field empty. type: string securityMonitoring: + description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' properties: enabled: + description: 'Enabled: Whether to enable Defender threat detection' type: boolean type: object type: object imageCleaner: + description: 'ImageCleaner: Image Cleaner settings for the security profile.' properties: enabled: + description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' type: boolean intervalHours: + description: 'IntervalHours: Image Cleaner scanning interval in hours.' type: integer type: object workloadIdentity: + description: |- + WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications + to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. properties: enabled: + description: 'Enabled: Whether to enable workload identity.' type: boolean type: object type: object + serviceMeshProfile: + description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + properties: + istio: + description: 'Istio: Istio service mesh configuration.' + properties: + certificateAuthority: + description: |- + CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin + certificates as described here https://aka.ms/asm-plugin-ca + properties: + plugin: + description: 'Plugin: Plugin certificates information for Service Mesh.' + properties: + certChainObjectName: + description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' + type: string + certObjectName: + description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' + type: string + keyObjectName: + description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' + type: string + keyVaultId: + description: 'KeyVaultId: The resource ID of the Key Vault.' + type: string + rootCertObjectName: + description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' + type: string + type: object + type: object + components: + description: 'Components: Istio components configuration.' + properties: + egressGateways: + description: 'EgressGateways: Istio egress gateways.' + items: + description: Istio egress gateway configuration. + properties: + enabled: + description: 'Enabled: Whether to enable the egress gateway.' + type: boolean + type: object + type: array + ingressGateways: + description: 'IngressGateways: Istio ingress gateways.' + items: + description: |- + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + enabled: + description: 'Enabled: Whether to enable the ingress gateway.' + type: boolean + mode: + description: 'Mode: Mode of an ingress gateway.' + type: string + type: object + type: array + type: object + revisions: + description: |- + Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. + When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: + https://learn.microsoft.com/en-us/azure/aks/istio-upgrade + items: + type: string + type: array + type: object + mode: + description: 'Mode: Mode of the service mesh.' + type: string + type: object servicePrincipalProfile: + description: |- + ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure + APIs. properties: clientId: + description: 'ClientId: The ID for the service principal.' type: string type: object sku: + description: 'Sku: The managed cluster SKU.' properties: name: + description: 'Name: The name of a managed cluster SKU.' type: string tier: + description: |- + Tier: If not specified, the default is 'Free'. See [AKS Pricing + Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. type: string type: object storageProfile: + description: 'StorageProfile: Storage profile for the managed cluster.' properties: blobCSIDriver: + description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' type: boolean type: object diskCSIDriver: + description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' type: boolean type: object fileCSIDriver: + description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' type: boolean type: object snapshotController: + description: 'SnapshotController: Snapshot Controller settings for the storage profile.' properties: enabled: + description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' type: boolean type: object type: object + supportPlan: + description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + type: string systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags.' type: object type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading a cluster.' + properties: + overrideSettings: + description: 'OverrideSettings: Settings for overrides.' + properties: + forceUpgrade: + description: |- + ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade + protections such as checking for deprecated API usage. Enable this option only with caution. + type: boolean + until: + description: |- + Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the + effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set + by default. It must be set for the overrides to take effect. + type: string + type: object + type: object windowsProfile: + description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' properties: adminUsername: + description: |- + AdminUsername: Specifies the name of the administrator account. + Restriction: Cannot end in "." + Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", + "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", + "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". + Minimum-length: 1 character + Max-length: 20 characters type: string enableCSIProxy: + description: |- + EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub + repo](https://github.com/kubernetes-csi/csi-proxy). type: boolean gmsaProfile: + description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' properties: dnsServer: + description: |- + DnsServer: Specifies the DNS server for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. type: string enabled: + description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' type: boolean rootDomainName: + description: |- + RootDomainName: Specifies the root domain name for Windows gMSA. + Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. type: string type: object licenseType: + description: |- + LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User + Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. type: string type: object workloadAutoScalerProfile: + description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' properties: keda: + description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' + properties: + enabled: + description: 'Enabled: Whether to enable KEDA.' + type: boolean + type: object + verticalPodAutoscaler: + description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' properties: enabled: + description: 'Enabled: Whether to enable VPA. Default value is false.' type: boolean type: object type: object @@ -138313,10 +215034,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230201storage + name: v1api20240901storage schema: openAPIV3Schema: - description: Storage version of v1api20230201.ManagedCluster + description: |- + Storage version of v1api20240901.ManagedCluster + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} properties: apiVersion: description: |- @@ -138336,7 +215061,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230201.ManagedCluster_Spec + description: Storage version of v1api20240901.ManagedCluster_Spec properties: $propertyBag: additionalProperties: @@ -138346,7 +215071,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object aadProfile: - description: Storage version of v1api20230201.ManagedClusterAADProfile + description: |- + Storage version of v1api20240901.ManagedClusterAADProfile + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). properties: $propertyBag: additionalProperties: @@ -138374,7 +215101,9 @@ spec: type: object addonProfiles: additionalProperties: - description: Storage version of v1api20230201.ManagedClusterAddonProfile + description: |- + Storage version of v1api20240901.ManagedClusterAddonProfile + A Kubernetes add-on profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -138393,7 +215122,9 @@ spec: type: object agentPoolProfiles: items: - description: Storage version of v1api20230201.ManagedClusterAgentPoolProfile + description: |- + Storage version of v1api20240901.ManagedClusterAgentPoolProfile + Profile for the container service agent pool. properties: $propertyBag: additionalProperties: @@ -138406,10 +215137,32 @@ spec: items: type: string type: array + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object count: type: integer creationData: - description: Storage version of v1api20230201.CreationData + description: |- + Storage version of v1api20240901.CreationData + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -138419,7 +215172,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' properties: armId: description: |- @@ -138452,7 +215205,10 @@ spec: gpuInstanceProfile: type: string hostGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). properties: armId: description: |- @@ -138472,7 +215228,9 @@ spec: type: string type: object kubeletConfig: - description: Storage version of v1api20230201.KubeletConfig + description: |- + Storage version of v1api20240901.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -138509,7 +215267,9 @@ spec: kubeletDiskType: type: string linuxOSConfig: - description: Storage version of v1api20230201.LinuxOSConfig + description: |- + Storage version of v1api20240901.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -138521,7 +215281,9 @@ spec: swapFileSizeMB: type: integer sysctls: - description: Storage version of v1api20230201.SysctlConfig + description: |- + Storage version of v1api20240901.SysctlConfig + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -138602,12 +215364,89 @@ spec: type: string name: type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240901.PortRange + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object nodeLabels: additionalProperties: type: string type: object nodePublicIPPrefixReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: armId: description: |- @@ -138641,7 +215480,10 @@ spec: osType: type: string podSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -138661,7 +215503,9 @@ spec: type: string type: object powerState: - description: Storage version of v1api20230201.PowerState + description: |- + Storage version of v1api20240901.PowerState + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -138674,7 +215518,7 @@ spec: type: string type: object proximityPlacementGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' properties: armId: description: |- @@ -138699,6 +215543,23 @@ spec: type: string scaleSetPriority: type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object spotMaxPrice: type: number tags: @@ -138708,7 +215569,9 @@ spec: type: type: string upgradeSettings: - description: Storage version of v1api20230201.AgentPoolUpgradeSettings + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -138717,13 +215580,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + drainTimeoutInMinutes: + type: integer maxSurge: type: string + nodeSoakDurationInMinutes: + type: integer type: object vmSize: type: string vnetSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -138742,12 +215612,29 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object workloadRuntime: type: string type: object type: array apiServerAccessProfile: - description: Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile + description: |- + Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile + Access profile for managed cluster API server. properties: $propertyBag: additionalProperties: @@ -138770,7 +215657,7 @@ spec: type: string type: object autoScalerProfile: - description: Storage version of v1api20230201.ManagedClusterProperties_AutoScalerProfile + description: Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile properties: $propertyBag: additionalProperties: @@ -138781,8 +215668,14 @@ spec: type: object balance-similar-node-groups: type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean expander: type: string + ignore-daemonsets-utilization: + type: boolean max-empty-bulk-delete: type: string max-graceful-termination-sec: @@ -138815,7 +215708,9 @@ spec: type: string type: object autoUpgradeProfile: - description: Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile + description: |- + Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile + Auto upgrade profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -138824,11 +215719,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + nodeOSUpgradeChannel: + type: string upgradeChannel: type: string type: object azureMonitorProfile: - description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfile + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfile + Azure Monitor addon profiles for monitoring the managed cluster. properties: $propertyBag: additionalProperties: @@ -138838,7 +215737,11 @@ spec: resources, allowing for full fidelity round trip conversions type: object metrics: - description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. properties: $propertyBag: additionalProperties: @@ -138850,7 +215753,11 @@ spec: enabled: type: boolean kubeStateMetrics: - description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: $propertyBag: additionalProperties: @@ -138874,7 +215781,9 @@ spec: disableLocalAccounts: type: boolean diskEncryptionSetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + DiskEncryptionSetReference: This is of the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' properties: armId: description: |- @@ -138900,7 +215809,9 @@ spec: enableRBAC: type: boolean extendedLocation: - description: Storage version of v1api20230201.ExtendedLocation + description: |- + Storage version of v1api20240901.ExtendedLocation + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -138917,7 +215828,9 @@ spec: fqdnSubdomain: type: string httpProxyConfig: - description: Storage version of v1api20230201.ManagedClusterHTTPProxyConfig + description: |- + Storage version of v1api20240901.ManagedClusterHTTPProxyConfig + Cluster HTTP proxy configuration. properties: $propertyBag: additionalProperties: @@ -138938,7 +215851,9 @@ spec: type: string type: object identity: - description: Storage version of v1api20230201.ManagedClusterIdentity + description: |- + Storage version of v1api20240901.ManagedClusterIdentity + Identity for the managed cluster. properties: $propertyBag: additionalProperties: @@ -138947,11 +215862,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240901.DelegatedResource + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceReference: + description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tenantId: + type: string + type: object + type: object type: type: string userAssignedIdentities: items: - description: Storage version of v1api20230201.UserAssignedIdentityDetails + description: |- + Storage version of v1api20240901.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -138985,7 +215943,9 @@ spec: type: object identityProfile: additionalProperties: - description: Storage version of v1api20230201.UserAssignedIdentity + description: |- + Storage version of v1api20240901.UserAssignedIdentity + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -138999,7 +215959,7 @@ spec: objectId: type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -139020,10 +215980,62 @@ spec: type: object type: object type: object + ingressProfile: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfile + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting + Application Routing add-on settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + enabled: + type: boolean + type: object + type: object kubernetesVersion: type: string linuxProfile: - description: Storage version of v1api20230201.ContainerServiceLinuxProfile + description: |- + Storage version of v1api20240901.ContainerServiceLinuxProfile + Profile for Linux VMs in the container service cluster. properties: $propertyBag: additionalProperties: @@ -139035,7 +216047,9 @@ spec: adminUsername: type: string ssh: - description: Storage version of v1api20230201.ContainerServiceSshConfiguration + description: |- + Storage version of v1api20240901.ContainerServiceSshConfiguration + SSH configuration for Linux-based VMs running on Azure. properties: $propertyBag: additionalProperties: @@ -139046,7 +216060,9 @@ spec: type: object publicKeys: items: - description: Storage version of v1api20230201.ContainerServiceSshPublicKey + description: |- + Storage version of v1api20240901.ContainerServiceSshPublicKey + Contains information about SSH certificate public key data. properties: $propertyBag: additionalProperties: @@ -139063,8 +216079,38 @@ spec: type: object location: type: string + metricsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterMetricsProfile + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240901.ManagedClusterCostAnalysis + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object networkProfile: - description: Storage version of v1api20230201.ContainerServiceNetworkProfile + description: |- + Storage version of v1api20240901.ContainerServiceNetworkProfile + Profile of network configuration. properties: $propertyBag: additionalProperties: @@ -139073,16 +216119,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + advancedNetworking: + description: |- + Storage version of v1api20240901.AdvancedNetworking + Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see + aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + observability: + description: |- + Storage version of v1api20240901.AdvancedNetworkingObservability + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + security: + description: |- + Storage version of v1api20240901.AdvancedNetworkingSecurity + Security profile to enable security features on cilium based cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object dnsServiceIP: type: string - dockerBridgeCidr: - type: string ipFamilies: items: type: string type: array loadBalancerProfile: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile + description: |- + Storage version of v1api20240901.ManagedClusterLoadBalancerProfile + Profile of the managed cluster load balancer. properties: $propertyBag: additionalProperties: @@ -139093,9 +216185,13 @@ spec: type: object allocatedOutboundPorts: type: integer + backendPoolType: + type: string effectiveOutboundIPs: items: - description: Storage version of v1api20230201.ResourceReference + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -139105,7 +216201,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -139131,7 +216227,7 @@ spec: idleTimeoutInMinutes: type: integer managedOutboundIPs: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs properties: $propertyBag: additionalProperties: @@ -139146,7 +216242,7 @@ spec: type: integer type: object outboundIPPrefixes: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes properties: $propertyBag: additionalProperties: @@ -139157,7 +216253,9 @@ spec: type: object publicIPPrefixes: items: - description: Storage version of v1api20230201.ResourceReference + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -139167,7 +216265,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -139190,7 +216288,7 @@ spec: type: array type: object outboundIPs: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPs + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs properties: $propertyBag: additionalProperties: @@ -139201,7 +216299,9 @@ spec: type: object publicIPs: items: - description: Storage version of v1api20230201.ResourceReference + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -139211,7 +216311,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -139237,7 +216337,9 @@ spec: loadBalancerSku: type: string natGatewayProfile: - description: Storage version of v1api20230201.ManagedClusterNATGatewayProfile + description: |- + Storage version of v1api20240901.ManagedClusterNATGatewayProfile + Profile of the managed cluster NAT gateway. properties: $propertyBag: additionalProperties: @@ -139248,7 +216350,9 @@ spec: type: object effectiveOutboundIPs: items: - description: Storage version of v1api20230201.ResourceReference + description: |- + Storage version of v1api20240901.ResourceReference + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -139258,7 +216362,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The fully qualified Azure resource id.' properties: armId: description: |- @@ -139282,7 +216386,9 @@ spec: idleTimeoutInMinutes: type: integer managedOutboundIPProfile: - description: Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile + description: |- + Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile + Profile of the managed outbound IP resources of the managed cluster. properties: $propertyBag: additionalProperties: @@ -139322,8 +216428,25 @@ spec: type: object nodeResourceGroup: type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object oidcIssuerProfile: - description: Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile + description: |- + Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile + The OIDC issuer profile of the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -139337,7 +216460,7 @@ spec: type: object operatorSpec: description: |- - Storage version of v1api20230201.ManagedClusterOperatorSpec + Storage version of v1api20240901.ManagedClusterOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -139377,7 +216500,7 @@ spec: type: object type: array configMaps: - description: Storage version of v1api20230201.ManagedClusterOperatorConfigMaps + description: Storage version of v1api20240901.ManagedClusterOperatorConfigMaps properties: $propertyBag: additionalProperties: @@ -139404,24 +216527,6 @@ spec: - key - name type: object - principalId: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object type: object secretExpressions: items: @@ -139453,7 +216558,7 @@ spec: type: object type: array secrets: - description: Storage version of v1api20230201.ManagedClusterOperatorSecrets + description: Storage version of v1api20240901.ManagedClusterOperatorSecrets properties: $propertyBag: additionalProperties: @@ -139516,7 +216621,10 @@ spec: type: string type: object podIdentityProfile: - description: Storage version of v1api20230201.ManagedClusterPodIdentityProfile + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProfile + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. properties: $propertyBag: additionalProperties: @@ -139531,7 +216639,9 @@ spec: type: boolean userAssignedIdentities: items: - description: Storage version of v1api20230201.ManagedClusterPodIdentity + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentity + Details about the pod identity assigned to the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -139543,7 +216653,9 @@ spec: bindingSelector: type: string identity: - description: Storage version of v1api20230201.UserAssignedIdentity + description: |- + Storage version of v1api20240901.UserAssignedIdentity + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -139557,7 +216669,7 @@ spec: objectId: type: string resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'ResourceReference: The resource ID of the user assigned identity.' properties: armId: description: |- @@ -139585,7 +216697,10 @@ spec: type: array userAssignedIdentityExceptions: items: - description: Storage version of v1api20230201.ManagedClusterPodIdentityException + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityException + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: $propertyBag: additionalProperties: @@ -139607,7 +216722,9 @@ spec: type: object privateLinkResources: items: - description: Storage version of v1api20230201.PrivateLinkResource + description: |- + Storage version of v1api20240901.PrivateLinkResource + A private link resource properties: $propertyBag: additionalProperties: @@ -139621,7 +216738,7 @@ spec: name: type: string reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: 'Reference: The ID of the private link resource.' properties: armId: description: |- @@ -139651,7 +216768,9 @@ spec: publicNetworkAccess: type: string securityProfile: - description: Storage version of v1api20230201.ManagedClusterSecurityProfile + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfile + Security profile for the container service cluster. properties: $propertyBag: additionalProperties: @@ -139661,7 +216780,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object azureKeyVaultKms: - description: Storage version of v1api20230201.AzureKeyVaultKms + description: |- + Storage version of v1api20240901.AzureKeyVaultKms + Azure Key Vault key management service settings for the security profile. properties: $propertyBag: additionalProperties: @@ -139677,7 +216798,9 @@ spec: keyVaultNetworkAccess: type: string keyVaultResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and + must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. properties: armId: description: |- @@ -139698,7 +216821,9 @@ spec: type: object type: object defender: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefender + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefender + Microsoft Defender settings for the security profile. properties: $propertyBag: additionalProperties: @@ -139708,7 +216833,10 @@ spec: resources, allowing for full fidelity round trip conversions type: object logAnalyticsWorkspaceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft + Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When + Microsoft Defender is disabled, leave the field empty. properties: armId: description: |- @@ -139728,7 +216856,9 @@ spec: type: string type: object securityMonitoring: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring + Microsoft Defender settings for the security profile threat detection. properties: $propertyBag: additionalProperties: @@ -139742,7 +216872,10 @@ spec: type: object type: object imageCleaner: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. properties: $propertyBag: additionalProperties: @@ -139757,7 +216890,9 @@ spec: type: integer type: object workloadIdentity: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity + Workload identity settings for the security profile. properties: $propertyBag: additionalProperties: @@ -139770,8 +216905,147 @@ spec: type: boolean type: object type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240901.ServiceMeshProfile + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240901.IstioServiceMesh + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240901.IstioCertificateAuthority + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240901.IstioPluginCertificateAuthority + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultReference: + description: 'KeyVaultReference: The resource ID of the Key Vault.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240901.IstioComponents + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240901.IstioEgressGateway + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240901.IstioIngressGateway + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object servicePrincipalProfile: - description: Storage version of v1api20230201.ManagedClusterServicePrincipalProfile + description: |- + Storage version of v1api20240901.ManagedClusterServicePrincipalProfile + Information about a service principal identity for the cluster to use for manipulating Azure APIs. properties: $propertyBag: additionalProperties: @@ -139801,7 +217075,9 @@ spec: type: object type: object sku: - description: Storage version of v1api20230201.ManagedClusterSKU + description: |- + Storage version of v1api20240901.ManagedClusterSKU + The SKU of a Managed Cluster. properties: $propertyBag: additionalProperties: @@ -139816,7 +217092,9 @@ spec: type: string type: object storageProfile: - description: Storage version of v1api20230201.ManagedClusterStorageProfile + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfile + Storage profile for the container service cluster. properties: $propertyBag: additionalProperties: @@ -139826,7 +217104,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object blobCSIDriver: - description: Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver + AzureBlob CSI Driver settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -139839,7 +217119,9 @@ spec: type: boolean type: object diskCSIDriver: - description: Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver + AzureDisk CSI Driver settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -139852,7 +217134,9 @@ spec: type: boolean type: object fileCSIDriver: - description: Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver + AzureFile CSI Driver settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -139865,7 +217149,9 @@ spec: type: boolean type: object snapshotController: - description: Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController + Snapshot Controller settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -139878,12 +217164,46 @@ spec: type: boolean type: object type: object + supportPlan: + type: string tags: additionalProperties: type: string type: object + upgradeSettings: + description: |- + Storage version of v1api20240901.ClusterUpgradeSettings + Settings for upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + overrideSettings: + description: |- + Storage version of v1api20240901.UpgradeOverrideSettings + Settings for overrides when upgrading a cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forceUpgrade: + type: boolean + until: + type: string + type: object + type: object windowsProfile: - description: Storage version of v1api20230201.ManagedClusterWindowsProfile + description: |- + Storage version of v1api20240901.ManagedClusterWindowsProfile + Profile for Windows VMs in the managed cluster. properties: $propertyBag: additionalProperties: @@ -139914,7 +217234,9 @@ spec: enableCSIProxy: type: boolean gmsaProfile: - description: Storage version of v1api20230201.WindowsGmsaProfile + description: |- + Storage version of v1api20240901.WindowsGmsaProfile + Windows gMSA Profile in the managed cluster. properties: $propertyBag: additionalProperties: @@ -139934,7 +217256,9 @@ spec: type: string type: object workloadAutoScalerProfile: - description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile + Workload Auto-scaler profile for the managed cluster. properties: $propertyBag: additionalProperties: @@ -139944,7 +217268,24 @@ spec: resources, allowing for full fidelity round trip conversions type: object keda: - description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. properties: $propertyBag: additionalProperties: @@ -139961,7 +217302,9 @@ spec: - owner type: object status: - description: Storage version of v1api20230201.ManagedCluster_STATUS + description: |- + Storage version of v1api20240901.ManagedCluster_STATUS + Managed cluster. properties: $propertyBag: additionalProperties: @@ -139971,7 +217314,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object aadProfile: - description: Storage version of v1api20230201.ManagedClusterAADProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAADProfile_STATUS + For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). properties: $propertyBag: additionalProperties: @@ -139999,7 +217344,9 @@ spec: type: object addonProfiles: additionalProperties: - description: Storage version of v1api20230201.ManagedClusterAddonProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAddonProfile_STATUS + A Kubernetes add-on profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -140015,7 +217362,9 @@ spec: enabled: type: boolean identity: - description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -140035,7 +217384,9 @@ spec: type: object agentPoolProfiles: items: - description: Storage version of v1api20230201.ManagedClusterAgentPoolProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAgentPoolProfile_STATUS + Profile for the container service agent pool. properties: $propertyBag: additionalProperties: @@ -140048,10 +217399,14 @@ spec: items: type: string type: array + capacityReservationGroupID: + type: string count: type: integer creationData: - description: Storage version of v1api20230201.CreationData_STATUS + description: |- + Storage version of v1api20240901.CreationData_STATUS + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -140065,6 +217420,8 @@ spec: type: object currentOrchestratorVersion: type: string + eTag: + type: string enableAutoScaling: type: boolean enableEncryptionAtHost: @@ -140080,7 +217437,9 @@ spec: hostGroupID: type: string kubeletConfig: - description: Storage version of v1api20230201.KubeletConfig_STATUS + description: |- + Storage version of v1api20240901.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -140117,7 +217476,9 @@ spec: kubeletDiskType: type: string linuxOSConfig: - description: Storage version of v1api20230201.LinuxOSConfig_STATUS + description: |- + Storage version of v1api20240901.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -140129,7 +217490,9 @@ spec: swapFileSizeMB: type: integer sysctls: - description: Storage version of v1api20230201.SysctlConfig_STATUS + description: |- + Storage version of v1api20240901.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -140210,6 +217573,63 @@ spec: type: string name: type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240901.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + type: object nodeImageVersion: type: string nodeLabels: @@ -140235,7 +217655,9 @@ spec: podSubnetID: type: string powerState: - description: Storage version of v1api20230201.PowerState_STATUS + description: |- + Storage version of v1api20240901.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -140257,6 +217679,23 @@ spec: type: string scaleSetPriority: type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object spotMaxPrice: type: number tags: @@ -140266,7 +217705,9 @@ spec: type: type: string upgradeSettings: - description: Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -140275,19 +217716,40 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + drainTimeoutInMinutes: + type: integer maxSurge: type: string + nodeSoakDurationInMinutes: + type: integer type: object vmSize: type: string vnetSubnetID: type: string + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object workloadRuntime: type: string type: object type: array apiServerAccessProfile: - description: Storage version of v1api20230201.ManagedClusterAPIServerAccessProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile_STATUS + Access profile for managed cluster API server. properties: $propertyBag: additionalProperties: @@ -140310,7 +217772,7 @@ spec: type: string type: object autoScalerProfile: - description: Storage version of v1api20230201.ManagedClusterProperties_AutoScalerProfile_STATUS + description: Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile_STATUS properties: $propertyBag: additionalProperties: @@ -140321,8 +217783,14 @@ spec: type: object balance-similar-node-groups: type: string + daemonset-eviction-for-empty-nodes: + type: boolean + daemonset-eviction-for-occupied-nodes: + type: boolean expander: type: string + ignore-daemonsets-utilization: + type: boolean max-empty-bulk-delete: type: string max-graceful-termination-sec: @@ -140355,7 +217823,9 @@ spec: type: string type: object autoUpgradeProfile: - description: Storage version of v1api20230201.ManagedClusterAutoUpgradeProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile_STATUS + Auto upgrade profile for a managed cluster. properties: $propertyBag: additionalProperties: @@ -140364,11 +217834,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + nodeOSUpgradeChannel: + type: string upgradeChannel: type: string type: object azureMonitorProfile: - description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfile_STATUS + Azure Monitor addon profiles for monitoring the managed cluster. properties: $propertyBag: additionalProperties: @@ -140378,7 +217852,11 @@ spec: resources, allowing for full fidelity round trip conversions type: object metrics: - description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileMetrics_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics_STATUS + Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes + infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See + aka.ms/AzureManagedPrometheus for an overview. properties: $propertyBag: additionalProperties: @@ -140390,7 +217868,11 @@ spec: enabled: type: boolean kubeStateMetrics: - description: Storage version of v1api20230201.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS + Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the + kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for + details. properties: $propertyBag: additionalProperties: @@ -140459,12 +217941,16 @@ spec: type: string dnsPrefix: type: string + eTag: + type: string enablePodSecurityPolicy: type: boolean enableRBAC: type: boolean extendedLocation: - description: Storage version of v1api20230201.ExtendedLocation_STATUS + description: |- + Storage version of v1api20240901.ExtendedLocation_STATUS + The complex type of the extended location. properties: $propertyBag: additionalProperties: @@ -140483,7 +217969,9 @@ spec: fqdnSubdomain: type: string httpProxyConfig: - description: Storage version of v1api20230201.ManagedClusterHTTPProxyConfig_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterHTTPProxyConfig_STATUS + Cluster HTTP proxy configuration. properties: $propertyBag: additionalProperties: @@ -140506,7 +217994,9 @@ spec: id: type: string identity: - description: Storage version of v1api20230201.ManagedClusterIdentity_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterIdentity_STATUS + Identity for the managed cluster. properties: $propertyBag: additionalProperties: @@ -140515,6 +218005,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + delegatedResources: + additionalProperties: + description: |- + Storage version of v1api20240901.DelegatedResource_STATUS + Delegated resource properties - internal use only. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + referralResource: + type: string + resourceId: + type: string + tenantId: + type: string + type: object + type: object principalId: type: string tenantId: @@ -140523,7 +218036,7 @@ spec: type: string userAssignedIdentities: additionalProperties: - description: Storage version of v1api20230201.ManagedClusterIdentity_UserAssignedIdentities_STATUS + description: Storage version of v1api20240901.ManagedClusterIdentity_UserAssignedIdentities_STATUS properties: $propertyBag: additionalProperties: @@ -140541,7 +218054,9 @@ spec: type: object identityProfile: additionalProperties: - description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -140558,10 +218073,63 @@ spec: type: string type: object type: object + ingressProfile: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfile_STATUS + Ingress profile for the container service cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webAppRouting: + description: |- + Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting_STATUS + Application Routing add-on settings for the ingress profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsZoneResourceIds: + items: + type: string + type: array + enabled: + type: boolean + identity: + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + objectId: + type: string + resourceId: + type: string + type: object + type: object + type: object kubernetesVersion: type: string linuxProfile: - description: Storage version of v1api20230201.ContainerServiceLinuxProfile_STATUS + description: |- + Storage version of v1api20240901.ContainerServiceLinuxProfile_STATUS + Profile for Linux VMs in the container service cluster. properties: $propertyBag: additionalProperties: @@ -140573,7 +218141,9 @@ spec: adminUsername: type: string ssh: - description: Storage version of v1api20230201.ContainerServiceSshConfiguration_STATUS + description: |- + Storage version of v1api20240901.ContainerServiceSshConfiguration_STATUS + SSH configuration for Linux-based VMs running on Azure. properties: $propertyBag: additionalProperties: @@ -140584,7 +218154,9 @@ spec: type: object publicKeys: items: - description: Storage version of v1api20230201.ContainerServiceSshPublicKey_STATUS + description: |- + Storage version of v1api20240901.ContainerServiceSshPublicKey_STATUS + Contains information about SSH certificate public key data. properties: $propertyBag: additionalProperties: @@ -140603,10 +218175,40 @@ spec: type: string maxAgentPools: type: integer + metricsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterMetricsProfile_STATUS + The metrics profile for the ManagedCluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + costAnalysis: + description: |- + Storage version of v1api20240901.ManagedClusterCostAnalysis_STATUS + The cost analysis configuration for the cluster + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object name: type: string networkProfile: - description: Storage version of v1api20230201.ContainerServiceNetworkProfile_STATUS + description: |- + Storage version of v1api20240901.ContainerServiceNetworkProfile_STATUS + Profile of network configuration. properties: $propertyBag: additionalProperties: @@ -140615,16 +218217,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + advancedNetworking: + description: |- + Storage version of v1api20240901.AdvancedNetworking_STATUS + Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see + aka.ms/aksadvancednetworking. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + observability: + description: |- + Storage version of v1api20240901.AdvancedNetworkingObservability_STATUS + Observability profile to enable advanced network metrics and flow logs with historical contexts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + security: + description: |- + Storage version of v1api20240901.AdvancedNetworkingSecurity_STATUS + Security profile to enable security features on cilium based cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object dnsServiceIP: type: string - dockerBridgeCidr: - type: string ipFamilies: items: type: string type: array loadBalancerProfile: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_STATUS + Profile of the managed cluster load balancer. properties: $propertyBag: additionalProperties: @@ -140635,9 +218283,13 @@ spec: type: object allocatedOutboundPorts: type: integer + backendPoolType: + type: string effectiveOutboundIPs: items: - description: Storage version of v1api20230201.ResourceReference_STATUS + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -140655,7 +218307,7 @@ spec: idleTimeoutInMinutes: type: integer managedOutboundIPs: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -140670,7 +218322,7 @@ spec: type: integer type: object outboundIPPrefixes: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS properties: $propertyBag: additionalProperties: @@ -140681,7 +218333,9 @@ spec: type: object publicIPPrefixes: items: - description: Storage version of v1api20230201.ResourceReference_STATUS + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -140696,7 +218350,7 @@ spec: type: array type: object outboundIPs: - description: Storage version of v1api20230201.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS properties: $propertyBag: additionalProperties: @@ -140707,7 +218361,9 @@ spec: type: object publicIPs: items: - description: Storage version of v1api20230201.ResourceReference_STATUS + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -140725,7 +218381,9 @@ spec: loadBalancerSku: type: string natGatewayProfile: - description: Storage version of v1api20230201.ManagedClusterNATGatewayProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterNATGatewayProfile_STATUS + Profile of the managed cluster NAT gateway. properties: $propertyBag: additionalProperties: @@ -140736,7 +218394,9 @@ spec: type: object effectiveOutboundIPs: items: - description: Storage version of v1api20230201.ResourceReference_STATUS + description: |- + Storage version of v1api20240901.ResourceReference_STATUS + A reference to an Azure resource. properties: $propertyBag: additionalProperties: @@ -140752,7 +218412,9 @@ spec: idleTimeoutInMinutes: type: integer managedOutboundIPProfile: - description: Storage version of v1api20230201.ManagedClusterManagedOutboundIPProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile_STATUS + Profile of the managed outbound IP resources of the managed cluster. properties: $propertyBag: additionalProperties: @@ -140792,8 +218454,25 @@ spec: type: object nodeResourceGroup: type: string + nodeResourceGroupProfile: + description: |- + Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile_STATUS + Node resource group lockdown profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restrictionLevel: + type: string + type: object oidcIssuerProfile: - description: Storage version of v1api20230201.ManagedClusterOIDCIssuerProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile_STATUS + The OIDC issuer profile of the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -140808,7 +218487,10 @@ spec: type: string type: object podIdentityProfile: - description: Storage version of v1api20230201.ManagedClusterPodIdentityProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProfile_STATUS + See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod + identity integration. properties: $propertyBag: additionalProperties: @@ -140823,7 +218505,9 @@ spec: type: boolean userAssignedIdentities: items: - description: Storage version of v1api20230201.ManagedClusterPodIdentity_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentity_STATUS + Details about the pod identity assigned to the Managed Cluster. properties: $propertyBag: additionalProperties: @@ -140835,7 +218519,9 @@ spec: bindingSelector: type: string identity: - description: Storage version of v1api20230201.UserAssignedIdentity_STATUS + description: |- + Storage version of v1api20240901.UserAssignedIdentity_STATUS + Details about a user assigned identity. properties: $propertyBag: additionalProperties: @@ -140856,7 +218542,7 @@ spec: namespace: type: string provisioningInfo: - description: Storage version of v1api20230201.ManagedClusterPodIdentity_ProvisioningInfo_STATUS + description: Storage version of v1api20240901.ManagedClusterPodIdentity_ProvisioningInfo_STATUS properties: $propertyBag: additionalProperties: @@ -140866,7 +218552,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object error: - description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningError_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningError_STATUS + An error response from the pod identity provisioning. properties: $propertyBag: additionalProperties: @@ -140876,7 +218564,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object error: - description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS + An error response from the pod identity provisioning. properties: $propertyBag: additionalProperties: @@ -140889,7 +218579,7 @@ spec: type: string details: items: - description: Storage version of v1api20230201.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled + description: Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled properties: $propertyBag: additionalProperties: @@ -140919,7 +218609,10 @@ spec: type: array userAssignedIdentityExceptions: items: - description: Storage version of v1api20230201.ManagedClusterPodIdentityException_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterPodIdentityException_STATUS + See [disable AAD Pod Identity for a specific + Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. properties: $propertyBag: additionalProperties: @@ -140940,7 +218633,9 @@ spec: type: array type: object powerState: - description: Storage version of v1api20230201.PowerState_STATUS + description: |- + Storage version of v1api20240901.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -140956,7 +218651,9 @@ spec: type: string privateLinkResources: items: - description: Storage version of v1api20230201.PrivateLinkResource_STATUS + description: |- + Storage version of v1api20240901.PrivateLinkResource_STATUS + A private link resource properties: $propertyBag: additionalProperties: @@ -140985,8 +218682,12 @@ spec: type: string publicNetworkAccess: type: string + resourceUID: + type: string securityProfile: - description: Storage version of v1api20230201.ManagedClusterSecurityProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfile_STATUS + Security profile for the container service cluster. properties: $propertyBag: additionalProperties: @@ -140996,7 +218697,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object azureKeyVaultKms: - description: Storage version of v1api20230201.AzureKeyVaultKms_STATUS + description: |- + Storage version of v1api20240901.AzureKeyVaultKms_STATUS + Azure Key Vault key management service settings for the security profile. properties: $propertyBag: additionalProperties: @@ -141015,7 +218718,9 @@ spec: type: string type: object defender: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefender_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefender_STATUS + Microsoft Defender settings for the security profile. properties: $propertyBag: additionalProperties: @@ -141027,7 +218732,9 @@ spec: logAnalyticsWorkspaceResourceId: type: string securityMonitoring: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + Microsoft Defender settings for the security profile threat detection. properties: $propertyBag: additionalProperties: @@ -141041,7 +218748,10 @@ spec: type: object type: object imageCleaner: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileImageCleaner_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner_STATUS + Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here + are settings for the security profile. properties: $propertyBag: additionalProperties: @@ -141056,7 +218766,9 @@ spec: type: integer type: object workloadIdentity: - description: Storage version of v1api20230201.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + Workload identity settings for the security profile. properties: $propertyBag: additionalProperties: @@ -141069,8 +218781,129 @@ spec: type: boolean type: object type: object + serviceMeshProfile: + description: |- + Storage version of v1api20240901.ServiceMeshProfile_STATUS + Service mesh profile for a managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + istio: + description: |- + Storage version of v1api20240901.IstioServiceMesh_STATUS + Istio service mesh configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + description: |- + Storage version of v1api20240901.IstioCertificateAuthority_STATUS + Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described + here https://aka.ms/asm-plugin-ca + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + plugin: + description: |- + Storage version of v1api20240901.IstioPluginCertificateAuthority_STATUS + Plugin certificates information for Service Mesh. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certChainObjectName: + type: string + certObjectName: + type: string + keyObjectName: + type: string + keyVaultId: + type: string + rootCertObjectName: + type: string + type: object + type: object + components: + description: |- + Storage version of v1api20240901.IstioComponents_STATUS + Istio components configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + egressGateways: + items: + description: |- + Storage version of v1api20240901.IstioEgressGateway_STATUS + Istio egress gateway configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: array + ingressGateways: + items: + description: |- + Storage version of v1api20240901.IstioIngressGateway_STATUS + Istio ingress gateway configuration. For now, we support up to one external ingress gateway named + `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + mode: + type: string + type: object + type: array + type: object + revisions: + items: + type: string + type: array + type: object + mode: + type: string + type: object servicePrincipalProfile: - description: Storage version of v1api20230201.ManagedClusterServicePrincipalProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterServicePrincipalProfile_STATUS + Information about a service principal identity for the cluster to use for manipulating Azure APIs. properties: $propertyBag: additionalProperties: @@ -141083,7 +218916,9 @@ spec: type: string type: object sku: - description: Storage version of v1api20230201.ManagedClusterSKU_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterSKU_STATUS + The SKU of a Managed Cluster. properties: $propertyBag: additionalProperties: @@ -141098,7 +218933,9 @@ spec: type: string type: object storageProfile: - description: Storage version of v1api20230201.ManagedClusterStorageProfile_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfile_STATUS + Storage profile for the container service cluster. properties: $propertyBag: additionalProperties: @@ -141108,7 +218945,9 @@ spec: resources, allowing for full fidelity round trip conversions type: object blobCSIDriver: - description: Storage version of v1api20230201.ManagedClusterStorageProfileBlobCSIDriver_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver_STATUS + AzureBlob CSI Driver settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -141121,7 +218960,9 @@ spec: type: boolean type: object diskCSIDriver: - description: Storage version of v1api20230201.ManagedClusterStorageProfileDiskCSIDriver_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver_STATUS + AzureDisk CSI Driver settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -141134,7 +218975,9 @@ spec: type: boolean type: object fileCSIDriver: - description: Storage version of v1api20230201.ManagedClusterStorageProfileFileCSIDriver_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver_STATUS + AzureFile CSI Driver settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -141147,7 +218990,9 @@ spec: type: boolean type: object snapshotController: - description: Storage version of v1api20230201.ManagedClusterStorageProfileSnapshotController_STATUS + description: |- + Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController_STATUS + Snapshot Controller settings for the storage profile. properties: $propertyBag: additionalProperties: @@ -141160,8 +219005,12 @@ spec: type: boolean type: object type: object + supportPlan: + type: string systemData: - description: Storage version of v1api20230201.SystemData_STATUS + description: |- + Storage version of v1api20240901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -141189,8 +219038,10 @@ spec: type: object type: type: string - windowsProfile: - description: Storage version of v1api20230201.ManagedClusterWindowsProfile_STATUS + upgradeSettings: + description: |- + Storage version of v1api20240901.ClusterUpgradeSettings_STATUS + Settings for upgrading a cluster. properties: $propertyBag: additionalProperties: @@ -141199,42 +219050,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: - type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: Storage version of v1api20230201.WindowsGmsaProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: - type: string - type: object - workloadAutoScalerProfile: - description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + overrideSettings: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keda: - description: Storage version of v1api20230201.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + Storage version of v1api20240901.UpgradeOverrideSettings_STATUS + Settings for overrides when upgrading a cluster. properties: $propertyBag: additionalProperties: @@ -141243,1399 +219062,380 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: + forceUpgrade: type: boolean - type: object - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20231001 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - aadProfile: - description: 'AadProfile: The Azure Active Directory configuration.' - properties: - adminGroupObjectIDs: - description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' - items: - type: string - type: array - clientAppID: - description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - enableAzureRBAC: - description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' - type: boolean - managed: - description: 'Managed: Whether to enable managed AAD.' - type: boolean - serverAppID: - description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - serverAppSecret: - description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - tenantID: - description: |- - TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - subscription. - type: string - type: object - addonProfiles: - additionalProperties: - description: A Kubernetes add-on profile for a managed cluster. - properties: - config: - additionalProperties: - type: string - description: 'Config: Key-value pairs for configuring an add-on.' - type: object - enabled: - description: 'Enabled: Whether the add-on is enabled or not.' - type: boolean - required: - - enabled - type: object - description: 'AddonProfiles: The profile of managed cluster add-on.' - type: object - agentPoolProfiles: - description: 'AgentPoolProfiles: The agent pool properties.' - items: - description: Profile for the container service agent pool. - properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - minimum: 2 - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. - type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: - description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User - type: string - name: - description: 'Name: Windows agent pool names must be 6 characters or less.' - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - maximum: 65535 - minimum: 1 - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: - description: |- - ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - created. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - enum: - - AzureLinux - - CBLMariner - - Ubuntu - - Windows2019 - - Windows2022 - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' - enum: - - Running - - Stopped - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: + until: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - maximum: 1440 - minimum: 1 - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - OCIContainer - - WasmWasi - type: string - required: - - name - type: object - type: array - apiServerAccessProfile: - description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' - properties: - authorizedIPRanges: - description: |- - AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - items: - type: string - type: array - disableRunCommand: - description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' - type: boolean - enablePrivateCluster: - description: |- - EnablePrivateCluster: For more details, see [Creating a private AKS - cluster](https://docs.microsoft.com/azure/aks/private-clusters). - type: boolean - enablePrivateClusterPublicFQDN: - description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' - type: boolean - privateDNSZone: - description: |- - PrivateDNSZone: The default is System. For more details see [configure private DNS - zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - 'none'. - type: string - type: object - autoScalerProfile: - description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' - properties: - balance-similar-node-groups: - description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' - type: string - expander: - description: |- - Expander: If not specified, the default is 'random'. See - [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - information. - enum: - - least-waste - - most-pods - - priority - - random - type: string - max-empty-bulk-delete: - description: 'MaxEmptyBulkDelete: The default is 10.' - type: string - max-graceful-termination-sec: - description: 'MaxGracefulTerminationSec: The default is 600.' - type: string - max-node-provision-time: - description: |- - MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - max-total-unready-percentage: - description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' - type: string - new-pod-scale-up-delay: - description: |- - NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - type: string - ok-total-unready-count: - description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' - type: string - scale-down-delay-after-add: - description: |- - ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-delay-after-delete: - description: |- - ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - time other than minutes (m) is supported. - type: string - scale-down-delay-after-failure: - description: |- - ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - than minutes (m) is supported. - type: string - scale-down-unneeded-time: - description: |- - ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-unready-time: - description: |- - ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-utilization-threshold: - description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' - type: string - scan-interval: - description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' - type: string - skip-nodes-with-local-storage: - description: 'SkipNodesWithLocalStorage: The default is true.' - type: string - skip-nodes-with-system-pods: - description: 'SkipNodesWithSystemPods: The default is true.' - type: string + type: object type: object - autoUpgradeProfile: - description: 'AutoUpgradeProfile: The auto upgrade configuration.' + windowsProfile: + description: |- + Storage version of v1api20240901.ManagedClusterWindowsProfile_STATUS + Profile for Windows VMs in the managed cluster. properties: - nodeOSUpgradeChannel: - description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' - enum: - - NodeImage - - None - - Unmanaged + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminUsername: type: string - upgradeChannel: + enableCSIProxy: + type: boolean + gmsaProfile: description: |- - UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - enum: - - node-image - - none - - patch - - rapid - - stable + Storage version of v1api20240901.WindowsGmsaProfile_STATUS + Windows gMSA Profile in the managed cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dnsServer: + type: string + enabled: + type: boolean + rootDomainName: + type: string + type: object + licenseType: type: string type: object - azureMonitorProfile: - description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + workloadAutoScalerProfile: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile_STATUS + Workload Auto-scaler profile for the managed cluster. properties: - metrics: + $propertyBag: + additionalProperties: + type: string description: |- - Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keda: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS + KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. properties: - enabled: + $propertyBag: + additionalProperties: + type: string description: |- - Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: type: boolean - kubeStateMetrics: + type: object + verticalPodAutoscaler: + description: |- + Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS + VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. - properties: - metricAnnotationsAllowList: - description: |- - MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - contains only resource name and namespace labels. - type: string - metricLabelsAllowlist: - description: |- - MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - resource name and namespace labels. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - required: - - enabled + enabled: + type: boolean type: object type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: managedclustersagentpools.containerservice.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerservice.azure.com + names: + categories: + - azure + - containerservice + kind: ManagedClustersAgentPool + listKind: ManagedClustersAgentPoolList + plural: managedclustersagentpools + singular: managedclustersagentpool + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ type: string - disableLocalAccounts: + count: description: |- - DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - used on Managed Clusters that are AAD enabled. For more details see [disable local - accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean - diskEncryptionSetReference: + enableEncryptionAtHost: description: |- - DiskEncryptionSetReference: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - dnsPrefix: - description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' - type: string - enablePodSecurityPolicy: + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: description: |- - EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - https://aka.ms/aks/psp. + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean - enableRBAC: - description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the Virtual Machine.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - fqdnSubdomain: - description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g type: string - httpProxyConfig: - description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - httpProxy: - description: 'HttpProxy: The HTTP proxy server endpoint to use.' - type: string - httpsProxy: - description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' - type: string - noProxy: - description: 'NoProxy: The endpoints that should not go through proxy.' + allowedUnsafeSysctls: items: type: string type: array - trustedCa: - description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - type: object - identity: - description: 'Identity: The identity of the managed cluster, if configured.' - properties: - delegatedResources: - additionalProperties: - description: Delegated resource properties - internal use only. - properties: - location: - description: 'Location: The source resource location - internal use only.' - type: string - referralResource: - description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' - type: string - resourceReference: - description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: - description: 'TenantId: The tenant id of the delegated resource - internal use only.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - type: object - description: |- - DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - type: object - type: - description: |- - Type: For more information see [use managed identities in - AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - enum: - - None - - SystemAssigned - - UserAssigned + cpuManagerPolicy: type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The keys must be ARM resource IDs in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - identityProfile: - additionalProperties: - description: Details about a user assigned identity. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - description: 'IdentityProfile: Identities associated with the cluster.' - type: object - kubernetesVersion: - description: |- - KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - type: string - linuxProfile: - description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' - properties: - adminUsername: - description: 'AdminUsername: The administrator username to use for Linux VMs.' - pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - ssh: - description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' - properties: - publicKeys: - description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' - items: - description: Contains information about SSH certificate public key data. - properties: - keyData: - description: |- - KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - without headers. - type: string - required: - - keyData - type: object - type: array - required: - - publicKeys - type: object - required: - - adminUsername - - ssh type: object - location: - description: 'Location: The geo-location where the resource lives' + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary type: string - networkProfile: - description: 'NetworkProfile: The network configuration profile.' + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - dnsServiceIP: - description: |- - DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - range specified in serviceCidr. - pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - type: string - ipFamilies: - description: |- - IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - items: - enum: - - IPv4 - - IPv6 - type: string - type: array - loadBalancerProfile: - description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + swapFileSizeMB: + type: integer + sysctls: properties: - allocatedOutboundPorts: - description: |- - AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - maximum: 64000 - minimum: 0 + fsAioMaxNr: type: integer - backendPoolType: - description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' - enum: - - NodeIP - - NodeIPConfiguration + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - enableMultipleStandardLoadBalancers: - description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 30 minutes. - maximum: 120 - minimum: 4 + netIpv4TcpkeepaliveIntvl: type: integer - managedOutboundIPs: - description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' - properties: - count: - description: |- - Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - must be in the range of 1 to 100 (inclusive). The default value is 1. - maximum: 100 - minimum: 1 - type: integer - countIPv6: - description: |- - CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - maximum: 100 - minimum: 0 - type: integer - type: object - outboundIPPrefixes: - description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' - properties: - publicIPPrefixes: - description: 'PublicIPPrefixes: A list of public IP prefix resources.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' - properties: - publicIPs: - description: 'PublicIPs: A list of public IP resources.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: - description: |- - LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - balancer SKUs. - enum: - - basic - - standard - type: string - natGatewayProfile: - description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' - properties: - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 4 minutes. - maximum: 120 - minimum: 4 + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: type: integer - managedOutboundIPProfile: - description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' - properties: - count: - description: |- - Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - (inclusive). The default value is 1. - maximum: 16 - minimum: 1 - type: integer - type: object type: object - networkDataplane: - description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' - enum: - - azure - - cilium - type: string - networkMode: - description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' - enum: - - bridge - - transparent - type: string - networkPlugin: - description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' - enum: - - azure - - kubenet - - none - type: string - networkPluginMode: - description: 'NetworkPluginMode: The mode the network plugin should use.' - enum: - - overlay + transparentHugePageDefrag: type: string - networkPolicy: - description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' - enum: - - azure - - calico - - cilium + transparentHugePageEnabled: type: string - outboundType: + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixIDReference: + description: |- + NodePublicIPPrefixIDReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: description: |- - OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - enum: - - loadBalancer - - managedNATGateway - - userAssignedNATGateway - - userDefinedRouting + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - podCidr: - description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + group: + description: Group is the Kubernetes group of the resource. type: string - podCidrs: - description: |- - PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. - items: - type: string - type: array - serviceCidr: - description: |- - ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - ranges. - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - serviceCidrs: - description: |- - ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - items: - type: string - type: array - type: object - nodeResourceGroup: - description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' - type: string - oidcIssuerProfile: - description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' - properties: - enabled: - description: 'Enabled: Whether the OIDC issuer is enabled.' - type: boolean type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -142671,42 +219471,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - oidcIssuerProfile: - description: |- - OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be - created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - principalId: - description: 'PrincipalId: indicates where the PrincipalId config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -142737,1243 +219501,883 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - adminCredentials: - description: |- - AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object - owner: + orchestratorVersion: + description: |- + OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes + version. The node pool version must have the same major version as the control plane. The node pool minor version must + be within two minor versions of the control plane version. The node pool version cannot be greater than the control + plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: 'OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows.' + enum: + - CBLMariner + - Ubuntu + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetIDReference: + description: |- + PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more + details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + maxSurge: + type: string + type: object + vmSize: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetIDReference: + description: |- + VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - podIdentityProfile: + required: + - owner + type: object + status: + properties: + availabilityZones: description: |- - PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - details on AAD pod identity integration. - properties: - allowNetworkPluginKubenet: - description: |- - AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - for more information. - type: boolean - enabled: - description: 'Enabled: Whether the pod identity addon is enabled.' - type: boolean - userAssignedIdentities: - description: 'UserAssignedIdentities: The pod identities to use in the cluster.' - items: - description: Details about the pod identity assigned to the Managed Cluster. - properties: - bindingSelector: - description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' - type: string - identity: - description: 'Identity: The user assigned identity details.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - description: 'Name: The name of the pod identity.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity.' - type: string - required: - - identity - - name - - namespace - type: object - type: array - userAssignedIdentityExceptions: - description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' - items: - description: |- - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - properties: - name: - description: 'Name: The name of the pod identity exception.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity exception.' - type: string - podLabels: - additionalProperties: - type: string - description: 'PodLabels: The pod labels to match.' - type: object - required: - - name - - namespace - - podLabels - type: object - type: array - type: object - privateLinkResources: - description: 'PrivateLinkResources: Private link resources associated with the cluster.' + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. items: - description: A private link resource + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource properties: - groupId: - description: 'GroupId: The group ID of the resource.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - name: - description: 'Name: The name of the private link resource.' + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string - reference: - description: 'Reference: The ID of the private link resource.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - description: 'RequiredMembers: The RequiredMembers of the resource' - items: - type: string - type: array type: - description: 'Type: The resource type.' + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - publicNetworkAccess: - description: 'PublicNetworkAccess: Allow or deny public network access for AKS' - enum: - - Disabled - - Enabled + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' type: string - securityProfile: - description: 'SecurityProfile: Security profile for the managed cluster.' - properties: - azureKeyVaultKms: - description: |- - AzureKeyVaultKms: Azure Key Vault [key management - service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' - type: boolean - keyId: - description: |- - KeyId: Identifier of Azure Key Vault key. See [key identifier - format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - identifier. When Azure Key Vault key management service is disabled, leave the field empty. - type: string - keyVaultNetworkAccess: - description: |- - KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - key vault allows public access from all networks. `Private` means the key vault disables public access and enables - private link. The default value is `Public`. - enum: - - Private - - Public - type: string - keyVaultResourceReference: - description: |- - KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defender: - description: 'Defender: Microsoft Defender settings for the security profile.' - properties: - logAnalyticsWorkspaceResourceReference: - description: |- - LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - Microsoft Defender is disabled, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Defender threat detection' - type: boolean - type: object - type: object - imageCleaner: - description: 'ImageCleaner: Image Cleaner settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' - type: boolean - intervalHours: - description: 'IntervalHours: Image Cleaner scanning interval in hours.' - type: integer - type: object - workloadIdentity: - description: |- - WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - properties: - enabled: - description: 'Enabled: Whether to enable workload identity.' - type: boolean - type: object - type: object - serviceMeshProfile: - description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - istio: - description: 'Istio: Istio service mesh configuration.' - properties: - certificateAuthority: - description: |- - CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - certificates as described here https://aka.ms/asm-plugin-ca - properties: - plugin: - description: 'Plugin: Plugin certificates information for Service Mesh.' - properties: - certChainObjectName: - description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' - type: string - certObjectName: - description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' - type: string - keyObjectName: - description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' - type: string - keyVaultReference: - description: 'KeyVaultReference: The resource ID of the Key Vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: - description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' - type: string - type: object - type: object - components: - description: 'Components: Istio components configuration.' - properties: - egressGateways: - description: 'EgressGateways: Istio egress gateways.' - items: - description: Istio egress gateway configuration. - properties: - enabled: - description: 'Enabled: Whether to enable the egress gateway.' - type: boolean - nodeSelector: - additionalProperties: - type: string - description: 'NodeSelector: NodeSelector for scheduling the egress gateway.' - type: object - required: - - enabled - type: object - type: array - ingressGateways: - description: 'IngressGateways: Istio ingress gateways.' - items: - description: |- - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - enabled: - description: 'Enabled: Whether to enable the ingress gateway.' - type: boolean - mode: - description: 'Mode: Mode of an ingress gateway.' - enum: - - External - - Internal - type: string - required: - - enabled - - mode - type: object - type: array - type: object - revisions: - description: |- - Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - items: - type: string - maxItems: 2 - type: array - type: object - mode: - description: 'Mode: Mode of the service mesh.' - enum: - - Disabled - - Istio + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - required: - - mode type: object - servicePrincipalProfile: + kubeletDiskType: description: |- - ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - APIs. + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - clientId: - description: 'ClientId: The ID for the service principal.' - type: string - secret: - description: 'Secret: The secret password associated with the service principal in plain text.' + swapFileSizeMB: + type: integer + sysctls: properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string - required: - - key - - name + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object - required: - - clientId - type: object - sku: - description: 'Sku: The managed cluster SKU.' - properties: - name: - description: 'Name: The name of a managed cluster SKU.' - enum: - - Base + transparentHugePageDefrag: type: string - tier: - description: |- - Tier: If not specified, the default is 'Free'. See [AKS Pricing - Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. - enum: - - Free - - Premium - - Standard + transparentHugePageEnabled: type: string type: object - storageProfile: - description: 'StorageProfile: Storage profile for the managed cluster.' + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes + version. The node pool version must have the same major version as the control plane. The node pool minor version must + be within two minor versions of the control plane version. The node pool version cannot be greater than the control + plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: 'OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows.' + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: 'PowerState: Describes whether the Agent Pool is Running or Stopped' properties: - blobCSIDriver: - description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' - type: boolean - type: object - diskCSIDriver: - description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' - type: boolean - type: object - fileCSIDriver: - description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' - type: boolean - type: object - snapshotController: - description: 'SnapshotController: Snapshot Controller settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' - type: boolean - type: object + code: + type: string type: object - supportPlan: - description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' - enum: - - AKSLongTermSupport - - KubernetesOfficial + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object + type: + description: 'Type: Resource type' + type: string upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading a cluster.' + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - overrideSettings: - description: 'OverrideSettings: Settings for overrides.' - properties: - forceUpgrade: - description: |- - ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - protections such as checking for deprecated API usage. Enable this option only with caution. - type: boolean - until: - description: |- - Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - by default. It must be set for the overrides to take effect. - type: string - type: object + maxSurge: + type: string type: object - windowsProfile: - description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210501.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210501.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig properties: - adminPassword: + $propertyBag: + additionalProperties: + type: string description: |- - AdminPassword: Specifies the password of the administrator account. - Minimum-length: 8 characters - Max-length: 123 characters - Complexity requirements: 3 out of 4 conditions below need to be fulfilled - Has lower characters - Has upper characters - Has a digit - Has a special character (Regex match [\W_]) - Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - "Password22", "iloveyou!" - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - adminUsername: - description: |- - AdminUsername: Specifies the name of the administrator account. - Restriction: Cannot end in "." - Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - Minimum-length: 1 character - Max-length: 20 characters + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - enableCSIProxy: - description: |- - EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - repo](https://github.com/kubernetes-csi/csi-proxy). + cpuManagerPolicy: + type: string + failSwapOn: type: boolean - gmsaProfile: - description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' - properties: - dnsServer: - description: |- - DnsServer: Specifies the DNS server for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - enabled: - description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' - type: boolean - rootDomainName: - description: |- - RootDomainName: Specifies the root domain name for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - type: object - licenseType: - description: |- - LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - enum: - - None - - Windows_Server + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - required: - - adminUsername type: object - workloadAutoScalerProfile: - description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig properties: - keda: - description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable KEDA.' - type: boolean - required: - - enabled + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - verticalPodAutoscaler: - description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig properties: - enabled: - description: 'Enabled: Whether to enable VPA. Default value is false.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean - required: - - enabled + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - required: - - location - - owner - type: object - status: - description: Managed cluster. - properties: - aadProfile: - description: 'AadProfile: The Azure Active Directory configuration.' + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixIDReference: + description: |- + NodePublicIPPrefixIDReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - adminGroupObjectIDs: - description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' - items: - type: string - type: array - clientAppID: - description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - enableAzureRBAC: - description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' - type: boolean - managed: - description: 'Managed: Whether to enable managed AAD.' - type: boolean - serverAppID: - description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' + group: + description: Group is the Kubernetes group of the resource. type: string - serverAppSecret: - description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - tenantID: - description: |- - TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - subscription. + name: + description: Name is the Kubernetes name of the resource. type: string type: object - addonProfiles: - additionalProperties: - description: A Kubernetes add-on profile for a managed cluster. - properties: - config: - additionalProperties: - type: string - description: 'Config: Key-value pairs for configuring an add-on.' - type: object - enabled: - description: 'Enabled: Whether the add-on is enabled or not.' - type: boolean - identity: - description: 'Identity: Information of user assigned identity used by this add-on.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object - type: object - description: 'AddonProfiles: The profile of managed cluster add-on.' - type: object - agentPoolProfiles: - description: 'AgentPoolProfiles: The agent pool properties.' + nodeTaints: items: - description: Profile for the container service agent pool. - properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' - type: string - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' - type: string - type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - exactly equal to it. If orchestratorVersion is , this field will contain the full - version being used. - type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20210501.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - hostGroupID: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: + key: description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - cpuManagerPolicy: + name: description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: + value: description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletDiskType: + type: array + secretExpressions: + items: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: + key: description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - transparentHugePageEnabled: + name: description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - type: string - name: - description: 'Name: Windows agent pool names must be 6 characters or less.' - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - type: string - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' - items: - type: string - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - type: integer - maxSurge: + value: description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - type: string - type: object - type: array - apiServerAccessProfile: - description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' - properties: - authorizedIPRanges: - description: |- - AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - items: - type: string type: array - disableRunCommand: - description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' - type: boolean - enablePrivateCluster: - description: |- - EnablePrivateCluster: For more details, see [Creating a private AKS - cluster](https://docs.microsoft.com/azure/aks/private-clusters). - type: boolean - enablePrivateClusterPublicFQDN: - description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' - type: boolean - privateDNSZone: - description: |- - PrivateDNSZone: The default is System. For more details see [configure private DNS - zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - 'none'. - type: string type: object - autoScalerProfile: - description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource properties: - balance-similar-node-groups: - description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' - type: string - expander: - description: |- - Expander: If not specified, the default is 'random'. See - [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - information. - type: string - max-empty-bulk-delete: - description: 'MaxEmptyBulkDelete: The default is 10.' - type: string - max-graceful-termination-sec: - description: 'MaxGracefulTerminationSec: The default is 600.' - type: string - max-node-provision-time: - description: |- - MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - max-total-unready-percentage: - description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' - type: string - new-pod-scale-up-delay: - description: |- - NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - type: string - ok-total-unready-count: - description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' - type: string - scale-down-delay-after-add: - description: |- - ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-delay-after-delete: - description: |- - ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - time other than minutes (m) is supported. - type: string - scale-down-delay-after-failure: - description: |- - ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - than minutes (m) is supported. + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scale-down-unneeded-time: - description: |- - ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + name: + description: This is the name of the Kubernetes resource to reference. type: string - scale-down-unready-time: + type: object + podSubnetIDReference: + description: |- + PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more + details). This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: description: |- - ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-utilization-threshold: - description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scan-interval: - description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + group: + description: Group is the Kubernetes group of the resource. type: string - skip-nodes-with-local-storage: - description: 'SkipNodesWithLocalStorage: The default is true.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - skip-nodes-with-system-pods: - description: 'SkipNodesWithSystemPods: The default is true.' + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoUpgradeProfile: - description: 'AutoUpgradeProfile: The auto upgrade configuration.' + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings properties: - nodeOSUpgradeChannel: - description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' - type: string - upgradeChannel: + $propertyBag: + additionalProperties: + type: string description: |- - UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: type: string type: object - azureMonitorProfile: - description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + vmSize: + type: string + vnetSubnetIDReference: + description: |- + VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - metrics: + armId: description: |- - Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. - properties: - enabled: - description: |- - Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - type: boolean - kubeStateMetrics: - description: |- - KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. - properties: - metricAnnotationsAllowList: - description: |- - MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - contains only resource name and namespace labels. - type: string - metricLabelsAllowlist: - description: |- - MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - resource name and namespace labels. - type: string - type: object - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - azurePortalFQDN: + required: + - owner + type: object + status: + description: Storage version of v1api20210501.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - Portal to function properly. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -144016,819 +220420,1124 @@ spec: - type type: object type: array - currentKubernetesVersion: + count: + type: integer + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + id: + type: string + kubeletConfig: + description: Storage version of v1api20210501.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20210501.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20210501.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20210501.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxSurge: + type: string + type: object + vmSize: + type: string + vnetSubnetID: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: description: |- - CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be - exactly equal to it. If kubernetesVersion was , this field will contain the full - version being used. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - disableLocalAccounts: + count: description: |- - DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - used on Managed Clusters that are AAD enabled. For more details see [disable local - accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean - diskEncryptionSetID: + enableEncryptionAtHost: description: |- - DiskEncryptionSetID: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - type: string - dnsPrefix: - description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' - type: string - enablePodSecurityPolicy: + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: description: |- - EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - https://aka.ms/aks/psp. + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. type: boolean - enableRBAC: - description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the Virtual Machine.' + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). properties: - name: - description: 'Name: The name of the extended location.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: - description: 'Type: The type of the extended location.' + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - fqdn: - description: 'Fqdn: The FQDN of the master pool.' - type: string - fqdnSubdomain: - description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' - type: string - httpProxyConfig: - description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' - properties: - httpProxy: - description: 'HttpProxy: The HTTP proxy server endpoint to use.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - httpsProxy: - description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + name: + description: Name is the Kubernetes name of the resource. type: string - noProxy: - description: 'NoProxy: The endpoints that should not go through proxy.' + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: items: type: string type: array - trustedCa: - description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' - type: string - type: object - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - identity: - description: 'Identity: The identity of the managed cluster, if configured.' - properties: - delegatedResources: - additionalProperties: - description: Delegated resource properties - internal use only. - properties: - location: - description: 'Location: The source resource location - internal use only.' - type: string - referralResource: - description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' - type: string - resourceId: - description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' - type: string - tenantId: - description: 'TenantId: The tenant id of the delegated resource - internal use only.' - type: string - type: object - description: |- - DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - type: object - principalId: - description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - tenantId: - description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' + cpuManagerPolicy: type: string - type: - description: |- - Type: For more information see [use managed identities in - AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The keys must be ARM resource IDs in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object - type: object - identityProfile: - additionalProperties: - description: Details about a user assigned identity. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object - description: 'IdentityProfile: Identities associated with the cluster.' type: object - kubernetesVersion: + kubeletDiskType: description: |- - KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - type: string - linuxProfile: - description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' - properties: - adminUsername: - description: 'AdminUsername: The administrator username to use for Linux VMs.' - type: string - ssh: - description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' - properties: - publicKeys: - description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' - items: - description: Contains information about SSH certificate public key data. - properties: - keyData: - description: |- - KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - without headers. - type: string - type: object - type: array - type: object - type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - maxAgentPools: - description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' - type: integer - name: - description: 'Name: The name of the resource' + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary type: string - networkProfile: - description: 'NetworkProfile: The network configuration profile.' + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - dnsServiceIP: - description: |- - DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - range specified in serviceCidr. - type: string - ipFamilies: - description: |- - IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - items: - type: string - type: array - loadBalancerProfile: - description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + swapFileSizeMB: + type: integer + sysctls: properties: - allocatedOutboundPorts: - description: |- - AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - (inclusive). The default value is 0 which results in Azure dynamically allocating ports. + fsAioMaxNr: type: integer - backendPoolType: - description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 30 minutes. + netIpv4TcpkeepaliveIntvl: type: integer - managedOutboundIPs: - description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' - properties: - count: - description: |- - Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - must be in the range of 1 to 100 (inclusive). The default value is 1. - type: integer - countIPv6: - description: |- - CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - type: integer - type: object - outboundIPPrefixes: - description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' - properties: - publicIPPrefixes: - description: 'PublicIPPrefixes: A list of public IP prefix resources.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - type: object - outboundIPs: - description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' - properties: - publicIPs: - description: 'PublicIPs: A list of public IP resources.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - type: object - type: object - loadBalancerSku: - description: |- - LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - balancer SKUs. - type: string - natGatewayProfile: - description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' - properties: - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 4 minutes. + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: type: integer - managedOutboundIPProfile: - description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' - properties: - count: - description: |- - Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - (inclusive). The default value is 1. - type: integer - type: object type: object - networkDataplane: - description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' - type: string - networkMode: - description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' - type: string - networkPlugin: - description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' - type: string - networkPluginMode: - description: 'NetworkPluginMode: The mode the network plugin should use.' + transparentHugePageDefrag: type: string - networkPolicy: - description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' + transparentHugePageEnabled: type: string - outboundType: + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: description: |- - OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - podCidr: - description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + group: + description: Group is the Kubernetes group of the resource. type: string - podCidrs: - description: |- - PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. - items: - type: string - type: array - serviceCidr: - description: |- - ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - ranges. + kind: + description: Kind is the Kubernetes kind of the resource. type: string - serviceCidrs: - description: |- - ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - items: - type: string - type: array - type: object - nodeResourceGroup: - description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' - type: string - oidcIssuerProfile: - description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' - properties: - enabled: - description: 'Enabled: Whether the OIDC issuer is enabled.' - type: boolean - issuerURL: - description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' + name: + description: Name is the Kubernetes name of the resource. type: string type: object - podIdentityProfile: + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: description: |- - PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - details on AAD pod identity integration. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - allowNetworkPluginKubenet: - description: |- - AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - for more information. - type: boolean - enabled: - description: 'Enabled: Whether the pod identity addon is enabled.' - type: boolean - userAssignedIdentities: - description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - description: Details about the pod identity assigned to the Managed Cluster. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - bindingSelector: - description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - identity: - description: 'Identity: The user assigned identity details.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object name: - description: 'Name: The name of the pod identity.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - provisioningInfo: - properties: - error: - description: 'Error: Pod identity assignment error (if any).' - properties: - error: - description: 'Error: Details about the error.' - properties: - code: - description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' - type: string - details: - description: 'Details: A list of additional details about the error.' - items: - properties: - code: - description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' - type: string - message: - description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' - type: string - target: - description: 'Target: The target of the particular error. For example, the name of the property in error.' - type: string - type: object - type: array - message: - description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' - type: string - target: - description: 'Target: The target of the particular error. For example, the name of the property in error.' - type: string - type: object - type: object - type: object - provisioningState: - description: 'ProvisioningState: The current provisioning state of the pod identity.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - userAssignedIdentityExceptions: - description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the pod identity exception.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - namespace: - description: 'Namespace: The namespace of the pod identity exception.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - podLabels: - additionalProperties: - type: string - description: 'PodLabels: The pod labels to match.' - type: object + required: + - name + - value type: object type: array type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object powerState: - description: 'PowerState: The Power State of the cluster.' + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: code: - description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped type: string type: object - privateFQDN: - description: 'PrivateFQDN: The FQDN of private cluster.' + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete type: string - privateLinkResources: - description: 'PrivateLinkResources: Private link resources associated with the cluster.' - items: - description: A private link resource - properties: - groupId: - description: 'GroupId: The group ID of the resource.' - type: string - id: - description: 'Id: The ID of the private link resource.' - type: string - name: - description: 'Name: The name of the private link resource.' - type: string - privateLinkServiceID: - description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' - type: string - requiredMembers: - description: 'RequiredMembers: The RequiredMembers of the resource' - items: - type: string - type: array - type: - description: 'Type: The resource type.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The current provisioning state.' + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot type: string - resourceUID: + spotMaxPrice: description: |- - ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create - sequence) + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets type: string - securityProfile: - description: 'SecurityProfile: Security profile for the managed cluster.' + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - azureKeyVaultKms: - description: |- - AzureKeyVaultKms: Azure Key Vault [key management - service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' - type: boolean - keyId: - description: |- - KeyId: Identifier of Azure Key Vault key. See [key identifier - format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - identifier. When Azure Key Vault key management service is disabled, leave the field empty. - type: string - keyVaultNetworkAccess: - description: |- - KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - key vault allows public access from all networks. `Private` means the key vault disables public access and enables - private link. The default value is `Public`. - type: string - keyVaultResourceId: - description: |- - KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - type: string - type: object - defender: - description: 'Defender: Microsoft Defender settings for the security profile.' - properties: - logAnalyticsWorkspaceResourceId: - description: |- - LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - Defender is disabled, leave the field empty. - type: string - securityMonitoring: - description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Defender threat detection' - type: boolean - type: object - type: object - imageCleaner: - description: 'ImageCleaner: Image Cleaner settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' - type: boolean - intervalHours: - description: 'IntervalHours: Image Cleaner scanning interval in hours.' - type: integer - type: object - workloadIdentity: - description: |- - WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - properties: - enabled: - description: 'Enabled: Whether to enable workload identity.' - type: boolean - type: object + maxSurge: + type: string type: object - serviceMeshProfile: - description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - istio: - description: 'Istio: Istio service mesh configuration.' - properties: - certificateAuthority: - description: |- - CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - certificates as described here https://aka.ms/asm-plugin-ca - properties: - plugin: - description: 'Plugin: Plugin certificates information for Service Mesh.' - properties: - certChainObjectName: - description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' - type: string - certObjectName: - description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' - type: string - keyObjectName: - description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' - type: string - keyVaultId: - description: 'KeyVaultId: The resource ID of the Key Vault.' - type: string - rootCertObjectName: - description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' - type: string - type: object - type: object - components: - description: 'Components: Istio components configuration.' - properties: - egressGateways: - description: 'EgressGateways: Istio egress gateways.' - items: - description: Istio egress gateway configuration. - properties: - enabled: - description: 'Enabled: Whether to enable the egress gateway.' - type: boolean - nodeSelector: - additionalProperties: - type: string - description: 'NodeSelector: NodeSelector for scheduling the egress gateway.' - type: object - type: object - type: array - ingressGateways: - description: 'IngressGateways: Istio ingress gateways.' - items: - description: |- - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - enabled: - description: 'Enabled: Whether to enable the ingress gateway.' - type: boolean - mode: - description: 'Mode: Mode of an ingress gateway.' - type: string - type: object - type: array - type: object - revisions: - description: |- - Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - items: - type: string - type: array - type: object - mode: - description: 'Mode: Mode of the service mesh.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - servicePrincipalProfile: + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: description: |- - ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - APIs. + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: - clientId: - description: 'ClientId: The ID for the service principal.' + sourceResourceId: type: string type: object - sku: - description: 'Sku: The managed cluster SKU.' + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - name: - description: 'Name: The name of a managed cluster SKU.' + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - tier: - description: |- - Tier: If not specified, the default is 'Free'. See [AKS Pricing - Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - storageProfile: - description: 'StorageProfile: Storage profile for the managed cluster.' + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - blobCSIDriver: - description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' - type: boolean - type: object - diskCSIDriver: - description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' - type: boolean - type: object - fileCSIDriver: - description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' - type: boolean - type: object - snapshotController: - description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + swapFileSizeMB: + type: integer + sysctls: properties: - enabled: - description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - supportPlan: - description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + code: type: string type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type' type: string upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading a cluster.' - properties: - overrideSettings: - description: 'OverrideSettings: Settings for overrides.' - properties: - forceUpgrade: - description: |- - ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - protections such as checking for deprecated API usage. Enable this option only with caution. - type: boolean - until: - description: |- - Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - by default. It must be set for the overrides to take effect. - type: string - type: object - type: object - windowsProfile: - description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - adminUsername: - description: |- - AdminUsername: Specifies the name of the administrator account. - Restriction: Cannot end in "." - Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - Minimum-length: 1 character - Max-length: 20 characters - type: string - enableCSIProxy: - description: |- - EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - repo](https://github.com/kubernetes-csi/csi-proxy). - type: boolean - gmsaProfile: - description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' - properties: - dnsServer: - description: |- - DnsServer: Specifies the DNS server for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - enabled: - description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' - type: boolean - rootDomainName: - description: |- - RootDomainName: Specifies the root domain name for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - type: object - licenseType: - description: |- - LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. + maxSurge: type: string type: object - workloadAutoScalerProfile: - description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' - properties: - keda: - description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable KEDA.' - type: boolean - type: object - verticalPodAutoscaler: - description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable VPA. Default value is false.' - type: boolean - type: object - type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string type: object type: object served: true @@ -144848,14 +221557,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231001storage + name: v1api20230201storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231001.ManagedCluster + Storage version of v1api20230201.ManagedClustersAgentPool Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} properties: apiVersion: description: |- @@ -144875,7 +221584,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231001.ManagedCluster_Spec + description: Storage version of v1api20230201.ManagedClustersAgentPool_Spec properties: $propertyBag: additionalProperties: @@ -144884,10 +221593,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aadProfile: + availabilityZones: + items: + type: string + type: array + azureName: description: |- - Storage version of v1api20231001.ManagedClusterAADProfile - For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData properties: $propertyBag: additionalProperties: @@ -144896,525 +221614,342 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminGroupObjectIDs: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: items: type: string type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: type: boolean - serverAppID: + cpuCfsQuotaPeriod: type: string - serverAppSecret: + cpuManagerPolicy: type: string - tenantID: + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - addonProfiles: - additionalProperties: - description: |- - Storage version of v1api20231001.ManagedClusterAddonProfile - A Kubernetes add-on profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - type: object - type: object - agentPoolProfiles: - items: - description: |- - Storage version of v1api20231001.ManagedClusterAgentPoolProfile - Profile for the container service agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: |- - Storage version of v1api20231001.CreationData - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: |- - Storage version of v1api20231001.KubeletConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: |- - Storage version of v1api20231001.LinuxOSConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20231001.SysctlConfig - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - name: + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig + properties: + $propertyBag: + additionalProperties: type: string - networkProfile: - description: |- - Storage version of v1api20231001.AgentPoolNetworkProfile - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20231001.PortRange - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20231001.IPTag - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig + properties: + $propertyBag: + additionalProperties: type: string - type: object - nodeTaints: - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20230201.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - podSubnetReference: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - Storage version of v1api20231001.PowerState - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: + value: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: + type: array + secretExpressions: + items: description: |- - Storage version of v1api20231001.AgentPoolUpgradeSettings - Settings for upgrading an agentpool + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - type: object - vmSize: - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - name: - description: Name is the Kubernetes name of the resource. + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - workloadRuntime: - type: string - type: object - type: array - apiServerAccessProfile: + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: description: |- - Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile - Access profile for managed cluster API server. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20230201.PowerState properties: $propertyBag: additionalProperties: @@ -145423,21 +221958,45 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - privateDNSZone: + code: type: string type: object - autoScalerProfile: - description: Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings properties: $propertyBag: additionalProperties: @@ -145446,45 +222005,100 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - balance-similar-node-groups: - type: string - expander: - type: string - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: + maxSurge: type: string - scale-down-utilization-threshold: + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scan-interval: + group: + description: Group is the Kubernetes group of the resource. type: string - skip-nodes-with-local-storage: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - skip-nodes-with-system-pods: + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoUpgradeProfile: + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230201.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile - Auto upgrade profile for a managed cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: Storage version of v1api20230201.CreationData_STATUS properties: $propertyBag: additionalProperties: @@ -145493,15 +222107,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - nodeOSUpgradeChannel: - type: string - upgradeChannel: + sourceResourceId: type: string type: object - azureMonitorProfile: - description: |- - Storage version of v1api20231001.ManagedClusterAzureMonitorProfile - Azure Monitor addon profiles for monitoring the managed cluster. + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: Storage version of v1api20230201.KubeletConfig_STATUS properties: $propertyBag: additionalProperties: @@ -145510,12 +222138,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - metrics: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20230201.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics - Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20230201.SysctlConfig_STATUS properties: $propertyBag: additionalProperties: @@ -145524,40 +222187,217 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean - kubeStateMetrics: - description: |- - Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics - Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20230201.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + maxSurge: + type: string type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ type: string - disableLocalAccounts: - type: boolean - diskEncryptionSetReference: - description: |- - DiskEncryptionSetReference: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' properties: armId: description: |- @@ -145576,164 +222416,318 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - dnsPrefix: - type: string - enablePodSecurityPolicy: - type: boolean - enableRBAC: - type: boolean - extendedLocation: + count: description: |- - Storage version of v1api20231001.ExtendedLocation - The complex type of the extended location. + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - name: - type: string - type: - type: string type: object - fqdnSubdomain: + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g type: string - httpProxyConfig: + hostGroupReference: description: |- - Storage version of v1api20231001.ManagedClusterHTTPProxyConfig - Cluster HTTP proxy configuration. + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpProxy: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - httpsProxy: + group: + description: Group is the Kubernetes group of the resource. type: string - noProxy: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array - trustedCa: + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object - identity: + kubeletDiskType: description: |- - Storage version of v1api20231001.ManagedClusterIdentity - Identity for the managed cluster. + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedResources: - additionalProperties: - description: |- - Storage version of v1api20231001.DelegatedResource - Delegated resource properties - internal use only. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - location: - type: string - referralResource: - type: string - resourceReference: - description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: - type: string - type: object + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer type: object - type: + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string - userAssignedIdentities: + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' items: - description: |- - Storage version of v1api20231001.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + description: The port range. properties: - $propertyBag: - additionalProperties: - type: string + portEnd: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string type: object type: array - type: object - identityProfile: - additionalProperties: - description: |- - Storage version of v1api20231001.UserAssignedIdentity - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -145752,360 +222746,60 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - type: object - type: object - kubernetesVersion: - type: string - linuxProfile: - description: |- - Storage version of v1api20231001.ContainerServiceLinuxProfile - Profile for Linux VMs in the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUsername: - type: string - ssh: - description: |- - Storage version of v1api20231001.ContainerServiceSshConfiguration - SSH configuration for Linux-based VMs running on Azure. - properties: - $propertyBag: - additionalProperties: + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: - description: |- - Storage version of v1api20231001.ContainerServiceSshPublicKey - Contains information about SSH certificate public key data. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyData: - type: string - type: object - type: array - type: object + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array type: object - location: - type: string - networkProfile: + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: description: |- - Storage version of v1api20231001.ContainerServiceNetworkProfile - Profile of network configuration. + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServiceIP: - type: string - ipFamilies: - items: - type: string - type: array - loadBalancerProfile: - description: |- - Storage version of v1api20231001.ManagedClusterLoadBalancerProfile - Profile of the managed cluster load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendPoolType: - type: string - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20231001.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: |- - Storage version of v1api20231001.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: |- - Storage version of v1api20231001.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - natGatewayProfile: + armId: description: |- - Storage version of v1api20231001.ManagedClusterNATGatewayProfile - Profile of the managed cluster NAT gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20231001.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: - type: integer - managedOutboundIPProfile: - description: |- - Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile - Profile of the managed outbound IP resources of the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object - type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - outboundType: + group: + description: Group is the Kubernetes group of the resource. type: string - podCidr: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - podCidrs: - items: - type: string - type: array - serviceCidr: + name: + description: Name is the Kubernetes name of the resource. type: string - serviceCidrs: - items: - type: string - type: array - type: object - nodeResourceGroup: - type: string - oidcIssuerProfile: - description: |- - Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile - The OIDC issuer profile of the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array operatorSpec: description: |- - Storage version of v1api20231001.ManagedClusterOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -146134,54 +222828,8 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20231001.ManagedClusterOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - oidcIssuerProfile: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - principalId: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -146210,1254 +222858,761 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20231001.ManagedClusterOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - podIdentityProfile: - description: |- - Storage version of v1api20231001.ManagedClusterPodIdentityProfile - See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod - identity integration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: - items: - description: |- - Storage version of v1api20231001.ManagedClusterPodIdentity - Details about the pod identity assigned to the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bindingSelector: - type: string - identity: - description: |- - Storage version of v1api20231001.UserAssignedIdentity - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - namespace: - type: string - type: object - type: array - userAssignedIdentityExceptions: - items: - description: |- - Storage version of v1api20231001.ManagedClusterPodIdentityException - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - podLabels: - additionalProperties: - type: string - type: object - type: object - type: array - type: object - privateLinkResources: - items: - description: |- - Storage version of v1api20231001.PrivateLinkResource - A private link resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - name: - type: string - reference: - description: 'Reference: The ID of the private link resource.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object - type: array - publicNetworkAccess: - type: string - securityProfile: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfile - Security profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureKeyVaultKms: - description: |- - Storage version of v1api20231001.AzureKeyVaultKms - Azure Key Vault key management service settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceReference: - description: |- - KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defender: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileDefender - Microsoft Defender settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceReference: - description: |- - LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - Microsoft Defender is disabled, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring - Microsoft Defender settings for the security profile threat detection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner - Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here - are settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: - type: integer - type: object - workloadIdentity: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity - Workload identity settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object type: object - serviceMeshProfile: + orchestratorVersion: description: |- - Storage version of v1api20231001.ServiceMeshProfile - Service mesh profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - istio: - description: |- - Storage version of v1api20231001.IstioServiceMesh - Istio service mesh configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: |- - Storage version of v1api20231001.IstioCertificateAuthority - Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described - here https://aka.ms/asm-plugin-ca - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: |- - Storage version of v1api20231001.IstioPluginCertificateAuthority - Plugin certificates information for Service Mesh. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultReference: - description: 'KeyVaultReference: The resource ID of the Key Vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: - type: string - type: object - type: object - components: - description: |- - Storage version of v1api20231001.IstioComponents - Istio components configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: |- - Storage version of v1api20231001.IstioEgressGateway - Istio egress gateway configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - nodeSelector: - additionalProperties: - type: string - type: object - type: object - type: array - ingressGateways: - items: - description: |- - Storage version of v1api20231001.IstioIngressGateway - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array - type: object - mode: - type: string - type: object - servicePrincipalProfile: + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: description: |- - Storage version of v1api20231001.ManagedClusterServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string - secret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object type: object - sku: + podSubnetReference: description: |- - Storage version of v1api20231001.ManagedClusterSKU - The SKU of a Managed Cluster. + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - storageProfile: + powerState: description: |- - Storage version of v1api20231001.ManagedClusterStorageProfile - Storage profile for the container service cluster. + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver - AzureBlob CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver - AzureDisk CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - fileCSIDriver: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver - AzureFile CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - snapshotController: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController - Snapshot Controller settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - supportPlan: + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string upgradeSettings: - description: |- - Storage version of v1api20231001.ClusterUpgradeSettings - Settings for upgrading a cluster. + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - $propertyBag: - additionalProperties: - type: string + drainTimeoutInMinutes: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - overrideSettings: + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: description: |- - Storage version of v1api20231001.UpgradeOverrideSettings - Settings for overrides when upgrading a cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string type: object - windowsProfile: + vmSize: description: |- - Storage version of v1api20231001.ManagedClusterWindowsProfile - Profile for Windows VMs in the managed cluster. + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminPassword: + armId: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - adminUsername: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: |- - Storage version of v1api20231001.WindowsGmsaProfile - Windows gMSA Profile in the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - workloadAutoScalerProfile: - description: |- - Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile - Workload Auto-scaler profile for the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keda: - description: |- - Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda - KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: |- - Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler - VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string required: - owner type: object status: - description: |- - Storage version of v1api20231001.ManagedCluster_STATUS - Managed cluster. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadProfile: + availabilityZones: description: |- - Storage version of v1api20231001.ManagedClusterAADProfile_STATUS - For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminGroupObjectIDs: - items: - type: string - type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: - type: boolean - serverAppID: - type: string - serverAppSecret: - type: string - tenantID: - type: string - type: object - addonProfiles: - additionalProperties: - description: |- - Storage version of v1api20231001.ManagedClusterAddonProfile_STATUS - A Kubernetes add-on profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - identity: - description: |- - Storage version of v1api20231001.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - type: object - agentPoolProfiles: + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. items: - description: |- - Storage version of v1api20231001.ManagedClusterAgentPoolProfile_STATUS - Profile for the container service agent pool. + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: - type: string - count: - type: integer - creationData: - description: |- - Storage version of v1api20231001.CreationData_STATUS - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupID: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - kubeletConfig: - description: |- - Storage version of v1api20231001.KubeletConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - linuxOSConfig: + observedGeneration: description: |- - Storage version of v1api20231001.LinuxOSConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20231001.SysctlConfig_STATUS - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - mode: - type: string - name: - type: string - networkProfile: + reason: description: |- - Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20231001.PortRange_STATUS - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20231001.IPTag_STATUS - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeImageVersion: - type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podSubnetID: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - powerState: + severity: description: |- - Storage version of v1api20231001.PowerState_STATUS - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - provisioningState: - type: string - proximityPlacementGroupID: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - scaleDownMode: + status: + description: Status of the condition, one of True, False, or Unknown. type: string - scaleSetEvictionPolicy: + type: + description: Type of condition. type: string - scaleSetPriority: + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: type: string - spotMaxPrice: - type: number - tags: - additionalProperties: + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string - type: object - type: - type: string - upgradeSettings: - description: |- - Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS - Settings for upgrading an agentpool + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. properties: - $propertyBag: - additionalProperties: - type: string + portEnd: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. type: integer - maxSurge: + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' type: string type: object - vmSize: - type: string - vnetSubnetID: - type: string - workloadRuntime: + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: type: string - type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string type: array - apiServerAccessProfile: + orchestratorVersion: description: |- - Storage version of v1api20231001.ManagedClusterAPIServerAccessProfile_STATUS - Access profile for managed cluster API server. + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - privateDNSZone: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' type: string type: object - autoScalerProfile: - description: Storage version of v1api20231001.ManagedClusterProperties_AutoScalerProfile_STATUS + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - $propertyBag: - additionalProperties: - type: string + drainTimeoutInMinutes: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - balance-similar-node-groups: - type: string - expander: - type: string - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: - type: string - scale-down-utilization-threshold: - type: string - scan-interval: - type: string - skip-nodes-with-local-storage: - type: string - skip-nodes-with-system-pods: + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade type: string type: object - autoUpgradeProfile: + vmSize: description: |- - Storage version of v1api20231001.ManagedClusterAutoUpgradeProfile_STATUS - Auto upgrade profile for a managed cluster. + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231001storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231001.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231001.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nodeOSUpgradeChannel: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - upgradeChannel: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - azureMonitorProfile: + count: + type: integer + creationData: description: |- - Storage version of v1api20231001.ManagedClusterAzureMonitorProfile_STATUS - Azure Monitor addon profiles for monitoring the managed cluster. + Storage version of v1api20231001.CreationData + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -147466,125 +223621,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - metrics: - description: |- - Storage version of v1api20231001.ManagedClusterAzureMonitorProfileMetrics_STATUS - Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - kubeStateMetrics: + armId: description: |- - Storage version of v1api20231001.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS - Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: object - azurePortalFQDN: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - currentKubernetesVersion: - type: string - disableLocalAccounts: + enableAutoScaling: type: boolean - diskEncryptionSetID: - type: string - dnsPrefix: - type: string - enablePodSecurityPolicy: + enableEncryptionAtHost: type: boolean - enableRBAC: + enableFIPS: type: boolean - extendedLocation: + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: description: |- - Storage version of v1api20231001.ExtendedLocation_STATUS - The complex type of the extended location. + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - fqdn: - type: string - fqdnSubdomain: - type: string - httpProxyConfig: + kubeletConfig: description: |- - Storage version of v1api20231001.ManagedClusterHTTPProxyConfig_STATUS - Cluster HTTP proxy configuration. + Storage version of v1api20231001.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -147593,156 +223689,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - httpProxy: - type: string - httpsProxy: - type: string - noProxy: + allowedUnsafeSysctls: items: type: string type: array - trustedCa: - type: string - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20231001.ManagedClusterIdentity_STATUS - Identity for the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedResources: - additionalProperties: - description: |- - Storage version of v1api20231001.DelegatedResource_STATUS - Delegated resource properties - internal use only. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - location: - type: string - referralResource: - type: string - resourceId: - type: string - tenantId: - type: string - type: object - type: object - principalId: - type: string - tenantId: + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - type: + cpuManagerPolicy: type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20231001.ManagedClusterIdentity_UserAssignedIdentities_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - identityProfile: - additionalProperties: - description: |- - Storage version of v1api20231001.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - kubernetesVersion: - type: string - linuxProfile: - description: |- - Storage version of v1api20231001.ContainerServiceLinuxProfile_STATUS - Profile for Linux VMs in the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUsername: + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string - ssh: - description: |- - Storage version of v1api20231001.ContainerServiceSshConfiguration_STATUS - SSH configuration for Linux-based VMs running on Azure. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: - description: |- - Storage version of v1api20231001.ContainerServiceSshPublicKey_STATUS - Contains information about SSH certificate public key data. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyData: - type: string - type: object - type: array - type: object type: object - location: - type: string - maxAgentPools: - type: integer - name: + kubeletDiskType: type: string - networkProfile: + linuxOSConfig: description: |- - Storage version of v1api20231001.ContainerServiceNetworkProfile_STATUS - Profile of network configuration. + Storage version of v1api20231001.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -147751,16 +223728,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServiceIP: - type: string - ipFamilies: - items: - type: string - type: array - loadBalancerProfile: + swapFileSizeMB: + type: integer + sysctls: description: |- - Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_STATUS - Profile of the managed cluster load balancer. + Storage version of v1api20231001.SysctlConfig + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -147769,201 +223742,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allocatedOutboundPorts: + fsAioMaxNr: type: integer - backendPoolType: + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20231001.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean - idleTimeoutInMinutes: + netIpv4TcpkeepaliveIntvl: type: integer - managedOutboundIPs: - description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: |- - Storage version of v1api20231001.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20231001.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: |- - Storage version of v1api20231001.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - natGatewayProfile: - description: |- - Storage version of v1api20231001.ManagedClusterNATGatewayProfile_STATUS - Profile of the managed cluster NAT gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20231001.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - idleTimeoutInMinutes: + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: type: integer - managedOutboundIPProfile: - description: |- - Storage version of v1api20231001.ManagedClusterManagedOutboundIPProfile_STATUS - Profile of the managed outbound IP resources of the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: - type: string - podCidr: + transparentHugePageDefrag: type: string - podCidrs: - items: - type: string - type: array - serviceCidr: + transparentHugePageEnabled: type: string - serviceCidrs: - items: - type: string - type: array type: object - nodeResourceGroup: + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: type: string - oidcIssuerProfile: - description: |- - Storage version of v1api20231001.ManagedClusterOIDCIssuerProfile_STATUS - The OIDC issuer profile of the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - issuerURL: - type: string - type: object - podIdentityProfile: + networkProfile: description: |- - Storage version of v1api20231001.ManagedClusterPodIdentityProfile_STATUS - See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod - identity integration. + Storage version of v1api20231001.AgentPoolNetworkProfile + Network settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -147972,15 +223824,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: + allowedHostPorts: items: description: |- - Storage version of v1api20231001.ManagedClusterPodIdentity_STATUS - Details about the pod identity assigned to the Managed Cluster. + Storage version of v1api20231001.PortRange + The port range. properties: $propertyBag: additionalProperties: @@ -147989,103 +223837,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bindingSelector: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string - identity: + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: description: |- - Storage version of v1api20231001.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - namespace: + group: + description: Group is the Kubernetes group of the resource. type: string - provisioningInfo: - description: Storage version of v1api20231001.ManagedClusterPodIdentity_ProvisioningInfo_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: |- - Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningError_STATUS - An error response from the pod identity provisioning. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: |- - Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS - An error response from the pod identity provisioning. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - details: - items: - description: Storage version of v1api20231001.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - type: object - type: object - provisioningState: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object type: array - userAssignedIdentityExceptions: + nodePublicIPTags: items: description: |- - Storage version of v1api20231001.ManagedClusterPodIdentityException_STATUS - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + Storage version of v1api20231001.IPTag + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -148094,73 +223880,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + ipTagType: type: string - namespace: + tag: type: string - podLabels: - additionalProperties: - type: string - type: object type: object type: array type: object - powerState: + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: description: |- - Storage version of v1api20231001.PowerState_STATUS - Describes the Power State of the cluster + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - privateFQDN: - type: string - privateLinkResources: + nodeTaints: items: - description: |- - Storage version of v1api20231001.PrivateLinkResource_STATUS - A private link resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - id: - type: string - name: - type: string - privateLinkServiceID: - type: string - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object + type: string type: array - provisioningState: - type: string - publicNetworkAccess: - type: string - resourceUID: - type: string - securityProfile: + operatorSpec: description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfile_STATUS - Security profile for the container service cluster. + Storage version of v1api20231001.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -148169,95 +223929,117 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureKeyVaultKms: - description: |- - Storage version of v1api20231001.AzureKeyVaultKms_STATUS - Azure Key Vault key management service settings for the security profile. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceId: - type: string - type: object - defender: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileDefender_STATUS - Microsoft Defender settings for the security profile. - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceId: - type: string - securityMonitoring: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS - Microsoft Defender settings for the security profile threat detection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileImageCleaner_STATUS - Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here - are settings for the security profile. - properties: - $propertyBag: - additionalProperties: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: - type: integer - type: object - workloadIdentity: - description: |- - Storage version of v1api20231001.ManagedClusterSecurityProfileWorkloadIdentity_STATUS - Workload identity settings for the security profile. - properties: - $propertyBag: - additionalProperties: + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - serviceMeshProfile: + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: description: |- - Storage version of v1api20231001.ServiceMeshProfile_STATUS - Service mesh profile for a managed cluster. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: |- + Storage version of v1api20231001.PowerState + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -148266,121 +224048,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - istio: + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: description: |- - Storage version of v1api20231001.IstioServiceMesh_STATUS - Istio service mesh configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: |- - Storage version of v1api20231001.IstioCertificateAuthority_STATUS - Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described - here https://aka.ms/asm-plugin-ca - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: |- - Storage version of v1api20231001.IstioPluginCertificateAuthority_STATUS - Plugin certificates information for Service Mesh. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultId: - type: string - rootCertObjectName: - type: string - type: object - type: object - components: - description: |- - Storage version of v1api20231001.IstioComponents_STATUS - Istio components configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: |- - Storage version of v1api20231001.IstioEgressGateway_STATUS - Istio egress gateway configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - nodeSelector: - additionalProperties: - type: string - type: object - type: object - type: array - ingressGateways: - items: - description: |- - Storage version of v1api20231001.IstioIngressGateway_STATUS - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array - type: object - mode: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - servicePrincipalProfile: + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: description: |- - Storage version of v1api20231001.ManagedClusterServicePrincipalProfile_STATUS - Information about a service principal identity for the cluster to use for manipulating Azure APIs. + Storage version of v1api20231001.AgentPoolUpgradeSettings + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -148389,30 +224097,106 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + drainTimeoutInMinutes: + type: integer + maxSurge: type: string type: object - sku: + vmSize: + type: string + vnetSubnetReference: description: |- - Storage version of v1api20231001.ManagedClusterSKU_STATUS - The SKU of a Managed Cluster. + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - storageProfile: + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231001.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231001.ManagedClusterStorageProfile_STATUS - Storage profile for the container service cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: |- + Storage version of v1api20231001.CreationData_STATUS + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -148421,73 +224205,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - blobCSIDriver: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileBlobCSIDriver_STATUS - AzureBlob CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileDiskCSIDriver_STATUS - AzureDisk CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - fileCSIDriver: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileFileCSIDriver_STATUS - AzureFile CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - snapshotController: - description: |- - Storage version of v1api20231001.ManagedClusterStorageProfileSnapshotController_STATUS - Snapshot Controller settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + sourceResourceId: + type: string type: object - supportPlan: + currentOrchestratorVersion: type: string - systemData: + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + id: + type: string + kubeletConfig: description: |- - Storage version of v1api20231001.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20231001.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -148496,29 +224238,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - lastModifiedBy: + cpuManagerPolicy: type: string - lastModifiedByType: + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - tags: - additionalProperties: - type: string - type: object - type: + kubeletDiskType: type: string - upgradeSettings: + linuxOSConfig: description: |- - Storage version of v1api20231001.ClusterUpgradeSettings_STATUS - Settings for upgrading a cluster. + Storage version of v1api20231001.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -148527,10 +224277,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - overrideSettings: + swapFileSizeMB: + type: integer + sysctls: description: |- - Storage version of v1api20231001.UpgradeOverrideSettings_STATUS - Settings for overrides when upgrading a cluster. + Storage version of v1api20231001.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -148539,16 +224291,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - forceUpgrade: - type: boolean - until: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - windowsProfile: + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: description: |- - Storage version of v1api20231001.ManagedClusterWindowsProfile_STATUS - Profile for Windows VMs in the managed cluster. + Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -148557,36 +224375,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: - type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: |- - Storage version of v1api20231001.WindowsGmsaProfile_STATUS - Windows gMSA Profile in the managed cluster. - properties: - $propertyBag: - additionalProperties: + allowedHostPorts: + items: + description: |- + Storage version of v1api20231001.PortRange_STATUS + The port range. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: - type: string + type: object + type: array + applicationSecurityGroups: + items: + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20231001.IPTag_STATUS + Contains the IPTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array type: object - workloadAutoScalerProfile: + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: description: |- - Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfile_STATUS - Workload Auto-scaler profile for the managed cluster. + Storage version of v1api20231001.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -148595,37 +224456,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keda: - description: |- - Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS - KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231001.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS - VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string type: object + vmSize: + type: string + vnetSubnetID: + type: string + workloadRuntime: + type: string type: object type: object served: true @@ -148648,6 +224524,10 @@ spec: name: v1api20231102preview schema: openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} properties: apiVersion: description: |- @@ -148668,121 +224548,305 @@ spec: type: object spec: properties: - aadProfile: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' properties: - adminGroupObjectIDs: + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: items: type: string type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: + containerLogMaxFiles: + minimum: 2 + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: type: boolean - serverAppID: + cpuCfsQuotaPeriod: type: string - serverAppSecret: + cpuManagerPolicy: type: string - tenantID: + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - addonProfiles: - additionalProperties: - properties: - config: - additionalProperties: + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: type: string - type: object - enabled: - type: boolean - required: - - enabled - type: object + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string type: object - agentPoolProfiles: - items: - properties: - artifactStreamingProfile: - properties: - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + items: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + portEnd: + maximum: 65535 + minimum: 1 + type: integer + portStart: + maximum: 65535 + minimum: 1 + type: integer + protocol: + enum: + - TCP + - UDP type: string type: object - count: - type: integer - creationData: - properties: - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - gpuProfile: - properties: - installGPUDriver: - type: boolean - type: object - hostGroupReference: + type: array + applicationSecurityGroupsReferences: + items: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: @@ -148802,589 +224866,341 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - kubeletConfig: - properties: - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - minimum: 2 - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - enum: - - OS - - Temporary - type: string - linuxOSConfig: + type: array + nodePublicIPTags: + items: properties: - swapFileSizeMB: - type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: + ipTagType: type: string - transparentHugePageEnabled: + tag: type: string type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - enum: - - System - - User - type: string - name: - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - networkProfile: - properties: - allowedHostPorts: - items: - properties: - portEnd: - maximum: 65535 - minimum: 1 - type: integer - portStart: - maximum: 65535 - minimum: 1 - type: integer - protocol: - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - items: - properties: - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + type: array + type: object + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - enum: - - Ephemeral - - Managed - type: string - osSKU: - enum: - - AzureLinux - - CBLMariner - - Mariner - - Ubuntu - - Windows2019 - - Windows2022 - - WindowsAnnual - type: string - osType: - enum: - - Linux - - Windows - type: string - podSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - powerState: - properties: - code: - enum: - - Running - - Stopped + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - proximityPlacementGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - scaleDownMode: - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - enum: - - Regular - - Spot - type: string - securityProfile: - properties: - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - enum: - - Disabled - - LocalUser - type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - enum: - - AvailabilitySet - - VirtualMachineScaleSets - - VirtualMachines - type: string - upgradeSettings: - properties: - drainTimeoutInMinutes: - maximum: 1440 - minimum: 1 - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - maximum: 30 - minimum: 0 - type: integer - type: object - virtualMachineNodesStatus: - items: - properties: - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: - properties: - scale: - properties: - manual: - items: - properties: - count: - maximum: 1000 - minimum: 0 - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - type: string - vnetSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - name: - description: Name is the Kubernetes name of the resource. + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - windowsProfile: - properties: - disableOutboundNat: - type: boolean - type: object - workloadRuntime: - enum: - - KataMshvVmIsolation - - OCIContainer - - WasmWasi - type: string - required: - - name - type: object - type: array - aiToolchainOperatorProfile: - properties: - enabled: - type: boolean + type: array type: object - apiServerAccessProfile: + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource properties: - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - enableVnetIntegration: - type: boolean - privateDNSZone: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subnetId: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - autoScalerProfile: + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: - enum: - - least-waste - - most-pods - - priority - - random - type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scale-down-delay-after-delete: + group: + description: Group is the Kubernetes group of the resource. type: string - scale-down-delay-after-failure: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - scale-down-unneeded-time: + name: + description: Name is the Kubernetes name of the resource. type: string - scale-down-unready-time: + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + enum: + - Running + - Stopped type: string - scale-down-utilization-threshold: + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scan-interval: + group: + description: Group is the Kubernetes group of the resource. type: string - skip-nodes-with-local-storage: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - skip-nodes-with-system-pods: + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoUpgradeProfile: + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' properties: - nodeOSUpgradeChannel: - enum: - - NodeImage - - None - - SecurityPatch - - Unmanaged - type: string - upgradeChannel: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: enum: - - node-image - - none - - patch - - rapid - - stable + - Disabled + - LocalUser type: string type: object - azureMonitorProfile: - properties: - logs: - properties: - appMonitoring: - properties: - enabled: - type: boolean - type: object - containerInsights: - properties: - enabled: - type: boolean - logAnalyticsWorkspaceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsHostLogs: - properties: - enabled: - type: boolean - type: object - type: object - type: object - metrics: - properties: - appMonitoringOpenTelemetryMetrics: - properties: - enabled: - type: boolean - type: object - enabled: - type: boolean - kubeStateMetrics: - properties: - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object - required: - - enabled - type: object - type: object - azureName: + spotMaxPrice: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines type: string - creationData: + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + drainTimeoutInMinutes: + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + maximum: 30 + minimum: 0 + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + manual: + items: + properties: + count: + maximum: 1000 + minimum: 0 + type: integer + sizes: + items: + type: string + type: array + type: object + type: array type: object type: object - disableLocalAccounts: - type: boolean - diskEncryptionSetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -149403,472 +225219,904 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - dnsPrefix: + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi type: string - enableNamespaceResources: + required: + - owner + type: object + status: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' + properties: + enabled: + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be + exactly equal to it. If orchestratorVersion was , this field will contain the full + version being used. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean - enablePodSecurityPolicy: + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. type: boolean - enableRBAC: + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean - extendedLocation: + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' properties: - name: - type: string - type: - enum: - - EdgeZone - type: string + installGPUDriver: + type: boolean type: object - fqdnSubdomain: + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). type: string - httpProxyConfig: + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - httpProxy: - type: string - httpsProxy: - type: string - noProxy: + allowedUnsafeSysctls: items: type: string type: array - trustedCa: + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - identity: + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - delegatedResources: - additionalProperties: - properties: - location: - type: string - referralResource: - type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - type: object + swapFileSizeMB: + type: integer + sysctls: + properties: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object - type: - enum: - - None - - SystemAssigned - - UserAssigned + transparentHugePageDefrag: type: string - userAssignedIdentities: + transparentHugePageEnabled: + type: string + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: items: properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string type: object type: array - type: object - identityProfile: - additionalProperties: - properties: - clientId: - type: string - objectId: + applicationSecurityGroups: + items: type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + type: array + nodePublicIPTags: + items: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + ipTagType: type: string - name: - description: Name is the Kubernetes name of the resource. + tag: type: string type: object - type: object + type: array type: object - ingressProfile: + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - webAppRouting: - properties: - dnsZoneResourceReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - enabled: - type: boolean - type: object + code: + type: string type: object - kubernetesVersion: + properties_type: + description: 'PropertiesType: The type of Agent Pool.' type: string - linuxProfile: + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' properties: - adminUsername: - pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: type: string - ssh: + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + properties: + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: properties: - publicKeys: + manual: items: properties: - keyData: - type: string - required: - - keyData + count: + type: integer + sizes: + items: + type: string + type: array type: object type: array - required: - - publicKeys type: object - required: - - adminUsername - - ssh type: object - location: + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions type: string - metricsProfile: + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' properties: - costAnalysis: - properties: - enabled: - type: boolean + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231102previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231102preview.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231102preview.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + enabled: + type: boolean type: object - networkProfile: + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' properties: - dnsServiceIP: - pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - ipFamilies: - items: - enum: - - IPv4 - - IPv6 + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData + properties: + $propertyBag: + additionalProperties: type: string - type: array - kubeProxyConfig: - properties: - enabled: - type: boolean - ipvsConfig: - properties: - scheduler: - enum: - - LeastConnection - - RoundRobin - type: string - tcpFinTimeoutSeconds: - type: integer - tcpTimeoutSeconds: - type: integer - udpTimeoutSeconds: - type: integer - type: object - mode: - enum: - - IPTABLES - - IPVS - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - loadBalancerProfile: + sourceResourceReference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - allocatedOutboundPorts: - maximum: 64000 - minimum: 0 - type: integer - backendPoolType: - enum: - - NodeIP - - NodeIPConfiguration + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - effectiveOutboundIPs: - items: - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - maximum: 120 - minimum: 4 - type: integer - managedOutboundIPs: - properties: - count: - maximum: 100 - minimum: 1 - type: integer - countIPv6: - maximum: 100 - minimum: 0 - type: integer - type: object - outboundIPPrefixes: - properties: - publicIPPrefixes: - items: - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - properties: - publicIPs: - items: - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: - enum: - - basic - - standard - type: string - monitoring: - properties: - enabled: - type: boolean type: object - natGatewayProfile: - properties: - effectiveOutboundIPs: - items: - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: - maximum: 120 - minimum: 4 - type: integer - managedOutboundIPProfile: - properties: - count: - maximum: 16 - minimum: 1 - type: integer - type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - networkDataplane: - enum: - - azure - - cilium - type: string - networkMode: - enum: - - bridge - - transparent - type: string - networkPlugin: - enum: - - azure - - kubenet - - none - type: string - networkPluginMode: - enum: - - overlay + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - networkPolicy: - enum: - - azure - - calico - - cilium - - none + group: + description: Group is the Kubernetes group of the resource. type: string - outboundType: - enum: - - loadBalancer - - managedNATGateway - - userAssignedNATGateway - - userDefinedRouting + kind: + description: Kind is the Kubernetes kind of the resource. type: string - podCidr: - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + name: + description: Name is the Kubernetes name of the resource. type: string - podCidrs: - items: + type: object + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig + properties: + $propertyBag: + additionalProperties: type: string - type: array - serviceCidr: - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ - type: string - serviceCidrs: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: items: type: string type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string type: object - nodeProvisioningProfile: + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig properties: - mode: - enum: - - Auto - - Manual + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: type: string type: object - nodeResourceGroup: + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: type: string - nodeResourceGroupProfile: + minCount: + type: integer + mode: + type: string + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile properties: - restrictionLevel: - enum: - - ReadOnly - - Unrestricted - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: + type: string + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array type: object - oidcIssuerProfile: + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - enabled: - type: boolean + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object + nodeTaints: + items: + type: string + type: array operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20231102preview.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -149897,29 +226145,7 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - oidcIssuerProfile: - description: |- - OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be - created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -149948,50 +226174,24 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - adminCredentials: - description: |- - AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerservice.azure.com/ManagedCluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -150000,895 +226200,1612 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIdentityProfile: + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - allowNetworkPluginKubenet: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + powerState: + description: Storage version of v1api20231102preview.PowerState + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: type: boolean - enabled: + enableVTPM: type: boolean - userAssignedIdentities: - items: - properties: - bindingSelector: + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + scale: + description: Storage version of v1api20231102preview.ScaleProfile + properties: + $propertyBag: + additionalProperties: type: string - identity: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile properties: - clientId: - type: string - objectId: - type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + count: + type: integer + sizes: + items: + type: string + type: array type: object - name: + type: array + type: object + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20231102preview.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: Storage version of v1api20231102preview.CreationData_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20231102preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: Storage version of v1api20231102preview.KubeletConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: Storage version of v1api20231102preview.LinuxOSConfig_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: Storage version of v1api20231102preview.SysctlConfig_STATUS + properties: + $propertyBag: + additionalProperties: type: string - namespace: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: Storage version of v1api20231102preview.PortRange_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + portEnd: + type: integer + portStart: + type: integer + protocol: type: string - required: - - identity - - name - - namespace type: object type: array - userAssignedIdentityExceptions: + applicationSecurityGroups: items: + type: string + type: array + nodePublicIPTags: + items: + description: Storage version of v1api20231102preview.IPTag_STATUS properties: - name: - type: string - namespace: - type: string - podLabels: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - required: - - name - - namespace - - podLabels + ipTagType: + type: string + tag: + type: string type: object type: array type: object - privateLinkResources: + nodeImageVersion: + type: string + nodeInitializationTaints: items: - properties: - groupId: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string + powerState: + description: Storage version of v1api20231102preview.PowerState_STATUS + properties: + $propertyBag: + additionalProperties: type: string - name: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + type: object + properties_type: + type: string + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: + type: string + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + type: object + virtualMachineNodesStatus: + items: + description: Storage version of v1api20231102preview.VirtualMachineNodes_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: array - type: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: type: string type: object type: array - publicNetworkAccess: - enum: - - Disabled - - Enabled - - SecuredByPerimeter - type: string - safeguardsProfile: + virtualMachinesProfile: + description: Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS properties: - excludedNamespaces: - items: + $propertyBag: + additionalProperties: type: string - type: array - level: - enum: - - Enforcement - - "Off" - - Warning - type: string - version: - type: string - required: - - level - type: object - securityProfile: - properties: - azureKeyVaultKms: - properties: - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - enum: - - Private - - Public - type: string - keyVaultResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - customCATrustCertificates: - items: - type: string - maxItems: 10 - minItems: 0 - type: array - defender: + scale: + description: Storage version of v1api20231102preview.ScaleProfile_STATUS properties: - logAnalyticsWorkspaceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - properties: - enabled: - type: boolean + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - imageCleaner: - properties: - enabled: - type: boolean - intervalHours: - type: integer - type: object - imageIntegrity: - properties: - enabled: - type: boolean - type: object - nodeRestriction: - properties: - enabled: - type: boolean - type: object - workloadIdentity: - properties: - enabled: - type: boolean - type: object - type: object - serviceMeshProfile: - properties: - istio: - properties: - certificateAuthority: - properties: - plugin: - properties: - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: + manual: + items: + description: Storage version of v1api20231102preview.ManualScaleProfile_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - components: - properties: - egressGateways: - items: - properties: - enabled: - type: boolean - nodeSelector: - additionalProperties: - type: string - type: object - required: - - enabled - type: object - type: array - ingressGateways: - items: - properties: - enabled: - type: boolean - mode: - enum: - - External - - Internal - type: string - required: - - enabled - - mode + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - type: object - revisions: - items: - type: string - maxItems: 2 + count: + type: integer + sizes: + items: + type: string + type: array + type: object type: array type: object - mode: - enum: - - Disabled - - Istio - type: string - required: - - mode type: object - servicePrincipalProfile: + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS properties: - clientId: - type: string - secret: + $propertyBag: + additionalProperties: + type: string description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - required: - - clientId + disableOutboundNat: + type: boolean type: object - sku: + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240402preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' properties: - name: - enum: - - Base + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean + type: object + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: - enum: - - Free - - Premium - - Standard + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - storageProfile: + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: - blobCSIDriver: - properties: - enabled: - type: boolean - type: object - diskCSIDriver: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' properties: - enabled: - type: boolean - version: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - type: object - fileCSIDriver: - properties: - enabled: - type: boolean - type: object - snapshotController: - properties: - enabled: - type: boolean type: object type: object - supportPlan: + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. + properties: + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + maximum: 31 + minimum: 28 + type: integer + type: object + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' enum: - - AKSLongTermSupport - - KubernetesOfficial + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g type: string - tags: - additionalProperties: - type: string - type: object - upgradeSettings: + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' properties: - overrideSettings: - properties: - forceUpgrade: - type: boolean - until: - type: string - type: object + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean type: object - windowsProfile: + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). properties: - adminPassword: + armId: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - adminUsername: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - enableCSIProxy: - type: boolean - gmsaProfile: - properties: - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: - enum: - - None - - Windows_Server + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - adminUsername - type: object - workloadAutoScalerProfile: - properties: - keda: - properties: - enabled: - type: boolean - required: - - enabled - type: object - verticalPodAutoscaler: - properties: - addonAutoscaling: - enum: - - Disabled - - Enabled - type: string - enabled: - type: boolean - required: - - enabled - type: object type: object - required: - - location - - owner - type: object - status: - properties: - aadProfile: + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - adminGroupObjectIDs: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' type: boolean - serverAppID: + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string - serverAppSecret: + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string - tenantID: + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object - addonProfiles: - additionalProperties: - properties: - config: - additionalProperties: + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string - type: object - enabled: - type: boolean - identity: - properties: - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string type: object - agentPoolProfiles: - items: - properties: - artifactStreamingProfile: - properties: - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: - type: string - count: - type: integer - creationData: - properties: - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - gpuProfile: - properties: - installGPUDriver: - type: boolean - type: object - hostGroupID: - type: string - kubeletConfig: - properties: - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). + type: string + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - Gateway + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. properties: - swapFileSizeMB: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - properties: - allowedHostPorts: - items: - properties: - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - properties: - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeImageVersion: - type: string - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podSubnetID: - type: string - powerState: - properties: - code: - type: string - type: object - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - securityProfile: - properties: - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - properties: - drainTimeoutInMinutes: + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 type: integer - maxSurge: + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP type: string - nodeSoakDurationInMinutes: - type: integer type: object - virtualMachineNodesStatus: - items: - properties: - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: + type: array + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - scale: - properties: - manual: - items: - properties: - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - vmSize: - type: string - vnetSubnetID: - type: string - windowsProfile: + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. properties: - disableOutboundNat: - type: boolean + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string type: object - workloadRuntime: - type: string - type: object + type: array + type: object + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string type: array - aiToolchainOperatorProfile: + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - enabled: - type: boolean + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - apiServerAccessProfile: + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - authorizedIPRanges: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - enableVnetIntegration: - type: boolean - privateDNSZone: + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. + enum: + - AzureLinux + - CBLMariner + - Mariner + - Ubuntu + - Windows2019 + - Windows2022 + - WindowsAnnual + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subnetId: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - autoScalerProfile: + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + enum: + - DynamicIndividual + - StaticBlock + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: + group: + description: Group is the Kubernetes group of the resource. type: string - max-graceful-termination-sec: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - max-node-provision-time: + name: + description: Name is the Kubernetes name of the resource. type: string - max-total-unready-percentage: + type: object + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded + properties: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped type: string - new-pod-scale-up-delay: + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - ok-total-unready-count: + group: + description: Group is the Kubernetes group of the resource. type: string - scale-down-delay-after-add: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - scale-down-delay-after-delete: + name: + description: Name is the Kubernetes name of the resource. type: string - scale-down-delay-after-failure: + type: object + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' + enum: + - Disabled + - LocalUser type: string - scale-down-unneeded-time: + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + - VirtualMachines + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade type: string - scale-down-unready-time: + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. + enum: + - Cordon + - Schedule type: string - scale-down-utilization-threshold: + type: object + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + properties: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' + properties: + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array + type: object + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scan-interval: + group: + description: Group is the Kubernetes group of the resource. type: string - skip-nodes-with-local-storage: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - skip-nodes-with-system-pods: + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoUpgradeProfile: + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' properties: - nodeOSUpgradeChannel: - type: string - upgradeChannel: - type: string + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean type: object - azureMonitorProfile: + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - KataMshvVmIsolation + - OCIContainer + - WasmWasi + type: string + required: + - owner + type: object + status: + properties: + artifactStreamingProfile: + description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' properties: - logs: - properties: - appMonitoring: - properties: - enabled: - type: boolean - type: object - containerInsights: - properties: - enabled: - type: boolean - logAnalyticsWorkspaceResourceId: - type: string - windowsHostLogs: - properties: - enabled: - type: boolean - type: object - type: object - type: object - metrics: - properties: - appMonitoringOpenTelemetryMetrics: - properties: - enabled: - type: boolean - type: object - enabled: - type: boolean - kubeStateMetrics: - properties: - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object - type: object + enabled: + description: |- + Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use + this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. + type: boolean type: object - azurePortalFQDN: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' type: string conditions: description: 'Conditions: The observed state of the resource' @@ -150934,607 +227851,566 @@ spec: - type type: object type: array + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. properties: sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' type: string type: object - currentKubernetesVersion: - type: string - disableLocalAccounts: - type: boolean - diskEncryptionSetID: + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be + exactly equal to it. If orchestratorVersion was , this field will contain the full + version being used. type: string - dnsPrefix: + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. type: string - enableNamespaceResources: + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' type: boolean - enablePodSecurityPolicy: + enableCustomCATrust: + description: |- + EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a + daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded + certificates into node trust stores. Defaults to false. type: boolean - enableRBAC: + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption type: boolean - extendedLocation: + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gatewayProfile: + description: |- + GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is + not Gateway. properties: - name: - type: string - type: - type: string + publicIPPrefixSize: + description: |- + PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide + public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with + one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure + public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 + nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. + type: integer type: object - fqdn: - type: string - fqdnSubdomain: + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' type: string - httpProxyConfig: + gpuProfile: + description: 'GpuProfile: The GPU settings of an agent pool.' properties: - effectiveNoProxy: - items: - type: string - type: array - httpProxy: - type: string - httpsProxy: - type: string - noProxy: - items: - type: string - type: array - trustedCa: - type: string + installGPUDriver: + description: |- + InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU + Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents + automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver + installation themselves. + type: boolean type: object + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string id: + description: 'Id: Resource ID.' type: string - identity: + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - delegatedResources: - additionalProperties: - properties: - location: - type: string - referralResource: - type: string - resourceId: - type: string - tenantId: - type: string - type: object - type: object - principalId: - type: string - tenantId: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string - type: + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - identityProfile: - additionalProperties: - properties: - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - ingressProfile: - properties: - webAppRouting: - properties: - dnsZoneResourceIds: - items: - type: string - type: array - enabled: - type: boolean - identity: - properties: - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - type: object - kubernetesVersion: - type: string - linuxProfile: - properties: - adminUsername: + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string - ssh: - properties: - publicKeys: - items: - properties: - keyData: - type: string - type: object - type: array - type: object - type: object - location: - type: string - maxAgentPools: - type: integer - metricsProfile: - properties: - costAnalysis: - properties: - enabled: - type: boolean - type: object type: object - name: + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. type: string - networkProfile: + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' properties: - dnsServiceIP: - type: string - ipFamilies: - items: - type: string - type: array - kubeProxyConfig: - properties: - enabled: - type: boolean - ipvsConfig: - properties: - scheduler: - type: string - tcpFinTimeoutSeconds: - type: integer - tcpTimeoutSeconds: - type: integer - udpTimeoutSeconds: - type: integer - type: object - mode: - type: string - type: object - loadBalancerProfile: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' properties: - allocatedOutboundPorts: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' type: integer - backendPoolType: + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string - effectiveOutboundIPs: - items: - properties: - id: - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' type: integer - managedOutboundIPs: - properties: - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - properties: - publicIPPrefixes: - items: - properties: - id: - type: string - type: object - type: array - type: object - outboundIPs: - properties: - publicIPs: - items: - properties: - id: - type: string - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - monitoring: - properties: - enabled: + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' type: boolean - type: object - natGatewayProfile: - properties: - effectiveOutboundIPs: - items: - properties: - id: - type: string - type: object - type: array - idleTimeoutInMinutes: + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' type: integer - managedOutboundIPProfile: - properties: - count: - type: integer - type: object - type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: - type: string - podCidr: - type: string - podCidrs: - items: - type: string - type: array - serviceCidr: + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string - serviceCidrs: - items: - type: string - type: array - type: object - nodeProvisioningProfile: - properties: - mode: + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string type: object - nodeResourceGroup: + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + messageOfTheDay: + description: |- + MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of + the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., + will be printed raw and not be executed as a script). type: string - nodeResourceGroupProfile: - properties: - restrictionLevel: - type: string - type: object - oidcIssuerProfile: - properties: - enabled: - type: boolean - issuerURL: - type: string - type: object - podIdentityProfile: + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' properties: - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' items: + description: The port range. properties: - bindingSelector: - type: string - identity: - properties: - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - name: - type: string - namespace: - type: string - provisioningInfo: - properties: - error: - properties: - error: - properties: - code: - type: string - details: - items: - properties: - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - type: object - type: object - provisioningState: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' type: string type: object type: array - userAssignedIdentityExceptions: + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: + type: string + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' items: + description: Contains the IPTag associated with the object. properties: - name: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' type: string - namespace: + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' type: string - podLabels: - additionalProperties: - type: string - type: object type: object type: array type: object - powerState: - properties: - code: - type: string + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeInitializationTaints: + description: |- + NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field + can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that + requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the + node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint + nodes node1 key1=value1:NoSchedule-` + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' type: object - privateFQDN: + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} type: string - privateLinkResources: + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' items: - properties: - groupId: - type: string - id: - type: string - name: - type: string - privateLinkServiceID: - type: string - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object + type: string type: array - provisioningState: + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version and are supported. When is + specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same + once it has been created will not trigger an upgrade, even if a newer patch version is available. As a + best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version + must have the same major version as the control plane. The node pool minor version must be within two minor versions of + the control plane version. The node pool version cannot be greater than the control plane version. For more information + see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). type: string - publicNetworkAccess: + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). type: string - resourceUID: + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or + Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is + deprecated. type: string - safeguardsProfile: - properties: - excludedNamespaces: - items: - type: string - type: array - level: - type: string - systemExcludedNamespaces: - items: - type: string - type: array - version: - type: string - type: object - securityProfile: - properties: - azureKeyVaultKms: - properties: - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceId: - type: string - type: object - customCATrustCertificates: - items: - type: string - type: array - defender: - properties: - logAnalyticsWorkspaceResourceId: - type: string - securityMonitoring: - properties: - enabled: - type: boolean - type: object - type: object - imageCleaner: - properties: - enabled: - type: boolean - intervalHours: - type: integer - type: object - imageIntegrity: - properties: - enabled: - type: boolean - type: object - nodeRestriction: - properties: - enabled: - type: boolean - type: object - workloadIdentity: - properties: - enabled: - type: boolean - type: object - type: object - serviceMeshProfile: - properties: - istio: - properties: - certificateAuthority: - properties: - plugin: - properties: - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultId: - type: string - rootCertObjectName: - type: string - type: object - type: object - components: - properties: - egressGateways: - items: - properties: - enabled: - type: boolean - nodeSelector: - additionalProperties: - type: string - type: object - type: object - type: array - ingressGateways: - items: - properties: - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array - type: object - mode: - type: string - type: object - servicePrincipalProfile: - properties: - clientId: - type: string - type: object - sku: + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podIPAllocationMode: + description: |- + PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is + 'DynamicIndividual'. + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - name: - type: string - tier: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' type: string type: object - storageProfile: - properties: - blobCSIDriver: - properties: - enabled: - type: boolean - type: object - diskCSIDriver: - properties: - enabled: - type: boolean - version: - type: string - type: object - fileCSIDriver: - properties: - enabled: - type: boolean - type: object - snapshotController: - properties: - enabled: - type: boolean - type: object - type: object - supportPlan: + properties_type: + description: 'PropertiesType: The type of Agent Pool.' type: string - systemData: + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' properties: - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + enableSecureBoot: + description: |- + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + sshAccess: + description: 'SshAccess: SSH access method of an agent pool.' type: string type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: + description: 'Type: Resource type' type: string upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - overrideSettings: - properties: - forceUpgrade: - type: boolean - until: - type: string - type: object - type: object - windowsProfile: - properties: - adminUsername: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade type: string - enableCSIProxy: - type: boolean - gmsaProfile: - properties: - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + undrainableNodeBehavior: + description: |- + UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable + nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the + remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. type: string type: object - workloadAutoScalerProfile: + virtualMachineNodesStatus: + items: + description: Current status on a group of nodes of the same vm size. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + size: + description: 'Size: The VM size of the agents used to host this group of nodes.' + type: string + type: object + type: array + virtualMachinesProfile: + description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' properties: - keda: - properties: - enabled: - type: boolean - type: object - verticalPodAutoscaler: + scale: + description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' properties: - addonAutoscaling: - type: string - enabled: - type: boolean + autoscale: + description: |- + Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, + at most one AutoScaleProfile is allowed. + items: + description: Specifications on auto-scaling. + properties: + maxCount: + description: 'MaxCount: The maximum number of nodes of the specified sizes.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes of the specified sizes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS + will use the next size. + items: + type: string + type: array + type: object + type: array + manual: + description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' + items: + description: Specifications on number of machines. + properties: + count: + description: 'Count: Number of nodes.' + type: integer + sizes: + description: |- + Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the + first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will + use the next size. + items: + type: string + type: array + type: object + type: array type: object type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean + type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string type: object type: object served: true @@ -151554,10 +228430,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231102previewstorage + name: v1api20240402previewstorage schema: openAPIV3Schema: - description: Storage version of v1api20231102preview.ManagedCluster + description: |- + Storage version of v1api20240402preview.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} properties: apiVersion: description: |- @@ -151577,7 +228457,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231102preview.ManagedCluster_Spec + description: Storage version of v1api20240402preview.ManagedClustersAgentPool_Spec properties: $propertyBag: additionalProperties: @@ -151586,8 +228466,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aadProfile: - description: Storage version of v1api20231102preview.ManagedClusterAADProfile + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile properties: $propertyBag: additionalProperties: @@ -151596,436 +228476,292 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminGroupObjectIDs: - items: - type: string - type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: + enabled: type: boolean - serverAppID: + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - serverAppSecret: + group: + description: Group is the Kubernetes group of the resource. type: string - tenantID: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - addonProfiles: - additionalProperties: - description: Storage version of v1api20231102preview.ManagedClusterAddonProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - type: object - type: object - agentPoolProfiles: - items: - description: Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - artifactStreamingProfile: - description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: Storage version of v1api20231102preview.CreationData - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20231102preview.AgentPoolGPUProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean - type: object - hostGroupReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: Storage version of v1api20231102preview.KubeletConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: Storage version of v1api20231102preview.LinuxOSConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20231102preview.SysctlConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: + count: + type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: type: string - networkProfile: - description: Storage version of v1api20231102preview.AgentPoolNetworkProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: Storage version of v1api20231102preview.PortRange - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - items: - description: Storage version of v1api20231102preview.IPTag - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - nodePublicIPPrefixReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: + group: + description: Group is the Kubernetes group of the resource. type: string - type: array - orchestratorVersion: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: type: string - osDiskSizeGB: - type: integer - osDiskType: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile + properties: + $propertyBag: + additionalProperties: type: string - osSKU: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: |- + Storage version of v1api20240402preview.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: type: string - osType: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedUnsafeSysctls: + items: type: string - podSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: + type: string + type: object + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240402preview.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240402preview.SysctlConfig + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: type: string - type: object - powerState: - description: Storage version of v1api20231102preview.PowerState + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: + type: string + type: object + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile + Network settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange + The port range. properties: $propertyBag: additionalProperties: @@ -152034,10 +228770,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string type: object - proximityPlacementGroupReference: + type: array + applicationSecurityGroupsReferences: + items: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: @@ -152057,14 +228799,12 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - securityProfile: - description: Storage version of v1api20231102preview.AgentPoolSecurityProfile + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -152073,150 +228813,172 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: + ipTagType: + type: string + tag: type: string type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: + type: array + type: object + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20240402preview.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - upgradeSettings: - description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - nodeSoakDurationInMinutes: - type: integer - type: object - virtualMachineNodesStatus: - items: - description: Storage version of v1api20231102preview.VirtualMachineNodes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: - description: Storage version of v1api20231102preview.VirtualMachinesProfile - properties: - $propertyBag: - additionalProperties: - type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scale: - description: Storage version of v1api20231102preview.ScaleProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - manual: - items: - description: Storage version of v1api20231102preview.ManualScaleProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - vmSize: - type: string - vnetSubnetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - windowsProfile: - description: Storage version of v1api20231102preview.AgentPoolWindowsProfile - properties: - $propertyBag: - additionalProperties: - type: string + value: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - workloadRuntime: - type: string - type: object - type: array - aiToolchainOperatorProfile: - description: Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile + type: array + type: object + orchestratorVersion: + type: string + originalVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource properties: - $propertyBag: - additionalProperties: - type: string + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podIPAllocationMode: + type: string + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - apiServerAccessProfile: - description: Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile + powerState: + description: |- + Storage version of v1api20240402preview.PowerState + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -152225,25 +228987,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - enableVnetIntegration: - type: boolean - privateDNSZone: + code: type: string - subnetId: + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoScalerProfile: - description: Storage version of v1api20231102preview.ManagedClusterProperties_AutoScalerProfile + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile + The security settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -152252,49 +229028,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: + enableSecureBoot: type: boolean - expander: - type: string - ignore-daemonsets-utilization: + enableVTPM: type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: - type: string - scale-down-utilization-threshold: - type: string - scan-interval: - type: string - skip-nodes-with-local-storage: - type: string - skip-nodes-with-system-pods: + sshAccess: type: string type: object - autoUpgradeProfile: - description: Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -152303,13 +229055,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - nodeOSUpgradeChannel: + drainTimeoutInMinutes: + type: integer + maxSurge: type: string - upgradeChannel: + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: type: string type: object - azureMonitorProfile: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile + Specifications on VirtualMachines agent pool. properties: $propertyBag: additionalProperties: @@ -152318,8 +229095,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - logs: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile + Specifications on how to scale a VirtualMachines agent pool. properties: $propertyBag: additionalProperties: @@ -152328,148 +229107,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appMonitoring: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - containerInsights: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - logAnalyticsWorkspaceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + autoscale: + items: + description: |- + Storage version of v1api20240402preview.AutoScaleProfile + Specifications on auto-scaling. + properties: + $propertyBag: + additionalProperties: type: string - group: - description: Group is the Kubernetes group of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: array + type: object + type: array + manual: + items: + description: |- + Storage version of v1api20240402preview.ManualScaleProfile + Specifications on number of machines. + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + sizes: + items: type: string - type: object - windowsHostLogs: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - type: object - metrics: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - appMonitoringOpenTelemetryMetrics: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - enabled: - type: boolean - kubeStateMetrics: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object + type: array + type: object + type: array type: object type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + vmSize: type: string - creationData: - description: Storage version of v1api20231102preview.CreationData - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - disableLocalAccounts: - type: boolean - diskEncryptionSetReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: armId: description: |- @@ -152488,16 +229178,169 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - dnsPrefix: + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240402preview.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + artifactStreamingProfile: + description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: |- + Storage version of v1api20240402preview.CreationData_STATUS + Data used when creating a target resource from a source resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceResourceId: + type: string + type: object + currentOrchestratorVersion: + type: string + eTag: + type: string + enableAutoScaling: + type: boolean + enableCustomCATrust: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gatewayProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolGatewayProfile_STATUS + Profile of the managed cluster gateway agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + publicIPPrefixSize: + type: integer + type: object + gpuInstanceProfile: + type: string + gpuProfile: + description: Storage version of v1api20240402preview.AgentPoolGPUProfile_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + installGPUDriver: + type: boolean + type: object + hostGroupID: type: string - enableNamespaceResources: - type: boolean - enablePodSecurityPolicy: - type: boolean - enableRBAC: - type: boolean - extendedLocation: - description: Storage version of v1api20231102preview.ExtendedLocation + id: + type: string + kubeletConfig: + description: |- + Storage version of v1api20240402preview.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -152506,15 +229349,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - type: + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - fqdnSubdomain: + kubeletDiskType: type: string - httpProxyConfig: - description: Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig + linuxOSConfig: + description: |- + Storage version of v1api20240402preview.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -152523,19 +229388,98 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - httpProxy: - type: string - httpsProxy: + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240402preview.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: type: string - noProxy: - items: - type: string - type: array - trustedCa: + transparentHugePageEnabled: type: string type: object - identity: - description: Storage version of v1api20231102preview.ManagedClusterIdentity + maxCount: + type: integer + maxPods: + type: integer + messageOfTheDay: + type: string + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -152544,9 +229488,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - delegatedResources: - additionalProperties: - description: Storage version of v1api20231102preview.DelegatedResource + allowedHostPorts: + items: + description: |- + Storage version of v1api20240402preview.PortRange_STATUS + The port range. properties: $propertyBag: additionalProperties: @@ -152555,39 +229501,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: - type: string - referralResource: - type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string type: object - type: object - type: - type: string - userAssignedIdentities: + type: array + applicationSecurityGroups: items: - description: Storage version of v1api20231102preview.UserAssignedIdentityDetails + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240402preview.IPTag_STATUS + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -152596,68 +229526,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + ipTagType: + type: string + tag: + type: string type: object type: array type: object - identityProfile: + nodeImageVersion: + type: string + nodeInitializationTaints: + items: + type: string + type: array + nodeLabels: additionalProperties: - description: Storage version of v1api20231102preview.UserAssignedIdentity - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + type: string type: object - ingressProfile: - description: Storage version of v1api20231102preview.ManagedClusterIngressProfile + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podIPAllocationMode: + type: string + podSubnetID: + type: string + powerState: + description: |- + Storage version of v1api20240402preview.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -152666,46 +229575,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - webAppRouting: - description: Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsZoneResourceReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - enabled: - type: boolean - type: object + code: + type: string type: object - kubernetesVersion: + properties_type: type: string - linuxProfile: - description: Storage version of v1api20231102preview.ContainerServiceLinuxProfile + provisioningState: + type: string + proximityPlacementGroupID: + type: string + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -152714,39 +229602,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + sshAccess: type: string - ssh: - description: Storage version of v1api20231102preview.ContainerServiceSshConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: - description: Storage version of v1api20231102preview.ContainerServiceSshPublicKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyData: - type: string - type: object - type: array - type: object type: object - location: + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: type: string - metricsProfile: - description: Storage version of v1api20231102preview.ManagedClusterMetricsProfile + upgradeSettings: + description: |- + Storage version of v1api20240402preview.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool properties: $propertyBag: additionalProperties: @@ -152755,22 +229629,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - costAnalysis: - description: Storage version of v1api20231102preview.ManagedClusterCostAnalysis - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + drainTimeoutInMinutes: + type: integer + maxSurge: + type: string + nodeSoakDurationInMinutes: + type: integer + undrainableNodeBehavior: + type: string type: object - networkProfile: - description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile + virtualMachineNodesStatus: + items: + description: |- + Storage version of v1api20240402preview.VirtualMachineNodes_STATUS + Current status on a group of nodes of the same vm size. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + size: + type: string + type: object + type: array + virtualMachinesProfile: + description: |- + Storage version of v1api20240402preview.VirtualMachinesProfile_STATUS + Specifications on VirtualMachines agent pool. properties: $propertyBag: additionalProperties: @@ -152779,48 +229669,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServiceIP: - type: string - ipFamilies: - items: - type: string - type: array - kubeProxyConfig: - description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - ipvsConfig: - description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduler: - type: string - tcpFinTimeoutSeconds: - type: integer - tcpTimeoutSeconds: - type: integer - udpTimeoutSeconds: - type: integer - type: object - mode: - type: string - type: object - loadBalancerProfile: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile + scale: + description: |- + Storage version of v1api20240402preview.ScaleProfile_STATUS + Specifications on how to scale a VirtualMachines agent pool. properties: $propertyBag: additionalProperties: @@ -152829,13 +229681,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allocatedOutboundPorts: - type: integer - backendPoolType: - type: string - effectiveOutboundIPs: + autoscale: items: - description: Storage version of v1api20231102preview.ResourceReference + description: |- + Storage version of v1api20240402preview.AutoScaleProfile_STATUS + Specifications on auto-scaling. properties: $propertyBag: additionalProperties: @@ -152844,164 +229694,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + maxCount: + type: integer + minCount: + type: integer + sizes: + items: + type: string + type: array type: object type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: Storage version of v1api20231102preview.ResourceReference - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: Storage version of v1api20231102preview.ResourceReference - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - monitoring: - description: Storage version of v1api20231102preview.NetworkMonitoring - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - natGatewayProfile: - description: Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIPs: + manual: items: - description: Storage version of v1api20231102preview.ResourceReference + description: |- + Storage version of v1api20240402preview.ManualScaleProfile_STATUS + Specifications on number of machines. properties: $propertyBag: additionalProperties: @@ -153010,123 +229717,502 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + count: + type: integer + sizes: + items: + type: string + type: array type: object type: array - idleTimeoutInMinutes: + type: object + type: object + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: |- + Storage version of v1api20240402preview.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 12 + minLength: 1 + pattern: ^[a-z][a-z0-9]{0,11}$ + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + count: + description: |- + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + enum: + - MIG1g + - MIG2g + - MIG3g + - MIG4g + - MIG7g + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' + items: + type: string + type: array + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + minimum: 2 + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' + type: boolean + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + type: string + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. + type: string + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + type: string + type: object + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + enum: + - OS + - Temporary + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' + type: string + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + maximum: 90 + minimum: 10 + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + maximum: 524288 + minimum: 65536 + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + maximum: 2097152 + minimum: 131072 + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' type: integer - managedOutboundIPProfile: - description: Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string - podCidr: + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). type: string - podCidrs: + type: object + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + enum: + - System + - User + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' items: - type: string + description: The port range. + properties: + portEnd: + description: |- + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. + maximum: 65535 + minimum: 1 + type: integer + portStart: + description: |- + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. + maximum: 65535 + minimum: 1 + type: integer + protocol: + description: 'Protocol: The network protocol of the port.' + enum: + - TCP + - UDP + type: string + type: object type: array - serviceCidr: - type: string - serviceCidrs: + applicationSecurityGroupsReferences: + description: |- + ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when + created. items: - type: string + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + type: string + type: object type: array type: object - nodeProvisioningProfile: - description: Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' type: object - nodeResourceGroup: - type: string - nodeResourceGroupProfile: - description: Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restrictionLevel: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - oidcIssuerProfile: - description: Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string + type: array operatorSpec: description: |- - Storage version of v1api20231102preview.ManagedClusterOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -153155,36 +230241,8 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20231102preview.ManagedClusterOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - oidcIssuerProfile: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -153213,61 +230271,53 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20231102preview.ManagedClusterOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object - originalVersion: + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + maximum: 2048 + minimum: 0 + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + enum: + - Ephemeral + - Managed + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + enum: + - AzureLinux + - CBLMariner + - Ubuntu + - Windows2019 + - Windows2022 + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + enum: + - Linux + - Windows type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerservice.azure.com/ManagedCluster resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -153276,1217 +230326,770 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIdentityProfile: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: - items: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentity - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bindingSelector: - type: string - identity: - description: Storage version of v1api20231102preview.UserAssignedIdentity - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - namespace: - type: string - type: object - type: array - userAssignedIdentityExceptions: - items: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityException - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - podLabels: - additionalProperties: - type: string - type: object - type: object - type: array - type: object - privateLinkResources: - items: - description: Storage version of v1api20231102preview.PrivateLinkResource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - name: - type: string - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object - type: array - publicNetworkAccess: - type: string - safeguardsProfile: - description: Storage version of v1api20231102preview.SafeguardsProfile + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - excludedNamespaces: - items: - type: string - type: array - level: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - version: + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - securityProfile: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureKeyVaultKms: - description: Storage version of v1api20231102preview.AzureKeyVaultKms - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - customCATrustCertificates: - items: - type: string - type: array - defender: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: - type: integer - type: object - imageIntegrity: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - nodeRestriction: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - workloadIdentity: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - serviceMeshProfile: - description: Storage version of v1api20231102preview.ServiceMeshProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - istio: - description: Storage version of v1api20231102preview.IstioServiceMesh - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: Storage version of v1api20231102preview.IstioCertificateAuthority - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: Storage version of v1api20231102preview.IstioPluginCertificateAuthority - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: - type: string - type: object - type: object - components: - description: Storage version of v1api20231102preview.IstioComponents - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: Storage version of v1api20231102preview.IstioEgressGateway - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - nodeSelector: - additionalProperties: - type: string - type: object - type: object - type: array - ingressGateways: - items: - description: Storage version of v1api20231102preview.IstioIngressGateway - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array - type: object - mode: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - servicePrincipalProfile: - description: Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + enum: + - Running + - Stopped type: string - secret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object type: object - sku: - description: Storage version of v1api20231102preview.ManagedClusterSKU + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - storageProfile: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfile + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + enum: + - Deallocate + - Delete + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + enum: + - Deallocate + - Delete + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + enum: + - Regular + - Spot + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' properties: - $propertyBag: - additionalProperties: - type: string + enableSecureBoot: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - version: - type: string - type: object - fileCSIDriver: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - snapshotController: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean type: object - supportPlan: - type: string + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number tags: additionalProperties: type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object + type: + description: 'Type: The type of Agent Pool.' + enum: + - AvailabilitySet + - VirtualMachineScaleSets + type: string upgradeSettings: - description: Storage version of v1api20231102preview.ClusterUpgradeSettings + description: 'UpgradeSettings: Settings for upgrading the agentpool' properties: - $propertyBag: - additionalProperties: - type: string + drainTimeoutInMinutes: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - overrideSettings: - description: Storage version of v1api20231102preview.UpgradeOverrideSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object - type: object - windowsProfile: - description: Storage version of v1api20231102preview.ManagedClusterWindowsProfile - properties: - $propertyBag: - additionalProperties: - type: string + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + maximum: 1440 + minimum: 1 + type: integer + maxSurge: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminPassword: + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - adminUsername: + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + maximum: 30 + minimum: 0 + type: integer + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: Storage version of v1api20231102preview.WindowsGmsaProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - workloadAutoScalerProfile: - description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' properties: - $propertyBag: - additionalProperties: - type: string + disableOutboundNat: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keda: - description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - addonAutoscaling: - type: string - enabled: - type: boolean - type: object + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. + type: boolean type: object + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + enum: + - OCIContainer + - WasmWasi + type: string required: - owner type: object status: - description: Storage version of v1api20231102preview.ManagedCluster_STATUS properties: - $propertyBag: - additionalProperties: + availabilityZones: + description: |- + AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType + property is 'VirtualMachineScaleSets'. + items: type: string + type: array + capacityReservationGroupID: + description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) + for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + type: integer + creationData: + description: |- + CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using + a snapshot. + properties: + sourceResourceId: + description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + type: string type: object - aadProfile: - description: Storage version of v1api20231102preview.ManagedClusterAADProfile_STATUS + currentOrchestratorVersion: + description: |- + CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be + exactly equal to it. If orchestratorVersion is , this field will contain the full + version being used. + type: string + eTag: + description: |- + ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is + updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic + concurrency per the normal etag convention. + type: string + enableAutoScaling: + description: 'EnableAutoScaling: Whether to enable auto-scaler' + type: boolean + enableEncryptionAtHost: + description: |- + EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, + see: https://docs.microsoft.com/azure/aks/enable-host-encryption + type: boolean + enableFIPS: + description: |- + EnableFIPS: See [Add a FIPS-enabled node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more + details. + type: boolean + enableNodePublicIP: + description: |- + EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. + A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine + to minimize hops. For more information see [assigning a public IP per + node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The + default is false. + type: boolean + enableUltraSSD: + description: 'EnableUltraSSD: Whether to enable UltraSSD' + type: boolean + gpuInstanceProfile: + description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: string + hostGroupID: + description: |- + HostGroupID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: string + id: + description: 'Id: Resource ID.' + type: string + kubeletConfig: + description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminGroupObjectIDs: + allowedUnsafeSysctls: + description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' items: type: string type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: + containerLogMaxFiles: + description: |- + ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be + ≥ 2. + type: integer + containerLogMaxSizeMB: + description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' + type: integer + cpuCfsQuota: + description: 'CpuCfsQuota: The default is true.' type: boolean - serverAppID: + cpuCfsQuotaPeriod: + description: |- + CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and + a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. type: string - serverAppSecret: + cpuManagerPolicy: + description: |- + CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management + policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more + information. Allowed values are 'none' and 'static'. type: string - tenantID: + failSwapOn: + description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' + type: boolean + imageGcHighThreshold: + description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' + type: integer + imageGcLowThreshold: + description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' + type: integer + podMaxPids: + description: 'PodMaxPids: The maximum number of processes per pod.' + type: integer + topologyManagerPolicy: + description: |- + TopologyManagerPolicy: For more information see [Kubernetes Topology + Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values + are 'none', 'best-effort', 'restricted', and 'single-numa-node'. type: string type: object - addonProfiles: - additionalProperties: - description: Storage version of v1api20231102preview.ManagedClusterAddonProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: + kubeletDiskType: + description: |- + KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. + type: string + linuxOSConfig: + description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + properties: + swapFileSizeMB: + description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' + type: integer + sysctls: + description: 'Sysctls: Sysctl settings for Linux agent nodes.' + properties: + fsAioMaxNr: + description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' + type: integer + fsFileMax: + description: 'FsFileMax: Sysctl setting fs.file-max.' + type: integer + fsInotifyMaxUserWatches: + description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' + type: integer + fsNrOpen: + description: 'FsNrOpen: Sysctl setting fs.nr_open.' + type: integer + kernelThreadsMax: + description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' + type: integer + netCoreNetdevMaxBacklog: + description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' + type: integer + netCoreOptmemMax: + description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' + type: integer + netCoreRmemDefault: + description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' + type: integer + netCoreRmemMax: + description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' + type: integer + netCoreSomaxconn: + description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' + type: integer + netCoreWmemDefault: + description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' + type: integer + netCoreWmemMax: + description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' + type: integer + netIpv4IpLocalPortRange: + description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' type: string - type: object - enabled: - type: boolean - identity: - description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object + netIpv4NeighDefaultGcThresh1: + description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' + type: integer + netIpv4NeighDefaultGcThresh2: + description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' + type: integer + netIpv4NeighDefaultGcThresh3: + description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' + type: integer + netIpv4TcpFinTimeout: + description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' + type: integer + netIpv4TcpKeepaliveProbes: + description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' + type: integer + netIpv4TcpKeepaliveTime: + description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' + type: integer + netIpv4TcpMaxSynBacklog: + description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' + type: integer + netIpv4TcpMaxTwBuckets: + description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' + type: integer + netIpv4TcpTwReuse: + description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' + type: boolean + netIpv4TcpkeepaliveIntvl: + description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' + type: integer + netNetfilterNfConntrackBuckets: + description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' + type: integer + netNetfilterNfConntrackMax: + description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' + type: integer + vmMaxMapCount: + description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' + type: integer + vmSwappiness: + description: 'VmSwappiness: Sysctl setting vm.swappiness.' + type: integer + vmVfsCachePressure: + description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' + type: integer + type: object + transparentHugePageDefrag: + description: |- + TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is + 'madvise'. For more information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string + transparentHugePageEnabled: + description: |- + TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more + information see [Transparent + Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + type: string type: object - agentPoolProfiles: - items: - description: Storage version of v1api20231102preview.ManagedClusterAgentPoolProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - artifactStreamingProfile: - description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: - type: string - count: - type: integer - creationData: - description: Storage version of v1api20231102preview.CreationData_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20231102preview.AgentPoolGPUProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean - type: object - hostGroupID: - type: string - kubeletConfig: - description: Storage version of v1api20231102preview.KubeletConfig_STATUS + maxCount: + description: 'MaxCount: The maximum number of nodes for auto-scaling' + type: integer + maxPods: + description: 'MaxPods: The maximum number of pods that can run on a node.' + type: integer + minCount: + description: 'MinCount: The minimum number of nodes for auto-scaling' + type: integer + mode: + description: |- + Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool + restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + networkProfile: + description: 'NetworkProfile: Network-related settings of an agent pool.' + properties: + allowedHostPorts: + description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + items: + description: The port range. properties: - $propertyBag: - additionalProperties: - type: string + portEnd: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: + PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or + equal to portStart. type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: Storage version of v1api20231102preview.LinuxOSConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + portStart: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: + PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or + equal to portEnd. type: integer - sysctls: - description: Storage version of v1api20231102preview.SysctlConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: Storage version of v1api20231102preview.PortRange_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - description: Storage version of v1api20231102preview.IPTag_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeImageVersion: - type: string - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podSubnetID: - type: string - powerState: - description: Storage version of v1api20231102preview.PowerState_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: + protocol: + description: 'Protocol: The network protocol of the port.' type: string type: object - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' + items: type: string - securityProfile: - description: Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS + type: array + nodePublicIPTags: + description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + items: + description: Contains the IPTag associated with the object. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: + ipTagType: + description: 'IpTagType: The IP tag type. Example: RoutingPreference.' type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' type: string - nodeSoakDurationInMinutes: - type: integer - type: object - virtualMachineNodesStatus: - items: - description: Storage version of v1api20231102preview.VirtualMachineNodes_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: - description: Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scale: - description: Storage version of v1api20231102preview.ScaleProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - manual: - items: - description: Storage version of v1api20231102preview.ManualScaleProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - type: string - vnetSubnetID: - type: string - windowsProfile: - description: Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean type: object - workloadRuntime: - type: string - type: object + type: array + type: object + nodeImageVersion: + description: 'NodeImageVersion: The version of node image' + type: string + nodeLabels: + additionalProperties: + type: string + description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + type: object + nodePublicIPPrefixID: + description: |- + NodePublicIPPrefixID: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + type: string + nodeTaints: + description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + items: + type: string type: array - aiToolchainOperatorProfile: - description: Storage version of v1api20231102preview.ManagedClusterAIToolchainOperatorProfile_STATUS + orchestratorVersion: + description: |- + OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. + When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster + with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer + patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same + Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor + version must be within two minor versions of the control plane version. The node pool version cannot be greater than the + control plane version. For more information see [upgrading a node + pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: string + osDiskSizeGB: + type: integer + osDiskType: + description: |- + OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested + OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral + OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + type: string + osSKU: + description: |- + OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 + when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. + type: string + osType: + description: 'OsType: The operating system type. The default is Linux.' + type: string + podSubnetID: + description: |- + PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is + of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + powerState: + description: |- + PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this + field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only + be stopped if it is Running and provisioning state is Succeeded properties: - $propertyBag: - additionalProperties: - type: string + code: + description: 'Code: Tells whether the cluster is Running or Stopped' + type: string + type: object + properties_type: + description: 'PropertiesType: The type of Agent Pool.' + type: string + provisioningState: + description: 'ProvisioningState: The current deployment or provisioning state.' + type: string + proximityPlacementGroupID: + description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: string + scaleDownMode: + description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + type: string + scaleSetEvictionPolicy: + description: |- + ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is + 'Delete'. + type: string + scaleSetPriority: + description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + type: string + securityProfile: + description: 'SecurityProfile: The security settings of an agent pool.' + properties: + enableSecureBoot: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: + EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and + drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + enableVTPM: + description: |- + EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held + locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. + type: boolean + type: object + spotMaxPrice: + description: |- + SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any + on-demand price. For more details on spot pricing, see [spot VMs + pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) + type: number + tags: + additionalProperties: + type: string + description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + type: object + type: + description: 'Type: Resource type' + type: string + upgradeSettings: + description: 'UpgradeSettings: Settings for upgrading the agentpool' + properties: + drainTimeoutInMinutes: + description: |- + DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. + This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not + specified, the default is 30 minutes. + type: integer + maxSurge: + description: |- + MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it + is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded + up. If not specified, the default is 1. For more information, including best practices, see: + https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + type: string + nodeSoakDurationInMinutes: + description: |- + NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and + moving on to next node. If not specified, the default is 0 minutes. + type: integer + type: object + vmSize: + description: |- + VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods + might fail to run correctly. For more details on restricted VM sizes, see: + https://docs.microsoft.com/azure/aks/quotas-skus-regions + type: string + vnetSubnetID: + description: |- + VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, + this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: string + windowsProfile: + description: 'WindowsProfile: The Windows agent pool''s specific profile.' + properties: + disableOutboundNat: + description: |- + DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT + Gateway and the Windows agent pool does not have node public IP enabled. type: boolean type: object - apiServerAccessProfile: - description: Storage version of v1api20231102preview.ManagedClusterAPIServerAccessProfile_STATUS + workloadRuntime: + description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240901.ManagedClustersAgentPool + Generator information: + - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240901.ManagedClustersAgentPool_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + capacityReservationGroupReference: + description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - enableVnetIntegration: - type: boolean - privateDNSZone: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subnetId: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoScalerProfile: - description: Storage version of v1api20231102preview.ManagedClusterProperties_AutoScalerProfile_STATUS + count: + type: integer + creationData: + description: |- + Storage version of v1api20240901.CreationData + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -154495,49 +231098,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: - type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: - type: string - scale-down-utilization-threshold: + sourceResourceReference: + description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupReference: + description: |- + HostGroupReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. + For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scan-interval: + group: + description: Group is the Kubernetes group of the resource. type: string - skip-nodes-with-local-storage: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - skip-nodes-with-system-pods: + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoUpgradeProfile: - description: Storage version of v1api20231102preview.ManagedClusterAutoUpgradeProfile_STATUS + kubeletConfig: + description: |- + Storage version of v1api20240901.KubeletConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -154546,13 +231166,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - nodeOSUpgradeChannel: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: type: string - upgradeChannel: + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - azureMonitorProfile: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfile_STATUS + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240901.LinuxOSConfig + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -154561,60 +231205,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - logs: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileLogs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - appMonitoring: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - containerInsights: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - logAnalyticsWorkspaceResourceId: - type: string - windowsHostLogs: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileWindowsHostLogs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - type: object - metrics: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileMetrics_STATUS + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240901.SysctlConfig + Sysctl settings for Linux agent nodes. properties: $propertyBag: additionalProperties: @@ -154623,131 +231219,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appMonitoringOpenTelemetryMetrics: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - enabled: + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: type: boolean - kubeStateMetrics: - description: Storage version of v1api20231102preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object - type: object - type: object - azurePortalFQDN: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationData: - description: Storage version of v1api20231102preview.CreationData_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentKubernetesVersion: - type: string - disableLocalAccounts: - type: boolean - diskEncryptionSetID: - type: string - dnsPrefix: - type: string - enableNamespaceResources: - type: boolean - enablePodSecurityPolicy: - type: boolean - enableRBAC: - type: boolean - extendedLocation: - description: Storage version of v1api20231102preview.ExtendedLocation_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer type: object - name: + transparentHugePageDefrag: type: string - type: + transparentHugePageEnabled: type: string type: object - fqdn: - type: string - fqdnSubdomain: + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: type: string - httpProxyConfig: - description: Storage version of v1api20231102preview.ManagedClusterHTTPProxyConfig_STATUS + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile + Network settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -154756,36 +231301,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - effectiveNoProxy: - items: - type: string - type: array - httpProxy: - type: string - httpsProxy: - type: string - noProxy: + allowedHostPorts: items: - type: string - type: array - trustedCa: - type: string - type: object - id: - type: string - identity: - description: Storage version of v1api20231102preview.ManagedClusterIdentity_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedResources: - additionalProperties: - description: Storage version of v1api20231102preview.DelegatedResource_STATUS + description: |- + Storage version of v1api20240901.PortRange + The port range. properties: $propertyBag: additionalProperties: @@ -154794,25 +231314,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string - referralResource: + type: object + type: array + applicationSecurityGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - resourceId: + group: + description: Group is the Kubernetes group of the resource. type: string - tenantId: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20231102preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -154821,81 +231357,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + ipTagType: type: string - principalId: + tag: type: string type: object - type: object + type: array type: object - identityProfile: + nodeLabels: additionalProperties: - description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object + type: string type: object - ingressProfile: - description: Storage version of v1api20231102preview.ManagedClusterIngressProfile_STATUS + nodePublicIPPrefixReference: + description: |- + NodePublicIPPrefixReference: This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - webAppRouting: - description: Storage version of v1api20231102preview.ManagedClusterIngressProfileWebAppRouting_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsZoneResourceIds: - items: - type: string - type: array - enabled: - type: boolean - identity: - description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - kubernetesVersion: - type: string - linuxProfile: - description: Storage version of v1api20231102preview.ContainerServiceLinuxProfile_STATUS + nodeTaints: + items: + type: string + type: array + operatorSpec: + description: |- + Storage version of v1api20240901.ManagedClustersAgentPoolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -154904,67 +231406,117 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: - type: string - ssh: - description: Storage version of v1api20231102preview.ContainerServiceSshConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: - description: Storage version of v1api20231102preview.ContainerServiceSshPublicKey_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyData: - type: string - type: object - type: array - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - location: + orchestratorVersion: type: string - maxAgentPools: + originalVersion: + type: string + osDiskSizeGB: type: integer - metricsProfile: - description: Storage version of v1api20231102preview.ManagedClusterMetricsProfile_STATUS + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a containerservice.azure.com/ManagedCluster resource properties: - $propertyBag: - additionalProperties: - type: string + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + podSubnetReference: + description: |- + PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). + This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - costAnalysis: - description: Storage version of v1api20231102preview.ManagedClusterCostAnalysis_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - name: - type: string - networkProfile: - description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_STATUS + powerState: + description: |- + Storage version of v1api20240901.PowerState + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -154973,230 +231525,189 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServiceIP: - type: string - ipFamilies: - items: - type: string - type: array - kubeProxyConfig: - description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - ipvsConfig: - description: Storage version of v1api20231102preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduler: - type: string - tcpFinTimeoutSeconds: - type: integer - tcpTimeoutSeconds: - type: integer - udpTimeoutSeconds: - type: integer - type: object - mode: - type: string - type: object - loadBalancerProfile: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendPoolType: - type: string - effectiveOutboundIPs: - items: - description: Storage version of v1api20231102preview.ResourceReference_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: Storage version of v1api20231102preview.ResourceReference_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20231102preview.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: Storage version of v1api20231102preview.ResourceReference_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - type: object - loadBalancerSku: + code: type: string - monitoring: - description: Storage version of v1api20231102preview.NetworkMonitoring_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - natGatewayProfile: - description: Storage version of v1api20231102preview.ManagedClusterNATGatewayProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIPs: - items: - description: Storage version of v1api20231102preview.ResourceReference_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - idleTimeoutInMinutes: - type: integer - managedOutboundIPProfile: - description: Storage version of v1api20231102preview.ManagedClusterManagedOutboundIPProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object - type: object - networkDataplane: + type: object + proximityPlacementGroupReference: + description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - networkMode: + group: + description: Group is the Kubernetes group of the resource. type: string - networkPlugin: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - networkPluginMode: + name: + description: Name is the Kubernetes name of the resource. type: string - networkPolicy: + type: object + scaleDownMode: + type: string + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile + The security settings of an agent pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: type: string - outboundType: + nodeSoakDurationInMinutes: + type: integer + type: object + vmSize: + type: string + vnetSubnetReference: + description: |- + VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is + specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - podCidr: + group: + description: Group is the Kubernetes group of the resource. type: string - podCidrs: - items: - type: string - type: array - serviceCidr: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - serviceCidrs: - items: + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile + The Windows agent pool's specific profile. + properties: + $propertyBag: + additionalProperties: type: string - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableOutboundNat: + type: boolean type: object - nodeProvisioningProfile: - description: Storage version of v1api20231102preview.ManagedClusterNodeProvisioningProfile_STATUS + workloadRuntime: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240901.ManagedClustersAgentPool_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityZones: + items: + type: string + type: array + capacityReservationGroupID: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + count: + type: integer + creationData: + description: |- + Storage version of v1api20240901.CreationData_STATUS + Data used when creating a target resource from a source resource. properties: $propertyBag: additionalProperties: @@ -155205,13 +231716,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - mode: + sourceResourceId: type: string type: object - nodeResourceGroup: + currentOrchestratorVersion: type: string - nodeResourceGroupProfile: - description: Storage version of v1api20231102preview.ManagedClusterNodeResourceGroupProfile_STATUS + eTag: + type: string + enableAutoScaling: + type: boolean + enableEncryptionAtHost: + type: boolean + enableFIPS: + type: boolean + enableNodePublicIP: + type: boolean + enableUltraSSD: + type: boolean + gpuInstanceProfile: + type: string + hostGroupID: + type: string + id: + type: string + kubeletConfig: + description: |- + Storage version of v1api20240901.KubeletConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -155220,11 +231751,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - restrictionLevel: + allowedUnsafeSysctls: + items: + type: string + type: array + containerLogMaxFiles: + type: integer + containerLogMaxSizeMB: + type: integer + cpuCfsQuota: + type: boolean + cpuCfsQuotaPeriod: + type: string + cpuManagerPolicy: + type: string + failSwapOn: + type: boolean + imageGcHighThreshold: + type: integer + imageGcLowThreshold: + type: integer + podMaxPids: + type: integer + topologyManagerPolicy: type: string type: object - oidcIssuerProfile: - description: Storage version of v1api20231102preview.ManagedClusterOIDCIssuerProfile_STATUS + kubeletDiskType: + type: string + linuxOSConfig: + description: |- + Storage version of v1api20240901.LinuxOSConfig_STATUS + See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. properties: $propertyBag: additionalProperties: @@ -155233,13 +231790,96 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - issuerURL: + swapFileSizeMB: + type: integer + sysctls: + description: |- + Storage version of v1api20240901.SysctlConfig_STATUS + Sysctl settings for Linux agent nodes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fsAioMaxNr: + type: integer + fsFileMax: + type: integer + fsInotifyMaxUserWatches: + type: integer + fsNrOpen: + type: integer + kernelThreadsMax: + type: integer + netCoreNetdevMaxBacklog: + type: integer + netCoreOptmemMax: + type: integer + netCoreRmemDefault: + type: integer + netCoreRmemMax: + type: integer + netCoreSomaxconn: + type: integer + netCoreWmemDefault: + type: integer + netCoreWmemMax: + type: integer + netIpv4IpLocalPortRange: + type: string + netIpv4NeighDefaultGcThresh1: + type: integer + netIpv4NeighDefaultGcThresh2: + type: integer + netIpv4NeighDefaultGcThresh3: + type: integer + netIpv4TcpFinTimeout: + type: integer + netIpv4TcpKeepaliveProbes: + type: integer + netIpv4TcpKeepaliveTime: + type: integer + netIpv4TcpMaxSynBacklog: + type: integer + netIpv4TcpMaxTwBuckets: + type: integer + netIpv4TcpTwReuse: + type: boolean + netIpv4TcpkeepaliveIntvl: + type: integer + netNetfilterNfConntrackBuckets: + type: integer + netNetfilterNfConntrackMax: + type: integer + vmMaxMapCount: + type: integer + vmSwappiness: + type: integer + vmVfsCachePressure: + type: integer + type: object + transparentHugePageDefrag: + type: string + transparentHugePageEnabled: type: string type: object - podIdentityProfile: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProfile_STATUS + maxCount: + type: integer + maxPods: + type: integer + minCount: + type: integer + mode: + type: string + name: + type: string + networkProfile: + description: |- + Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS + Network settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -155248,13 +231888,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: + allowedHostPorts: items: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentity_STATUS + description: |- + Storage version of v1api20240901.PortRange_STATUS + The port range. properties: $propertyBag: additionalProperties: @@ -155263,94 +231901,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bindingSelector: - type: string - identity: - description: Storage version of v1api20231102preview.UserAssignedIdentity_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - name: - type: string - namespace: - type: string - provisioningInfo: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentity_ProvisioningInfo_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningError_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - details: - items: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - type: object - type: object - provisioningState: + portEnd: + type: integer + portStart: + type: integer + protocol: type: string type: object type: array - userAssignedIdentityExceptions: + applicationSecurityGroups: items: - description: Storage version of v1api20231102preview.ManagedClusterPodIdentityException_STATUS + type: string + type: array + nodePublicIPTags: + items: + description: |- + Storage version of v1api20240901.IPTag_STATUS + Contains the IPTag associated with the object. properties: $propertyBag: additionalProperties: @@ -155359,19 +231926,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + ipTagType: type: string - namespace: + tag: type: string - podLabels: - additionalProperties: - type: string - type: object type: object type: array type: object + nodeImageVersion: + type: string + nodeLabels: + additionalProperties: + type: string + type: object + nodePublicIPPrefixID: + type: string + nodeTaints: + items: + type: string + type: array + orchestratorVersion: + type: string + osDiskSizeGB: + type: integer + osDiskType: + type: string + osSKU: + type: string + osType: + type: string + podSubnetID: + type: string powerState: - description: Storage version of v1api20231102preview.PowerState_STATUS + description: |- + Storage version of v1api20240901.PowerState_STATUS + Describes the Power State of the cluster properties: $propertyBag: additionalProperties: @@ -155383,43 +231972,22 @@ spec: code: type: string type: object - privateFQDN: + properties_type: type: string - privateLinkResources: - items: - description: Storage version of v1api20231102preview.PrivateLinkResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - id: - type: string - name: - type: string - privateLinkServiceID: - type: string - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object - type: array provisioningState: type: string - publicNetworkAccess: + proximityPlacementGroupID: type: string - resourceUID: + scaleDownMode: type: string - safeguardsProfile: - description: Storage version of v1api20231102preview.SafeguardsProfile_STATUS + scaleSetEvictionPolicy: + type: string + scaleSetPriority: + type: string + securityProfile: + description: |- + Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS + The security settings of an agent pool. properties: $propertyBag: additionalProperties: @@ -155428,21 +231996,46 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - excludedNamespaces: - items: - type: string - type: array - level: - type: string - systemExcludedNamespaces: - items: + enableSecureBoot: + type: boolean + enableVTPM: + type: boolean + type: object + spotMaxPrice: + type: number + tags: + additionalProperties: + type: string + type: object + type: + type: string + upgradeSettings: + description: |- + Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS + Settings for upgrading an agentpool + properties: + $propertyBag: + additionalProperties: type: string - type: array - version: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + drainTimeoutInMinutes: + type: integer + maxSurge: type: string + nodeSoakDurationInMinutes: + type: integer type: object - securityProfile: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfile_STATUS + vmSize: + type: string + vnetSubnetID: + type: string + windowsProfile: + description: |- + Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS + The Windows agent pool's specific profile. properties: $propertyBag: additionalProperties: @@ -155451,440 +232044,626 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureKeyVaultKms: - description: Storage version of v1api20231102preview.AzureKeyVaultKms_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceId: - type: string - type: object - customCATrustCertificates: - items: - type: string - type: array - defender: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefender_STATUS + disableOutboundNat: + type: boolean + type: object + workloadRuntime: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: managedenvironments.app.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: app.azure.com + names: + categories: + - azure + - app + kind: ManagedEnvironment + listKind: ManagedEnvironmentList + plural: managedenvironments + singular: managedenvironment + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' + properties: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: + description: |- + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceId: + customerId: + description: 'CustomerId: Log analytics customer id' type: string - securityMonitoring: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS + sharedKey: + description: 'SharedKey: Log analytics customer key' properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object type: object - imageCleaner: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageCleaner_STATUS + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + certificatePassword: + description: 'CertificatePassword: Certificate password' properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: - type: integer + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object - imageIntegrity: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileImageIntegrity_STATUS + certificateValue: + description: 'CertificateValue: PFX or PEM blob' properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object - nodeRestriction: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileNodeRestriction_STATUS - properties: - $propertyBag: - additionalProperties: + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + type: object + daprAIConnectionString: + description: |- + DaprAIConnectionString: Application Insights connection string used by Dapr to export Service to Service communication + telemetry + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + daprAIInstrumentationKey: + description: |- + DaprAIInstrumentationKey: Azure Monitor instrumentation key used by Dapr to export Service to Service communication + telemetry + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' + properties: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' type: boolean type: object - workloadIdentity: - description: Storage version of v1api20231102preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' type: boolean type: object type: object - serviceMeshProfile: - description: Storage version of v1api20231102preview.ServiceMeshProfile_STATUS + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' properties: - $propertyBag: - additionalProperties: - type: string + dockerBridgeCidr: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - istio: - description: Storage version of v1api20231102preview.IstioServiceMesh_STATUS + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: Storage version of v1api20231102preview.IstioCertificateAuthority_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: Storage version of v1api20231102preview.IstioPluginCertificateAuthority_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultId: - type: string - rootCertObjectName: - type: string - type: object - type: object - components: - description: Storage version of v1api20231102preview.IstioComponents_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: Storage version of v1api20231102preview.IstioEgressGateway_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - nodeSelector: - additionalProperties: - type: string - type: object - type: object - type: array - ingressGateways: - items: - description: Storage version of v1api20231102preview.IstioIngressGateway_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - mode: + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property + type: boolean + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. type: string type: object - servicePrincipalProfile: - description: Storage version of v1api20231102preview.ManagedClusterServicePrincipalProfile_STATUS + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + required: + - name + - workloadProfileType + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + required: + - location + - owner + type: object + status: + description: An environment for hosting container apps + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' properties: - $propertyBag: - additionalProperties: - type: string + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' + properties: + customerId: + description: 'CustomerId: Log analytics customer id' + type: string type: object - clientId: + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + subjectName: + description: 'SubjectName: Subject name of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' type: string type: object - sku: - description: Storage version of v1api20231102preview.ManagedClusterSKU_STATUS + daprConfiguration: + description: 'DaprConfiguration: The configuration of Dapr component.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + version: + description: 'Version: The version of Dapr' type: string - tier: + type: object + defaultDomain: + description: 'DefaultDomain: Default Domain Name for the cluster' + type: string + deploymentErrors: + description: 'DeploymentErrors: Any errors that occurred during deployment or deployment validation' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the Environment.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kedaConfiguration: + description: 'KedaConfiguration: The configuration of Keda component.' + properties: + version: + description: 'Version: The version of Keda' type: string type: object - storageProfile: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfile_STATUS + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - version: - type: string - type: object - fileCSIDriver: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileFileCSIDriver_STATUS + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' type: boolean type: object - snapshotController: - description: Storage version of v1api20231102preview.ManagedClusterStorageProfileSnapshotController_STATUS + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' type: boolean type: object type: object - supportPlan: + provisioningState: + description: 'ProvisioningState: Provisioning state of the Environment.' + type: string + staticIp: + description: 'StaticIp: Static IP of the Environment' type: string systemData: - description: Storage version of v1api20231102preview.SystemData_STATUS + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags.' type: object type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - upgradeSettings: - description: Storage version of v1api20231102preview.ClusterUpgradeSettings_STATUS + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' properties: - $propertyBag: - additionalProperties: - type: string + dockerBridgeCidr: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - overrideSettings: - description: Storage version of v1api20231102preview.UpgradeOverrideSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object - type: object - windowsProfile: - description: Storage version of v1api20231102preview.ManagedClusterWindowsProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUsername: + InfrastructureSubnetId: Resource ID of a subnet for infrastructure components. Must not overlap with any other provided + IP ranges. type: string - enableCSIProxy: + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property type: boolean - gmsaProfile: - description: Storage version of v1api20231102preview.WindowsGmsaProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. type: string - type: object - workloadAutoScalerProfile: - description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + platformReservedDnsIP: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keda: - description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: Storage version of v1api20231102preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - addonAutoscaling: - type: string - enabled: - type: boolean - type: object + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string type: object + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean type: object type: object served: true @@ -155904,13 +232683,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240402preview + name: v1api20240301storage schema: openAPIV3Schema: description: |- + Storage version of v1api20240301.ManagedEnvironment Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + - Generated from: /app/resource-manager/Microsoft.App/stable/2024-03-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} properties: apiVersion: description: |- @@ -155930,1064 +232710,746 @@ spec: metadata: type: object spec: + description: Storage version of v1api20240301.ManagedEnvironment_Spec properties: - aadProfile: - description: 'AadProfile: The Azure Active Directory configuration.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20240301.AppLogsConfiguration + Configuration of application logs properties: - adminGroupObjectIDs: - description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' - items: + $propertyBag: + additionalProperties: type: string - type: array - clientAppID: - description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - enableAzureRBAC: - description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' - type: boolean - managed: - description: 'Managed: Whether to enable managed AAD.' - type: boolean - serverAppID: - description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - serverAppSecret: - description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - tenantID: description: |- - TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - subscription. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: type: string - type: object - addonProfiles: - additionalProperties: - description: A Kubernetes add-on profile for a managed cluster. - properties: - config: - additionalProperties: - type: string - description: 'Config: Key-value pairs for configuring an add-on.' - type: object - enabled: - description: 'Enabled: Whether the add-on is enabled or not.' - type: boolean - required: - - enabled - type: object - description: 'AddonProfiles: The profile of managed cluster add-on.' - type: object - agentPoolProfiles: - description: 'AgentPoolProfiles: The agent pool properties.' - items: - description: Profile for the container service agent pool. - properties: - artifactStreamingProfile: - description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' - properties: - enabled: - description: |- - Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. - type: boolean - type: object - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableCustomCATrust: - description: |- - EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - certificates into node trust stores. Defaults to false. - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gatewayProfile: - description: |- - GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is - not Gateway. - properties: - publicIPPrefixSize: - description: |- - PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide - public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with - one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure - public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 - nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. - maximum: 31 - minimum: 28 - type: integer - type: object - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - gpuProfile: - description: 'GpuProfile: The GPU settings of an agent pool.' - properties: - installGPUDriver: - description: |- - InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - installation themselves. - type: boolean - type: object - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + logAnalyticsConfiguration: + description: |- + Storage version of v1api20240301.LogAnalyticsConfiguration + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: type: string - type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + sharedKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - minimum: 2 - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. - type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: - description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - messageOfTheDay: - description: |- - MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - will be printed raw and not be executed as a script). - type: string - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - Gateway - - System - - User - type: string - name: - description: 'Name: Windows agent pool names must be 6 characters or less.' - pattern: ^[a-z][a-z0-9]{0,11}$ + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: |- + Storage version of v1api20240301.CustomDomainConfiguration + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - maximum: 65535 - minimum: 1 - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: - description: |- - ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - created. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeInitializationTaints: - description: |- - NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - nodes node1 key1=value1:NoSchedule-` - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - type: array - nodeLabels: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: + required: + - key + - name + type: object + certificateValue: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version and are supported. When is - specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - must have the same major version as the control plane. The node pool minor version must be within two minor versions of - the control plane version. The node pool version cannot be greater than the control plane version. For more information - see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - deprecated. - enum: - - AzureLinux - - CBLMariner - - Mariner - - Ubuntu - - Windows2019 - - Windows2022 - - WindowsAnnual - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string - podIPAllocationMode: - description: |- - PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is - 'DynamicIndividual'. - enum: - - DynamicIndividual - - StaticBlock - type: string - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' - enum: - - Running - - Stopped - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + dnsSuffix: + type: string + type: object + daprAIConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + daprAIInstrumentationKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + infrastructureResourceGroup: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240301.ManagedEnvironmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - scaleSetEvictionPolicy: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: + key: description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - sshAccess: - description: 'SshAccess: SSH access method of an agent pool.' - enum: - - Disabled - - LocalUser + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - - VirtualMachines - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - maximum: 1440 - minimum: 1 - type: integer - maxSurge: + name: description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - maximum: 30 - minimum: 0 - type: integer - undrainableNodeBehavior: + value: description: |- - UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable - nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the - remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. - enum: - - Cordon - - Schedule + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - virtualMachineNodesStatus: - items: - description: Current status on a group of nodes of the same vm size. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - size: - description: 'Size: The VM size of the agents used to host this group of nodes.' - type: string - type: object - type: array - virtualMachinesProfile: - description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' - properties: - scale: - description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' - properties: - autoscale: - description: |- - Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, - at most one AutoScaleProfile is allowed. - items: - description: Specifications on auto-scaling. - properties: - maxCount: - description: 'MaxCount: The maximum number of nodes of the specified sizes.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes of the specified sizes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS - will use the next size. - items: - type: string - type: array - type: object - type: array - manual: - description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' - items: - description: Specifications on number of machines. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will - use the next size. - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: + type: array + secretExpressions: + items: description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: + value: description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - KataMshvVmIsolation - - OCIContainer - - WasmWasi - type: string - required: - - name - type: object - type: array - aiToolchainOperatorProfile: - description: 'AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster.' + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: - enabled: - description: 'Enabled: Indicates if AI toolchain operator enabled or not.' - type: boolean + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - apiServerAccessProfile: - description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + peerAuthentication: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerAuthentication_Spec properties: - authorizedIPRanges: + $propertyBag: + additionalProperties: + type: string description: |- - AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - items: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: + description: |- + Storage version of v1api20240301.Mtls + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + properties: + $propertyBag: + additionalProperties: type: string - type: array - disableRunCommand: - description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' - type: boolean - enablePrivateCluster: description: |- - EnablePrivateCluster: For more details, see [Creating a private AKS - cluster](https://docs.microsoft.com/azure/aks/private-clusters). - type: boolean - enablePrivateClusterPublicFQDN: - description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' - type: boolean - enableVnetIntegration: - description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not.' - type: boolean - privateDNSZone: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + vnetConfiguration: + description: |- + Storage version of v1api20240301.VnetConfiguration + Configuration properties for apps environment to join a Virtual Network + properties: + $propertyBag: + additionalProperties: + type: string description: |- - PrivateDNSZone: The default is System. For more details see [configure private DNS - zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - 'none'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: type: string - subnetId: + infrastructureSubnetReference: description: |- - SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable - apiserver vnet integration. + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: type: string type: object - autoScalerProfile: - description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + workloadProfiles: + items: + description: |- + Storage version of v1api20240301.WorkloadProfile + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.ManagedEnvironment_STATUS + An environment for hosting container apps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20240301.AppLogsConfiguration_STATUS + Configuration of application logs properties: - balance-similar-node-groups: - description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: type: string - daemonset-eviction-for-empty-nodes: + logAnalyticsConfiguration: description: |- - DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - daemonset-eviction-for-occupied-nodes: + Storage version of v1api20240301.LogAnalyticsConfiguration_STATUS + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customDomainConfiguration: + description: |- + Storage version of v1api20240301.CustomDomainConfiguration_STATUS + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - will be deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - expander: - description: 'Expander: Available values are: ''least-waste'', ''most-pods'', ''priority'', ''random''.' - enum: - - least-waste - - most-pods - - priority - - random + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customDomainVerificationId: type: string - ignore-daemonsets-utilization: - description: |- - IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - scaling down decisions. - type: boolean - max-empty-bulk-delete: - description: 'MaxEmptyBulkDelete: The default is 10.' + dnsSuffix: type: string - max-graceful-termination-sec: - description: 'MaxGracefulTerminationSec: The default is 600.' + expirationDate: type: string - max-node-provision-time: - description: |- - MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + subjectName: type: string - max-total-unready-percentage: - description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + thumbprint: type: string - new-pod-scale-up-delay: + type: object + daprConfiguration: + description: |- + Storage version of v1api20240301.DaprConfiguration_STATUS + Configuration properties Dapr component + properties: + $propertyBag: + additionalProperties: + type: string description: |- - NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - type: string - ok-total-unready-count: - description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: type: string - scale-down-delay-after-add: + type: object + defaultDomain: + type: string + deploymentErrors: + type: string + eventStreamEndpoint: + type: string + id: + type: string + infrastructureResourceGroup: + type: string + kedaConfiguration: + description: |- + Storage version of v1api20240301.KedaConfiguration_STATUS + Configuration properties Keda component + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: type: string - scale-down-delay-after-delete: + type: object + kind: + type: string + location: + type: string + name: + type: string + peerAuthentication: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerAuthentication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - time other than minutes (m) is supported. - type: string - scale-down-delay-after-failure: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: description: |- - ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - than minutes (m) is supported. - type: string - scale-down-unneeded-time: + Storage version of v1api20240301.Mtls_STATUS + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-unready-time: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20240301.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + provisioningState: + type: string + staticIp: + type: string + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: type: string - scale-down-utilization-threshold: - description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + createdBy: type: string - scan-interval: - description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + createdByType: type: string - skip-nodes-with-local-storage: - description: 'SkipNodesWithLocalStorage: The default is true.' + lastModifiedAt: type: string - skip-nodes-with-system-pods: - description: 'SkipNodesWithSystemPods: The default is true.' + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - autoUpgradeProfile: - description: 'AutoUpgradeProfile: The auto upgrade configuration.' + tags: + additionalProperties: + type: string + type: object + type: + type: string + vnetConfiguration: + description: |- + Storage version of v1api20240301.VnetConfiguration_STATUS + Configuration properties for apps environment to join a Virtual Network properties: - nodeOSUpgradeChannel: - description: 'NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA.' - enum: - - NodeImage - - None - - SecurityPatch - - Unmanaged - type: string - upgradeChannel: + $propertyBag: + additionalProperties: + type: string description: |- - UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - enum: - - node-image - - none - - patch - - rapid - - stable + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetId: + type: string + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: type: string type: object - azureMonitorProfile: - description: 'AzureMonitorProfile: Prometheus addon profile for the container service cluster' + workloadProfiles: + items: + description: |- + Storage version of v1api20240301.WorkloadProfile_STATUS + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' properties: - appMonitoring: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: description: |- - AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics - and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' properties: - autoInstrumentation: - description: |- - AutoInstrumentation: Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook - to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the - application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - enabled: - description: 'Enabled: Indicates if Application Monitoring Auto Instrumentation is enabled or not.' - type: boolean - type: object - openTelemetryLogs: - description: |- - OpenTelemetryLogs: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and - Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - enabled: - description: 'Enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.' - type: boolean - port: - description: 'Port: The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331.' - type: integer - type: object - openTelemetryMetrics: - description: |- - OpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container - Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. + customerId: + description: 'CustomerId: Log analytics customer id' + type: string + sharedKey: + description: 'SharedKey: Log analytics customer key' properties: - enabled: - description: 'Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.' - type: boolean - port: - description: 'Port: The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333.' - type: integer + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object type: object - containerInsights: - description: |- - ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & - stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + certificateKeyVaultProperties: + description: 'CertificateKeyVaultProperties: Certificate stored in Azure Key Vault.' properties: - disableCustomMetrics: + identityReference: description: |- - DisableCustomMetrics: Indicates whether custom metrics collection has to be disabled or not. If not specified the - default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is - false - type: boolean - disablePrometheusMetricsScraping: - description: |- - DisablePrometheusMetricsScraping: Indicates whether prometheus metrics scraping is disabled or not. If not specified the - default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field - is false - type: boolean - enabled: - description: 'Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.' - type: boolean - logAnalyticsWorkspaceResourceReference: - description: |- - LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing - Azure Monitor Container Insights Logs. + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. properties: armId: description: |- @@ -157006,234 +233468,93 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - syslogPort: - description: 'SyslogPort: The syslog host port. If not specified, the default port is 28330.' - type: integer - type: object - metrics: - description: 'Metrics: Metrics profile for the prometheus service addon' - properties: - enabled: - description: 'Enabled: Whether to enable the Prometheus collector' - type: boolean - kubeStateMetrics: - description: 'KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster' - properties: - metricAnnotationsAllowList: - description: |- - MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - labels metric. - type: string - metricLabelsAllowlist: - description: |- - MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels - metric. - type: string - type: object - required: - - enabled + keyVaultUrl: + description: 'KeyVaultUrl: URL pointing to the Azure Key Vault secret that holds the certificate.' + pattern: ^[a-zA-Z][a-zA-Z0-9+-.]*:[^\s]*$ + type: string type: object - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ - type: string - bootstrapProfile: - description: 'BootstrapProfile: Profile of the cluster bootstrap configuration.' - properties: - artifactSource: - description: 'ArtifactSource: The source where the artifacts are downloaded from.' - enum: - - Cache - - Direct - type: string - containerRegistryReference: - description: |- - ContainerRegistryReference: The resource Id of Azure Container Registry. The registry must have private network access, - premium SKU and zone redundancy. + certificatePassword: + description: 'CertificatePassword: Certificate password' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - type: object - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a - snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + certificateValue: + description: 'CertificateValue: PFX or PEM blob' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string type: object - disableLocalAccounts: - description: |- - DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - used on Managed Clusters that are AAD enabled. For more details see [disable local - accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - type: boolean - diskEncryptionSetReference: + daprAIConnectionString: description: |- - DiskEncryptionSetReference: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + DaprAIConnectionString: Application Insights connection string used by Dapr to export Service to Service communication + telemetry properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - dnsPrefix: - description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' - type: string - enableNamespaceResources: - description: |- - EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed - cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as - a ARM Resource. - type: boolean - enablePodSecurityPolicy: + daprAIInstrumentationKey: description: |- - EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - https://aka.ms/aks/psp. - type: boolean - enableRBAC: - description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the Virtual Machine.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - fqdnSubdomain: - description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' - type: string - httpProxyConfig: - description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + DaprAIInstrumentationKey: Azure Monitor instrumentation key used by Dapr to export Service to Service communication + telemetry properties: - httpProxy: - description: 'HttpProxy: The HTTP proxy server endpoint to use.' - type: string - httpsProxy: - description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' - type: string - noProxy: - description: 'NoProxy: The endpoints that should not go through proxy.' - items: - type: string - type: array - trustedCa: - description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + key: + description: Key is the key in the Kubernetes secret being referenced type: string - type: object - identity: - description: 'Identity: The identity of the managed cluster, if configured.' - properties: - delegatedResources: - additionalProperties: - description: Delegated resource properties - internal use only. - properties: - location: - description: 'Location: The source resource location - internal use only.' - type: string - referralResource: - description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' - type: string - resourceReference: - description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: - description: 'TenantId: The tenant id of the delegated resource - internal use only.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - type: object - description: |- - DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - type: object - type: + name: description: |- - Type: For more information see [use managed identities in - AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + identity: + description: |- + Identity: Managed identities for the Managed Environment to interact with other Azure services without maintaining any + secrets or credentials in code. + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' enum: - None - SystemAssigned + - SystemAssigned,UserAssigned - UserAssigned type: string userAssignedIdentities: - description: |- - UserAssignedIdentities: The keys must be ARM resource IDs in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: description: Information about the user assigned identity for the resource properties: @@ -157259,520 +233580,21 @@ spec: type: object type: object type: array + required: + - type type: object - identityProfile: - additionalProperties: - description: Details about a user assigned identity. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - description: 'IdentityProfile: Identities associated with the cluster.' - type: object - ingressProfile: - description: 'IngressProfile: Ingress profile for the managed cluster.' - properties: - webAppRouting: - description: 'WebAppRouting: Web App Routing settings for the ingress profile.' - properties: - dnsZoneResourceReferences: - description: |- - DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only - when Web App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS - zones must be in the same resource group and all private DNS zones must be in the same resource group. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - enabled: - description: 'Enabled: Whether to enable Web App Routing.' - type: boolean - type: object - type: object - kind: - description: 'Kind: This is primarily used to expose different UI experiences in the portal for different kinds' - type: string - kubernetesVersion: + infrastructureResourceGroup: description: |- - KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kind: + description: 'Kind: Kind of the Environment.' type: string - linuxProfile: - description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' - properties: - adminUsername: - description: 'AdminUsername: The administrator username to use for Linux VMs.' - pattern: ^[A-Za-z][-A-Za-z0-9_]*$ - type: string - ssh: - description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' - properties: - publicKeys: - description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' - items: - description: Contains information about SSH certificate public key data. - properties: - keyData: - description: |- - KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - without headers. - type: string - required: - - keyData - type: object - type: array - required: - - publicKeys - type: object - required: - - adminUsername - - ssh - type: object location: description: 'Location: The geo-location where the resource lives' type: string - metricsProfile: - description: 'MetricsProfile: Optional cluster metrics configuration.' - properties: - costAnalysis: - description: 'CostAnalysis: The cost analysis configuration for the cluster' - properties: - enabled: - description: |- - Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will - add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - default is false. For more information see aka.ms/aks/docs/cost-analysis. - type: boolean - type: object - type: object - networkProfile: - description: 'NetworkProfile: The network configuration profile.' - properties: - advancedNetworking: - description: |- - AdvancedNetworking: Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced - networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking. - properties: - observability: - description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' - properties: - enabled: - description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' - type: boolean - type: object - type: object - dnsServiceIP: - description: |- - DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - range specified in serviceCidr. - pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - type: string - ipFamilies: - description: |- - IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - items: - description: To determine if address belongs IPv4 or IPv6 family. - enum: - - IPv4 - - IPv6 - type: string - type: array - kubeProxyConfig: - description: |- - KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy - defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ - where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - properties: - enabled: - description: |- - Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by - default without these customizations). - type: boolean - ipvsConfig: - description: 'IpvsConfig: Holds configuration customizations for IPVS. May only be specified if ''mode'' is set to ''IPVS''.' - properties: - scheduler: - description: 'Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.' - enum: - - LeastConnection - - RoundRobin - type: string - tcpFinTimeoutSeconds: - description: |- - TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive - integer value. - type: integer - tcpTimeoutSeconds: - description: 'TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.' - type: integer - udpTimeoutSeconds: - description: 'UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.' - type: integer - type: object - mode: - description: 'Mode: Specify which proxy mode to use (''IPTABLES'' or ''IPVS'')' - enum: - - IPTABLES - - IPVS - type: string - type: object - loadBalancerProfile: - description: 'LoadBalancerProfile: Profile of the cluster load balancer.' - properties: - allocatedOutboundPorts: - description: |- - AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - maximum: 64000 - minimum: 0 - type: integer - backendPoolType: - description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' - enum: - - NodeIP - - NodeIPConfiguration - type: string - clusterServiceLoadBalancerHealthProbeMode: - description: 'ClusterServiceLoadBalancerHealthProbeMode: The health probing behavior for External Traffic Policy Cluster services.' - enum: - - ServiceNodePort - - Shared - type: string - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - enableMultipleStandardLoadBalancers: - description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' - type: boolean - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 30 minutes. - maximum: 120 - minimum: 4 - type: integer - managedOutboundIPs: - description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' - properties: - count: - description: |- - Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - must be in the range of 1 to 100 (inclusive). The default value is 1. - maximum: 100 - minimum: 1 - type: integer - countIPv6: - description: |- - CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - maximum: 100 - minimum: 0 - type: integer - type: object - outboundIPPrefixes: - description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' - properties: - publicIPPrefixes: - description: 'PublicIPPrefixes: A list of public IP prefix resources.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' - properties: - publicIPs: - description: 'PublicIPs: A list of public IP resources.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: - description: |- - LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - balancer SKUs. - enum: - - basic - - standard - type: string - natGatewayProfile: - description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' - properties: - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 4 minutes. - maximum: 120 - minimum: 4 - type: integer - managedOutboundIPProfile: - description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' - properties: - count: - description: |- - Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - (inclusive). The default value is 1. - maximum: 16 - minimum: 1 - type: integer - type: object - type: object - networkDataplane: - description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' - enum: - - azure - - cilium - type: string - networkMode: - description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' - enum: - - bridge - - transparent - type: string - networkPlugin: - description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' - enum: - - azure - - kubenet - - none - type: string - networkPluginMode: - description: 'NetworkPluginMode: Network plugin mode used for building the Kubernetes network.' - enum: - - overlay - type: string - networkPolicy: - description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' - enum: - - azure - - calico - - cilium - - none - type: string - outboundType: - description: |- - OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - enum: - - loadBalancer - - managedNATGateway - - none - - userAssignedNATGateway - - userDefinedRouting - type: string - podCidr: - description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ - type: string - podCidrs: - description: |- - PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. - items: - type: string - type: array - podLinkLocalAccess: - description: |- - PodLinkLocalAccess: Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods - with hostNetwork=false. if not specified, the default is 'IMDS'. - enum: - - IMDS - - None - type: string - serviceCidr: - description: |- - ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - ranges. - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ - type: string - serviceCidrs: - description: |- - ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - items: - type: string - type: array - staticEgressGatewayProfile: - description: |- - StaticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, - see https://aka.ms/aks/static-egress-gateway. - properties: - enabled: - description: 'Enabled: Indicates if Static Egress Gateway addon is enabled or not.' - type: boolean - type: object - type: object - nodeProvisioningProfile: - description: 'NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster.' - properties: - mode: - description: 'Mode: Once the mode it set to Auto, it cannot be changed back to Manual.' - enum: - - Auto - - Manual - type: string - type: object - nodeResourceGroup: - description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' - type: string - nodeResourceGroupProfile: - description: 'NodeResourceGroupProfile: The node resource group configuration profile.' - properties: - restrictionLevel: - description: 'RestrictionLevel: The restriction level applied to the cluster''s node resource group' - enum: - - ReadOnly - - Unrestricted - type: string - type: object - oidcIssuerProfile: - description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' - properties: - enabled: - description: 'Enabled: Whether the OIDC issuer is enabled.' - type: boolean - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -157808,27 +233630,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - oidcIssuerProfile: - description: |- - OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be - created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -157859,44 +233660,6 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - adminCredentials: - description: |- - AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- @@ -157911,235 +233674,520 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIdentityProfile: - description: |- - PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - details on AAD pod identity integration. + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' properties: - allowNetworkPluginKubenet: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' + properties: + dockerBridgeCidr: description: |- - AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - for more information. - type: boolean - enabled: - description: 'Enabled: Whether the pod identity addon is enabled.' + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property type: boolean - userAssignedIdentities: - description: 'UserAssignedIdentities: The pod identities to use in the cluster.' - items: - description: Details about the pod identity assigned to the Managed Cluster. - properties: - bindingSelector: - description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' - type: string - identity: - description: 'Identity: The user assigned identity details.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - description: 'Name: The name of the pod identity.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity.' - type: string - required: - - identity - - name - - namespace - type: object - type: array - userAssignedIdentityExceptions: - description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' - items: - description: |- - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - properties: - name: - description: 'Name: The name of the pod identity exception.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity exception.' - type: string - podLabels: - additionalProperties: - type: string - description: 'PodLabels: The pod labels to match.' - type: object - required: - - name - - namespace - - podLabels - type: object - type: array + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string type: object - privateLinkResources: - description: 'PrivateLinkResources: Private link resources associated with the cluster.' + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' items: - description: A private link resource + description: Workload profile to scope container app execution. properties: - groupId: - description: 'GroupId: The group ID of the resource.' - type: string + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer name: - description: 'Name: The name of the private link resource.' + description: 'Name: Workload profile type for the workloads to run on.' type: string - reference: - description: 'Reference: The ID of the private link resource.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - description: 'RequiredMembers: The RequiredMembers of the resource' - items: + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + required: + - name + - workloadProfileType + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + required: + - location + - owner + type: object + status: + description: An environment for hosting container apps + properties: + appLogsConfiguration: + description: 'AppLogsConfiguration: Cluster configuration which enables the log daemon to export app logs to configured destination.' + properties: + destination: + description: 'Destination: Logs destination, can be ''log-analytics'', ''azure-monitor'' or ''none''' + type: string + logAnalyticsConfiguration: + description: |- + LogAnalyticsConfiguration: Log Analytics configuration, must only be provided when destination is configured as + 'log-analytics' + properties: + customerId: + description: 'CustomerId: Log analytics customer id' type: string - type: array + type: object + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string type: - description: 'Type: The resource type.' + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - publicNetworkAccess: - description: 'PublicNetworkAccess: Allow or deny public network access for AKS' - enum: - - Disabled - - Enabled - - SecuredByPerimeter + customDomainConfiguration: + description: 'CustomDomainConfiguration: Custom domain configuration for the environment' + properties: + certificateKeyVaultProperties: + description: 'CertificateKeyVaultProperties: Certificate stored in Azure Key Vault.' + properties: + identity: + description: |- + Identity: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned + identity. + type: string + keyVaultUrl: + description: 'KeyVaultUrl: URL pointing to the Azure Key Vault secret that holds the certificate.' + type: string + type: object + customDomainVerificationId: + description: 'CustomDomainVerificationId: Id used to verify domain name ownership' + type: string + dnsSuffix: + description: 'DnsSuffix: Dns suffix for the environment domain' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + subjectName: + description: 'SubjectName: Subject name of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: object + daprConfiguration: + description: 'DaprConfiguration: The configuration of Dapr component.' + properties: + version: + description: 'Version: The version of Dapr' + type: string + type: object + defaultDomain: + description: 'DefaultDomain: Default Domain Name for the cluster' type: string - safeguardsProfile: - description: 'SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster' + deploymentErrors: + description: 'DeploymentErrors: Any errors that occurred during deployment or deployment validation' + type: string + eventStreamEndpoint: + description: 'EventStreamEndpoint: The endpoint of the eventstream of the Environment.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + identity: + description: |- + Identity: Managed identities for the Managed Environment to interact with other Azure services without maintaining any + secrets or credentials in code. properties: - excludedNamespaces: - description: 'ExcludedNamespaces: List of namespaces excluded from Safeguards checks' - items: - type: string - type: array - level: + principalId: description: |- - Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS - excludes via systemExcludedNamespaces - enum: - - Enforcement - - "Off" - - Warning + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + infrastructureResourceGroup: + description: |- + InfrastructureResourceGroup: Name of the platform-managed resource group created for the Managed Environment to host + infrastructure resources. If a subnet ID is provided, this resource group will be created in the same subscription as + the subnet. + type: string + kedaConfiguration: + description: 'KedaConfiguration: The configuration of Keda component.' + properties: version: - description: 'Version: The version of constraints to use' + description: 'Version: The version of Keda' type: string - required: - - level type: object - securityProfile: - description: 'SecurityProfile: Security profile for the managed cluster.' + kind: + description: 'Kind: Kind of the Environment.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + peerAuthentication: + description: 'PeerAuthentication: Peer authentication settings for the Managed Environment' properties: - azureKeyVaultKms: + mtls: + description: 'Mtls: Mutual TLS authentication settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the mutual TLS authentication is enabled' + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: 'PeerTrafficConfiguration: Peer traffic settings for the Managed Environment' + properties: + encryption: + description: 'Encryption: Peer traffic encryption settings for the Managed Environment' + properties: + enabled: + description: 'Enabled: Boolean indicating whether the peer traffic encryption is enabled' + type: boolean + type: object + type: object + provisioningState: + description: 'ProvisioningState: Provisioning state of the Environment.' + type: string + staticIp: + description: 'StaticIp: Static IP of the Environment' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + vnetConfiguration: + description: 'VnetConfiguration: Vnet configuration for the environment' + properties: + dockerBridgeCidr: + description: |- + DockerBridgeCidr: CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other + provided IP ranges. + type: string + infrastructureSubnetId: + description: |- + InfrastructureSubnetId: Resource ID of a subnet for infrastructure components. Must not overlap with any other provided + IP ranges. + type: string + internal: + description: |- + Internal: Boolean indicating the environment only has an internal load balancer. These environments do not have a public + static IP resource. They must provide infrastructureSubnetId if enabling this property + type: boolean + platformReservedCidr: + description: |- + PlatformReservedCidr: IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must + not overlap with any other provided IP ranges. + type: string + platformReservedDnsIP: + description: |- + PlatformReservedDnsIP: An IP address from the IP range defined by platformReservedCidr that will be reserved for the + internal DNS server. + type: string + type: object + workloadProfiles: + description: 'WorkloadProfiles: Workload profiles configured for the Managed Environment.' + items: + description: Workload profile to scope container app execution. + properties: + maximumCount: + description: 'MaximumCount: The maximum capacity.' + type: integer + minimumCount: + description: 'MinimumCount: The minimum capacity.' + type: integer + name: + description: 'Name: Workload profile type for the workloads to run on.' + type: string + workloadProfileType: + description: 'WorkloadProfileType: Workload profile type for the workloads to run on.' + type: string + type: object + type: array + zoneRedundant: + description: 'ZoneRedundant: Whether or not this Managed Environment is zone-redundant.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250101.ManagedEnvironment + Generator information: + - Generated from: /app/resource-manager/Microsoft.App/stable/2025-01-01/ManagedEnvironments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250101.ManagedEnvironment_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20250101.AppLogsConfiguration + Configuration of application logs + properties: + $propertyBag: + additionalProperties: + type: string description: |- - AzureKeyVaultKms: Azure Key Vault [key management - service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + logAnalyticsConfiguration: + description: |- + Storage version of v1api20250101.LogAnalyticsConfiguration + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' properties: - enabled: - description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' - type: boolean - keyId: - description: |- - KeyId: Identifier of Azure Key Vault key. See [key identifier - format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - identifier. When Azure Key Vault key management service is disabled, leave the field empty. - type: string - keyVaultNetworkAccess: + $propertyBag: + additionalProperties: + type: string description: |- - KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - key vault allows public access from all networks. `Private` means the key vault disables public access and enables - private link. The default value is `Public`. - enum: - - Private - - Public + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: type: string - keyVaultResourceReference: + sharedKey: description: |- - KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object type: object - customCATrustCertificates: - description: |- - CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the - Custom CA Trust feature enabled. For more information see [Custom CA Trust - Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - items: + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customDomainConfiguration: + description: |- + Storage version of v1api20250101.CustomDomainConfiguration + Configuration properties for apps environment custom domain + properties: + $propertyBag: + additionalProperties: type: string - maxItems: 10 - minItems: 0 - type: array - defender: - description: 'Defender: Microsoft Defender settings for the security profile.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKeyVaultProperties: + description: |- + Storage version of v1api20250101.CertificateKeyVaultProperties + Properties for a certificate stored in a Key Vault. properties: - logAnalyticsWorkspaceResourceReference: + $propertyBag: + additionalProperties: + type: string description: |- - LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - Microsoft Defender is disabled, leave the field empty. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityReference: + description: |- + IdentityReference: Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a + system-assigned identity. properties: armId: description: |- @@ -158158,168 +234206,13 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - securityMonitoring: - description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Defender threat detection' - type: boolean - type: object - type: object - imageCleaner: - description: 'ImageCleaner: Image Cleaner settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' - type: boolean - intervalHours: - description: 'IntervalHours: Image Cleaner scanning interval in hours.' - type: integer - type: object - imageIntegrity: - description: |- - ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This - will not have any effect unless Azure Policy is applied to enforce image signatures. See - https://aka.ms/aks/image-integrity for how to use this feature via policy. - properties: - enabled: - description: 'Enabled: Whether to enable image integrity. The default value is false.' - type: boolean - type: object - nodeRestriction: - description: |- - NodeRestriction: [Node - Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings - for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Node Restriction' - type: boolean + keyVaultUrl: + type: string type: object - workloadIdentity: + certificatePassword: description: |- - WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - properties: - enabled: - description: 'Enabled: Whether to enable workload identity.' - type: boolean - type: object - type: object - serviceMeshProfile: - description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' - properties: - istio: - description: 'Istio: Istio service mesh configuration.' - properties: - certificateAuthority: - description: |- - CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - certificates as described here https://aka.ms/asm-plugin-ca - properties: - plugin: - description: 'Plugin: Plugin certificates information for Service Mesh.' - properties: - certChainObjectName: - description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' - type: string - certObjectName: - description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' - type: string - keyObjectName: - description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' - type: string - keyVaultReference: - description: 'KeyVaultReference: The resource ID of the Key Vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: - description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' - type: string - type: object - type: object - components: - description: 'Components: Istio components configuration.' - properties: - egressGateways: - description: 'EgressGateways: Istio egress gateways.' - items: - description: Istio egress gateway configuration. - properties: - enabled: - description: 'Enabled: Whether to enable the egress gateway.' - type: boolean - required: - - enabled - type: object - type: array - ingressGateways: - description: 'IngressGateways: Istio ingress gateways.' - items: - description: |- - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - enabled: - description: 'Enabled: Whether to enable the ingress gateway.' - type: boolean - mode: - description: 'Mode: Mode of an ingress gateway.' - enum: - - External - - Internal - type: string - required: - - enabled - - mode - type: object - type: array - type: object - revisions: - description: |- - Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - items: - type: string - maxItems: 2 - type: array - type: object - mode: - description: 'Mode: Mode of the service mesh.' - enum: - - Disabled - - Istio - type: string - required: - - mode - type: object - servicePrincipalProfile: - description: |- - ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - APIs. - properties: - clientId: - description: 'ClientId: The ID for the service principal.' - type: string - secret: - description: 'Secret: The secret password associated with the service principal in plain text.' + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -158333,108 +234226,10 @@ spec: - key - name type: object - required: - - clientId - type: object - sku: - description: 'Sku: The managed cluster SKU.' - properties: - name: - description: 'Name: The name of a managed cluster SKU.' - enum: - - Automatic - - Base - type: string - tier: - description: |- - Tier: If not specified, the default is 'Free'. See [AKS Pricing - Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. - enum: - - Free - - Premium - - Standard - type: string - type: object - storageProfile: - description: 'StorageProfile: Storage profile for the managed cluster.' - properties: - blobCSIDriver: - description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' - type: boolean - type: object - diskCSIDriver: - description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' - type: boolean - version: - description: 'Version: The version of AzureDisk CSI Driver. The default value is v1.' - type: string - type: object - fileCSIDriver: - description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' - type: boolean - type: object - snapshotController: - description: 'SnapshotController: Snapshot Controller settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' - type: boolean - type: object - type: object - supportPlan: - description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' - enum: - - AKSLongTermSupport - - KubernetesOfficial - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading a cluster.' - properties: - overrideSettings: - description: 'OverrideSettings: Settings for overrides.' - properties: - forceUpgrade: - description: |- - ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - protections such as checking for deprecated API usage. Enable this option only with caution. - type: boolean - until: - description: |- - Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - by default. It must be set for the overrides to take effect. - type: string - type: object - type: object - windowsProfile: - description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' - properties: - adminPassword: + certificateValue: description: |- - AdminPassword: Specifies the password of the administrator account. - Minimum-length: 8 characters - Max-length: 123 characters - Complexity requirements: 3 out of 4 conditions below need to be fulfilled - Has lower characters - Has upper characters - Has a digit - Has a special character (Regex match [\W_]) - Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - "Password22", "iloveyou!" + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -158448,978 +234243,1279 @@ spec: - key - name type: object - adminUsername: - description: |- - AdminUsername: Specifies the name of the administrator account. - Restriction: Cannot end in "." - Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - Minimum-length: 1 character - Max-length: 20 characters + dnsSuffix: type: string - enableCSIProxy: - description: |- - EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - repo](https://github.com/kubernetes-csi/csi-proxy). - type: boolean - gmsaProfile: - description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' - properties: - dnsServer: - description: |- - DnsServer: Specifies the DNS server for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - enabled: - description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' - type: boolean - rootDomainName: - description: |- - RootDomainName: Specifies the root domain name for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - type: object - licenseType: + type: object + daprAIConnectionString: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - enum: - - None - - Windows_Server + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string required: - - adminUsername - type: object - workloadAutoScalerProfile: - description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' - properties: - keda: - description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable KEDA.' - type: boolean - required: - - enabled - type: object - verticalPodAutoscaler: - properties: - addonAutoscaling: - description: 'AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.' - enum: - - Disabled - - Enabled - type: string - enabled: - description: 'Enabled: Whether to enable VPA add-on in cluster. Default value is false.' - type: boolean - required: - - enabled - type: object + - key + - name type: object - required: - - location - - owner - type: object - status: - description: Managed cluster. - properties: - aadProfile: - description: 'AadProfile: The Azure Active Directory configuration.' + daprAIInstrumentationKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - adminGroupObjectIDs: - description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' - items: - type: string - type: array - clientAppID: - description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - enableAzureRBAC: - description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' - type: boolean - managed: - description: 'Managed: Whether to enable managed AAD.' - type: boolean - serverAppID: - description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - serverAppSecret: - description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' + key: + description: Key is the key in the Kubernetes secret being referenced type: string - tenantID: + name: description: |- - TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - subscription. + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - addonProfiles: - additionalProperties: - description: A Kubernetes add-on profile for a managed cluster. - properties: - config: - additionalProperties: - type: string - description: 'Config: Key-value pairs for configuring an add-on.' - type: object - enabled: - description: 'Enabled: Whether the add-on is enabled or not.' - type: boolean - identity: - description: 'Identity: Information of user assigned identity used by this add-on.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object - type: object - description: 'AddonProfiles: The profile of managed cluster add-on.' - type: object - agentPoolProfiles: - description: 'AgentPoolProfiles: The agent pool properties.' - items: - description: Profile for the container service agent pool. - properties: - artifactStreamingProfile: - description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' - properties: - enabled: - description: |- - Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. - type: boolean - type: object - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' - type: string - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' - type: string - type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be - exactly equal to it. If orchestratorVersion was , this field will contain the full - version being used. - type: string - eTag: - description: |- - ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is - updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic - concurrency per the normal etag convention. + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableCustomCATrust: - description: |- - EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - certificates into node trust stores. Defaults to false. - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gatewayProfile: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: description: |- - GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is - not Gateway. + Storage version of v1api20250101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: - publicIPPrefixSize: + $propertyBag: + additionalProperties: + type: string description: |- - PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide - public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with - one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure - public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 - nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + type: array + type: object + infrastructureResourceGroup: + type: string + kind: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20250101.ManagedEnvironmentOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - gpuProfile: - description: 'GpuProfile: The GPU settings of an agent pool.' - properties: - installGPUDriver: - description: |- - InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - installation themselves. - type: boolean - type: object - hostGroupID: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: + key: description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - cpuManagerPolicy: + name: description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: + value: description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletDiskType: + type: array + secretExpressions: + items: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: + key: description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - transparentHugePageEnabled: + name: description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - messageOfTheDay: - description: |- - MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - will be printed raw and not be executed as a script). - type: string - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + peerAuthentication: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerAuthentication_Spec + properties: + $propertyBag: + additionalProperties: type: string - name: - description: 'Name: Windows agent pool names must be 6 characters or less.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: + description: |- + Storage version of v1api20250101.Mtls + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_Spec + properties: + $propertyBag: + additionalProperties: type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - type: string - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' - items: - type: string - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + vnetConfiguration: + description: |- + Storage version of v1api20250101.VnetConfiguration + Configuration properties for apps environment to join a Virtual Network + properties: + $propertyBag: + additionalProperties: type: string - nodeInitializationTaints: - description: |- - NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - nodes node1 key1=value1:NoSchedule-` - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetReference: + description: |- + InfrastructureSubnetReference: Resource ID of a subnet for infrastructure components. Must not overlap with any other + provided IP ranges. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: array - nodeLabels: + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: + type: string + type: object + workloadProfiles: + items: + description: |- + Storage version of v1api20250101.WorkloadProfile + Workload profile to scope container app execution. + properties: + $propertyBag: additionalProperties: type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: description: |- - OrchestratorVersion: Both patch version and are supported. When is - specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - must have the same major version as the control plane. The node pool minor version must be within two minor versions of - the control plane version. The node pool version cannot be greater than the control plane version. For more information - see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - deprecated. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' + minimumCount: + type: integer + name: type: string - podIPAllocationMode: - description: |- - PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is - 'DynamicIndividual'. + workloadProfileType: type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + type: object + type: array + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20250101.ManagedEnvironment_STATUS + An environment for hosting container apps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appLogsConfiguration: + description: |- + Storage version of v1api20250101.AppLogsConfiguration_STATUS + Configuration of application logs + properties: + $propertyBag: + additionalProperties: type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + logAnalyticsConfiguration: + description: |- + Storage version of v1api20250101.LogAnalyticsConfiguration_STATUS + Log Analytics configuration, must only be provided when destination is configured as 'log-analytics' + properties: + $propertyBag: + additionalProperties: type: string - type: object - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerId: + type: string + type: object + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - scaleSetEvictionPolicy: + observedGeneration: description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: - description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - sshAccess: - description: 'SshAccess: SSH access method of an agent pool.' - type: string - type: object - spotMaxPrice: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - type: integer - undrainableNodeBehavior: - description: |- - UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable - nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the - remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. - type: string - type: object - virtualMachineNodesStatus: - items: - description: Current status on a group of nodes of the same vm size. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - size: - description: 'Size: The VM size of the agents used to host this group of nodes.' - type: string - type: object - type: array - virtualMachinesProfile: - description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' - properties: - scale: - description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' - properties: - autoscale: - description: |- - Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, - at most one AutoScaleProfile is allowed. - items: - description: Specifications on auto-scaling. - properties: - maxCount: - description: 'MaxCount: The maximum number of nodes of the specified sizes.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes of the specified sizes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS - will use the next size. - items: - type: string - type: array - type: object - type: array - manual: - description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' - items: - description: Specifications on number of machines. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will - use the next size. - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: + severity: description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + status: + description: Status of the condition, one of True, False, or Unknown. type: string - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean - type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - aiToolchainOperatorProfile: - description: 'AiToolchainOperatorProfile: AI toolchain operator settings that apply to the whole cluster.' - properties: - enabled: - description: 'Enabled: Indicates if AI toolchain operator enabled or not.' - type: boolean - type: object - apiServerAccessProfile: - description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + customDomainConfiguration: + description: |- + Storage version of v1api20250101.CustomDomainConfiguration_STATUS + Configuration properties for apps environment custom domain properties: - authorizedIPRanges: - description: |- - AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - items: + $propertyBag: + additionalProperties: type: string - type: array - disableRunCommand: - description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' - type: boolean - enablePrivateCluster: description: |- - EnablePrivateCluster: For more details, see [Creating a private AKS - cluster](https://docs.microsoft.com/azure/aks/private-clusters). - type: boolean - enablePrivateClusterPublicFQDN: - description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' - type: boolean - enableVnetIntegration: - description: 'EnableVnetIntegration: Whether to enable apiserver vnet integration for the cluster or not.' - type: boolean - privateDNSZone: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKeyVaultProperties: description: |- - PrivateDNSZone: The default is System. For more details see [configure private DNS - zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - 'none'. + Storage version of v1api20250101.CertificateKeyVaultProperties_STATUS + Properties for a certificate stored in a Key Vault. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + type: string + keyVaultUrl: + type: string + type: object + customDomainVerificationId: type: string - subnetId: - description: |- - SubnetId: It is required when: 1. creating a new cluster with BYO Vnet; 2. updating an existing cluster to enable - apiserver vnet integration. + dnsSuffix: + type: string + expirationDate: + type: string + subjectName: + type: string + thumbprint: type: string type: object - autoScalerProfile: - description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + daprConfiguration: + description: |- + Storage version of v1api20250101.DaprConfiguration_STATUS + Configuration properties Dapr component properties: - balance-similar-node-groups: - description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' - type: string - daemonset-eviction-for-empty-nodes: - description: |- - DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - daemonset-eviction-for-occupied-nodes: + $propertyBag: + additionalProperties: + type: string description: |- - DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - will be deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - expander: - description: 'Expander: Available values are: ''least-waste'', ''most-pods'', ''priority'', ''random''.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: type: string - ignore-daemonsets-utilization: + type: object + defaultDomain: + type: string + deploymentErrors: + type: string + eventStreamEndpoint: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250101.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string description: |- - IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - scaling down decisions. - type: boolean - max-empty-bulk-delete: - description: 'MaxEmptyBulkDelete: The default is 10.' - type: string - max-graceful-termination-sec: - description: 'MaxGracefulTerminationSec: The default is 600.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: type: string - max-node-provision-time: - description: |- - MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + tenantId: type: string - max-total-unready-percentage: - description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' + type: type: string - new-pod-scale-up-delay: + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250101.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + infrastructureResourceGroup: + type: string + kedaConfiguration: + description: |- + Storage version of v1api20250101.KedaConfiguration_STATUS + Configuration properties Keda component + properties: + $propertyBag: + additionalProperties: + type: string description: |- - NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - type: string - ok-total-unready-count: - description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + version: type: string - scale-down-delay-after-add: + type: object + kind: + type: string + location: + type: string + name: + type: string + peerAuthentication: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerAuthentication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-delay-after-delete: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + mtls: description: |- - ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - time other than minutes (m) is supported. - type: string - scale-down-delay-after-failure: + Storage version of v1api20250101.Mtls_STATUS + Configuration properties for mutual TLS authentication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + peerTrafficConfiguration: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - than minutes (m) is supported. - type: string - scale-down-unneeded-time: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryption: + description: Storage version of v1api20250101.ManagedEnvironment_Properties_PeerTrafficConfiguration_Encryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + type: object + type: object + provisioningState: + type: string + staticIp: + type: string + systemData: + description: |- + Storage version of v1api20250101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: type: string - scale-down-unready-time: - description: |- - ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + createdBy: type: string - scale-down-utilization-threshold: - description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + createdByType: type: string - scan-interval: - description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + lastModifiedAt: type: string - skip-nodes-with-local-storage: - description: 'SkipNodesWithLocalStorage: The default is true.' + lastModifiedBy: type: string - skip-nodes-with-system-pods: - description: 'SkipNodesWithSystemPods: The default is true.' + lastModifiedByType: type: string type: object - autoUpgradeProfile: - description: 'AutoUpgradeProfile: The auto upgrade configuration.' + tags: + additionalProperties: + type: string + type: object + type: + type: string + vnetConfiguration: + description: |- + Storage version of v1api20250101.VnetConfiguration_STATUS + Configuration properties for apps environment to join a Virtual Network properties: - nodeOSUpgradeChannel: - description: 'NodeOSUpgradeChannel: The default is Unmanaged, but may change to either NodeImage or SecurityPatch at GA.' - type: string - upgradeChannel: + $propertyBag: + additionalProperties: + type: string description: |- - UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dockerBridgeCidr: + type: string + infrastructureSubnetId: + type: string + internal: + type: boolean + platformReservedCidr: + type: string + platformReservedDnsIP: type: string type: object - azureMonitorProfile: - description: 'AzureMonitorProfile: Prometheus addon profile for the container service cluster' + workloadProfiles: + items: + description: |- + Storage version of v1api20250101.WorkloadProfile_STATUS + Workload profile to scope container app execution. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maximumCount: + type: integer + minimumCount: + type: integer + name: + type: string + workloadProfileType: + type: string + type: object + type: array + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: metricalerts.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: MetricAlert + listKind: MetricAlertList + plural: metricalerts + singular: metricalert + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + actions: + description: |- + Actions: the array of actions that are performed when the alert rule becomes active, and when an alert condition is + resolved. + items: + description: An alert action. + properties: + actionGroupId: + description: 'ActionGroupId: the id of the action group to use.' + type: string + webHookProperties: + additionalProperties: + type: string + description: |- + WebHookProperties: This field allows specifying custom properties, which would be appended to the alert payload sent as + input to the webhook. + type: object + type: object + type: array + autoMitigate: + description: 'AutoMitigate: the flag that indicates whether the alert should be auto resolved or not. The default is true.' + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + criteria: + description: 'Criteria: defines the specific alert criteria information.' properties: - appMonitoring: - description: |- - AppMonitoring: Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics - and traces through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorMultipleResourceMultipleMetric: Mutually exclusive with all other properties' properties: - autoInstrumentation: - description: |- - AutoInstrumentation: Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook - to auto-instrument Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the - application. See aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - enabled: - description: 'Enabled: Indicates if Application Monitoring Auto Instrumentation is enabled or not.' - type: boolean - type: object - openTelemetryLogs: - description: |- - OpenTelemetryLogs: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and - Traces. Collects OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - enabled: - description: 'Enabled: Indicates if Application Monitoring Open Telemetry Logs and traces is enabled or not.' - type: boolean - port: - description: 'Port: The Open Telemetry host port for Open Telemetry logs and traces. If not specified, the default port is 28331.' - type: integer - type: object - openTelemetryMetrics: - description: |- - OpenTelemetryMetrics: Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container - Metrics. Collects OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - enabled: - description: 'Enabled: Indicates if Application Monitoring Open Telemetry Metrics is enabled or not.' - type: boolean - port: - description: 'Port: The Open Telemetry host port for Open Telemetry metrics. If not specified, the default port is 28333.' - type: integer + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true type: object + allOf: + description: 'AllOf: the list of multiple metric criteria for this ''all of'' operation.' + items: + properties: + dynamicThresholdCriterion: + description: 'Dynamic: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. This will affect how tight the threshold is to + the metric series pattern. + enum: + - High + - Low + - Medium + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - DynamicThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. + type: number + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. + type: number + required: + - minFailingPeriodsToAlert + - numberOfEvaluationPeriods + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format) + type: string + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: The operator used to compare the metric value against the threshold.' + enum: + - GreaterOrLessThan + - GreaterThan + - LessThan + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + required: + - alertSensitivity + - criterionType + - failingPeriods + - metricName + - name + - operator + - timeAggregation + type: object + staticThresholdCriterion: + description: 'Static: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - StaticThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + required: + - criterionType + - metricName + - name + - operator + - threshold + - timeAggregation + type: object + type: object + type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + enum: + - Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria + type: string + required: + - odata.type type: object - containerInsights: - description: |- - ContainerInsights: Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & - stderr logs etc. See aka.ms/AzureMonitorContainerInsights for an overview. + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorSingleResourceMultipleMetric: Mutually exclusive with all other properties' properties: - disableCustomMetrics: - description: |- - DisableCustomMetrics: Indicates whether custom metrics collection has to be disabled or not. If not specified the - default is false. No custom metrics will be emitted if this field is false but the container insights enabled field is - false - type: boolean - disablePrometheusMetricsScraping: - description: |- - DisablePrometheusMetricsScraping: Indicates whether prometheus metrics scraping is disabled or not. If not specified the - default is false. No prometheus metrics will be emitted if this field is false but the container insights enabled field - is false - type: boolean - enabled: - description: 'Enabled: Indicates if Azure Monitor Container Insights Logs Addon is enabled or not.' - type: boolean - logAnalyticsWorkspaceResourceId: - description: |- - LogAnalyticsWorkspaceResourceId: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing Azure - Monitor Container Insights Logs. + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: The list of metric criteria for this ''all of'' operation.' + items: + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - StaticThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + required: + - criterionType + - metricName + - name + - operator + - threshold + - timeAggregation + type: object + type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + enum: + - Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria type: string - syslogPort: - description: 'SyslogPort: The syslog host port. If not specified, the default port is 28330.' - type: integer + required: + - odata.type type: object - metrics: - description: 'Metrics: Metrics profile for the prometheus service addon' + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: 'MicrosoftAzureMonitorWebtestLocationAvailability: Mutually exclusive with all other properties' properties: - enabled: - description: 'Enabled: Whether to enable the Prometheus collector' - type: boolean - kubeStateMetrics: - description: 'KubeStateMetrics: Kube State Metrics for prometheus addon profile for the container service cluster' + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentReference: + description: 'ComponentReference: The Application Insights resource Id.' properties: - metricAnnotationsAllowList: + armId: description: |- - MetricAnnotationsAllowList: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - labels metric. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - metricLabelsAllowlist: - description: |- - MetricLabelsAllowlist: Comma-separated list of Kubernetes annotations keys that will be used in the resource's labels - metric. + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object + failedLocationCount: + description: 'FailedLocationCount: The number of failed locations.' + type: number + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + enum: + - Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria + type: string + webTestId: + description: 'WebTestId: The Application Insights web test Id.' + type: string + required: + - componentReference + - failedLocationCount + - odata.type + - webTestId type: object type: object - azurePortalFQDN: - description: |- - AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - Portal to function properly. + description: + description: 'Description: the description of the metric alert that will be included in the alert email.' type: string - bootstrapProfile: - description: 'BootstrapProfile: Profile of the cluster bootstrap configuration.' + enabled: + description: 'Enabled: the flag that indicates whether the metric alert is enabled.' + type: boolean + evaluationFrequency: + description: 'EvaluationFrequency: how often the metric alert is evaluated represented in ISO 8601 duration format.' + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - artifactSource: - description: 'ArtifactSource: The source where the artifacts are downloaded from.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - containerRegistryId: - description: |- - ContainerRegistryId: The resource Id of Azure Container Registry. The registry must have private network access, premium - SKU and zone redundancy. + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object + scopesReferences: + description: |- + ScopesReferences: the list of resource id's that this metric alert is scoped to. You cannot change the scope of a metric + rule based on logs. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + description: 'Severity: Alert severity {0, 1, 2, 3, 4}' + type: integer + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + targetResourceRegion: + description: |- + TargetResourceRegion: the region of the target resource(s) on which the alert is created/updated. Mandatory if the scope + contains a subscription, resource group, or more than one resource. + type: string + targetResourceType: + description: |- + TargetResourceType: the resource type of the target resource(s) on which the alert is created/updated. Mandatory if the + scope contains a subscription, resource group, or more than one resource. + type: string + windowSize: + description: |- + WindowSize: the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the + threshold. + type: string + required: + - criteria + - enabled + - evaluationFrequency + - location + - owner + - scopesReferences + - severity + - windowSize + type: object + status: + properties: + actions: + description: |- + Actions: the array of actions that are performed when the alert rule becomes active, and when an alert condition is + resolved. + items: + description: An alert action. + properties: + actionGroupId: + description: 'ActionGroupId: the id of the action group to use.' + type: string + webHookProperties: + additionalProperties: + type: string + description: |- + WebHookProperties: This field allows specifying custom properties, which would be appended to the alert payload sent as + input to the webhook. + type: object + type: object + type: array + autoMitigate: + description: 'AutoMitigate: the flag that indicates whether the alert should be auto resolved or not. The default is true.' + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -159464,1028 +235560,1209 @@ spec: - type type: object type: array - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the cluster will be created/upgraded using a - snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' - type: string - type: object - currentKubernetesVersion: - description: 'CurrentKubernetesVersion: The version of Kubernetes the Managed Cluster is running.' - type: string - disableLocalAccounts: - description: |- - DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - used on Managed Clusters that are AAD enabled. For more details see [disable local - accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - type: boolean - diskEncryptionSetID: - description: |- - DiskEncryptionSetID: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - type: string - dnsPrefix: - description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' - type: string - eTag: - description: |- - ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is - updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic - concurrency per the normal etag convention. - type: string - enableNamespaceResources: - description: |- - EnableNamespaceResources: The default value is false. It can be enabled/disabled on creation and updating of the managed - cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as - a ARM Resource. - type: boolean - enablePodSecurityPolicy: - description: |- - EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - https://aka.ms/aks/psp. - type: boolean - enableRBAC: - description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the Virtual Machine.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - fqdn: - description: 'Fqdn: The FQDN of the master pool.' - type: string - fqdnSubdomain: - description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' - type: string - httpProxyConfig: - description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' - properties: - effectiveNoProxy: - description: |- - EffectiveNoProxy: A read-only list of all endpoints for which traffic should not be sent to the proxy. This list is a - superset of noProxy and values injected by AKS. - items: - type: string - type: array - httpProxy: - description: 'HttpProxy: The HTTP proxy server endpoint to use.' - type: string - httpsProxy: - description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' - type: string - noProxy: - description: 'NoProxy: The endpoints that should not go through proxy.' - items: - type: string - type: array - trustedCa: - description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' - type: string - type: object - id: - description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" - type: string - identity: - description: 'Identity: The identity of the managed cluster, if configured.' - properties: - delegatedResources: - additionalProperties: - description: Delegated resource properties - internal use only. - properties: - location: - description: 'Location: The source resource location - internal use only.' - type: string - referralResource: - description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' - type: string - resourceId: - description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' - type: string - tenantId: - description: 'TenantId: The tenant id of the delegated resource - internal use only.' - type: string - type: object - description: |- - DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - type: object - principalId: - description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' - type: string - tenantId: - description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' - type: string - type: - description: |- - Type: For more information see [use managed identities in - AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The keys must be ARM resource IDs in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object - type: object - identityProfile: - additionalProperties: - description: Details about a user assigned identity. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object - description: 'IdentityProfile: Identities associated with the cluster.' - type: object - ingressProfile: - description: 'IngressProfile: Ingress profile for the managed cluster.' + criteria: + description: 'Criteria: defines the specific alert criteria information.' properties: - webAppRouting: - description: 'WebAppRouting: Web App Routing settings for the ingress profile.' + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorMultipleResourceMultipleMetric: Mutually exclusive with all other properties' properties: - dnsZoneResourceIds: - description: |- - DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Web App Routing add-on. Used only when Web - App Routing is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must - be in the same resource group and all private DNS zones must be in the same resource group. + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: the list of multiple metric criteria for this ''all of'' operation.' items: - type: string + properties: + dynamicThresholdCriterion: + description: 'Dynamic: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. This will affect how tight the threshold is to + the metric series pattern. + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. + type: number + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. + type: number + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format) + type: string + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: The operator used to compare the metric value against the threshold.' + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + type: string + type: object + staticThresholdCriterion: + description: 'Static: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + type: string + skipMetricValidation: + description: |- + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' + type: string + type: object + type: object type: array - enabled: - description: 'Enabled: Whether to enable Web App Routing.' - type: boolean - identity: - description: |- - Identity: Managed identity of the Web Application Routing add-on. This is the identity that should be granted - permissions, for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See - [this overview of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more - instructions. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + type: string type: object - type: object - kind: - description: 'Kind: This is primarily used to expose different UI experiences in the portal for different kinds' - type: string - kubernetesVersion: - description: |- - KubernetesVersion: When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades - must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> - 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - type: string - linuxProfile: - description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' - properties: - adminUsername: - description: 'AdminUsername: The administrator username to use for Linux VMs.' - type: string - ssh: - description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: 'MicrosoftAzureMonitorSingleResourceMultipleMetric: Mutually exclusive with all other properties' properties: - publicKeys: - description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + description: 'AllOf: The list of metric criteria for this ''all of'' operation.' items: - description: Contains information about SSH certificate public key data. properties: - keyData: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of dimension conditions.' + items: + description: Specifies a metric dimension. + properties: + name: + description: 'Name: Name of the dimension.' + type: string + operator: + description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' + type: string + values: + description: 'Values: list of dimension values.' + items: + type: string + type: array + type: object + type: array + metricName: + description: 'MetricName: Name of the metric.' + type: string + metricNamespace: + description: 'MetricNamespace: Namespace of the metric.' + type: string + name: + description: 'Name: Name of the criteria.' + type: string + operator: + description: 'Operator: the criteria operator.' + type: string + skipMetricValidation: description: |- - KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - without headers. + SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric + validation to be skipped. + type: boolean + threshold: + description: 'Threshold: the criteria threshold value that activates the alert.' + type: number + timeAggregation: + description: 'TimeAggregation: the criteria time aggregation types.' type: string type: object type: array + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + type: string + type: object + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: 'MicrosoftAzureMonitorWebtestLocationAvailability: Mutually exclusive with all other properties' + properties: + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentId: + description: 'ComponentId: The Application Insights resource Id.' + type: string + failedLocationCount: + description: 'FailedLocationCount: The number of failed locations.' + type: number + odata.type: + description: 'OdataType: specifies the type of the alert criteria.' + type: string + webTestId: + description: 'WebTestId: The Application Insights web test Id.' + type: string type: object type: object + description: + description: 'Description: the description of the metric alert that will be included in the alert email.' + type: string + enabled: + description: 'Enabled: the flag that indicates whether the metric alert is enabled.' + type: boolean + evaluationFrequency: + description: 'EvaluationFrequency: how often the metric alert is evaluated represented in ISO 8601 duration format.' + type: string + id: + description: 'Id: Azure resource Id' + type: string + isMigrated: + description: 'IsMigrated: the value indicating whether this alert rule is migrated.' + type: boolean + lastUpdatedTime: + description: 'LastUpdatedTime: Last time the rule was updated in ISO8601 format.' + type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location' type: string - maxAgentPools: - description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' + name: + description: 'Name: Azure resource name' + type: string + scopes: + description: |- + Scopes: the list of resource id's that this metric alert is scoped to. You cannot change the scope of a metric rule + based on logs. + items: + type: string + type: array + severity: + description: 'Severity: Alert severity {0, 1, 2, 3, 4}' type: integer - metricsProfile: - description: 'MetricsProfile: Optional cluster metrics configuration.' - properties: - costAnalysis: - description: 'CostAnalysis: The cost analysis configuration for the cluster' - properties: - enabled: - description: |- - Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will - add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - default is false. For more information see aka.ms/aks/docs/cost-analysis. - type: boolean - type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' type: object - name: - description: 'Name: The name of the resource' + targetResourceRegion: + description: |- + TargetResourceRegion: the region of the target resource(s) on which the alert is created/updated. Mandatory if the scope + contains a subscription, resource group, or more than one resource. type: string - networkProfile: - description: 'NetworkProfile: The network configuration profile.' + targetResourceType: + description: |- + TargetResourceType: the resource type of the target resource(s) on which the alert is created/updated. Mandatory if the + scope contains a subscription, resource group, or more than one resource. + type: string + type: + description: 'Type: Azure resource type' + type: string + windowSize: + description: |- + WindowSize: the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the + threshold. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180301.MetricAlert + Generator information: + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180301.MetricAlert_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20180301.MetricAlertAction + An alert action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + webHookProperties: + additionalProperties: + type: string + type: object + type: object + type: array + autoMitigate: + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + criteria: + description: Storage version of v1api20180301.MetricAlertCriteria properties: - advancedNetworking: - description: |- - AdvancedNetworking: Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced - networking features may incur additional costs. For more information see aka.ms/aksadvancednetworking. - properties: - observability: - description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' - properties: - enabled: - description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' - type: boolean - type: object - type: object - dnsServiceIP: - description: |- - DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - range specified in serviceCidr. - type: string - ipFamilies: - description: |- - IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - items: - description: To determine if address belongs IPv4 or IPv6 family. + $propertyBag: + additionalProperties: type: string - type: array - kubeProxyConfig: description: |- - KubeProxyConfig: Holds configuration customizations for kube-proxy. Any values not defined will use the kube-proxy - defaulting behavior. See https://v.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ - where is represented by a - string. Kubernetes version 1.23 would be '1-23'. - properties: - enabled: - description: |- - Enabled: Whether to enable on kube-proxy on the cluster (if no 'kubeProxyConfig' exists, kube-proxy is enabled in AKS by - default without these customizations). - type: boolean - ipvsConfig: - description: 'IpvsConfig: Holds configuration customizations for IPVS. May only be specified if ''mode'' is set to ''IPVS''.' - properties: - scheduler: - description: 'Scheduler: IPVS scheduler, for more information please see http://www.linuxvirtualserver.org/docs/scheduling.html.' - type: string - tcpFinTimeoutSeconds: - description: |- - TcpFinTimeoutSeconds: The timeout value used for IPVS TCP sessions after receiving a FIN in seconds. Must be a positive - integer value. - type: integer - tcpTimeoutSeconds: - description: 'TcpTimeoutSeconds: The timeout value used for idle IPVS TCP sessions in seconds. Must be a positive integer value.' - type: integer - udpTimeoutSeconds: - description: 'UdpTimeoutSeconds: The timeout value used for IPVS UDP packets in seconds. Must be a positive integer value.' - type: integer - type: object - mode: - description: 'Mode: Specify which proxy mode to use (''IPTABLES'' or ''IPVS'')' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - loadBalancerProfile: - description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertMultipleResourceMultipleMetricCriteria properties: - allocatedOutboundPorts: + $propertyBag: + additionalProperties: + type: string description: |- - AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - type: integer - backendPoolType: - description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' - type: string - clusterServiceLoadBalancerHealthProbeMode: - description: 'ClusterServiceLoadBalancerHealthProbeMode: The health probing behavior for External Traffic Policy Cluster services.' - type: string - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: items: - description: A reference to an Azure resource. + description: Storage version of v1api20180301.MultiMetricCriteria properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' - type: boolean - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 30 minutes. - type: integer - managedOutboundIPs: - description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' - properties: - count: - description: |- - Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - must be in the range of 1 to 100 (inclusive). The default value is 1. - type: integer - countIPv6: - description: |- - CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - type: integer - type: object - outboundIPPrefixes: - description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' - properties: - publicIPPrefixes: - description: 'PublicIPPrefixes: A list of public IP prefix resources.' - items: - description: A reference to an Azure resource. + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicThresholdCriterion: + description: Storage version of v1api20180301.DynamicMetricCriteria properties: - id: - description: 'Id: The fully qualified Azure resource id.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + Storage version of v1api20180301.DynamicThresholdFailingPeriods + The minimum number of violations required within the selected lookback time window required to raise an alert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: number + numberOfEvaluationPeriods: + type: number + type: object + ignoreDataBefore: + type: string + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + timeAggregation: type: string type: object - type: array - type: object - outboundIPs: - description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' - properties: - publicIPs: - description: 'PublicIPs: A list of public IP resources.' - items: - description: A reference to an Azure resource. + staticThresholdCriterion: + description: Storage version of v1api20180301.MetricCriteria properties: - id: - description: 'Id: The fully qualified Azure resource id.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: type: string type: object - type: array - type: object + type: object + type: array + odata.type: + type: string type: object - loadBalancerSku: - description: |- - LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - balancer SKUs. - type: string - natGatewayProfile: - description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertSingleResourceMultipleMetricCriteria properties: - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: items: - description: A reference to an Azure resource. + description: Storage version of v1api20180301.MetricCriteria properties: - id: - description: 'Id: The fully qualified Azure resource id.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: type: string type: object type: array - idleTimeoutInMinutes: + odata.type: + type: string + type: object + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: Storage version of v1api20180301.WebtestLocationAvailabilityCriteria + properties: + $propertyBag: + additionalProperties: + type: string description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 4 minutes. - type: integer - managedOutboundIPProfile: - description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentReference: + description: 'ComponentReference: The Application Insights resource Id.' properties: - count: + armId: description: |- - Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - (inclusive). The default value is 1. - type: integer + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object + failedLocationCount: + type: number + odata.type: + type: string + webTestId: + type: string + required: + - componentReference type: object - networkDataplane: - description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' - type: string - networkMode: - description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' - type: string - networkPlugin: - description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' - type: string - networkPluginMode: - description: 'NetworkPluginMode: Network plugin mode used for building the Kubernetes network.' - type: string - networkPolicy: - description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' - type: string - outboundType: - description: |- - OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - type: string - podCidr: - description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' - type: string - podCidrs: - description: |- - PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. - items: - type: string - type: array - podLinkLocalAccess: - description: |- - PodLinkLocalAccess: Defines access to special link local addresses (Azure Instance Metadata Service, aka IMDS) for pods - with hostNetwork=false. if not specified, the default is 'IMDS'. - type: string - serviceCidr: - description: |- - ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - ranges. - type: string - serviceCidrs: - description: |- - ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - items: - type: string - type: array - staticEgressGatewayProfile: - description: |- - StaticEgressGatewayProfile: The profile for Static Egress Gateway addon. For more details about Static Egress Gateway, - see https://aka.ms/aks/static-egress-gateway. - properties: - enabled: - description: 'Enabled: Indicates if Static Egress Gateway addon is enabled or not.' - type: boolean - type: object - type: object - nodeProvisioningProfile: - description: 'NodeProvisioningProfile: Node provisioning settings that apply to the whole cluster.' - properties: - mode: - description: 'Mode: Once the mode it set to Auto, it cannot be changed back to Manual.' - type: string type: object - nodeResourceGroup: - description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + description: type: string - nodeResourceGroupProfile: - description: 'NodeResourceGroupProfile: The node resource group configuration profile.' - properties: - restrictionLevel: - description: 'RestrictionLevel: The restriction level applied to the cluster''s node resource group' - type: string - type: object - oidcIssuerProfile: - description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' - properties: - enabled: - description: 'Enabled: Whether the OIDC issuer is enabled.' - type: boolean - issuerURL: - description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' - type: string - type: object - podIdentityProfile: + enabled: + type: boolean + evaluationFrequency: + type: string + location: + type: string + operatorSpec: description: |- - PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - details on AAD pod identity integration. + Storage version of v1api20180301.MetricAlertOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - allowNetworkPluginKubenet: + $propertyBag: + additionalProperties: + type: string description: |- - AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - for more information. - type: boolean - enabled: - description: 'Enabled: Whether the pod identity addon is enabled.' - type: boolean - userAssignedIdentities: - description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: - description: Details about the pod identity assigned to the Managed Cluster. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - bindingSelector: - description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - identity: - description: 'Identity: The user assigned identity details.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object name: - description: 'Name: The name of the pod identity.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - provisioningInfo: - properties: - error: - description: 'Error: Pod identity assignment error (if any).' - properties: - error: - description: 'Error: Details about the error.' - properties: - code: - description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' - type: string - details: - description: 'Details: A list of additional details about the error.' - items: - properties: - code: - description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' - type: string - message: - description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' - type: string - target: - description: 'Target: The target of the particular error. For example, the name of the property in error.' - type: string - type: object - type: array - message: - description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' - type: string - target: - description: 'Target: The target of the particular error. For example, the name of the property in error.' - type: string - type: object - type: object - type: object - provisioningState: - description: 'ProvisioningState: The current provisioning state of the pod identity.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - userAssignedIdentityExceptions: - description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + secretExpressions: items: description: |- - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the pod identity exception.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - namespace: - description: 'Namespace: The namespace of the pod identity exception.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - podLabels: - additionalProperties: - type: string - description: 'PodLabels: The pod labels to match.' - type: object + required: + - name + - value type: object type: array type: object - powerState: - description: 'PowerState: The Power State of the cluster.' + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - privateFQDN: - description: 'PrivateFQDN: The FQDN of private cluster.' - type: string - privateLinkResources: - description: 'PrivateLinkResources: Private link resources associated with the cluster.' + scopesReferences: items: - description: A private link resource + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - groupId: - description: 'GroupId: The group ID of the resource.' - type: string - id: - description: 'Id: The ID of the private link resource.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: 'Name: The name of the private link resource.' + group: + description: Group is the Kubernetes group of the resource. type: string - privateLinkServiceID: - description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - requiredMembers: - description: 'RequiredMembers: The RequiredMembers of the resource' - items: - type: string - type: array - type: - description: 'Type: The resource type.' + name: + description: Name is the Kubernetes name of the resource. type: string type: object type: array - provisioningState: - description: 'ProvisioningState: The current provisioning state.' + severity: + type: integer + tags: + additionalProperties: + type: string + type: object + targetResourceRegion: type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + targetResourceType: type: string - resourceUID: - description: |- - ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create - sequence) + windowSize: type: string - safeguardsProfile: - description: 'SafeguardsProfile: The Safeguards profile holds all the safeguards information for a given cluster' - properties: - excludedNamespaces: - description: 'ExcludedNamespaces: List of namespaces excluded from Safeguards checks' - items: - type: string - type: array - level: - description: |- - Level: The Safeguards level to be used. By default, Safeguards is enabled for all namespaces except those that AKS - excludes via systemExcludedNamespaces - type: string - systemExcludedNamespaces: - description: 'SystemExcludedNamespaces: List of namespaces specified by AKS to be excluded from Safeguards' - items: - type: string - type: array - version: - description: 'Version: The version of constraints to use' - type: string + required: + - owner + type: object + status: + description: Storage version of v1api20180301.MetricAlert_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - securityProfile: - description: 'SecurityProfile: Security profile for the managed cluster.' - properties: - azureKeyVaultKms: - description: |- - AzureKeyVaultKms: Azure Key Vault [key management - service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' - type: boolean - keyId: - description: |- - KeyId: Identifier of Azure Key Vault key. See [key identifier - format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - identifier. When Azure Key Vault key management service is disabled, leave the field empty. - type: string - keyVaultNetworkAccess: - description: |- - KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - key vault allows public access from all networks. `Private` means the key vault disables public access and enables - private link. The default value is `Public`. - type: string - keyVaultResourceId: - description: |- - KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. + actions: + items: + description: |- + Storage version of v1api20180301.MetricAlertAction_STATUS + An alert action. + properties: + $propertyBag: + additionalProperties: type: string - type: object - customCATrustCertificates: - description: |- - CustomCATrustCertificates: A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the - Custom CA Trust feature enabled. For more information see [Custom CA Trust - Certificates](https://learn.microsoft.com/en-us/azure/aks/custom-certificate-authority) - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: type: string - type: array - defender: - description: 'Defender: Microsoft Defender settings for the security profile.' - properties: - logAnalyticsWorkspaceResourceId: - description: |- - LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - Defender is disabled, leave the field empty. + webHookProperties: + additionalProperties: type: string - securityMonitoring: - description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Defender threat detection' - type: boolean - type: object - type: object - imageCleaner: - description: 'ImageCleaner: Image Cleaner settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' - type: boolean - intervalHours: - description: 'IntervalHours: Image Cleaner scanning interval in hours.' - type: integer - type: object - imageIntegrity: - description: |- - ImageIntegrity: Image integrity is a feature that works with Azure Policy to verify image integrity by signature. This - will not have any effect unless Azure Policy is applied to enforce image signatures. See - https://aka.ms/aks/image-integrity for how to use this feature via policy. - properties: - enabled: - description: 'Enabled: Whether to enable image integrity. The default value is false.' - type: boolean - type: object - nodeRestriction: - description: |- - NodeRestriction: [Node - Restriction](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#noderestriction) settings - for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Node Restriction' - type: boolean - type: object - workloadIdentity: + type: object + type: object + type: array + autoMitigate: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + criteria: + description: Storage version of v1api20180301.MetricAlertCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - properties: - enabled: - description: 'Enabled: Whether to enable workload identity.' - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - serviceMeshProfile: - description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' - properties: - istio: - description: 'Istio: Istio service mesh configuration.' + microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertMultipleResourceMultipleMetricCriteria_STATUS properties: - certificateAuthority: + $propertyBag: + additionalProperties: + type: string description: |- - CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - certificates as described here https://aka.ms/asm-plugin-ca - properties: - plugin: - description: 'Plugin: Plugin certificates information for Service Mesh.' - properties: - certChainObjectName: - description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' - type: string - certObjectName: - description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' - type: string - keyObjectName: - description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' - type: string - keyVaultId: - description: 'KeyVaultId: The resource ID of the Key Vault.' - type: string - rootCertObjectName: - description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - components: - description: 'Components: Istio components configuration.' - properties: - egressGateways: - description: 'EgressGateways: Istio egress gateways.' - items: - description: Istio egress gateway configuration. + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + items: + description: Storage version of v1api20180301.MultiMetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicThresholdCriterion: + description: Storage version of v1api20180301.DynamicMetricCriteria_STATUS properties: - enabled: - description: 'Enabled: Whether to enable the egress gateway.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension_STATUS + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + Storage version of v1api20180301.DynamicThresholdFailingPeriods_STATUS + The minimum number of violations required within the selected lookback time window required to raise an alert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: number + numberOfEvaluationPeriods: + type: number + type: object + ignoreDataBefore: + type: string + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: type: boolean + timeAggregation: + type: string type: object - type: array - ingressGateways: - description: 'IngressGateways: Istio ingress gateways.' - items: - description: |- - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. + staticThresholdCriterion: + description: Storage version of v1api20180301.MetricCriteria_STATUS properties: - enabled: - description: 'Enabled: Whether to enable the ingress gateway.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension_STATUS + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: type: boolean - mode: - description: 'Mode: Mode of an ingress gateway.' + threshold: + type: number + timeAggregation: type: string type: object - type: array - type: object - revisions: - description: |- - Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - items: - type: string + type: object type: array - type: object - mode: - description: 'Mode: Mode of the service mesh.' - type: string - type: object - servicePrincipalProfile: - description: |- - ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - APIs. - properties: - clientId: - description: 'ClientId: The ID for the service principal.' - type: string - type: object - sku: - description: 'Sku: The managed cluster SKU.' - properties: - name: - description: 'Name: The name of a managed cluster SKU.' - type: string - tier: - description: |- - Tier: If not specified, the default is 'Free'. See [AKS Pricing - Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. - type: string - type: object - storageProfile: - description: 'StorageProfile: Storage profile for the managed cluster.' - properties: - blobCSIDriver: - description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' - type: boolean - type: object - diskCSIDriver: - description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' - type: boolean - version: - description: 'Version: The version of AzureDisk CSI Driver. The default value is v1.' + odata.type: type: string type: object - fileCSIDriver: - description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' + microsoftAzureMonitorSingleResourceMultipleMetricCriteria: + description: Storage version of v1api20180301.MetricAlertSingleResourceMultipleMetricCriteria_STATUS properties: - enabled: - description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' - type: boolean + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + allOf: + items: + description: Storage version of v1api20180301.MetricCriteria_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20180301.MetricDimension_STATUS + Specifies a metric dimension. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + metricName: + type: string + metricNamespace: + type: string + name: + type: string + operator: + type: string + skipMetricValidation: + type: boolean + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + odata.type: + type: string type: object - snapshotController: - description: 'SnapshotController: Snapshot Controller settings for the storage profile.' + microsoftAzureMonitorWebtestLocationAvailabilityCriteria: + description: Storage version of v1api20180301.WebtestLocationAvailabilityCriteria_STATUS properties: - enabled: - description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' - type: boolean + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + componentId: + type: string + failedLocationCount: + type: number + odata.type: + type: string + webTestId: + type: string type: object type: object - supportPlan: - description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + description: type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object + enabled: + type: boolean + evaluationFrequency: + type: string + id: + type: string + isMigrated: + type: boolean + lastUpdatedTime: + type: string + location: + type: string + name: + type: string + scopes: + items: + type: string + type: array + severity: + type: integer tags: additionalProperties: type: string - description: 'Tags: Resource tags.' type: object + targetResourceRegion: + type: string + targetResourceType: + type: string type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading a cluster.' - properties: - overrideSettings: - description: 'OverrideSettings: Settings for overrides.' - properties: - forceUpgrade: - description: |- - ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - protections such as checking for deprecated API usage. Enable this option only with caution. - type: boolean - until: - description: |- - Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - by default. It must be set for the overrides to take effect. - type: string - type: object - type: object - windowsProfile: - description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' - properties: - adminUsername: - description: |- - AdminUsername: Specifies the name of the administrator account. - Restriction: Cannot end in "." - Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - Minimum-length: 1 character - Max-length: 20 characters - type: string - enableCSIProxy: - description: |- - EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - repo](https://github.com/kubernetes-csi/csi-proxy). - type: boolean - gmsaProfile: - description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' - properties: - dnsServer: - description: |- - DnsServer: Specifies the DNS server for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - enabled: - description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' - type: boolean - rootDomainName: - description: |- - RootDomainName: Specifies the root domain name for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - type: object - licenseType: - description: |- - LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - type: string - type: object - workloadAutoScalerProfile: - description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' - properties: - keda: - description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable KEDA.' - type: boolean - type: object - verticalPodAutoscaler: - properties: - addonAutoscaling: - description: 'AddonAutoscaling: Whether VPA add-on is enabled and configured to scale AKS-managed add-ons.' - type: string - enabled: - description: 'Enabled: Whether to enable VPA add-on in cluster. Default value is false.' - type: boolean - type: object - type: object + windowSize: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongoclusters.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongoCluster + listKind: MongoClusterList + plural: mongoclusters + singular: mongocluster + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -160499,14 +236776,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240402previewstorage + name: v1api20240701 schema: openAPIV3Schema: description: |- - Storage version of v1api20240402preview.ManagedCluster Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName} properties: apiVersion: description: |- @@ -160526,821 +236802,522 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240402preview.ManagedCluster_Spec properties: - $propertyBag: - additionalProperties: - type: string + azureName: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadProfile: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 40 + minLength: 3 + pattern: ^[a-z0-9]+(-[a-z0-9]+)* + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: description: |- - Storage version of v1api20240402preview.ManagedClusterAADProfile - For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminGroupObjectIDs: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string - type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: - type: boolean - serverAppID: - type: string - serverAppSecret: - type: string - tenantID: - type: string - type: object - addonProfiles: - additionalProperties: - description: |- - Storage version of v1api20240402preview.ManagedClusterAddonProfile - A Kubernetes add-on profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - type: object - type: object - agentPoolProfiles: - items: - description: |- - Storage version of v1api20240402preview.ManagedClusterAgentPoolProfile - Profile for the container service agent pool. - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - artifactStreamingProfile: - description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: |- - Storage version of v1api20240402preview.CreationData - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gatewayProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolGatewayProfile - Profile of the managed cluster gateway agent pool. - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixSize: - type: integer - type: object - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20240402preview.AgentPoolGPUProfile - properties: - $propertyBag: - additionalProperties: - type: string + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - hostGroupReference: + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: |- - Storage version of v1api20240402preview.KubeletConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: |- - Storage version of v1api20240402preview.LinuxOSConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: + value: description: |- - Storage version of v1api20240402preview.SysctlConfig - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolNetworkProfile - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: The resource-specific properties for this resource.' + properties: + administrator: + description: 'Administrator: The local administrator properties for the mongo cluster.' + properties: + password: + description: 'Password: The administrator password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20240402preview.PortRange - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - items: + name: description: |- - Storage version of v1api20240402preview.IPTag - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeInitializationTaints: - items: + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + userName: + description: 'UserName: The administrator user name.' type: string - type: array - nodeLabels: - additionalProperties: + type: object + compute: + description: 'Compute: The compute properties of the mongo cluster.' + properties: + tier: + description: |- + Tier: The compute tier to assign to the cluster, where each tier maps to a virtual-core and memory size. Example values: + 'M30', 'M40'. type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: + type: object + createMode: + description: 'CreateMode: The mode to create a mongo cluster.' + enum: + - Default + - GeoReplica + - PointInTimeRestore + - Replica + type: string + highAvailability: + description: 'HighAvailability: The high availability properties of the mongo cluster.' + properties: + targetMode: + description: 'TargetMode: The target high availability mode requested for the cluster.' + enum: + - Disabled + - SameZone + - ZoneRedundantPreferred type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podIPAllocationMode: + type: object + previewFeatures: + description: 'PreviewFeatures: List of private endpoint connections.' + items: + description: Preview features that can be enabled on a mongo cluster. + enum: + - GeoReplicas type: string - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - Storage version of v1api20240402preview.PowerState - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: + type: array + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this mongo cluster.' + enum: + - Disabled + - Enabled + type: string + replicaParameters: + description: 'ReplicaParameters: The parameters to create a replica mongo cluster.' + properties: + sourceLocation: + description: 'SourceLocation: The location of the source cluster' + type: string + sourceResourceReference: + description: 'SourceResourceReference: The id of the replication source cluster.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - securityProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolSecurityProfile - The security settings of an agent pool. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: |- - Storage version of v1api20240402preview.AgentPoolUpgradeSettings - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - undrainableNodeBehavior: - type: string - type: object - virtualMachineNodesStatus: - items: - description: |- - Storage version of v1api20240402preview.VirtualMachineNodes - Current status on a group of nodes of the same vm size. + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - sourceLocation + - sourceResourceReference + type: object + restoreParameters: + description: 'RestoreParameters: The parameters to create a point-in-time restore mongo cluster.' + properties: + pointInTimeUTC: + description: 'PointInTimeUTC: UTC point in time to restore a mongo cluster' + type: string + sourceResourceReference: + description: 'SourceResourceReference: Resource ID to locate the source cluster to restore' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - size: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - type: array - virtualMachinesProfile: - description: |- - Storage version of v1api20240402preview.VirtualMachinesProfile - Specifications on VirtualMachines agent pool. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scale: - description: |- - Storage version of v1api20240402preview.ScaleProfile - Specifications on how to scale a VirtualMachines agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscale: - items: - description: |- - Storage version of v1api20240402preview.AutoScaleProfile - Specifications on auto-scaling. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxCount: - type: integer - minCount: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - manual: - items: - description: |- - Storage version of v1api20240402preview.ManualScaleProfile - Specifications on number of machines. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serverVersion: + description: 'ServerVersion: The Mongo DB server version. Defaults to the latest available version if not specified.' + type: string + sharding: + description: 'Sharding: The sharding properties of the mongo cluster.' + properties: + shardCount: + description: 'ShardCount: Number of shards to provision on the cluster.' + type: integer + type: object + storage: + description: 'Storage: The storage properties of the mongo cluster.' + properties: + sizeGb: + description: 'SizeGb: The size of the data disk assigned to each server.' + type: integer + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + description: Represents a mongo cluster resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - vnetSubnetReference: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsProfile: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: description: |- - Storage version of v1api20240402preview.AgentPoolWindowsProfile - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - aiToolchainOperatorProfile: + id: description: |- - Storage version of v1api20240402preview.ManagedClusterAIToolchainOperatorProfile - When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator - automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and - enables distributed inference against them. + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: The resource-specific properties for this resource.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + administrator: + description: 'Administrator: The local administrator properties for the mongo cluster.' + properties: + userName: + description: 'UserName: The administrator user name.' + type: string type: object - enabled: - type: boolean - type: object - apiServerAccessProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterAPIServerAccessProfile - Access profile for managed cluster API server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + backup: + description: 'Backup: The backup properties of the mongo cluster.' + properties: + earliestRestoreTime: + description: 'EarliestRestoreTime: Earliest restore timestamp in UTC ISO8601 format.' + type: string type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - enableVnetIntegration: - type: boolean - privateDNSZone: - type: string - subnetId: + clusterStatus: + description: 'ClusterStatus: The status of the mongo cluster.' type: string - type: object - autoScalerProfile: - description: Storage version of v1api20240402preview.ManagedClusterProperties_AutoScalerProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + compute: + description: 'Compute: The compute properties of the mongo cluster.' + properties: + tier: + description: |- + Tier: The compute tier to assign to the cluster, where each tier maps to a virtual-core and memory size. Example values: + 'M30', 'M40'. + type: string type: object - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: - type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: + connectionString: + description: 'ConnectionString: The default mongo connection string for the cluster.' type: string - new-pod-scale-up-delay: + createMode: + description: 'CreateMode: The mode to create a mongo cluster.' type: string - ok-total-unready-count: + highAvailability: + description: 'HighAvailability: The high availability properties of the mongo cluster.' + properties: + targetMode: + description: 'TargetMode: The target high availability mode requested for the cluster.' + type: string + type: object + infrastructureVersion: + description: 'InfrastructureVersion: The infrastructure version the cluster is provisioned on.' type: string - scale-down-delay-after-add: + previewFeatures: + description: 'PreviewFeatures: List of private endpoint connections.' + items: + description: Preview features that can be enabled on a mongo cluster. + type: string + type: array + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: The private endpoint connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the mongo cluster.' type: string - scale-down-delay-after-delete: + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public endpoint access is allowed for this mongo cluster.' type: string - scale-down-delay-after-failure: + replica: + description: 'Replica: The replication properties for the mongo cluster' + properties: + replicationState: + description: 'ReplicationState: The replication link state of the replica cluster.' + type: string + role: + description: 'Role: The replication role of the cluster' + type: string + sourceResourceId: + description: 'SourceResourceId: The resource id the source cluster for the replica cluster.' + type: string + type: object + replicaParameters: + description: 'ReplicaParameters: The parameters to create a replica mongo cluster.' + properties: + sourceLocation: + description: 'SourceLocation: The location of the source cluster' + type: string + sourceResourceId: + description: 'SourceResourceId: The id of the replication source cluster.' + type: string + type: object + restoreParameters: + description: 'RestoreParameters: The parameters to create a point-in-time restore mongo cluster.' + properties: + pointInTimeUTC: + description: 'PointInTimeUTC: UTC point in time to restore a mongo cluster' + type: string + sourceResourceId: + description: 'SourceResourceId: Resource ID to locate the source cluster to restore' + type: string + type: object + serverVersion: + description: 'ServerVersion: The Mongo DB server version. Defaults to the latest available version if not specified.' type: string - scale-down-unneeded-time: + sharding: + description: 'Sharding: The sharding properties of the mongo cluster.' + properties: + shardCount: + description: 'ShardCount: Number of shards to provision on the cluster.' + type: integer + type: object + storage: + description: 'Storage: The storage properties of the mongo cluster.' + properties: + sizeGb: + description: 'SizeGb: The size of the data disk assigned to each server.' + type: integer + type: object + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - scale-down-unready-time: + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - scale-down-utilization-threshold: + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - scan-interval: + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string - skip-nodes-with-local-storage: + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - skip-nodes-with-system-pods: + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - autoUpgradeProfile: + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240701.MongoCluster + Generator information: + - Generated from: /mongocluster/resource-manager/Microsoft.DocumentDB/stable/2024-07-01/mongoCluster.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/mongoClusters/{mongoClusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240701.MongoCluster_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterAutoUpgradeProfile - Auto upgrade profile for a managed cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240701.MongoClusterOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -161349,15 +237326,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - nodeOSUpgradeChannel: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - upgradeChannel: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - azureMonitorProfile: + properties: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfile - Prometheus addon profile for the container service cluster + Storage version of v1api20240701.MongoClusterProperties + The properties of a mongo cluster. properties: $propertyBag: additionalProperties: @@ -161366,12 +237412,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appMonitoring: + administrator: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoring - Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces - through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. + Storage version of v1api20240701.AdministratorProperties + The local administrator login properties. properties: $propertyBag: additionalProperties: @@ -161380,67 +237424,69 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoInstrumentation: + password: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation - Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument - Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object - openTelemetryLogs: + userName: + type: string + type: object + compute: + description: |- + Storage version of v1api20240701.ComputeProperties + The compute properties of the cluster. This includes the virtual-cores/memory and scaling options applied to servers in + the cluster. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs - Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects - OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - port: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - openTelemetryMetrics: + tier: + type: string + type: object + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20240701.HighAvailabilityProperties + The high availability properties of the cluster. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics - Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects - OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - port: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + targetMode: + type: string type: object - containerInsights: + previewFeatures: + items: + type: string + type: array + publicNetworkAccess: + type: string + replicaParameters: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileContainerInsights - Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See - aka.ms/AzureMonitorContainerInsights for an overview. + Storage version of v1api20240701.MongoClusterReplicaParameters + Parameters used for replica operations. properties: $propertyBag: additionalProperties: @@ -161449,16 +237495,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - disableCustomMetrics: - type: boolean - disablePrometheusMetricsScraping: - type: boolean - enabled: - type: boolean - logAnalyticsWorkspaceResourceReference: - description: |- - LogAnalyticsWorkspaceResourceReference: Fully Qualified ARM Resource Id of Azure Log Analytics Workspace for storing - Azure Monitor Container Insights Logs. + sourceLocation: + type: string + sourceResourceReference: + description: 'SourceResourceReference: The id of the replication source cluster.' properties: armId: description: |- @@ -161477,13 +237517,13 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - syslogPort: - type: integer + required: + - sourceResourceReference type: object - metrics: + restoreParameters: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileMetrics - Metrics profile for the prometheus service addon + Storage version of v1api20240701.MongoClusterRestoreParameters + Parameters used for restore operations properties: $propertyBag: additionalProperties: @@ -161492,36 +237532,134 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - kubeStateMetrics: - description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileKubeStateMetrics - Kube State Metrics for prometheus addon profile for the container service cluster + pointInTimeUTC: + type: string + sourceResourceReference: + description: 'SourceResourceReference: Resource ID to locate the source cluster to restore' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - metricLabelsAllowlist: + group: + description: Group is the Kubernetes group of the resource. type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + serverVersion: + type: string + sharding: + description: |- + Storage version of v1api20240701.ShardingProperties + The sharding properties of the cluster. This includes the shard count and scaling options for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + shardCount: + type: integer + type: object + storage: + description: |- + Storage version of v1api20240701.StorageProperties + The storage properties of the cluster. This includes the data storage size and scaling applied to servers in the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + sizeGb: + type: integer type: object type: object - azureName: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240701.MongoCluster_STATUS + Represents a mongo cluster resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: type: string - bootstrapProfile: + location: + type: string + name: + type: string + properties: description: |- - Storage version of v1api20240402preview.ManagedClusterBootstrapProfile - The bootstrap profile. + Storage version of v1api20240701.MongoClusterProperties_STATUS + The properties of a mongo cluster. properties: $propertyBag: additionalProperties: @@ -161530,35 +237668,190 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - artifactSource: + administrator: + description: |- + Storage version of v1api20240701.AdministratorProperties_STATUS + The local administrator login properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userName: + type: string + type: object + backup: + description: |- + Storage version of v1api20240701.BackupProperties_STATUS + The backup properties of the cluster. This includes the earliest restore time and retention settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + earliestRestoreTime: + type: string + type: object + clusterStatus: type: string - containerRegistryReference: + compute: description: |- - ContainerRegistryReference: The resource Id of Azure Container Registry. The registry must have private network access, - premium SKU and zone redundancy. + Storage version of v1api20240701.ComputeProperties_STATUS + The compute properties of the cluster. This includes the virtual-cores/memory and scaling options applied to servers in + the cluster. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + tier: type: string - group: - description: Group is the Kubernetes group of the resource. + type: object + connectionString: + type: string + createMode: + type: string + highAvailability: + description: |- + Storage version of v1api20240701.HighAvailabilityProperties_STATUS + The high availability properties of the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + targetMode: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + infrastructureVersion: + type: string + previewFeatures: + items: + type: string + type: array + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240701.PrivateEndpointConnection_STATUS + The private endpoint connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + replica: + description: |- + Storage version of v1api20240701.ReplicationProperties_STATUS + Replica properties of the mongo cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + replicationState: type: string - name: - description: Name is the Kubernetes name of the resource. + role: + type: string + sourceResourceId: + type: string + type: object + replicaParameters: + description: |- + Storage version of v1api20240701.MongoClusterReplicaParameters_STATUS + Parameters used for replica operations. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sourceLocation: + type: string + sourceResourceId: + type: string + type: object + restoreParameters: + description: |- + Storage version of v1api20240701.MongoClusterRestoreParameters_STATUS + Parameters used for restore operations + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + pointInTimeUTC: type: string + sourceResourceId: + type: string + type: object + serverVersion: + type: string + sharding: + description: |- + Storage version of v1api20240701.ShardingProperties_STATUS + The sharding properties of the cluster. This includes the shard count and scaling options for the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + shardCount: + type: integer + type: object + storage: + description: |- + Storage version of v1api20240701.StorageProperties_STATUS + The storage properties of the cluster. This includes the data storage size and scaling applied to servers in the cluster. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + sizeGb: + type: integer type: object type: object - creationData: + systemData: description: |- - Storage version of v1api20240402preview.CreationData - Data used when creating a target resource from a source resource. + Storage version of v1api20240701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -161567,105 +237860,453 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongodbdatabasecollections.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabaseCollection + listKind: MongodbDatabaseCollectionList + plural: mongodbdatabasecollections + singular: mongodbdatabasecollection + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB collection' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer type: object - disableLocalAccounts: - type: boolean - diskEncryptionSetReference: - description: |- - DiskEncryptionSetReference: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + resource: properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - name: - description: Name is the Kubernetes name of the resource. + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' type: string - type: object - dnsPrefix: - type: string - enableNamespaceResources: - type: boolean - enablePodSecurityPolicy: - type: boolean - enableRBAC: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20240402preview.ExtendedLocation - The complex type of the extended location. - properties: - $propertyBag: + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + shardKey: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' type: object - name: - type: string - type: - type: string type: object - fqdnSubdomain: + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' type: string - httpProxyConfig: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollection + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabaseCollection_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterHTTPProxyConfig - Cluster HTTP proxy configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpProxy: - type: string - httpsProxy: - type: string - noProxy: - items: - type: string - type: array - trustedCa: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - identity: + azureName: description: |- - Storage version of v1api20240402preview.ManagedClusterIdentity - Identity for the managed cluster. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -161674,128 +238315,70 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - delegatedResources: - additionalProperties: + configMapExpressions: + items: description: |- - Storage version of v1api20240402preview.DelegatedResource - Delegated resource properties - internal use only. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - location: - type: string - referralResource: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - resourceReference: - description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20240402preview.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string + value: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - type: object - identityProfile: - additionalProperties: - description: |- - Storage version of v1api20240402preview.UserAssignedIdentity - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string + secretExpressions: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - type: object + type: array type: object - ingressProfile: + options: description: |- - Storage version of v1api20240402preview.ManagedClusterIngressProfile - Ingress profile for the container service cluster. + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" properties: $propertyBag: additionalProperties: @@ -161804,10 +238387,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - webAppRouting: - description: |- - Storage version of v1api20240402preview.ManagedClusterIngressProfileWebAppRouting - Web App Routing settings for the ingress profile. + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -161816,40 +238397,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsZoneResourceReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - enabled: - type: boolean + maxThroughput: + type: integer type: object + throughput: + type: integer type: object - kind: - type: string - kubernetesVersion: + originalVersion: type: string - linuxProfile: + owner: description: |- - Storage version of v1api20240402preview.ContainerServiceLinuxProfile - Profile for Linux VMs in the container service cluster. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.MongoDBCollectionResource + Cosmos DB MongoDB collection resource object properties: $propertyBag: additionalProperties: @@ -161858,25 +238430,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: + analyticalStorageTtl: + type: integer + id: type: string - ssh: - description: |- - Storage version of v1api20240402preview.ContainerServiceSshConfiguration - SSH configuration for Linux-based VMs running on Azure. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: + indexes: + items: + description: |- + Storage version of v1api20210515.MongoIndex + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ContainerServiceSshPublicKey - Contains information about SSH certificate public key data. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20210515.MongoIndexKeys + Cosmos DB MongoDB collection resource object properties: $propertyBag: additionalProperties: @@ -161885,18 +238459,105 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyData: - type: string + keys: + items: + type: string + type: array type: object - type: array + options: + description: |- + Storage version of v1api20210515.MongoIndexOptions + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + shardKey: + additionalProperties: + type: string type: object type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabaseCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string location: type: string - metricsProfile: + name: + type: string + options: description: |- - Storage version of v1api20240402preview.ManagedClusterMetricsProfile - The metrics profile for the ManagedCluster. + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object properties: $propertyBag: additionalProperties: @@ -161905,10 +238566,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - costAnalysis: - description: |- - Storage version of v1api20240402preview.ManagedClusterCostAnalysis - The cost analysis configuration for the cluster + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS properties: $propertyBag: additionalProperties: @@ -161917,14 +238576,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean + maxThroughput: + type: integer type: object + throughput: + type: integer type: object - networkProfile: - description: |- - Storage version of v1api20240402preview.ContainerServiceNetworkProfile - Profile of network configuration. + resource: + description: Storage version of v1api20210515.MongoDBCollectionGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -161933,98 +238592,33 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - advancedNetworking: - description: |- - Storage version of v1api20240402preview.AdvancedNetworking - Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may - incur additional costs. For more information see aka.ms/aksadvancednetworking. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - observability: - description: |- - Storage version of v1api20240402preview.AdvancedNetworkingObservability - Observability profile to enable advanced network metrics and flow logs with historical contexts. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - dnsServiceIP: + _etag: type: string - ipFamilies: + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + id: + type: string + indexes: items: - type: string - type: array - kubeProxyConfig: - description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - ipvsConfig: - description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduler: + description: |- + Storage version of v1api20210515.MongoIndex_STATUS + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: type: string - tcpFinTimeoutSeconds: - type: integer - tcpTimeoutSeconds: - type: integer - udpTimeoutSeconds: - type: integer - type: object - mode: - type: string - type: object - loadBalancerProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile - Profile of the managed cluster load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendPoolType: - type: string - clusterServiceLoadBalancerHealthProbeMode: - type: string - effectiveOutboundIPs: - items: description: |- - Storage version of v1api20240402preview.ResourceReference - A reference to an Azure resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20210515.MongoIndexKeys_STATUS + Cosmos DB MongoDB collection resource object properties: $propertyBag: additionalProperties: @@ -162033,159 +238627,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + keys: + items: + type: string + type: array type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: |- - Storage version of v1api20240402preview.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: |- - Storage version of v1api20240402preview.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - natGatewayProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterNATGatewayProfile - Profile of the managed cluster NAT gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIPs: - items: + options: description: |- - Storage version of v1api20240402preview.ResourceReference - A reference to an Azure resource. + Storage version of v1api20210515.MongoIndexOptions_STATUS + Cosmos DB MongoDB collection index options properties: $propertyBag: additionalProperties: @@ -162194,146 +238644,85 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + expireAfterSeconds: + type: integer + unique: + type: boolean type: object - type: array - idleTimeoutInMinutes: - type: integer - managedOutboundIPProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterManagedOutboundIPProfile - Profile of the managed outbound IP resources of the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object - type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: - type: string - podCidr: - type: string - podCidrs: - items: - type: string - type: array - podLinkLocalAccess: - type: string - serviceCidr: - type: string - serviceCidrs: - items: - type: string + type: object type: array - staticEgressGatewayProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterStaticEgressGatewayProfile - The Static Egress Gateway addon configuration for the cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - nodeProvisioningProfile: - description: Storage version of v1api20240402preview.ManagedClusterNodeProvisioningProfile - properties: - $propertyBag: + shardKey: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - mode: - type: string type: object - nodeResourceGroup: - type: string - nodeResourceGroupProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterNodeResourceGroupProfile - Node resource group lockdown profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restrictionLevel: - type: string + tags: + additionalProperties: + type: string type: object - oidcIssuerProfile: + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - Storage version of v1api20240402preview.ManagedClusterOIDCIssuerProfile - The OIDC issuer profile of the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string operatorSpec: description: |- - Storage version of v1api20240402preview.ManagedClusterOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -162362,36 +238751,8 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20240402preview.ManagedClusterOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - oidcIssuerProfile: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -162420,61 +238781,30 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20240402preview.ManagedClusterOperatorSecrets + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/MongodbDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -162483,617 +238813,283 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIdentityProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentityProfile - See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod - identity integration. + resource: + description: 'Resource: The standard JSON format of a MongoDB collection' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' items: - description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentity - Details about the pod identity assigned to the Managed Cluster. + description: Cosmos DB MongoDB collection index key properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bindingSelector: - type: string - identity: - description: |- - Storage version of v1api20240402preview.UserAssignedIdentity - Details about a user assigned identity. + key: + description: 'Key: Cosmos DB MongoDB collection index keys' properties: - $propertyBag: - additionalProperties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - namespace: - type: string - type: object - type: array - userAssignedIdentityExceptions: - items: - description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentityException - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: array type: object - name: - type: string - namespace: - type: string - podLabels: - additionalProperties: - type: string + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean type: object type: object type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + shardKey: + additionalProperties: + type: string + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + required: + - id type: object - privateLinkResources: + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: |- - Storage version of v1api20240402preview.PrivateLinkResource - A private link resource + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - name: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string - reference: - description: 'Reference: The ID of the private link resource.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - items: - type: string - type: array type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - publicNetworkAccess: + id: + description: 'Id: The unique resource identifier of the ARM resource.' type: string - safeguardsProfile: - description: |- - Storage version of v1api20240402preview.SafeguardsProfile - The Safeguards profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - excludedNamespaces: - items: - type: string - type: array - level: - type: string - version: - type: string - type: object - securityProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfile - Security profile for the container service cluster. + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureKeyVaultKms: - description: |- - Storage version of v1api20240402preview.AzureKeyVaultKms - Azure Key Vault key management service settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceReference: - description: |- - KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - customCATrustCertificates: - items: - type: string - type: array - defender: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefender - Microsoft Defender settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceReference: - description: |- - LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - Microsoft Defender is disabled, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring - Microsoft Defender settings for the security profile threat detection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageCleaner - Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here - are settings for the security profile. + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' type: integer type: object - imageIntegrity: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageIntegrity - Image integrity related settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - nodeRestriction: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileNodeRestriction - Node Restriction settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - workloadIdentity: + throughput: description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileWorkloadIdentity - Workload identity settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer type: object - serviceMeshProfile: - description: |- - Storage version of v1api20240402preview.ServiceMeshProfile - Service mesh profile for a managed cluster. + resource: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - istio: - description: |- - Storage version of v1api20240402preview.IstioServiceMesh - Istio service mesh configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: |- - Storage version of v1api20240402preview.IstioCertificateAuthority - Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described - here https://aka.ms/asm-plugin-ca - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: |- - Storage version of v1api20240402preview.IstioPluginCertificateAuthority - Plugin certificates information for Service Mesh. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultReference: - description: 'KeyVaultReference: The resource ID of the Key Vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: - type: string - type: object - type: object - components: - description: |- - Storage version of v1api20240402preview.IstioComponents - Istio components configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: |- - Storage version of v1api20240402preview.IstioEgressGateway - Istio egress gateway configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: array - ingressGateways: - items: - description: |- - Storage version of v1api20240402preview.IstioIngressGateway - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array - type: object - mode: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - type: object - servicePrincipalProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - secret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key + properties: + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean + type: object + type: object + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: + restoreSource: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' type: string - required: - - key - - name type: object - type: object - sku: - description: |- - Storage version of v1api20240402preview.ManagedClusterSKU - The SKU of a Managed Cluster. - properties: - $propertyBag: + shardKey: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' type: object - name: - type: string - tier: - type: string type: object - storageProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfile - Storage profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileBlobCSIDriver - AzureBlob CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileDiskCSIDriver - AzureDisk CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - version: - type: string - type: object - fileCSIDriver: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileFileCSIDriver - AzureFile CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - snapshotController: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileSnapshotController - Snapshot Controller settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + tags: + additionalProperties: + type: string type: object - supportPlan: + type: + description: 'Type: The type of Azure resource.' type: string - tags: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollection + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabaseCollection_Spec + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - upgradeSettings: + azureName: description: |- - Storage version of v1api20240402preview.ClusterUpgradeSettings - Settings for upgrading a cluster. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -163102,28 +239098,70 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - overrideSettings: - description: |- - Storage version of v1api20240402preview.UpgradeOverrideSettings - Settings for overrides when upgrading a cluster. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - windowsProfile: + options: description: |- - Storage version of v1api20240402preview.ManagedClusterWindowsProfile - Profile for Windows VMs in the managed cluster. + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" properties: $propertyBag: additionalProperties: @@ -163132,31 +239170,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - adminUsername: - type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: |- - Storage version of v1api20240402preview.WindowsGmsaProfile - Windows gMSA Profile in the managed cluster. + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -163165,20 +239180,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string + maxThroughput: + type: integer type: object - licenseType: + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - workloadAutoScalerProfile: + resource: description: |- - Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfile - Workload Auto-scaler profile for the managed cluster. + Storage version of v1api20231115.MongoDBCollectionResource + Cosmos DB MongoDB collection resource object properties: $propertyBag: additionalProperties: @@ -163187,23 +239213,65 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keda: + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: + items: + description: |- + Storage version of v1api20231115.MongoIndex + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20231115.MongoIndexKeys + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20231115.MongoIndexOptions + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + restoreParameters: description: |- - Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileKeda - KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. properties: $propertyBag: additionalProperties: @@ -163212,19 +239280,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - addonAutoscaling: + restoreSource: type: string - enabled: - type: boolean + restoreTimestampInUtc: + type: string + type: object + shardKey: + additionalProperties: + type: string type: object type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: |- - Storage version of v1api20240402preview.ManagedCluster_STATUS - Managed cluster. + description: Storage version of v1api20231115.MongodbDatabaseCollection_STATUS properties: $propertyBag: additionalProperties: @@ -163233,10 +239307,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aadProfile: + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: description: |- - Storage version of v1api20240402preview.ManagedClusterAADProfile_STATUS - For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object properties: $propertyBag: additionalProperties: @@ -163245,46 +239368,49 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminGroupObjectIDs: - items: + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.MongoDBCollectionGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: array - clientAppID: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: type: string - enableAzureRBAC: - type: boolean - managed: - type: boolean - serverAppID: + _rid: type: string - serverAppSecret: + _ts: + type: number + analyticalStorageTtl: + type: integer + createMode: type: string - tenantID: + id: type: string - type: object - addonProfiles: - additionalProperties: - description: |- - Storage version of v1api20240402preview.ManagedClusterAddonProfile_STATUS - A Kubernetes add-on profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - identity: + indexes: + items: description: |- - Storage version of v1api20240402preview.UserAssignedIdentity_STATUS - Details about a user assigned identity. + Storage version of v1api20231115.MongoIndex_STATUS + Cosmos DB MongoDB collection index key properties: $propertyBag: additionalProperties: @@ -163293,434 +239419,642 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - type: object - agentPoolProfiles: - items: - description: |- - Storage version of v1api20240402preview.ManagedClusterAgentPoolProfile_STATUS - Profile for the container service agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - artifactStreamingProfile: - description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20231115.MongoIndexKeys_STATUS + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20231115.MongoIndexOptions_STATUS + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean type: object - enabled: - type: boolean type: object - availabilityZones: - items: + type: array + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: type: string - type: array - capacityReservationGroupID: + restoreTimestampInUtc: + type: string + type: object + shardKey: + additionalProperties: type: string - count: - type: integer - creationData: + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - Storage version of v1api20240402preview.CreationData_STATUS - Data used when creating a target resource from a source resource. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - type: object - currentOrchestratorVersion: - type: string - eTag: - type: string - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gatewayProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolGatewayProfile_STATUS - Profile of the managed cluster gateway agent pool. - properties: - $propertyBag: - additionalProperties: - type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixSize: - type: integer - type: object - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20240402preview.AgentPoolGPUProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - hostGroupID: - type: string - kubeletConfig: + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - Storage version of v1api20240402preview.KubeletConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - cpuManagerPolicy: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: |- - Storage version of v1api20240402preview.LinuxOSConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB collection' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20240402preview.SysctlConfig_STATUS - Sysctl settings for Linux agent nodes. + key: + description: 'Key: Cosmos DB MongoDB collection index keys' properties: - $propertyBag: - additionalProperties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' type: integer - netIpv4TcpTwReuse: + unique: + description: 'Unique: Is unique or not' type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolNetworkProfile_STATUS - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20240402preview.PortRange_STATUS - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20240402preview.IPTag_STATUS - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array type: object - nodeImageVersion: - type: string - nodeInitializationTaints: - items: + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} type: string - type: array - nodeLabels: - additionalProperties: + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' type: string - type: object - nodePublicIPPrefixID: + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + shardKey: + additionalProperties: type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - osDiskSizeGB: - type: integer - osDiskType: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - osSKU: + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - osType: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - podIPAllocationMode: + status: + description: Status of the condition, one of True, False, or Unknown. type: string - podSubnetID: + type: + description: Type of condition. type: string - powerState: - description: |- - Storage version of v1api20240402preview.PowerState_STATUS - Describes the Power State of the cluster + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB collection' + type: string + indexes: + description: 'Indexes: List of index keys' + items: + description: Cosmos DB MongoDB collection index key properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + key: + description: 'Key: Cosmos DB MongoDB collection index keys' + properties: + keys: + description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + options: + description: 'Options: Cosmos DB MongoDB collection index key options' + properties: + expireAfterSeconds: + description: 'ExpireAfterSeconds: Expire after seconds' + type: integer + unique: + description: 'Unique: Is unique or not' + type: boolean type: object - code: - type: string type: object - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: + type: array + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + shardKey: + additionalProperties: type: string - scaleSetPriority: + description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollection + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabaseCollection_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollectionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: type: string - securityProfile: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - Storage version of v1api20240402preview.AgentPoolSecurityProfile_STATUS - The security settings of an agent pool. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: + type: array + secretExpressions: + items: description: |- - Storage version of v1api20240402preview.AgentPoolUpgradeSettings_STATUS - Settings for upgrading an agentpool + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - nodeSoakDurationInMinutes: - type: integer - undrainableNodeBehavior: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - virtualMachineNodesStatus: - items: + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.VirtualMachineNodes_STATUS - Current status on a group of nodes of the same vm size. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - size: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - virtualMachinesProfile: + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20240815.MongoDBCollectionResource + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: + items: description: |- - Storage version of v1api20240402preview.VirtualMachinesProfile_STATUS - Specifications on VirtualMachines agent pool. + Storage version of v1api20240815.MongoIndex + Cosmos DB MongoDB collection index key properties: $propertyBag: additionalProperties: @@ -163729,10 +240063,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - scale: + key: description: |- - Storage version of v1api20240402preview.ScaleProfile_STATUS - Specifications on how to scale a VirtualMachines agent pool. + Storage version of v1api20240815.MongoIndexKeys + Cosmos DB MongoDB collection resource object properties: $propertyBag: additionalProperties: @@ -163741,81 +240075,124 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoscale: - items: - description: |- - Storage version of v1api20240402preview.AutoScaleProfile_STATUS - Specifications on auto-scaling. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxCount: - type: integer - minCount: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - manual: + keys: items: - description: |- - Storage version of v1api20240402preview.ManualScaleProfile_STATUS - Specifications on number of machines. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object + type: string type: array type: object + options: + description: |- + Storage version of v1api20240815.MongoIndexOptions + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object type: object - vmSize: + type: array + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + shardKey: + additionalProperties: type: string - vnetSubnetID: + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabaseCollection_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - windowsProfile: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - Storage version of v1api20240402preview.AgentPoolWindowsProfile_STATUS - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - aiToolchainOperatorProfile: + id: + type: string + location: + type: string + name: + type: string + options: description: |- - Storage version of v1api20240402preview.ManagedClusterAIToolchainOperatorProfile_STATUS - When enabling the operator, a set of AKS managed CRDs and controllers will be installed in the cluster. The operator - automates the deployment of OSS models for inference and/or training purposes. It provides a set of preset models and - enables distributed inference against them. + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object properties: $propertyBag: additionalProperties: @@ -163824,13 +240201,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer type: object - apiServerAccessProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterAPIServerAccessProfile_STATUS - Access profile for managed cluster API server. + resource: + description: Storage version of v1api20240815.MongoDBCollectionGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -163839,78 +240227,476 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizedIPRanges: + _etag: + type: string + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + createMode: + type: string + id: + type: string + indexes: items: + description: |- + Storage version of v1api20240815.MongoIndex_STATUS + Cosmos DB MongoDB collection index key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + description: |- + Storage version of v1api20240815.MongoIndexKeys_STATUS + Cosmos DB MongoDB collection resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keys: + items: + type: string + type: array + type: object + options: + description: |- + Storage version of v1api20240815.MongoIndexOptions_STATUS + Cosmos DB MongoDB collection index options + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expireAfterSeconds: + type: integer + unique: + type: boolean + type: object + type: object + type: array + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + shardKey: + additionalProperties: type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongodbdatabasecollectionthroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabaseCollectionThroughputSetting + listKind: MongodbDatabaseCollectionThroughputSettingList + plural: mongodbdatabasecollectionthroughputsettings + singular: mongodbdatabasecollectionthroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - enableVnetIntegration: - type: boolean - privateDNSZone: + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - subnetId: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - autoScalerProfile: - description: Storage version of v1api20240402preview.ManagedClusterProperties_AutoScalerProfile_STATUS + resource: + description: 'Resource: The standard JSON format of a resource throughput' properties: - $propertyBag: - additionalProperties: - type: string + autoscaleSettings: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput type: object - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: - type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: - type: string - scale-down-utilization-threshold: + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - scan-interval: + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - skip-nodes-with-local-storage: + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' type: string - skip-nodes-with-system-pods: + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - autoUpgradeProfile: + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterAutoUpgradeProfile_STATUS - Auto upgrade profile for a managed cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -163919,15 +240705,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - nodeOSUpgradeChannel: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - upgradeChannel: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - azureMonitorProfile: + resource: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfile_STATUS - Prometheus addon profile for the container service cluster + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -163936,104 +240791,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appMonitoring: - description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoring_STATUS - Application Monitoring Profile for Kubernetes Application Container. Collects application logs, metrics and traces - through auto-instrumentation of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoInstrumentation: - description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringAutoInstrumentation_STATUS - Application Monitoring Auto Instrumentation for Kubernetes Application Container. Deploys web hook to auto-instrument - Azure Monitor OpenTelemetry based SDKs to collect OpenTelemetry metrics, logs and traces of the application. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - openTelemetryLogs: - description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryLogs_STATUS - Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Logs and Traces. Collects - OpenTelemetry logs and traces of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - port: - type: integer - type: object - openTelemetryMetrics: - description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileAppMonitoringOpenTelemetryMetrics_STATUS - Application Monitoring Open Telemetry Metrics Profile for Kubernetes Application Container Metrics. Collects - OpenTelemetry metrics of the application using Azure Monitor OpenTelemetry based SDKs. See - aka.ms/AzureMonitorApplicationMonitoring for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - port: - type: integer - type: object - type: object - containerInsights: - description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileContainerInsights_STATUS - Azure Monitor Container Insights Profile for Kubernetes Events, Inventory and Container stdout & stderr logs etc. See - aka.ms/AzureMonitorContainerInsights for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableCustomMetrics: - type: boolean - disablePrometheusMetricsScraping: - type: boolean - enabled: - type: boolean - logAnalyticsWorkspaceResourceId: - type: string - syslogPort: - type: integer - type: object - metrics: + autoscaleSettings: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileMetrics_STATUS - Metrics profile for the prometheus service addon + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -164041,13 +240802,11 @@ spec: description: |- PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - kubeStateMetrics: + type: object + autoUpgradePolicy: description: |- - Storage version of v1api20240402preview.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS - Kube State Metrics for prometheus addon profile for the container service cluster + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy properties: $propertyBag: additionalProperties: @@ -164056,31 +240815,46 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object + maxThroughput: + type: integer type: object + throughput: + type: integer type: object - azurePortalFQDN: - type: string - bootstrapProfile: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterBootstrapProfile_STATUS - The bootstrap profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - artifactSource: - type: string - containerRegistryId: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object conditions: items: @@ -164125,91 +240899,14 @@ spec: - type type: object type: array - creationData: - description: |- - Storage version of v1api20240402preview.CreationData_STATUS - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentKubernetesVersion: - type: string - disableLocalAccounts: - type: boolean - diskEncryptionSetID: - type: string - dnsPrefix: - type: string - eTag: - type: string - enableNamespaceResources: - type: boolean - enablePodSecurityPolicy: - type: boolean - enableRBAC: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20240402preview.ExtendedLocation_STATUS - The complex type of the extended location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdn: + id: type: string - fqdnSubdomain: + location: type: string - httpProxyConfig: - description: |- - Storage version of v1api20240402preview.ManagedClusterHTTPProxyConfig_STATUS - Cluster HTTP proxy configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveNoProxy: - items: - type: string - type: array - httpProxy: - type: string - httpsProxy: - type: string - noProxy: - items: - type: string - type: array - trustedCa: - type: string - type: object - id: + name: type: string - identity: - description: |- - Storage version of v1api20240402preview.ManagedClusterIdentity_STATUS - Identity for the managed cluster. + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -164218,90 +240915,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - delegatedResources: - additionalProperties: - description: |- - Storage version of v1api20240402preview.DelegatedResource_STATUS - Delegated resource properties - internal use only. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - location: - type: string - referralResource: - type: string - resourceId: - type: string - tenantId: - type: string - type: object - type: object - principalId: - type: string - tenantId: + _etag: type: string - type: + _rid: type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20240402preview.ManagedClusterIdentity_UserAssignedIdentities_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - identityProfile: - additionalProperties: - description: |- - Storage version of v1api20240402preview.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - ingressProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterIngressProfile_STATUS - Ingress profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - webAppRouting: + _ts: + type: number + autoscaleSettings: description: |- - Storage version of v1api20240402preview.ManagedClusterIngressProfileWebAppRouting_STATUS - Web App Routing settings for the ingress profile. + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -164310,16 +240933,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsZoneResourceIds: - items: - type: string - type: array - enabled: - type: boolean - identity: + autoUpgradePolicy: description: |- - Storage version of v1api20240402preview.UserAssignedIdentity_STATUS - Details about a user assigned identity. + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy properties: $propertyBag: additionalProperties: @@ -164328,433 +240945,394 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer type: object + minimumThroughput: + type: string + offerReplacePending: + type: string + throughput: + type: integer type: object - kind: + tags: + additionalProperties: + type: string + type: object + type: type: string - kubernetesVersion: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string - linuxProfile: + operatorSpec: description: |- - Storage version of v1api20240402preview.ContainerServiceLinuxProfile_STATUS - Profile for Linux VMs in the container service cluster. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUsername: - type: string - ssh: - description: |- - Storage version of v1api20240402preview.ContainerServiceSshConfiguration_STATUS - SSH configuration for Linux-based VMs running on Azure. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: + name: description: |- - Storage version of v1api20240402preview.ContainerServiceSshPublicKey_STATUS - Contains information about SSH certificate public key data. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyData: - type: string - type: object - type: array - type: object + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - location: - type: string - maxAgentPools: - type: integer - metricsProfile: + owner: description: |- - Storage version of v1api20240402preview.ManagedClusterMetricsProfile_STATUS - The metrics profile for the ManagedCluster. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - costAnalysis: - description: |- - Storage version of v1api20240402preview.ManagedClusterCostAnalysis_STATUS - The cost analysis configuration for the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - name: - type: string - networkProfile: - description: |- - Storage version of v1api20240402preview.ContainerServiceNetworkProfile_STATUS - Profile of network configuration. + resource: + description: 'Resource: The standard JSON format of a resource throughput' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - advancedNetworking: + autoscaleSettings: description: |- - Storage version of v1api20240402preview.AdvancedNetworking_STATUS - Advanced Networking profile for enabling observability on a cluster. Note that enabling advanced networking features may - incur additional costs. For more information see aka.ms/aksadvancednetworking. + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - observability: - description: |- - Storage version of v1api20240402preview.AdvancedNetworkingObservability_STATUS - Observability profile to enable advanced network metrics and flow logs with historical contexts. + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean type: object - enabled: - type: boolean type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput type: object - dnsServiceIP: - type: string - ipFamilies: - items: + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - type: array - kubeProxyConfig: - description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - ipvsConfig: - description: Storage version of v1api20240402preview.ContainerServiceNetworkProfile_KubeProxyConfig_IpvsConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scheduler: - type: string - tcpFinTimeoutSeconds: - type: integer - tcpTimeoutSeconds: - type: integer - udpTimeoutSeconds: - type: integer - type: object - mode: - type: string - type: object - loadBalancerProfile: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: description: |- - Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_STATUS - Profile of the managed cluster load balancer. + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendPoolType: - type: string - clusterServiceLoadBalancerHealthProbeMode: - type: string - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20240402preview.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: |- - Storage version of v1api20240402preview.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20240402preview.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean type: object - publicIPs: - items: - description: |- - Storage version of v1api20240402preview.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - natGatewayProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterNATGatewayProfile_STATUS - Profile of the managed cluster NAT gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20240402preview.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - idleTimeoutInMinutes: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' type: integer - managedOutboundIPProfile: + targetMaxThroughput: description: |- - Storage version of v1api20240402preview.ManagedClusterManagedOutboundIPProfile_STATUS - Profile of the managed outbound IP resources of the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' type: string - podCidr: + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' type: string - podCidrs: - items: - type: string - type: array - podLinkLocalAccess: + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' type: string - serviceCidr: + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified type: string - serviceCidrs: - items: - type: string - type: array - staticEgressGatewayProfile: + throughput: description: |- - Storage version of v1api20240402preview.ManagedClusterStaticEgressGatewayProfile_STATUS - The Static Egress Gateway addon configuration for the cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - nodeProvisioningProfile: - description: Storage version of v1api20240402preview.ManagedClusterNodeProvisioningProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - mode: - type: string + tags: + additionalProperties: + type: string type: object - nodeResourceGroup: + type: + description: 'Type: The type of Azure resource.' type: string - nodeResourceGroupProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterNodeResourceGroupProfile_STATUS - Node resource group lockdown profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restrictionLevel: - type: string - type: object - oidcIssuerProfile: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterOIDCIssuerProfile_STATUS - The OIDC issuer profile of the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - issuerURL: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - podIdentityProfile: + location: + type: string + operatorSpec: description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentityProfile_STATUS - See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod - identity integration. + Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -164763,220 +241341,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: + configMapExpressions: items: description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentity_STATUS - Details about the pod identity assigned to the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bindingSelector: - type: string - identity: - description: |- - Storage version of v1api20240402preview.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - name: + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - namespace: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - provisioningInfo: - description: Storage version of v1api20240402preview.ManagedClusterPodIdentity_ProvisioningInfo_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningError_STATUS - An error response from the pod identity provisioning. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS - An error response from the pod identity provisioning. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - details: - items: - description: Storage version of v1api20240402preview.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - type: object - type: object - provisioningState: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - userAssignedIdentityExceptions: + secretExpressions: items: description: |- - Storage version of v1api20240402preview.ManagedClusterPodIdentityException_STATUS - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - namespace: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - podLabels: - additionalProperties: - type: string - type: object + required: + - name + - value type: object type: array type: object - powerState: - description: |- - Storage version of v1api20240402preview.PowerState_STATUS - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - privateFQDN: - type: string - privateLinkResources: - items: - description: |- - Storage version of v1api20240402preview.PrivateLinkResource_STATUS - A private link resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: - type: string - id: - type: string - name: - type: string - privateLinkServiceID: - type: string - requiredMembers: - items: - type: string - type: array - type: - type: string - type: object - type: array - provisioningState: - type: string - publicNetworkAccess: - type: string - resourceUID: + originalVersion: type: string - safeguardsProfile: + owner: description: |- - Storage version of v1api20240402preview.SafeguardsProfile_STATUS - The Safeguards profile. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - excludedNamespaces: - items: - type: string - type: array - level: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - systemExcludedNamespaces: - items: - type: string - type: array - version: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - securityProfile: + resource: description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfile_STATUS - Security profile for the container service cluster. + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -164985,35 +241427,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureKeyVaultKms: - description: |- - Storage version of v1api20240402preview.AzureKeyVaultKms_STATUS - Azure Key Vault key management service settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceId: - type: string - type: object - customCATrustCertificates: - items: - type: string - type: array - defender: + autoscaleSettings: description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefender_STATUS - Microsoft Defender settings for the security profile. + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -165022,12 +241439,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - logAnalyticsWorkspaceResourceId: - type: string - securityMonitoring: + autoUpgradePolicy: description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS - Microsoft Defender settings for the security profile threat detection. + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy properties: $propertyBag: additionalProperties: @@ -165036,78 +241451,98 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageCleaner_STATUS - Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here - are settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object - enabled: - type: boolean - intervalHours: + maxThroughput: type: integer type: object - imageIntegrity: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileImageIntegrity_STATUS - Image integrity related settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - nodeRestriction: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileNodeRestriction_STATUS - Node Restriction settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - workloadIdentity: - description: |- - Storage version of v1api20240402preview.ManagedClusterSecurityProfileWorkloadIdentity_STATUS - Workload identity settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + throughput: + type: integer type: object - serviceMeshProfile: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ServiceMeshProfile_STATUS - Service mesh profile for a managed cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -165116,10 +241551,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - istio: + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: description: |- - Storage version of v1api20240402preview.IstioServiceMesh_STATUS - Istio service mesh configuration. + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -165128,11 +241569,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - certificateAuthority: + autoUpgradePolicy: description: |- - Storage version of v1api20240402preview.IstioCertificateAuthority_STATUS - Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described - here https://aka.ms/asm-plugin-ca + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy properties: $propertyBag: additionalProperties: @@ -165141,10 +241581,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - plugin: + throughputPolicy: description: |- - Storage version of v1api20240402preview.IstioPluginCertificateAuthority_STATUS - Plugin certificates information for Service Mesh. + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy properties: $propertyBag: additionalProperties: @@ -165153,220 +241593,386 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultId: - type: string - rootCertObjectName: - type: string - type: object - type: object - components: - description: |- - Storage version of v1api20240402preview.IstioComponents_STATUS - Istio components configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + incrementPercent: + type: integer + isEnabled: + type: boolean type: object - egressGateways: - items: - description: |- - Storage version of v1api20240402preview.IstioEgressGateway_STATUS - Istio egress gateway configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: array - ingressGateways: - items: - description: |- - Storage version of v1api20240402preview.IstioIngressGateway_STATUS - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array type: object - revisions: - items: - type: string - type: array + maxThroughput: + type: integer + targetMaxThroughput: + type: integer type: object - mode: + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: type: string + throughput: + type: integer type: object - servicePrincipalProfile: + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: description: |- - Storage version of v1api20240402preview.ManagedClusterServicePrincipalProfile_STATUS - Information about a service principal identity for the cluster to use for manipulating Azure APIs. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - sku: + owner: description: |- - Storage version of v1api20240402preview.ManagedClusterSKU_STATUS - The SKU of a Managed Cluster. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - storageProfile: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfile_STATUS - Storage profile for the container service cluster. + resource: + description: 'Resource: The standard JSON format of a resource throughput' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileBlobCSIDriver_STATUS - AzureBlob CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileDiskCSIDriver_STATUS - AzureDisk CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - version: - type: string - type: object - fileCSIDriver: + autoscaleSettings: description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileFileCSIDriver_STATUS - AzureFile CSI Driver settings for the storage profile. + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object type: object - enabled: - type: boolean + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput type: object - snapshotController: + throughput: description: |- - Storage version of v1api20240402preview.ManagedClusterStorageProfileSnapshotController_STATUS - Snapshot Controller settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - supportPlan: + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' type: string - systemData: - description: |- - Storage version of v1api20240402preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - createdBy: + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - createdByType: + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' type: string - lastModifiedAt: + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' type: string - lastModifiedBy: + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' type: string - lastModifiedByType: + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: type: string type: object type: + description: 'Type: The type of Azure resource.' type: string - upgradeSettings: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ClusterUpgradeSettings_STATUS - Settings for upgrading a cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -165375,28 +241981,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - overrideSettings: - description: |- - Storage version of v1api20240402preview.UpgradeOverrideSettings_STATUS - Settings for overrides when upgrading a cluster. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabaseCollection resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - windowsProfile: + resource: description: |- - Storage version of v1api20240402preview.ManagedClusterWindowsProfile_STATUS - Profile for Windows VMs in the managed cluster. + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -165405,14 +242067,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: - type: string - enableCSIProxy: - type: boolean - gmsaProfile: + autoscaleSettings: description: |- - Storage version of v1api20240402preview.WindowsGmsaProfile_STATUS - Windows gMSA Profile in the managed cluster. + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -165421,20 +242079,110 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer type: object - licenseType: - type: string + throughput: + type: integer type: object - workloadAutoScalerProfile: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabaseCollectionThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfile_STATUS - Workload Auto-scaler profile for the managed cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -165443,10 +242191,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keda: + _etag: + type: string + _rid: + type: string + _ts: + type: number + autoscaleSettings: description: |- - Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS - KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -165455,31 +242209,99 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: Storage version of v1api20240402preview.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + autoUpgradePolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object - addonAutoscaling: - type: string - enabled: - type: boolean + maxThroughput: + type: integer + targetMaxThroughput: + type: integer type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string type: object + type: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongodbdatabases.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabase + listKind: MongodbDatabaseList + plural: mongodbdatabases + singular: mongodbdatabase + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -165493,13 +242315,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240901 + name: v1api20210515 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} properties: apiVersion: description: |- @@ -165520,1494 +242342,1914 @@ spec: type: object spec: properties: - aadProfile: - description: 'AadProfile: The Azure Active Directory configuration.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - adminGroupObjectIDs: - description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string - type: array - clientAppID: - description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - enableAzureRBAC: - description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' - type: boolean - managed: - description: 'Managed: Whether to enable managed AAD.' - type: boolean - serverAppID: - description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - serverAppSecret: - description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - tenantID: - description: |- - TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - subscription. - type: string - type: object - addonProfiles: - additionalProperties: - description: A Kubernetes add-on profile for a managed cluster. - properties: - config: - additionalProperties: - type: string - description: 'Config: Key-value pairs for configuring an add-on.' - type: object - enabled: - description: 'Enabled: Whether the add-on is enabled or not.' - type: boolean - required: - - enabled - type: object - description: 'AddonProfiles: The profile of managed cluster add-on.' - type: object - agentPoolProfiles: - description: 'AgentPoolProfiles: The agent pool properties.' - items: - description: Profile for the container service agent pool. - properties: - availabilityZones: description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - name: - description: Name is the Kubernetes name of the resource. + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - minimum: 2 - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: + key: description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - cpuManagerPolicy: + name: description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: + value: description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletDiskType: + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB database' + properties: + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: + key: description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - transparentHugePageEnabled: + name: description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User - type: string - name: - description: 'Name: Windows agent pool names must be 6 characters or less.' - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - maximum: 65535 - minimum: 1 - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: + value: description: |- - ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - created. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - nodePublicIPPrefixReference: + type: array + secretExpressions: + items: description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.MongoDBDatabaseResource + Cosmos DB MongoDB database resource object + properties: + $propertyBag: + additionalProperties: type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - osDiskType: + reason: description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - osSKU: + severity: description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - enum: - - AzureLinux - - CBLMariner - - Ubuntu - - Windows2019 - - Windows2022 + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows + status: + description: Status of the condition, one of True, False, or Unknown. type: string - podSubnetReference: + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20210515.MongoDBDatabaseGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' - enum: - - Running - - Stopped + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete + type: array + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB database' + properties: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: - description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - type: object - spotMaxPrice: + severity: description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets + description: Type of condition. type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - drainTimeoutInMinutes: + key: description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - maximum: 1440 - minimum: 1 - type: integer - maxSurge: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - nodeSoakDurationInMinutes: + value: description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - maximum: 30 - minimum: 0 - type: integer + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: + type: array + secretExpressions: + items: description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: + value: description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - OCIContainer - - WasmWasi - type: string - required: - - name - type: object - type: array - apiServerAccessProfile: - description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + type: array + type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" properties: - authorizedIPRanges: - description: |- - AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - items: + $propertyBag: + additionalProperties: type: string - type: array - disableRunCommand: - description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' - type: boolean - enablePrivateCluster: - description: |- - EnablePrivateCluster: For more details, see [Creating a private AKS - cluster](https://docs.microsoft.com/azure/aks/private-clusters). - type: boolean - enablePrivateClusterPublicFQDN: - description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' - type: boolean - privateDNSZone: description: |- - PrivateDNSZone: The default is System. For more details see [configure private DNS - zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - 'none'. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer type: object - autoScalerProfile: - description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource properties: - balance-similar-node-groups: - description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' - type: string - daemonset-eviction-for-empty-nodes: - description: |- - DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - daemonset-eviction-for-occupied-nodes: - description: |- - DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - will be deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - expander: - description: |- - Expander: If not specified, the default is 'random'. See - [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - information. - enum: - - least-waste - - most-pods - - priority - - random - type: string - ignore-daemonsets-utilization: - description: |- - IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - scaling down decisions. - type: boolean - max-empty-bulk-delete: - description: 'MaxEmptyBulkDelete: The default is 10.' - type: string - max-graceful-termination-sec: - description: 'MaxGracefulTerminationSec: The default is 600.' - type: string - max-node-provision-time: - description: |- - MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - max-total-unready-percentage: - description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' - type: string - new-pod-scale-up-delay: - description: |- - NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - type: string - ok-total-unready-count: - description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' - type: string - scale-down-delay-after-add: - description: |- - ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-delay-after-delete: - description: |- - ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - time other than minutes (m) is supported. - type: string - scale-down-delay-after-failure: - description: |- - ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - than minutes (m) is supported. - type: string - scale-down-unneeded-time: - description: |- - ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-unready-time: - description: |- - ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-utilization-threshold: - description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' - type: string - scan-interval: - description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' - type: string - skip-nodes-with-local-storage: - description: 'SkipNodesWithLocalStorage: The default is true.' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - skip-nodes-with-system-pods: - description: 'SkipNodesWithSystemPods: The default is true.' + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - autoUpgradeProfile: - description: 'AutoUpgradeProfile: The auto upgrade configuration.' + resource: + description: |- + Storage version of v1api20231115.MongoDBDatabaseResource + Cosmos DB MongoDB database resource object properties: - nodeOSUpgradeChannel: - description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' - enum: - - NodeImage - - None - - SecurityPatch - - Unmanaged - type: string - upgradeChannel: + $propertyBag: + additionalProperties: + type: string description: |- - UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). - enum: - - node-image - - none - - patch - - rapid - - stable + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: type: string - type: object - azureMonitorProfile: - description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' - properties: - metrics: + id: + type: string + restoreParameters: description: |- - Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. properties: - enabled: - description: |- - Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - type: boolean - kubeStateMetrics: + $propertyBag: + additionalProperties: + type: string description: |- - KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. - properties: - metricAnnotationsAllowList: - description: |- - MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - contains only resource name and namespace labels. - type: string - metricLabelsAllowlist: - description: |- - MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - resource name and namespace labels. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - required: - - enabled + restoreSource: + type: string + restoreTimestampInUtc: + type: string type: object type: object - azureName: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 63 - minLength: 1 - pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: type: string - disableLocalAccounts: - description: |- - DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - used on Managed Clusters that are AAD enabled. For more details see [disable local - accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - type: boolean - diskEncryptionSetReference: + location: + type: string + name: + type: string + options: description: |- - DiskEncryptionSetReference: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.MongoDBDatabaseGetProperties_Resource_STATUS properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: type: string - group: - description: Group is the Kubernetes group of the resource. + _rid: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + _ts: + type: number + createMode: type: string - name: - description: Name is the Kubernetes name of the resource. + id: type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object type: object - dnsPrefix: - description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + tags: + additionalProperties: + type: string + type: object + type: type: string - enablePodSecurityPolicy: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - https://aka.ms/aks/psp. - type: boolean - enableRBAC: - description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the Virtual Machine.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - fqdnSubdomain: - description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - httpProxyConfig: - description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - httpProxy: - description: 'HttpProxy: The HTTP proxy server endpoint to use.' - type: string - httpsProxy: - description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' - type: string - noProxy: - description: 'NoProxy: The endpoints that should not go through proxy.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string - type: array - trustedCa: - description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' - type: string - type: object - identity: - description: 'Identity: The identity of the managed cluster, if configured.' - properties: - delegatedResources: - additionalProperties: - description: Delegated resource properties - internal use only. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - location: - description: 'Location: The source resource location - internal use only.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - referralResource: - description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - resourceReference: - description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: - description: 'TenantId: The tenant id of the delegated resource - internal use only.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - type: object - description: |- - DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - type: object - type: - description: |- - Type: For more information see [use managed identities in - AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - enum: - - None - - SystemAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The keys must be ARM resource IDs in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + required: + - name + - value type: object type: array - type: object - identityProfile: - additionalProperties: - description: Details about a user assigned identity. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - type: object - description: |- - IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only - one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + type: array type: object - ingressProfile: - description: 'IngressProfile: Ingress profile for the managed cluster.' + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. properties: - webAppRouting: + autoscaleSettings: description: |- - WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this - feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. properties: - dnsZoneResourceReferences: - description: |- - DnsZoneResourceReferences: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only - when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all - public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - enabled: - description: 'Enabled: Whether to enable the Application Routing add-on.' - type: boolean + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer type: object - kubernetesVersion: + owner: description: |- - KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - type: string - linuxProfile: - description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource properties: - adminUsername: - description: 'AdminUsername: The administrator username to use for Linux VMs.' - pattern: ^[A-Za-z][-A-Za-z0-9_]*$ + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - ssh: - description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a MongoDB database' + properties: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' properties: - publicKeys: - description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' - items: - description: Contains information about SSH certificate public key data. - properties: - keyData: - description: |- - KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - without headers. - type: string - required: - - keyData - type: object - type: array - required: - - publicKeys + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean type: object required: - - adminUsername - - ssh + - id + type: object + tags: + additionalProperties: + type: string type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: The location of the resource group to which the resource belongs.' type: string - metricsProfile: - description: 'MetricsProfile: Optional cluster metrics configuration.' + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' properties: - costAnalysis: - description: 'CostAnalysis: The cost analysis configuration for the cluster' + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' properties: - enabled: - description: |- - Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will - add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - default is false. For more information see aka.ms/aks/docs/cost-analysis. - type: boolean + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer type: object - networkProfile: - description: 'NetworkProfile: The network configuration profile.' + resource: properties: - advancedNetworking: - description: |- - AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For - more information see aka.ms/aksadvancednetworking. + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + id: + description: 'Id: Name of the Cosmos DB MongoDB database' + type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' properties: - enabled: + restoreSource: description: |- - Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. - When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If - not specified, the default is false. + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. type: boolean - observability: - description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' - properties: - enabled: - description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' - type: boolean - type: object - security: - description: 'Security: Security profile to enable security features on cilium based cluster.' - properties: - enabled: - description: |- - Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on - cilium based clusters. If not specified, the default is false. - type: boolean - type: object type: object - dnsServiceIP: - description: |- - DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - range specified in serviceCidr. - pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ - type: string - ipFamilies: + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabase + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string description: |- - IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - is IPv4. For dual-stack, the expected values are IPv4 and IPv6. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: - enum: - - IPv4 - - IPv6 - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - loadBalancerProfile: - description: 'LoadBalancerProfile: Profile of the cluster load balancer.' - properties: - allocatedOutboundPorts: - description: |- - AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - maximum: 64000 - minimum: 0 - type: integer - backendPoolType: - description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' - enum: - - NodeIP - - NodeIPConfiguration - type: string - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - enableMultipleStandardLoadBalancers: - description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' - type: boolean - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 30 minutes. - maximum: 120 - minimum: 4 - type: integer - managedOutboundIPs: - description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' - properties: - count: - description: |- - Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - must be in the range of 1 to 100 (inclusive). The default value is 1. - maximum: 100 - minimum: 1 - type: integer - countIPv6: - description: |- - CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - maximum: 100 - minimum: 0 - type: integer - type: object - outboundIPPrefixes: - description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' - properties: - publicIPPrefixes: - description: 'PublicIPPrefixes: A list of public IP prefix resources.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' - properties: - publicIPs: - description: 'PublicIPs: A list of public IP resources.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - type: object - loadBalancerSku: + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string description: |- - LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - balancer SKUs. - enum: - - basic - - standard - type: string - natGatewayProfile: - description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings properties: - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' - items: - description: A reference to an Azure resource. - properties: - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: + $propertyBag: + additionalProperties: + type: string description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 4 minutes. - maximum: 120 - minimum: 4 - type: integer - managedOutboundIPProfile: - description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' - properties: - count: - description: |- - Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - (inclusive). The default value is 1. - maximum: 16 - minimum: 1 - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + maxThroughput: + type: integer type: object - networkDataplane: - description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' - enum: - - azure - - cilium - type: string - networkMode: - description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' - enum: - - bridge - - transparent - type: string - networkPlugin: - description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' - enum: - - azure - - kubenet - - none - type: string - networkPluginMode: - description: 'NetworkPluginMode: The mode the network plugin should use.' - enum: - - overlay + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - networkPolicy: - description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' - enum: - - azure - - calico - - cilium - - none + name: + description: This is the name of the Kubernetes resource to reference. type: string - outboundType: + type: object + resource: + description: |- + Storage version of v1api20240815.MongoDBDatabaseResource + Cosmos DB MongoDB database resource object + properties: + $propertyBag: + additionalProperties: + type: string description: |- - OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). - enum: - - loadBalancer - - managedNATGateway - - userAssignedNATGateway - - userDefinedRouting + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: type: string - podCidr: - description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ + id: type: string - podCidrs: + restoreParameters: description: |- - PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. - items: + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - type: array - serviceCidr: - description: |- - ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - ranges. - pattern: ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ - type: string - serviceCidrs: - description: |- - ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - items: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - type: array - type: object - nodeResourceGroup: - description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: type: string - nodeResourceGroupProfile: - description: 'NodeResourceGroupProfile: Profile of the node resource group configuration.' + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object properties: - restrictionLevel: + $propertyBag: + additionalProperties: + type: string description: |- - RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is - 'Unrestricted' - enum: - - ReadOnly - - Unrestricted - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer type: object - oidcIssuerProfile: - description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' + resource: + description: Storage version of v1api20240815.MongoDBDatabaseGetProperties_Resource_STATUS properties: - enabled: - description: 'Enabled: Whether the OIDC issuer is enabled.' - type: boolean + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number + createMode: + type: string + id: + type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + type: object + tags: + additionalProperties: + type: string type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongodbdatabasethroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbDatabaseThroughputSetting + listKind: MongodbDatabaseThroughputSettingList + plural: mongodbdatabasethroughputsettings + singular: mongodbdatabasethroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -167043,27 +244285,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - oidcIssuerProfile: - description: |- - OIDCIssuerProfile: indicates where the OIDCIssuerProfile config map should be placed. If omitted, no config map will be - created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -167094,50 +244315,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - adminCredentials: - description: |- - AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - UserCredentials: indicates where the UserCredentials secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/MongodbDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -167146,1235 +244329,1318 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIdentityProfile: + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.MongodbDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.MongodbDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - details on AAD pod identity integration. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20210515.MongodbDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - allowNetworkPluginKubenet: + $propertyBag: + additionalProperties: + type: string description: |- - AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - for more information. - type: boolean - enabled: - description: 'Enabled: Whether the pod identity addon is enabled.' - type: boolean - userAssignedIdentities: - description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: - description: Details about the pod identity assigned to the Managed Cluster. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - bindingSelector: - description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - identity: - description: 'Identity: The user assigned identity details.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object name: - description: 'Name: The name of the pod identity.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - namespace: - description: 'Namespace: The namespace of the pod identity.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string required: - - identity - name - - namespace + - value type: object type: array - userAssignedIdentityExceptions: - description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + secretExpressions: items: description: |- - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the pod identity exception.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - namespace: - description: 'Namespace: The namespace of the pod identity exception.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - podLabels: - additionalProperties: - type: string - description: 'PodLabels: The pod labels to match.' - type: object required: - name - - namespace - - podLabels + - value type: object type: array type: object - privateLinkResources: - description: 'PrivateLinkResources: Private link resources associated with the cluster.' - items: - description: A private link resource - properties: - groupId: - description: 'GroupId: The group ID of the resource.' - type: string - name: - description: 'Name: The name of the private link resource.' - type: string - reference: - description: 'Reference: The ID of the private link resource.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - description: 'RequiredMembers: The RequiredMembers of the resource' - items: - type: string - type: array - type: - description: 'Type: The resource type.' - type: string - type: object - type: array - publicNetworkAccess: - description: 'PublicNetworkAccess: Allow or deny public network access for AKS' - enum: - - Disabled - - Enabled + originalVersion: type: string - securityProfile: - description: 'SecurityProfile: Security profile for the managed cluster.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource properties: - azureKeyVaultKms: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - AzureKeyVaultKms: Azure Key Vault [key management - service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' - type: boolean - keyId: - description: |- - KeyId: Identifier of Azure Key Vault key. See [key identifier - format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - identifier. When Azure Key Vault key management service is disabled, leave the field empty. - type: string - keyVaultNetworkAccess: - description: |- - KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - key vault allows public access from all networks. `Private` means the key vault disables public access and enables - private link. The default value is `Public`. - enum: - - Private - - Public - type: string - keyVaultResourceReference: - description: |- - KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - defender: - description: 'Defender: Microsoft Defender settings for the security profile.' + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: - logAnalyticsWorkspaceResourceReference: + $propertyBag: + additionalProperties: + type: string description: |- - LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - Microsoft Defender is disabled, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Defender threat detection' - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - imageCleaner: - description: 'ImageCleaner: Image Cleaner settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' - type: boolean - intervalHours: - description: 'IntervalHours: Image Cleaner scanning interval in hours.' - type: integer - type: object - workloadIdentity: - description: |- - WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - properties: - enabled: - description: 'Enabled: Whether to enable workload identity.' - type: boolean - type: object - type: object - serviceMeshProfile: - description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' - properties: - istio: - description: 'Istio: Istio service mesh configuration.' - properties: - certificateAuthority: + autoUpgradePolicy: description: |- - CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - certificates as described here https://aka.ms/asm-plugin-ca + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy properties: - plugin: - description: 'Plugin: Plugin certificates information for Service Mesh.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy properties: - certChainObjectName: - description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' - type: string - certObjectName: - description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' - type: string - keyObjectName: - description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' - type: string - keyVaultReference: - description: 'KeyVaultReference: The resource ID of the Key Vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - rootCertObjectName: - description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' - type: string + incrementPercent: + type: integer + isEnabled: + type: boolean type: object type: object - components: - description: 'Components: Istio components configuration.' - properties: - egressGateways: - description: 'EgressGateways: Istio egress gateways.' - items: - description: Istio egress gateway configuration. - properties: - enabled: - description: 'Enabled: Whether to enable the egress gateway.' - type: boolean - required: - - enabled - type: object - type: array - ingressGateways: - description: 'IngressGateways: Istio ingress gateways.' - items: - description: |- - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - enabled: - description: 'Enabled: Whether to enable the ingress gateway.' - type: boolean - mode: - description: 'Mode: Mode of an ingress gateway.' - enum: - - External - - Internal - type: string - required: - - enabled - - mode - type: object - type: array - type: object - revisions: - description: |- - Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - items: - type: string - maxItems: 2 - type: array - type: object - mode: - description: 'Mode: Mode of the service mesh.' - enum: - - Disabled - - Istio - type: string - required: - - mode - type: object - servicePrincipalProfile: - description: |- - ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - APIs. - properties: - clientId: - description: 'ClientId: The ID for the service principal.' - type: string - secret: - description: 'Secret: The secret password associated with the service principal in plain text.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + maxThroughput: + type: integer type: object - required: - - clientId + throughput: + type: integer type: object - sku: - description: 'Sku: The managed cluster SKU.' - properties: - name: - description: 'Name: The name of a managed cluster SKU.' - enum: - - Base - type: string - tier: - description: |- - Tier: If not specified, the default is 'Free'. See [AKS Pricing - Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. - enum: - - Free - - Premium - - Standard - type: string + tags: + additionalProperties: + type: string type: object - storageProfile: - description: 'StorageProfile: Storage profile for the managed cluster.' - properties: - blobCSIDriver: - description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' - type: boolean - type: object - diskCSIDriver: - description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' - type: boolean - type: object - fileCSIDriver: - description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' - type: boolean - type: object - snapshotController: - description: 'SnapshotController: Snapshot Controller settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' - type: boolean - type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.MongodbDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - supportPlan: - description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' - enum: - - AKSLongTermSupport - - KubernetesOfficial + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading a cluster.' - properties: - overrideSettings: - description: 'OverrideSettings: Settings for overrides.' - properties: - forceUpgrade: - description: |- - ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - protections such as checking for deprecated API usage. Enable this option only with caution. - type: boolean - until: - description: |- - Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - by default. It must be set for the overrides to take effect. - type: string - type: object - type: object - windowsProfile: - description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' + name: + type: string + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS properties: - adminPassword: + $propertyBag: + additionalProperties: + type: string description: |- - AdminPassword: Specifies the password of the administrator account. - Minimum-length: 8 characters - Max-length: 123 characters - Complexity requirements: 3 out of 4 conditions below need to be fulfilled - Has lower characters - Has upper characters - Has a digit - Has a special character (Regex match [\W_]) - Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", - "Password22", "iloveyou!" - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - adminUsername: - description: |- - AdminUsername: Specifies the name of the administrator account. - Restriction: Cannot end in "." - Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - Minimum-length: 1 character - Max-length: 20 characters + _etag: type: string - enableCSIProxy: + _rid: + type: string + _ts: + type: number + autoscaleSettings: description: |- - EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - repo](https://github.com/kubernetes-csi/csi-proxy). - type: boolean - gmsaProfile: - description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: - dnsServer: + $propertyBag: + additionalProperties: + type: string description: |- - DnsServer: Specifies the DNS server for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string - enabled: - description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' - type: boolean - rootDomainName: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: description: |- - RootDomainName: Specifies the root domain name for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. - type: string + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer type: object - licenseType: - description: |- - LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - enum: - - None - - Windows_Server + minimumThroughput: type: string - required: - - adminUsername + offerReplacePending: + type: string + throughput: + type: integer type: object - workloadAutoScalerProfile: - description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' - properties: - keda: - description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable KEDA.' - type: boolean - required: - - enabled - type: object - verticalPodAutoscaler: - description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable VPA. Default value is false.' - type: boolean - required: - - enabled - type: object + tags: + additionalProperties: + type: string type: object - required: - - location - - owner + type: + type: string type: object - status: - description: Managed cluster. + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: properties: - aadProfile: - description: 'AadProfile: The Azure Active Directory configuration.' + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - adminGroupObjectIDs: - description: 'AdminGroupObjectIDs: The list of AAD group object IDs that will have admin role of the cluster.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string - type: array - clientAppID: - description: 'ClientAppID: (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - enableAzureRBAC: - description: 'EnableAzureRBAC: Whether to enable Azure RBAC for Kubernetes authorization.' - type: boolean - managed: - description: 'Managed: Whether to enable managed AAD.' - type: boolean - serverAppID: - description: 'ServerAppID: (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - serverAppSecret: - description: 'ServerAppSecret: (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy.' - type: string - tenantID: - description: |- - TenantID: The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment - subscription. - type: string - type: object - addonProfiles: - additionalProperties: - description: A Kubernetes add-on profile for a managed cluster. - properties: - config: - additionalProperties: - type: string - description: 'Config: Key-value pairs for configuring an add-on.' + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - enabled: - description: 'Enabled: Whether the add-on is enabled or not.' - type: boolean - identity: - description: 'Identity: Information of user assigned identity used by this add-on.' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - type: object - description: 'AddonProfiles: The profile of managed cluster add-on.' + type: array type: object - agentPoolProfiles: - description: 'AgentPoolProfiles: The agent pool properties.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: Profile for the container service agent pool. + description: Condition defines an extension to status (an observation) of a resource properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - count: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' - type: string - type: object - currentOrchestratorVersion: + reason: description: |- - CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - exactly equal to it. If orchestratorVersion is , this field will contain the full - version being used. + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - eTag: + severity: description: |- - ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is - updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic - concurrency per the normal etag convention. + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + status: + description: Status of the condition, one of True, False, or Unknown. type: string - hostGroupID: - description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + type: + description: Type of condition. type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.MongodbDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.MongodbDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.MongodbDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: + key: description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - cpuManagerPolicy: + name: description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: + value: description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletDiskType: + type: array + secretExpressions: + items: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: + key: description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - transparentHugePageEnabled: + name: description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - type: string - name: - description: 'Name: Windows agent pool names must be 6 characters or less.' + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + properties: + $propertyBag: + additionalProperties: type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - type: integer - portStart: + $propertyBag: + additionalProperties: + type: string description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - type: string - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' - items: - type: string - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string + isEnabled: + type: boolean type: object - type: array - type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' - type: string - type: object - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.MongodbDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - scaleSetEvictionPolicy: + observedGeneration: description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: - description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - type: object - spotMaxPrice: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - type: integer - type: object - vmSize: + severity: description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + status: + description: Status of the condition, one of True, False, or Unknown. type: string - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean - type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - apiServerAccessProfile: - description: 'ApiServerAccessProfile: The access profile for managed cluster API server.' + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS properties: - authorizedIPRanges: - description: |- - AuthorizedIPRanges: IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with - clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API - server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges). - items: + $propertyBag: + additionalProperties: type: string - type: array - disableRunCommand: - description: 'DisableRunCommand: Whether to disable run command for the cluster or not.' - type: boolean - enablePrivateCluster: - description: |- - EnablePrivateCluster: For more details, see [Creating a private AKS - cluster](https://docs.microsoft.com/azure/aks/private-clusters). - type: boolean - enablePrivateClusterPublicFQDN: - description: 'EnablePrivateClusterPublicFQDN: Whether to create additional public FQDN for private cluster or not.' - type: boolean - privateDNSZone: - description: |- - PrivateDNSZone: The default is System. For more details see [configure private DNS - zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and - 'none'. - type: string - type: object - autoScalerProfile: - description: 'AutoScalerProfile: Parameters to be applied to the cluster-autoscaler when enabled' - properties: - balance-similar-node-groups: - description: 'BalanceSimilarNodeGroups: Valid values are ''true'' and ''false''' - type: string - daemonset-eviction-for-empty-nodes: - description: |- - DaemonsetEvictionForEmptyNodes: If set to true, all daemonset pods on empty nodes will be evicted before deletion of the - node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node will be - deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - daemonset-eviction-for-occupied-nodes: - description: |- - DaemonsetEvictionForOccupiedNodes: If set to true, all daemonset pods on occupied nodes will be evicted before deletion - of the node. If the daemonset pod cannot be evicted another node will be chosen for scaling. If set to false, the node - will be deleted without ensuring that daemonset pods are deleted or evicted. - type: boolean - expander: - description: |- - Expander: If not specified, the default is 'random'. See - [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more - information. - type: string - ignore-daemonsets-utilization: - description: |- - IgnoreDaemonsetsUtilization: If set to true, the resources used by daemonset will be taken into account when making - scaling down decisions. - type: boolean - max-empty-bulk-delete: - description: 'MaxEmptyBulkDelete: The default is 10.' - type: string - max-graceful-termination-sec: - description: 'MaxGracefulTerminationSec: The default is 600.' - type: string - max-node-provision-time: - description: |- - MaxNodeProvisionTime: The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - max-total-unready-percentage: - description: 'MaxTotalUnreadyPercentage: The default is 45. The maximum is 100 and the minimum is 0.' - type: string - new-pod-scale-up-delay: - description: |- - NewPodScaleUpDelay: For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler - could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is - '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). - type: string - ok-total-unready-count: - description: 'OkTotalUnreadyCount: This must be an integer. The default is 3.' - type: string - scale-down-delay-after-add: - description: |- - ScaleDownDelayAfterAdd: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-delay-after-delete: - description: |- - ScaleDownDelayAfterDelete: The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of - time other than minutes (m) is supported. - type: string - scale-down-delay-after-failure: description: |- - ScaleDownDelayAfterFailure: The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other - than minutes (m) is supported. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: type: string - scale-down-unneeded-time: - description: |- - ScaleDownUnneededTime: The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. + _rid: type: string - scale-down-unready-time: + _ts: + type: number + autoscaleSettings: description: |- - ScaleDownUnreadyTime: The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than - minutes (m) is supported. - type: string - scale-down-utilization-threshold: - description: 'ScaleDownUtilizationThreshold: The default is ''0.5''.' + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer + type: object + instantMaximumThroughput: type: string - scan-interval: - description: 'ScanInterval: The default is ''10''. Values must be an integer number of seconds.' + minimumThroughput: type: string - skip-nodes-with-local-storage: - description: 'SkipNodesWithLocalStorage: The default is true.' + offerReplacePending: type: string - skip-nodes-with-system-pods: - description: 'SkipNodesWithSystemPods: The default is true.' + softAllowedMaximumThroughput: type: string + throughput: + type: integer type: object - autoUpgradeProfile: - description: 'AutoUpgradeProfile: The auto upgrade configuration.' + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - nodeOSUpgradeChannel: - description: 'NodeOSUpgradeChannel: Manner in which the OS on your nodes is updated. The default is NodeImage.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - upgradeChannel: - description: |- - UpgradeChannel: For more information see [setting the AKS cluster auto-upgrade - channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel). + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - azureMonitorProfile: - description: 'AzureMonitorProfile: Azure Monitor addon profiles for monitoring the managed cluster.' + resource: + description: 'Resource: The standard JSON format of a resource throughput' properties: - metrics: + autoscaleSettings: description: |- - Metrics: Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - enabled: - description: |- - Enabled: Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See - aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. - type: boolean - kubeStateMetrics: - description: |- - KubeStateMetrics: Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' properties: - metricAnnotationsAllowList: - description: |- - MetricAnnotationsAllowList: Comma-separated list of Kubernetes annotation keys that will be used in the resource's - labels metric (Example: 'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...'). By default the metric - contains only resource name and namespace labels. - type: string - metricLabelsAllowlist: - description: |- - MetricLabelsAllowlist: Comma-separated list of additional Kubernetes label keys that will be used in the resource's - labels metric (Example: 'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...'). By default the metric contains only - resource name and namespace labels. - type: string + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - azurePortalFQDN: - description: |- - AzurePortalFQDN: The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some - responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure - Portal to function properly. - type: string + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: conditions: description: 'Conditions: The observed state of the resource' items: @@ -168419,917 +245685,1112 @@ spec: - type type: object type: array - currentKubernetesVersion: - description: |- - CurrentKubernetesVersion: If kubernetesVersion was a fully specified version , this field will be - exactly equal to it. If kubernetesVersion was , this field will contain the full - version being used. - type: string - disableLocalAccounts: - description: |- - DisableLocalAccounts: If set to true, getting static credentials will be disabled for this cluster. This must only be - used on Managed Clusters that are AAD enabled. For more details see [disable local - accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview). - type: boolean - diskEncryptionSetID: - description: |- - DiskEncryptionSetID: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' + id: + description: 'Id: The unique resource identifier of the ARM resource.' type: string - dnsPrefix: - description: 'DnsPrefix: This cannot be updated once the Managed Cluster has been created.' + location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string - eTag: - description: |- - ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is - updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic - concurrency per the normal etag convention. + name: + description: 'Name: The name of the ARM resource.' type: string - enablePodSecurityPolicy: - description: |- - EnablePodSecurityPolicy: (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was - deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and - https://aka.ms/aks/psp. - type: boolean - enableRBAC: - description: 'EnableRBAC: Whether to enable Kubernetes Role-Based Access Control.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the Virtual Machine.' + resource: properties: - name: - description: 'Name: The name of the extended location.' + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - type: - description: 'Type: The type of the extended location.' + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - type: object - fqdn: - description: 'Fqdn: The FQDN of the master pool.' - type: string - fqdnSubdomain: - description: 'FqdnSubdomain: This cannot be updated once the Managed Cluster has been created.' - type: string - httpProxyConfig: - description: 'HttpProxyConfig: Configurations for provisioning the cluster with HTTP proxy servers.' - properties: - httpProxy: - description: 'HttpProxy: The HTTP proxy server endpoint to use.' + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' type: string - httpsProxy: - description: 'HttpsProxy: The HTTPS proxy server endpoint to use.' + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' type: string - noProxy: - description: 'NoProxy: The endpoints that should not go through proxy.' - items: - type: string - type: array - trustedCa: - description: 'TrustedCa: Alternative CA cert to use for connecting to proxy servers.' + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - id: + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbDatabaseThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbDatabaseThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Id: Fully qualified resource ID for the resource. E.g. - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + location: type: string - identity: - description: 'Identity: The identity of the managed cluster, if configured.' + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbDatabaseThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - delegatedResources: + $propertyBag: additionalProperties: - description: Delegated resource properties - internal use only. + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - location: - description: 'Location: The source resource location - internal use only.' - type: string - referralResource: - description: 'ReferralResource: The delegation id of the referral delegation (optional) - internal use only.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - resourceId: - description: 'ResourceId: The ARM resource id of the delegated resource - internal use only.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - tenantId: - description: 'TenantId: The tenant id of the delegated resource - internal use only.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - description: |- - DelegatedResources: The delegated identity resources assigned to this managed cluster. This can only be set by another - Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. - type: object - principalId: - description: 'PrincipalId: The principal id of the system assigned identity which is used by master components.' - type: string - tenantId: - description: 'TenantId: The tenant id of the system assigned identity which is used by master components.' - type: string - type: - description: |- - Type: For more information see [use managed identities in - AKS](https://docs.microsoft.com/azure/aks/use-managed-identity). - type: string - userAssignedIdentities: - additionalProperties: + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - description: |- - UserAssignedIdentities: The keys must be ARM resource IDs in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object + type: array type: object - identityProfile: - additionalProperties: - description: Details about a user assigned identity. - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object + originalVersion: + type: string + owner: description: |- - IdentityProfile: The user identity associated with the managed cluster. This identity will be used by the kubelet. Only - one user assigned identity is allowed. The only accepted key is "kubeletidentity", with value of "resourceId": - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/MongodbDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - ingressProfile: - description: 'IngressProfile: Ingress profile for the managed cluster.' + resource: + description: |- + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: - webAppRouting: + $propertyBag: + additionalProperties: + type: string description: |- - WebAppRouting: App Routing settings for the ingress profile. You can find an overview and onboarding guide for this - feature at https://learn.microsoft.com/en-us/azure/aks/app-routing?tabs=default%2Cdeploy-app-default. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: |- + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: - dnsZoneResourceIds: - description: |- - DnsZoneResourceIds: Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when - Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public - DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. - items: + $propertyBag: + additionalProperties: type: string - type: array - enabled: - description: 'Enabled: Whether to enable the Application Routing add-on.' - type: boolean - identity: description: |- - Identity: Managed identity of the Application Routing add-on. This is the identity that should be granted permissions, - for example, to manage the associated Azure DNS resource and get certificates from Azure Key Vault. See [this overview - of the add-on](https://learn.microsoft.com/en-us/azure/aks/web-app-routing?tabs=with-osm) for more instructions. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object + maxThroughput: + type: integer type: object + throughput: + type: integer type: object - kubernetesVersion: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbDatabaseThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - KubernetesVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All - upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or - 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS - cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details. - type: string - linuxProfile: - description: 'LinuxProfile: The profile for Linux VMs in the Managed Cluster.' - properties: - adminUsername: - description: 'AdminUsername: The administrator username to use for Linux VMs.' - type: string - ssh: - description: 'Ssh: The SSH configuration for Linux-based VMs running on Azure.' - properties: - publicKeys: - description: 'PublicKeys: The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified.' - items: - description: Contains information about SSH certificate public key data. - properties: - keyData: - description: |- - KeyData: Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or - without headers. - type: string - type: object - type: array - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string location: - description: 'Location: The geo-location where the resource lives' type: string - maxAgentPools: - description: 'MaxAgentPools: The max number of agent pools for the managed cluster.' - type: integer - metricsProfile: - description: 'MetricsProfile: Optional cluster metrics configuration.' - properties: - costAnalysis: - description: 'CostAnalysis: The cost analysis configuration for the cluster' - properties: - enabled: - description: |- - Enabled: The Managed Cluster sku.tier must be set to 'Standard' or 'Premium' to enable this feature. Enabling this will - add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal. If not specified, the - default is false. For more information see aka.ms/aks/docs/cost-analysis. - type: boolean - type: object - type: object name: - description: 'Name: The name of the resource' type: string - networkProfile: - description: 'NetworkProfile: The network configuration profile.' + resource: + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS properties: - advancedNetworking: + $propertyBag: + additionalProperties: + type: string description: |- - AdvancedNetworking: Advanced Networking profile for enabling observability and security feature suite on a cluster. For - more information see aka.ms/aksadvancednetworking. - properties: - enabled: - description: |- - Enabled: Indicates the enablement of Advanced Networking functionalities of observability and security on AKS clusters. - When this is set to true, all observability and security features will be set to enabled unless explicitly disabled. If - not specified, the default is false. - type: boolean - observability: - description: 'Observability: Observability profile to enable advanced network metrics and flow logs with historical contexts.' - properties: - enabled: - description: 'Enabled: Indicates the enablement of Advanced Networking observability functionalities on clusters.' - type: boolean - type: object - security: - description: 'Security: Security profile to enable security features on cilium based cluster.' - properties: - enabled: - description: |- - Enabled: This feature allows user to configure network policy based on DNS (FQDN) names. It can be enabled only on - cilium based clusters. If not specified, the default is false. - type: boolean - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - dnsServiceIP: - description: |- - DnsServiceIP: An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address - range specified in serviceCidr. + _etag: type: string - ipFamilies: + _rid: + type: string + _ts: + type: number + autoscaleSettings: description: |- - IpFamilies: IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value - is IPv4. For dual-stack, the expected values are IPv4 and IPv6. - items: - type: string - type: array - loadBalancerProfile: - description: 'LoadBalancerProfile: Profile of the cluster load balancer.' + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: - allocatedOutboundPorts: + $propertyBag: + additionalProperties: + type: string description: |- - AllocatedOutboundPorts: The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 - (inclusive). The default value is 0 which results in Azure dynamically allocating ports. - type: integer - backendPoolType: - description: 'BackendPoolType: The type of the managed inbound Load Balancer BackendPool.' - type: string - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster load balancer.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - description: 'EnableMultipleStandardLoadBalancers: Enable multiple standard load balancers per AKS cluster or not.' - type: boolean - idleTimeoutInMinutes: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 30 minutes. - type: integer - managedOutboundIPs: - description: 'ManagedOutboundIPs: Desired managed outbound IPs for the cluster load balancer.' + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy properties: - count: + $propertyBag: + additionalProperties: + type: string description: |- - Count: The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values - must be in the range of 1 to 100 (inclusive). The default value is 1. - type: integer - countIPv6: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: description: |- - CountIPv6: The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed - values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. - type: integer - type: object - outboundIPPrefixes: - description: 'OutboundIPPrefixes: Desired outbound IP Prefix resources for the cluster load balancer.' - properties: - publicIPPrefixes: - description: 'PublicIPPrefixes: A list of public IP prefix resources.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - type: object - outboundIPs: - description: 'OutboundIPs: Desired outbound IP resources for the cluster load balancer.' - properties: - publicIPs: - description: 'PublicIPs: A list of public IP resources.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object - type: object - loadBalancerSku: - description: |- - LoadBalancerSku: The default is 'standard'. See [Azure Load Balancer - SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load - balancer SKUs. - type: string - natGatewayProfile: - description: 'NatGatewayProfile: Profile of the cluster NAT gateway.' - properties: - effectiveOutboundIPs: - description: 'EffectiveOutboundIPs: The effective outbound IP resources of the cluster NAT gateway.' - items: - description: A reference to an Azure resource. - properties: - id: - description: 'Id: The fully qualified Azure resource id.' - type: string - type: object - type: array - idleTimeoutInMinutes: - description: |- - IdleTimeoutInMinutes: Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 - (inclusive). The default value is 4 minutes. + maxThroughput: + type: integer + targetMaxThroughput: type: integer - managedOutboundIPProfile: - description: 'ManagedOutboundIPProfile: Profile of the managed outbound IP resources of the cluster NAT gateway.' - properties: - count: - description: |- - Count: The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 - (inclusive). The default value is 1. - type: integer - type: object type: object - networkDataplane: - description: 'NetworkDataplane: Network dataplane used in the Kubernetes cluster.' - type: string - networkMode: - description: 'NetworkMode: This cannot be specified if networkPlugin is anything other than ''azure''.' - type: string - networkPlugin: - description: 'NetworkPlugin: Network plugin used for building the Kubernetes network.' - type: string - networkPluginMode: - description: 'NetworkPluginMode: The mode the network plugin should use.' - type: string - networkPolicy: - description: 'NetworkPolicy: Network policy used for building the Kubernetes network.' - type: string - outboundType: - description: |- - OutboundType: This can only be set at cluster creation time and cannot be changed later. For more information see - [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype). + instantMaximumThroughput: type: string - podCidr: - description: 'PodCidr: A CIDR notation IP range from which to assign pod IPs when kubenet is used.' + minimumThroughput: type: string - podCidrs: - description: |- - PodCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. - items: - type: string - type: array - serviceCidr: - description: |- - ServiceCidr: A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP - ranges. + offerReplacePending: type: string - serviceCidrs: - description: |- - ServiceCidrs: One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is - expected for dual-stack networking. They must not overlap with any Subnet IP ranges. - items: - type: string - type: array - type: object - nodeResourceGroup: - description: 'NodeResourceGroup: The name of the resource group containing agent pool nodes.' - type: string - nodeResourceGroupProfile: - description: 'NodeResourceGroupProfile: Profile of the node resource group configuration.' - properties: - restrictionLevel: - description: |- - RestrictionLevel: The restriction level applied to the cluster's node resource group. If not specified, the default is - 'Unrestricted' + softAllowedMaximumThroughput: type: string + throughput: + type: integer type: object - oidcIssuerProfile: - description: 'OidcIssuerProfile: The OIDC issuer profile of the Managed Cluster.' - properties: - enabled: - description: 'Enabled: Whether the OIDC issuer is enabled.' - type: boolean - issuerURL: - description: 'IssuerURL: The OIDC issuer url of the Managed Cluster.' - type: string + tags: + additionalProperties: + type: string type: object - podIdentityProfile: + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongodbroledefinitions.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbRoleDefinition + listKind: MongodbRoleDefinitionList + plural: mongodbroledefinitions + singular: mongodbroledefinition + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - PodIdentityProfile: See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more - details on AAD pod identity integration. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this Role Definition.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - allowNetworkPluginKubenet: - description: |- - AllowNetworkPluginKubenet: Running in Kubenet is disabled by default due to the security related nature of AAD Pod - Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod - Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) - for more information. - type: boolean - enabled: - description: 'Enabled: Whether the pod identity addon is enabled.' - type: boolean - userAssignedIdentities: - description: 'UserAssignedIdentities: The pod identities to use in the cluster.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - description: Details about the pod identity assigned to the Managed Cluster. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - bindingSelector: - description: 'BindingSelector: The binding selector to use for the AzureIdentityBinding resource.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - identity: - description: 'Identity: The user assigned identity details.' - properties: - clientId: - description: 'ClientId: The client ID of the user assigned identity.' - type: string - objectId: - description: 'ObjectId: The object ID of the user assigned identity.' - type: string - resourceId: - description: 'ResourceId: The resource ID of the user assigned identity.' - type: string - type: object name: - description: 'Name: The name of the pod identity.' - type: string - namespace: - description: 'Namespace: The namespace of the pod identity.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - provisioningInfo: - properties: - error: - description: 'Error: Pod identity assignment error (if any).' - properties: - error: - description: 'Error: Details about the error.' - properties: - code: - description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' - type: string - details: - description: 'Details: A list of additional details about the error.' - items: - properties: - code: - description: 'Code: An identifier for the error. Codes are invariant and are intended to be consumed programmatically.' - type: string - message: - description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' - type: string - target: - description: 'Target: The target of the particular error. For example, the name of the property in error.' - type: string - type: object - type: array - message: - description: 'Message: A message describing the error, intended to be suitable for display in a user interface.' - type: string - target: - description: 'Target: The target of the particular error. For example, the name of the property in error.' - type: string - type: object - type: object - type: object - provisioningState: - description: 'ProvisioningState: The current provisioning state of the pod identity.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - userAssignedIdentityExceptions: - description: 'UserAssignedIdentityExceptions: The pod identity exceptions to allow.' + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the pod identity exception.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - namespace: - description: 'Namespace: The namespace of the pod identity exception.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - podLabels: - additionalProperties: - type: string - description: 'PodLabels: The pod labels to match.' - type: object + required: + - name + - value type: object type: array type: object - powerState: - description: 'PowerState: The Power State of the cluster.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - privateFQDN: - description: 'PrivateFQDN: The FQDN of private cluster.' + privileges: + description: |- + Privileges: A set of privileges contained by the Role Definition. This will allow application of this Role Definition on + the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as + privilege. + items: + description: The set of data plane operations permitted through this Role Definition. + properties: + actions: + description: 'Actions: An array of actions that are allowed.' + items: + type: string + type: array + resource: + description: 'Resource: An Azure Cosmos DB Mongo DB Resource.' + properties: + collection: + description: 'Collection: The collection name the role is applied.' + type: string + db: + description: 'Db: The database name the role is applied.' + type: string + type: object + type: object + type: array + roleName: + description: 'RoleName: A user-friendly name for the Role Definition. Must be unique for the database account.' type: string - privateLinkResources: - description: 'PrivateLinkResources: Private link resources associated with the cluster.' + roles: + description: 'Roles: The set of roles inherited by this Role Definition.' items: - description: A private link resource + description: The set of roles permitted through this Role Definition. properties: - groupId: - description: 'GroupId: The group ID of the resource.' + db: + description: 'Db: The database name the role is applied.' type: string - id: - description: 'Id: The ID of the private link resource.' + role: + description: 'Role: The role name.' type: string - name: - description: 'Name: The name of the private link resource.' + type: object + type: array + type: + description: 'Type: Indicates whether the Role Definition was built-in or user created.' + enum: + - BuiltInRole + - CustomRole + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - privateLinkServiceID: - description: 'PrivateLinkServiceID: The private link service ID of the resource, this field is exposed only to NRP internally.' + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - requiredMembers: - description: 'RequiredMembers: The RequiredMembers of the resource' + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this Role Definition.' + type: string + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + privileges: + description: |- + Privileges: A set of privileges contained by the Role Definition. This will allow application of this Role Definition on + the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as + privilege. + items: + description: The set of data plane operations permitted through this Role Definition. + properties: + actions: + description: 'Actions: An array of actions that are allowed.' items: type: string type: array - type: - description: 'Type: The resource type.' - type: string + resource: + description: 'Resource: An Azure Cosmos DB Mongo DB Resource.' + properties: + collection: + description: 'Collection: The collection name the role is applied.' + type: string + db: + description: 'Db: The database name the role is applied.' + type: string + type: object type: object type: array - provisioningState: - description: 'ProvisioningState: The current provisioning state.' + roleName: + description: 'RoleName: A user-friendly name for the Role Definition. Must be unique for the database account.' type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Allow or deny public network access for AKS' + roles: + description: 'Roles: The set of roles inherited by this Role Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' + type: string + role: + description: 'Role: The role name.' + type: string + type: object + type: array + type: + description: 'Type: The type of Azure resource.' type: string - resourceUID: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbRoleDefinition + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbRoleDefinition_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - ResourceUID: The resourceUID uniquely identifies ManagedClusters that reuse ARM ResourceIds (i.e: create, delete, create - sequence) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - securityProfile: - description: 'SecurityProfile: Security profile for the managed cluster.' + databaseName: + type: string + operatorSpec: + description: |- + Storage version of v1api20240815.MongodbRoleDefinitionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - azureKeyVaultKms: - description: |- - AzureKeyVaultKms: Azure Key Vault [key management - service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile. - properties: - enabled: - description: 'Enabled: Whether to enable Azure Key Vault key management service. The default is false.' - type: boolean - keyId: - description: |- - KeyId: Identifier of Azure Key Vault key. See [key identifier - format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) - for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key - identifier. When Azure Key Vault key management service is disabled, leave the field empty. - type: string - keyVaultNetworkAccess: - description: |- - KeyVaultNetworkAccess: Network access of key vault. The possible values are `Public` and `Private`. `Public` means the - key vault allows public access from all networks. `Private` means the key vault disables public access and enables - private link. The default value is `Public`. - type: string - keyVaultResourceId: - description: |- - KeyVaultResourceId: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and must - be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - type: string - type: object - defender: - description: 'Defender: Microsoft Defender settings for the security profile.' - properties: - logAnalyticsWorkspaceResourceId: - description: |- - LogAnalyticsWorkspaceResourceId: Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. - When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft - Defender is disabled, leave the field empty. - type: string - securityMonitoring: - description: 'SecurityMonitoring: Microsoft Defender threat detection for Cloud settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Defender threat detection' - type: boolean - type: object - type: object - imageCleaner: - description: 'ImageCleaner: Image Cleaner settings for the security profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Image Cleaner on AKS cluster.' - type: boolean - intervalHours: - description: 'IntervalHours: Image Cleaner scanning interval in hours.' - type: integer - type: object - workloadIdentity: + $propertyBag: + additionalProperties: + type: string description: |- - WorkloadIdentity: Workload identity settings for the security profile. Workload identity enables Kubernetes applications - to access Azure cloud resources securely with Azure AD. See https://aka.ms/aks/wi for more details. - properties: - enabled: - description: 'Enabled: Whether to enable workload identity.' - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - serviceMeshProfile: - description: 'ServiceMeshProfile: Service mesh profile for a managed cluster.' - properties: - istio: - description: 'Istio: Istio service mesh configuration.' - properties: - certificateAuthority: - description: |- - CertificateAuthority: Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin - certificates as described here https://aka.ms/asm-plugin-ca - properties: - plugin: - description: 'Plugin: Plugin certificates information for Service Mesh.' - properties: - certChainObjectName: - description: 'CertChainObjectName: Certificate chain object name in Azure Key Vault.' - type: string - certObjectName: - description: 'CertObjectName: Intermediate certificate object name in Azure Key Vault.' - type: string - keyObjectName: - description: 'KeyObjectName: Intermediate certificate private key object name in Azure Key Vault.' - type: string - keyVaultId: - description: 'KeyVaultId: The resource ID of the Key Vault.' - type: string - rootCertObjectName: - description: 'RootCertObjectName: Root certificate object name in Azure Key Vault.' - type: string - type: object - type: object - components: - description: 'Components: Istio components configuration.' - properties: - egressGateways: - description: 'EgressGateways: Istio egress gateways.' - items: - description: Istio egress gateway configuration. - properties: - enabled: - description: 'Enabled: Whether to enable the egress gateway.' - type: boolean - type: object - type: array - ingressGateways: - description: 'IngressGateways: Istio ingress gateways.' - items: - description: |- - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - enabled: - description: 'Enabled: Whether to enable the ingress gateway.' - type: boolean - mode: - description: 'Mode: Mode of an ingress gateway.' - type: string - type: object - type: array - type: object - revisions: - description: |- - Revisions: The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. - When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: - https://learn.microsoft.com/en-us/azure/aks/istio-upgrade - items: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - type: array - type: object - mode: - description: 'Mode: Mode of the service mesh.' - type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - servicePrincipalProfile: + originalVersion: + type: string + owner: description: |- - ServicePrincipalProfile: Information about a service principal identity for the cluster to use for manipulating Azure - APIs. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource properties: - clientId: - description: 'ClientId: The ID for the service principal.' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: object - sku: - description: 'Sku: The managed cluster SKU.' - properties: name: - description: 'Name: The name of a managed cluster SKU.' - type: string - tier: - description: |- - Tier: If not specified, the default is 'Free'. See [AKS Pricing - Tier](https://learn.microsoft.com/azure/aks/free-standard-pricing-tiers) for more details. + description: This is the name of the Kubernetes resource to reference. type: string type: object - storageProfile: - description: 'StorageProfile: Storage profile for the managed cluster.' - properties: - blobCSIDriver: - description: 'BlobCSIDriver: AzureBlob CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureBlob CSI Driver. The default value is false.' - type: boolean - type: object - diskCSIDriver: - description: 'DiskCSIDriver: AzureDisk CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureDisk CSI Driver. The default value is true.' - type: boolean - type: object - fileCSIDriver: - description: 'FileCSIDriver: AzureFile CSI Driver settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable AzureFile CSI Driver. The default value is true.' - type: boolean - type: object - snapshotController: - description: 'SnapshotController: Snapshot Controller settings for the storage profile.' - properties: - enabled: - description: 'Enabled: Whether to enable Snapshot Controller. The default value is true.' - type: boolean - type: object - type: object - supportPlan: - description: 'SupportPlan: The support plan for the Managed Cluster. If unspecified, the default is ''KubernetesOfficial''.' + privileges: + items: + description: |- + Storage version of v1api20240815.Privilege + The set of data plane operations permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + resource: + description: Storage version of v1api20240815.Privilege_Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collection: + type: string + db: + type: string + type: object + type: object + type: array + roleName: type: string - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + roles: + items: + description: |- + Storage version of v1api20240815.Role + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading a cluster.' - properties: - overrideSettings: - description: 'OverrideSettings: Settings for overrides.' - properties: - forceUpgrade: - description: |- - ForceUpgrade: Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade - protections such as checking for deprecated API usage. Enable this option only with caution. - type: boolean - until: - description: |- - Until: Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the - effectiveness won't change once an upgrade starts even if the `until` expires as upgrade proceeds. This field is not set - by default. It must be set for the overrides to take effect. - type: string - type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbRoleDefinition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - windowsProfile: - description: 'WindowsProfile: The profile for Windows VMs in the Managed Cluster.' - properties: - adminUsername: - description: |- - AdminUsername: Specifies the name of the administrator account. - Restriction: Cannot end in "." - Disallowed values: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", - "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", - "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". - Minimum-length: 1 character - Max-length: 20 characters - type: string - enableCSIProxy: - description: |- - EnableCSIProxy: For more details on CSI proxy, see the [CSI proxy GitHub - repo](https://github.com/kubernetes-csi/csi-proxy). - type: boolean - gmsaProfile: - description: 'GmsaProfile: The Windows gMSA Profile in the Managed Cluster.' - properties: - dnsServer: - description: |- - DnsServer: Specifies the DNS server for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + databaseName: + type: string + id: + type: string + name: + type: string + privileges: + items: + description: |- + Storage version of v1api20240815.Privilege_STATUS + The set of data plane operations permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: type: string - enabled: - description: 'Enabled: Specifies whether to enable Windows gMSA in the managed cluster.' - type: boolean - rootDomainName: - description: |- - RootDomainName: Specifies the root domain name for Windows gMSA. - Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: type: string - type: object - licenseType: - description: |- - LicenseType: The license type to use for Windows VMs. See [Azure Hybrid User - Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details. - type: string - type: object - workloadAutoScalerProfile: - description: 'WorkloadAutoScalerProfile: Workload Auto-scaler profile for the managed cluster.' - properties: - keda: - description: 'Keda: KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable KEDA.' - type: boolean - type: object - verticalPodAutoscaler: - description: 'VerticalPodAutoscaler: VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile.' - properties: - enabled: - description: 'Enabled: Whether to enable VPA. Default value is false.' - type: boolean - type: object - type: object + type: array + resource: + description: Storage version of v1api20240815.Privilege_Resource_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + collection: + type: string + db: + type: string + type: object + type: object + type: array + roleName: + type: string + roles: + items: + description: |- + Storage version of v1api20240815.Role_STATUS + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array + type: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: mongodbuserdefinitions.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: MongodbUserDefinition + listKind: MongodbUserDefinitionList + plural: mongodbuserdefinitions + singular: mongodbuserdefinition + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -169343,14 +246804,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240901storage + name: v1api20240815 schema: openAPIV3Schema: description: |- - Storage version of v1api20240901.ManagedCluster Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId} properties: apiVersion: description: |- @@ -169370,776 +246830,284 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240901.ManagedCluster_Spec properties: - $propertyBag: - additionalProperties: - type: string + azureName: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadProfile: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customData: + description: 'CustomData: A custom definition for the USer Definition.' + type: string + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this User Definition.' + type: string + mechanisms: + description: 'Mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256.' + type: string + operatorSpec: description: |- - Storage version of v1api20240901.ManagedClusterAADProfile - For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminGroupObjectIDs: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string - type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: - type: boolean - serverAppID: - type: string - serverAppSecret: - type: string - tenantID: - type: string - type: object - addonProfiles: - additionalProperties: - description: |- - Storage version of v1api20240901.ManagedClusterAddonProfile - A Kubernetes add-on profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - type: object - type: object - agentPoolProfiles: - items: - description: |- - Storage version of v1api20240901.ManagedClusterAgentPoolProfile - Profile for the container service agent pool. - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: |- - Storage version of v1api20240901.CreationData - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - type: object - kubeletConfig: - description: |- - Storage version of v1api20240901.KubeletConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string + value: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - kubeletDiskType: - type: string - linuxOSConfig: + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - Storage version of v1api20240901.LinuxOSConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: + key: description: |- - Storage version of v1api20240901.SysctlConfig - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: |- - Storage version of v1api20240901.AgentPoolNetworkProfile - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20240901.PortRange - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20240901.IPTag - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - name: - description: Name is the Kubernetes name of the resource. + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - nodeTaints: - items: - type: string - type: array - orchestratorVersion: + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + password: + description: 'Password: The password for User Definition. Response does not contain user password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roles: + description: 'Roles: The set of roles inherited by the User Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' type: string - osDiskSizeGB: - type: integer - osDiskType: + role: + description: 'Role: The role name.' type: string - osSKU: + type: object + type: array + userName: + description: 'UserName: The user name for User Definition.' + type: string + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - osType: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - podSubnetReference: + observedGeneration: description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - Storage version of v1api20240901.PowerState - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - securityProfile: + severity: description: |- - Storage version of v1api20240901.AgentPoolSecurityProfile - The security settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - upgradeSettings: - description: |- - Storage version of v1api20240901.AgentPoolUpgradeSettings - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - type: object - vmSize: + status: + description: Status of the condition, one of True, False, or Unknown. type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsProfile: - description: |- - Storage version of v1api20240901.AgentPoolWindowsProfile - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - apiServerAccessProfile: - description: |- - Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile - Access profile for managed cluster API server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - privateDNSZone: - type: string - type: object - autoScalerProfile: - description: Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile - properties: - $propertyBag: - additionalProperties: + customData: + description: 'CustomData: A custom definition for the USer Definition.' + type: string + databaseName: + description: 'DatabaseName: The database name for which access is being granted for this User Definition.' + type: string + id: + description: 'Id: The unique resource identifier of the database account.' + type: string + mechanisms: + description: 'Mechanisms: The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256.' + type: string + name: + description: 'Name: The name of the database account.' + type: string + roles: + description: 'Roles: The set of roles inherited by the User Definition.' + items: + description: The set of roles permitted through this Role Definition. + properties: + db: + description: 'Db: The database name the role is applied.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: - type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: - type: string - scale-down-utilization-threshold: - type: string - scan-interval: - type: string - skip-nodes-with-local-storage: - type: string - skip-nodes-with-system-pods: - type: string - type: object - autoUpgradeProfile: - description: |- - Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile - Auto upgrade profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: + role: + description: 'Role: The role name.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nodeOSUpgradeChannel: - type: string - upgradeChannel: - type: string - type: object - azureMonitorProfile: + type: object + type: array + type: + description: 'Type: The type of Azure resource.' + type: string + userName: + description: 'UserName: The user name for User Definition.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240815.MongodbUserDefinition + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/mongorbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240815.MongodbUserDefinition_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.ManagedClusterAzureMonitorProfile - Azure Monitor addon profiles for monitoring the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metrics: - description: |- - Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics - Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - kubeStateMetrics: - description: |- - Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics - Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: - type: string - metricLabelsAllowlist: - type: string - type: object - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableLocalAccounts: - type: boolean - diskEncryptionSetReference: - description: |- - DiskEncryptionSetReference: This is of the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - dnsPrefix: - type: string - enablePodSecurityPolicy: - type: boolean - enableRBAC: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20240901.ExtendedLocation - The complex type of the extended location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdnSubdomain: - type: string - httpProxyConfig: + customData: + type: string + databaseName: + type: string + mechanisms: + type: string + operatorSpec: description: |- - Storage version of v1api20240901.ManagedClusterHTTPProxyConfig - Cluster HTTP proxy configuration. + Storage version of v1api20240815.MongodbUserDefinitionOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -170148,113 +247116,102 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - httpProxy: - type: string - httpsProxy: - type: string - noProxy: + configMapExpressions: items: - type: string - type: array - trustedCa: - type: string - type: object - identity: - description: |- - Storage version of v1api20240901.ManagedClusterIdentity - Identity for the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedResources: - additionalProperties: description: |- - Storage version of v1api20240901.DelegatedResource - Delegated resource properties - internal use only. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - location: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - referralResource: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - resourceReference: - description: 'ResourceReference: The ARM resource id of the delegated resource - internal use only.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tenantId: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - type: object - type: - type: string - userAssignedIdentities: + type: array + secretExpressions: items: description: |- - Storage version of v1api20240901.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array type: object - identityProfile: - additionalProperties: + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/DatabaseAccount resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + roles: + items: description: |- - Storage version of v1api20240901.UserAssignedIdentity - Details about a user assigned identity. + Storage version of v1api20240815.Role + The set of roles permitted through this Role Definition. properties: $propertyBag: additionalProperties: @@ -170263,484 +247220,494 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + db: type: string - objectId: + role: type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object - type: object - ingressProfile: + type: array + userName: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240815.MongodbUserDefinition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.ManagedClusterIngressProfile - Ingress profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - webAppRouting: - description: |- - Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting - Application Routing add-on settings for the ingress profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsZoneResourceReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - enabled: - type: boolean - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - kubernetesVersion: + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customData: type: string - linuxProfile: + databaseName: + type: string + id: + type: string + mechanisms: + type: string + name: + type: string + roles: + items: + description: |- + Storage version of v1api20240815.Role_STATUS + The set of roles permitted through this Role Definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + db: + type: string + role: + type: string + type: object + type: array + type: + type: string + userName: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namedvalues.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: NamedValue + listKind: NamedValueList + plural: namedvalues + singular: namedvalue + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - Storage version of v1api20240901.ContainerServiceLinuxProfile - Profile for Linux VMs in the container service cluster. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9-._]+$ + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' properties: - $propertyBag: - additionalProperties: - type: string + identityClientId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUsername: + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. type: string - ssh: + identityClientIdFromConfig: description: |- - Storage version of v1api20240901.ContainerServiceSshConfiguration - SSH configuration for Linux-based VMs running on Azure. + IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used + to access key vault secret. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: - description: |- - Storage version of v1api20240901.ContainerServiceSshPublicKey - Contains information about SSH certificate public key data. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyData: - type: string - type: object - type: array + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object + secretIdentifier: + description: |- + SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent + auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi + type: string type: object - location: - type: string - metricsProfile: + operatorSpec: description: |- - Storage version of v1api20240901.ManagedClusterMetricsProfile - The metrics profile for the ManagedCluster. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - costAnalysis: - description: |- - Storage version of v1api20240901.ManagedClusterCostAnalysis - The cost analysis configuration for the cluster - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - networkProfile: + owner: description: |- - Storage version of v1api20240901.ContainerServiceNetworkProfile - Profile of network configuration. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - advancedNetworking: - description: |- - Storage version of v1api20240901.AdvancedNetworking - Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see - aka.ms/aksadvancednetworking. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - observability: - description: |- - Storage version of v1api20240901.AdvancedNetworkingObservability - Observability profile to enable advanced network metrics and flow logs with historical contexts. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - security: - description: |- - Storage version of v1api20240901.AdvancedNetworkingSecurity - Security profile to enable security features on cilium based cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - dnsServiceIP: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - ipFamilies: - items: + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + maxItems: 32 + type: array + value: + description: |- + Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This + property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. + maxLength: 4096 + type: string + required: + - displayName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - type: array - loadBalancerProfile: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: description: |- - Storage version of v1api20240901.ManagedClusterLoadBalancerProfile - Profile of the managed cluster load balancer. + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + lastStatus: + description: 'LastStatus: Last time sync and refresh status of secret from key vault.' properties: - $propertyBag: - additionalProperties: - type: string + code: + description: 'Code: Last status code for sync and refresh of secret from key vault.' + type: string + message: + description: 'Message: Details of the error else empty.' + type: string + timeStampUtc: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allocatedOutboundPorts: - type: integer - backendPoolType: + TimeStampUtc: Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. type: string - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20240901.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer - type: object - outboundIPPrefixes: - description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: |- - Storage version of v1api20240901.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - outboundIPs: - description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: |- - Storage version of v1api20240901.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object type: object - loadBalancerSku: - type: string - natGatewayProfile: + secretIdentifier: description: |- - Storage version of v1api20240901.ManagedClusterNATGatewayProfile - Profile of the managed cluster NAT gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20240901.ResourceReference - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: The fully qualified Azure resource id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - idleTimeoutInMinutes: - type: integer - managedOutboundIPProfile: - description: |- - Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile - Profile of the managed outbound IP resources of the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object - type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: - type: string - podCidr: - type: string - podCidrs: - items: - type: string - type: array - serviceCidr: + SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent + auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi type: string - serviceCidrs: - items: - type: string - type: array type: object - nodeResourceGroup: + name: + description: 'Name: The name of the resource' + type: string + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: |- + Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This + property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.NamedValue + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.NamedValue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - nodeResourceGroupProfile: + displayName: + type: string + keyVault: description: |- - Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile - Node resource group lockdown profile for a managed cluster. + Storage version of v1api20220801.KeyVaultContractCreateProperties + Create keyVault contract details. properties: $propertyBag: additionalProperties: @@ -170749,27 +247716,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - restrictionLevel: + identityClientId: type: string - type: object - oidcIssuerProfile: - description: |- - Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile - The OIDC issuer profile of the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string + identityClientIdFromConfig: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object - enabled: - type: boolean + secretIdentifier: + type: string type: object operatorSpec: description: |- - Storage version of v1api20240901.ManagedClusterOperatorSpec + Storage version of v1api20220801.NamedValueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -170808,35 +247779,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20240901.ManagedClusterOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - oidcIssuerProfile: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -170866,53 +247808,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20240901.ManagedClusterOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - userCredentials: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -170920,7 +247815,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -170929,157 +247824,78 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIdentityProfile: + secret: + type: boolean + tags: + items: + type: string + type: array + value: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20220801.NamedValue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.ManagedClusterPodIdentityProfile - See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod - identity integration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: - items: - description: |- - Storage version of v1api20240901.ManagedClusterPodIdentity - Details about the pod identity assigned to the Managed Cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - bindingSelector: - type: string - identity: - description: |- - Storage version of v1api20240901.UserAssignedIdentity - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceReference: - description: 'ResourceReference: The resource ID of the user assigned identity.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - name: - type: string - namespace: - type: string - type: object - type: array - userAssignedIdentityExceptions: - items: - description: |- - Storage version of v1api20240901.ManagedClusterPodIdentityException - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - namespace: - type: string - podLabels: - additionalProperties: - type: string - type: object - type: object - type: array + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - privateLinkResources: + conditions: items: - description: |- - Storage version of v1api20240901.PrivateLinkResource - A private link resource + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupId: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - name: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string - reference: - description: 'Reference: The ID of the private link resource.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requiredMembers: - items: - type: string - type: array type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - publicNetworkAccess: + displayName: type: string - securityProfile: + id: + type: string + keyVault: description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfile - Security profile for the container service cluster. + Storage version of v1api20220801.KeyVaultContractProperties_STATUS + KeyVault contract details. properties: $propertyBag: additionalProperties: @@ -171088,10 +247904,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureKeyVaultKms: + identityClientId: + type: string + lastStatus: description: |- - Storage version of v1api20240901.AzureKeyVaultKms - Azure Key Vault key management service settings for the security profile. + Storage version of v1api20220801.KeyVaultLastAccessStatusContractProperties_STATUS + Issue contract Update Properties. properties: $propertyBag: additionalProperties: @@ -171100,419 +247918,387 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - keyId: + code: type: string - keyVaultNetworkAccess: + message: + type: string + timeStampUtc: type: string - keyVaultResourceReference: - description: |- - KeyVaultResourceReference: Resource ID of key vault. When keyVaultNetworkAccess is `Private`, this field is required and - must be a valid resource ID. When keyVaultNetworkAccess is `Public`, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - defender: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileDefender - Microsoft Defender settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceReference: - description: |- - LogAnalyticsWorkspaceResourceReference: Resource ID of the Log Analytics workspace to be associated with Microsoft - Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When - Microsoft Defender is disabled, leave the field empty. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityMonitoring: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring - Microsoft Defender settings for the security profile threat detection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner - Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here - are settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: - type: integer - type: object - workloadIdentity: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity - Workload identity settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - serviceMeshProfile: - description: |- - Storage version of v1api20240901.ServiceMeshProfile - Service mesh profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - istio: - description: |- - Storage version of v1api20240901.IstioServiceMesh - Istio service mesh configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: |- - Storage version of v1api20240901.IstioCertificateAuthority - Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described - here https://aka.ms/asm-plugin-ca - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: |- - Storage version of v1api20240901.IstioPluginCertificateAuthority - Plugin certificates information for Service Mesh. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultReference: - description: 'KeyVaultReference: The resource ID of the Key Vault.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - rootCertObjectName: - type: string - type: object - type: object - components: - description: |- - Storage version of v1api20240901.IstioComponents - Istio components configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: |- - Storage version of v1api20240901.IstioEgressGateway - Istio egress gateway configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: array - ingressGateways: - items: - description: |- - Storage version of v1api20240901.IstioIngressGateway - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array type: object - mode: + secretIdentifier: type: string type: object - servicePrincipalProfile: + name: + type: string + secret: + type: boolean + tags: + items: + type: string + type: array + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - Storage version of v1api20240901.ManagedClusterServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + maxLength: 256 + minLength: 1 + pattern: ^[A-Za-z0-9-._]+$ + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' properties: - $propertyBag: - additionalProperties: - type: string + identityClientId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. type: string - secret: + identityClientIdFromConfig: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used + to access key vault secret. properties: key: - description: Key is the key in the Kubernetes secret being referenced + description: Key is the key in the Kubernetes configmap being referenced type: string name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string required: - key - name type: object + secretIdentifier: + description: |- + SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent + auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi + type: string type: object - sku: + operatorSpec: description: |- - Storage version of v1api20240901.ManagedClusterSKU - The SKU of a Managed Cluster. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - tier: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - storageProfile: + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean + tags: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + maxItems: 32 + type: array + value: description: |- - Storage version of v1api20240901.ManagedClusterStorageProfile - Storage profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: + Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This + property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. + maxLength: 4096 + type: string + required: + - displayName + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + displayName: + description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + keyVault: + description: 'KeyVault: KeyVault location details of the namedValue.' + properties: + identityClientId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver - AzureBlob CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver - AzureDisk CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - fileCSIDriver: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver - AzureFile CSI Driver settings for the storage profile. + IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access + key vault secret. + type: string + lastStatus: + description: 'LastStatus: Last time sync and refresh status of secret from key vault.' properties: - $propertyBag: - additionalProperties: - type: string + code: + description: 'Code: Last status code for sync and refresh of secret from key vault.' + type: string + message: + description: 'Message: Details of the error else empty.' + type: string + timeStampUtc: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean + TimeStampUtc: Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string type: object - snapshotController: + secretIdentifier: description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController - Snapshot Controller settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent + auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi + type: string type: object - supportPlan: + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state' type: string + secret: + description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' + type: boolean tags: - additionalProperties: + description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + items: + type: string + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: |- + Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This + property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501preview.NamedValue + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimnamedvalues.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501preview.NamedValue_Spec + properties: + $propertyBag: + additionalProperties: type: string - type: object - upgradeSettings: description: |- - Storage version of v1api20240901.ClusterUpgradeSettings - Settings for upgrading a cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - overrideSettings: - description: |- - Storage version of v1api20240901.UpgradeOverrideSettings - Settings for overrides when upgrading a cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - windowsProfile: + azureName: description: |- - Storage version of v1api20240901.ManagedClusterWindowsProfile - Profile for Windows VMs in the managed cluster. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + displayName: + type: string + keyVault: + description: |- + Storage version of v1api20230501preview.KeyVaultContractCreateProperties + Create keyVault contract details. properties: $propertyBag: additionalProperties: @@ -171521,53 +248307,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminPassword: + identityClientId: + type: string + identityClientIdFromConfig: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as the resource it is on. properties: key: - description: Key is the key in the Kubernetes secret being referenced + description: Key is the key in the Kubernetes configmap being referenced type: string name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string required: - key - name type: object - adminUsername: - type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: |- - Storage version of v1api20240901.WindowsGmsaProfile - Windows gMSA Profile in the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: + secretIdentifier: type: string type: object - workloadAutoScalerProfile: + operatorSpec: description: |- - Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile - Workload Auto-scaler profile for the managed cluster. + Storage version of v1api20230501preview.NamedValueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -171576,44 +248341,93 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keda: - description: |- - Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda - KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: |- - Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler - VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a apimanagement.azure.com/Service resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object + secret: + type: boolean + tags: + items: + type: string + type: array + value: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20240901.ManagedCluster_STATUS - Managed cluster. + description: Storage version of v1api20230501preview.NamedValue_STATUS properties: $propertyBag: additionalProperties: @@ -171622,443 +248436,57 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aadProfile: - description: |- - Storage version of v1api20240901.ManagedClusterAADProfile_STATUS - For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad). - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminGroupObjectIDs: - items: - type: string - type: array - clientAppID: - type: string - enableAzureRBAC: - type: boolean - managed: - type: boolean - serverAppID: - type: string - serverAppSecret: - type: string - tenantID: - type: string - type: object - addonProfiles: - additionalProperties: - description: |- - Storage version of v1api20240901.ManagedClusterAddonProfile_STATUS - A Kubernetes add-on profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - config: - additionalProperties: - type: string - type: object - enabled: - type: boolean - identity: - description: |- - Storage version of v1api20240901.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object - type: object - agentPoolProfiles: + conditions: items: - description: |- - Storage version of v1api20240901.ManagedClusterAgentPoolProfile_STATUS - Profile for the container service agent pool. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: - type: string - count: - type: integer - creationData: - description: |- - Storage version of v1api20240901.CreationData_STATUS - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - eTag: - type: string - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupID: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - kubeletConfig: - description: |- - Storage version of v1api20240901.KubeletConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - linuxOSConfig: + observedGeneration: description: |- - Storage version of v1api20240901.LinuxOSConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20240901.SysctlConfig_STATUS - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - mode: - type: string - name: - type: string - networkProfile: + reason: description: |- - Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20240901.PortRange_STATUS - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20240901.IPTag_STATUS - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - type: object - nodeImageVersion: - type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podSubnetID: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - powerState: + severity: description: |- - Storage version of v1api20240901.PowerState_STATUS - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - scaleSetPriority: + status: + description: Status of the condition, one of True, False, or Unknown. type: string - securityProfile: - description: |- - Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS - The security settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object type: + description: Type of condition. type: string - upgradeSettings: - description: |- - Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - type: object - vmSize: - type: string - vnetSubnetID: - type: string - windowsProfile: - description: |- - Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: - type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - apiServerAccessProfile: + displayName: + type: string + id: + type: string + keyVault: description: |- - Storage version of v1api20240901.ManagedClusterAPIServerAccessProfile_STATUS - Access profile for managed cluster API server. + Storage version of v1api20230501preview.KeyVaultContractProperties_STATUS + KeyVault contract details. properties: $propertyBag: additionalProperties: @@ -172067,139 +248495,461 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authorizedIPRanges: - items: - type: string - type: array - disableRunCommand: - type: boolean - enablePrivateCluster: - type: boolean - enablePrivateClusterPublicFQDN: - type: boolean - privateDNSZone: + identityClientId: type: string - type: object - autoScalerProfile: - description: Storage version of v1api20240901.ManagedClusterProperties_AutoScalerProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + lastStatus: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230501preview.KeyVaultLastAccessStatusContractProperties_STATUS + Issue contract Update Properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + code: + type: string + message: + type: string + timeStampUtc: + type: string type: object - balance-similar-node-groups: - type: string - daemonset-eviction-for-empty-nodes: - type: boolean - daemonset-eviction-for-occupied-nodes: - type: boolean - expander: - type: string - ignore-daemonsets-utilization: - type: boolean - max-empty-bulk-delete: - type: string - max-graceful-termination-sec: - type: string - max-node-provision-time: - type: string - max-total-unready-percentage: - type: string - new-pod-scale-up-delay: - type: string - ok-total-unready-count: - type: string - scale-down-delay-after-add: - type: string - scale-down-delay-after-delete: - type: string - scale-down-delay-after-failure: - type: string - scale-down-unneeded-time: - type: string - scale-down-unready-time: + secretIdentifier: type: string - scale-down-utilization-threshold: + type: object + name: + type: string + provisioningState: + type: string + secret: + type: boolean + tags: + items: + type: string + type: array + type: + type: string + value: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespaces.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: Namespace + listKind: NamespaceList + plural: namespaces + singular: namespace + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 6 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$ + type: string + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - scan-interval: + group: + description: Group is the Kubernetes group of the resource. type: string - skip-nodes-with-local-storage: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - skip-nodes-with-system-pods: + name: + description: Name is the Kubernetes name of the resource. type: string type: object - autoUpgradeProfile: - description: |- - Storage version of v1api20240901.ManagedClusterAutoUpgradeProfile_STATUS - Auto upgrade profile for a managed cluster. + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - nodeOSUpgradeChannel: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault type: string - upgradeChannel: + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - azureMonitorProfile: + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: description: |- - Storage version of v1api20240901.ManagedClusterAzureMonitorProfile_STATUS - Azure Monitor addon profiles for monitoring the managed cluster. + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metrics: - description: |- - Storage version of v1api20240901.ManagedClusterAzureMonitorProfileMetrics_STATUS - Metrics profile for the Azure Monitor managed service for Prometheus addon. Collect out-of-the-box Kubernetes - infrastructure metrics to send to an Azure Monitor Workspace and configure additional scraping for custom targets. See - aka.ms/AzureManagedPrometheus for an overview. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - enabled: - type: boolean - kubeStateMetrics: + primaryKey: description: |- - Storage version of v1api20240901.ManagedClusterAzureMonitorProfileKubeStateMetrics_STATUS - Kube State Metrics profile for the Azure Managed Prometheus addon. These optional settings are for the - kube-state-metrics pod that is deployed with the addon. See aka.ms/AzureManagedPrometheus-optional-parameters for - details. + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - metricAnnotationsAllowList: + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string - metricLabelsAllowlist: + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string + required: + - key + - name type: object type: object type: object - azurePortalFQDN: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: Properties of sku resource' + properties: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + minimum: 0 + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean + required: + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + clusterArmId: + description: 'ClusterArmId: Cluster ARM ID of the Namespace.' type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -172242,203 +248992,255 @@ spec: - type type: object type: array - currentKubernetesVersion: - type: string - disableLocalAccounts: - type: boolean - diskEncryptionSetID: - type: string - dnsPrefix: - type: string - eTag: + createdAt: + description: 'CreatedAt: The time the Namespace was created.' type: string - enablePodSecurityPolicy: - type: boolean - enableRBAC: + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' type: boolean - extendedLocation: - description: |- - Storage version of v1api20240901.ExtendedLocation_STATUS - The complex type of the extended location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdn: - type: string - fqdnSubdomain: - type: string - httpProxyConfig: - description: |- - Storage version of v1api20240901.ManagedClusterHTTPProxyConfig_STATUS - Cluster HTTP proxy configuration. + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpProxy: - type: string - httpsProxy: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' type: string - noProxy: + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - type: string - type: array - trustedCa: - type: string - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20240901.ManagedClusterIdentity_STATUS - Identity for the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - delegatedResources: - additionalProperties: - description: |- - Storage version of v1api20240901.DelegatedResource_STATUS - Delegated resource properties - internal use only. + description: Properties to configure keyVault Properties properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string type: object - location: - type: string - referralResource: + keyName: + description: 'KeyName: Name of the Key from KeyVault' type: string - resourceId: + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' type: string - tenantId: + keyVersion: + description: 'KeyVersion: Key Version' type: string type: object - type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: principalId: + description: 'PrincipalId: ObjectId from the KeyVault' type: string tenantId: + description: 'TenantId: TenantId from the KeyVault' type: string type: + description: 'Type: Type of managed service identity.' type: string userAssignedIdentities: additionalProperties: - description: Storage version of v1api20240901.ManagedClusterIdentity_UserAssignedIdentities_STATUS + description: Recognized Dictionary value. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object clientId: + description: 'ClientId: Client Id of user assigned identity' type: string principalId: + description: 'PrincipalId: Principal Id of user assigned identity' type: string type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' type: object type: object - identityProfile: - additionalProperties: - description: |- - Storage version of v1api20240901.UserAssignedIdentity_STATUS - Details about a user assigned identity. + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + type: integer + metricId: + description: 'MetricId: Identifier for Azure Insights metrics.' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. properties: - $propertyBag: - additionalProperties: - type: string + id: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the Namespace.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of sku resource' + properties: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string type: object - ingressProfile: + status: + description: 'Status: Status of the Namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + updatedAt: + description: 'UpdatedAt: The time the Namespace was updated.' + type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.Namespace + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.ManagedClusterIngressProfile_STATUS - Ingress profile for the container service cluster. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - webAppRouting: + armId: description: |- - Storage version of v1api20240901.ManagedClusterIngressProfileWebAppRouting_STATUS - Application Routing add-on settings for the ingress profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsZoneResourceIds: - items: - type: string - type: array - enabled: - type: boolean - identity: - description: |- - Storage version of v1api20240901.UserAssignedIdentity_STATUS - Details about a user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - objectId: - type: string - resourceId: - type: string - type: object - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - kubernetesVersion: - type: string - linuxProfile: + disableLocalAuth: + type: boolean + encryption: description: |- - Storage version of v1api20240901.ContainerServiceLinuxProfile_STATUS - Profile for Linux VMs in the container service cluster. + Storage version of v1api20211101.Encryption + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -172447,25 +249249,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - adminUsername: + keySource: type: string - ssh: - description: |- - Storage version of v1api20240901.ContainerServiceSshConfiguration_STATUS - SSH configuration for Linux-based VMs running on Azure. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicKeys: - items: + keyVaultProperties: + items: + description: |- + Storage version of v1api20211101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.ContainerServiceSshPublicKey_STATUS - Contains information about SSH certificate public key data. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties properties: $propertyBag: additionalProperties: @@ -172474,20 +249274,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyData: - type: string + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: array - type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean type: object - location: - type: string - maxAgentPools: - type: integer - metricsProfile: + identity: description: |- - Storage version of v1api20240901.ManagedClusterMetricsProfile_STATUS - The metrics profile for the ManagedCluster. + Storage version of v1api20211101.Identity + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -172496,28 +249318,56 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - costAnalysis: - description: |- - Storage version of v1api20240901.ManagedClusterCostAnalysis_STATUS - The cost analysis configuration for the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - name: + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: type: string - networkProfile: + maximumThroughputUnits: + type: integer + operatorSpec: description: |- - Storage version of v1api20240901.ContainerServiceNetworkProfile_STATUS - Profile of network configuration. + Storage version of v1api20211101.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -172526,62 +249376,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - advancedNetworking: - description: |- - Storage version of v1api20240901.AdvancedNetworking_STATUS - Advanced Networking profile for enabling observability and security feature suite on a cluster. For more information see - aka.ms/aksadvancednetworking. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - observability: - description: |- - Storage version of v1api20240901.AdvancedNetworkingObservability_STATUS - Observability profile to enable advanced network metrics and flow logs with historical contexts. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - security: - description: |- - Storage version of v1api20240901.AdvancedNetworkingSecurity_STATUS - Security profile to enable security features on cilium based cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - dnsServiceIP: - type: string - ipFamilies: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: items: - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - loadBalancerProfile: - description: |- - Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_STATUS - Profile of the managed cluster load balancer. + secrets: + description: Storage version of v1api20211101.NamespaceOperatorSecrets properties: $propertyBag: additionalProperties: @@ -172590,198 +249444,99 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allocatedOutboundPorts: - type: integer - backendPoolType: - type: string - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20240901.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - enableMultipleStandardLoadBalancers: - type: boolean - idleTimeoutInMinutes: - type: integer - managedOutboundIPs: - description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_ManagedOutboundIPs_STATUS + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - countIPv6: - type: integer + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - outboundIPPrefixes: - description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPPrefixes_STATUS + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixes: - items: - description: |- - Storage version of v1api20240901.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - outboundIPs: - description: Storage version of v1api20240901.ManagedClusterLoadBalancerProfile_OutboundIPs_STATUS + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPs: - items: - description: |- - Storage version of v1api20240901.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - type: object - loadBalancerSku: - type: string - natGatewayProfile: - description: |- - Storage version of v1api20240901.ManagedClusterNATGatewayProfile_STATUS - Profile of the managed cluster NAT gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - effectiveOutboundIPs: - items: - description: |- - Storage version of v1api20240901.ResourceReference_STATUS - A reference to an Azure resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - idleTimeoutInMinutes: - type: integer - managedOutboundIPProfile: + secondaryKey: description: |- - Storage version of v1api20240901.ManagedClusterManagedOutboundIPProfile_STATUS - Profile of the managed outbound IP resources of the managed cluster. + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object type: object - networkDataplane: - type: string - networkMode: - type: string - networkPlugin: - type: string - networkPluginMode: - type: string - networkPolicy: - type: string - outboundType: - type: string - podCidr: - type: string - podCidrs: - items: - type: string - type: array - serviceCidr: - type: string - serviceCidrs: - items: - type: string - type: array type: object - nodeResourceGroup: + originalVersion: type: string - nodeResourceGroupProfile: + owner: description: |- - Storage version of v1api20240901.ManagedClusterNodeResourceGroupProfile_STATUS - Node resource group lockdown profile for a managed cluster. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restrictionLevel: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - oidcIssuerProfile: + sku: description: |- - Storage version of v1api20240901.ManagedClusterOIDCIssuerProfile_STATUS - The OIDC issuer profile of the Managed Cluster. + Storage version of v1api20211101.Sku + SKU parameters supplied to the create namespace operation properties: $propertyBag: additionalProperties: @@ -172790,16 +249545,87 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - issuerURL: + capacity: + type: integer + name: + type: string + tier: type: string type: object - podIdentityProfile: + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20211101.Namespace_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240901.ManagedClusterPodIdentityProfile_STATUS - See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod - identity integration. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: + type: string + clusterArmId: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20211101.Encryption_STATUS + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -172808,15 +249634,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowNetworkPluginKubenet: - type: boolean - enabled: - type: boolean - userAssignedIdentities: + keySource: + type: string + keyVaultProperties: items: description: |- - Storage version of v1api20240901.ManagedClusterPodIdentity_STATUS - Details about the pod identity assigned to the Managed Cluster. + Storage version of v1api20211101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties properties: $propertyBag: additionalProperties: @@ -172825,12 +249649,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - bindingSelector: - type: string identity: - description: |- - Storage version of v1api20240901.UserAssignedIdentity_STATUS - Details about a user assigned identity. + description: Storage version of v1api20211101.UserAssignedIdentityProperties_STATUS properties: $propertyBag: additionalProperties: @@ -172839,89 +249659,45 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: - type: string - objectId: - type: string - resourceId: + userAssignedIdentity: type: string type: object - name: + keyName: type: string - namespace: + keyVaultUri: type: string - provisioningInfo: - description: Storage version of v1api20240901.ManagedClusterPodIdentity_ProvisioningInfo_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: |- - Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningError_STATUS - An error response from the pod identity provisioning. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - error: - description: |- - Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS - An error response from the pod identity provisioning. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - details: - items: - description: Storage version of v1api20240901.ManagedClusterPodIdentityProvisioningErrorBody_STATUS_Unrolled - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - target: - type: string - type: object - type: array - message: - type: string - target: - type: string - type: object - type: object - type: object - provisioningState: + keyVersion: type: string type: object type: array - userAssignedIdentityExceptions: - items: + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20211101.Identity_STATUS + Properties to configure Identity for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: description: |- - Storage version of v1api20240901.ManagedClusterPodIdentityException_STATUS - See [disable AAD Pod Identity for a specific - Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details. + Storage version of v1api20211101.UserAssignedIdentity_STATUS + Recognized Dictionary value. properties: $propertyBag: additionalProperties: @@ -172930,39 +249706,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + clientId: type: string - namespace: + principalId: type: string - podLabels: - additionalProperties: - type: string - type: object type: object - type: array - type: object - powerState: - description: |- - Storage version of v1api20240901.PowerState_STATUS - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - code: - type: string type: object - privateFQDN: + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: type: string - privateLinkResources: + maximumThroughputUnits: + type: integer + metricId: + type: string + name: + type: string + privateEndpointConnections: items: description: |- - Storage version of v1api20240901.PrivateLinkResource_STATUS - A private link resource + Storage version of v1api20211101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. properties: $propertyBag: additionalProperties: @@ -172971,263 +249738,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - groupId: - type: string id: type: string - name: - type: string - privateLinkServiceID: - type: string - requiredMembers: - items: - type: string - type: array - type: - type: string type: object type: array provisioningState: type: string - publicNetworkAccess: - type: string - resourceUID: + serviceBusEndpoint: type: string - securityProfile: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfile_STATUS - Security profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureKeyVaultKms: - description: |- - Storage version of v1api20240901.AzureKeyVaultKms_STATUS - Azure Key Vault key management service settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - keyId: - type: string - keyVaultNetworkAccess: - type: string - keyVaultResourceId: - type: string - type: object - defender: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileDefender_STATUS - Microsoft Defender settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - logAnalyticsWorkspaceResourceId: - type: string - securityMonitoring: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileDefenderSecurityMonitoring_STATUS - Microsoft Defender settings for the security profile threat detection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - imageCleaner: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileImageCleaner_STATUS - Image Cleaner removes unused images from nodes, freeing up disk space and helping to reduce attack surface area. Here - are settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - intervalHours: - type: integer - type: object - workloadIdentity: - description: |- - Storage version of v1api20240901.ManagedClusterSecurityProfileWorkloadIdentity_STATUS - Workload identity settings for the security profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - serviceMeshProfile: - description: |- - Storage version of v1api20240901.ServiceMeshProfile_STATUS - Service mesh profile for a managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - istio: - description: |- - Storage version of v1api20240901.IstioServiceMesh_STATUS - Istio service mesh configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - description: |- - Storage version of v1api20240901.IstioCertificateAuthority_STATUS - Istio Service Mesh Certificate Authority (CA) configuration. For now, we only support plugin certificates as described - here https://aka.ms/asm-plugin-ca - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - plugin: - description: |- - Storage version of v1api20240901.IstioPluginCertificateAuthority_STATUS - Plugin certificates information for Service Mesh. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certChainObjectName: - type: string - certObjectName: - type: string - keyObjectName: - type: string - keyVaultId: - type: string - rootCertObjectName: - type: string - type: object - type: object - components: - description: |- - Storage version of v1api20240901.IstioComponents_STATUS - Istio components configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - egressGateways: - items: - description: |- - Storage version of v1api20240901.IstioEgressGateway_STATUS - Istio egress gateway configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: array - ingressGateways: - items: - description: |- - Storage version of v1api20240901.IstioIngressGateway_STATUS - Istio ingress gateway configuration. For now, we support up to one external ingress gateway named - `aks-istio-ingressgateway-external` and one internal ingress gateway named `aks-istio-ingressgateway-internal`. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - mode: - type: string - type: object - type: array - type: object - revisions: - items: - type: string - type: array - type: object - mode: - type: string - type: object - servicePrincipalProfile: - description: |- - Storage version of v1api20240901.ManagedClusterServicePrincipalProfile_STATUS - Information about a service principal identity for the cluster to use for manipulating Azure APIs. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - type: object sku: description: |- - Storage version of v1api20240901.ManagedClusterSKU_STATUS - The SKU of a Managed Cluster. + Storage version of v1api20211101.Sku_STATUS + SKU parameters supplied to the create namespace operation properties: $propertyBag: additionalProperties: @@ -173236,89 +249758,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + capacity: + type: integer name: type: string tier: type: string type: object - storageProfile: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfile_STATUS - Storage profile for the container service cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - blobCSIDriver: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileBlobCSIDriver_STATUS - AzureBlob CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - diskCSIDriver: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileDiskCSIDriver_STATUS - AzureDisk CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - fileCSIDriver: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileFileCSIDriver_STATUS - AzureFile CSI Driver settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - snapshotController: - description: |- - Storage version of v1api20240901.ManagedClusterStorageProfileSnapshotController_STATUS - Snapshot Controller settings for the storage profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object - supportPlan: + status: type: string systemData: description: |- - Storage version of v1api20240901.SystemData_STATUS + Storage version of v1api20211101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -173347,155 +249798,16 @@ spec: type: object type: type: string - upgradeSettings: - description: |- - Storage version of v1api20240901.ClusterUpgradeSettings_STATUS - Settings for upgrading a cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - overrideSettings: - description: |- - Storage version of v1api20240901.UpgradeOverrideSettings_STATUS - Settings for overrides when upgrading a cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forceUpgrade: - type: boolean - until: - type: string - type: object - type: object - windowsProfile: - description: |- - Storage version of v1api20240901.ManagedClusterWindowsProfile_STATUS - Profile for Windows VMs in the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUsername: - type: string - enableCSIProxy: - type: boolean - gmsaProfile: - description: |- - Storage version of v1api20240901.WindowsGmsaProfile_STATUS - Windows gMSA Profile in the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dnsServer: - type: string - enabled: - type: boolean - rootDomainName: - type: string - type: object - licenseType: - type: string - type: object - workloadAutoScalerProfile: - description: |- - Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfile_STATUS - Workload Auto-scaler profile for the managed cluster. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keda: - description: |- - Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileKeda_STATUS - KEDA (Kubernetes Event-driven Autoscaling) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - verticalPodAutoscaler: - description: |- - Storage version of v1api20240901.ManagedClusterWorkloadAutoScalerProfileVerticalPodAutoscaler_STATUS - VPA (Vertical Pod Autoscaler) settings for the workload auto-scaler profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - type: object + updatedAt: + type: string + zoneRedundant: + type: boolean type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: managedclustersagentpools.containerservice.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerservice.azure.com - names: - kind: ManagedClustersAgentPool - listKind: ManagedClustersAgentPoolList - plural: managedclustersagentpools - singular: managedclustersagentpool - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -173509,13 +249821,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/namespaces.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -173536,189 +249848,19 @@ spec: type: object spec: properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 6 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$ type: string - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - minimum: 2 - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixIDReference: - description: |- - NodePublicIPPrefixIDReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' properties: armId: description: |- @@ -173737,11 +249879,121 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' + type: string + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + minimum: 0 + type: integer + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -173807,45 +250059,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - description: |- - OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes - version. The node pool version must have the same major version as the control plane. The node pool minor version must - be within two minor versions of the control plane version. The node pool version cannot be greater than the control - plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: 'OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows.' - enum: - - CBLMariner - - Ubuntu - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -173854,110 +250145,58 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetIDReference: - description: |- - PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more - details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + sku: + description: 'Sku: Properties of sku resource' properties: - armId: + capacity: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + minimum: 0 + type: integer name: - description: Name is the Kubernetes name of the resource. + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard type: string + required: + - name type: object - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - maxSurge: - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetIDReference: - description: |- - VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + description: 'Tags: Resource tags.' type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean required: - owner type: object status: properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array + alternateName: + description: 'AlternateName: Alternate name specified when alias and namespace names are same.' + type: string + clusterArmId: + description: 'ClusterArmId: Cluster ARM ID of the Namespace.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -174002,262 +250241,173 @@ spec: - type type: object type: array - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - type: string - id: - description: 'Id: Resource ID.' + createdAt: + description: 'CreatedAt: The time the Namespace was created.' type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - allowedUnsafeSysctls: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - type: string + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Key Version' + type: string + type: object type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string type: object - kubeletDiskType: + id: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + identity: + description: 'Identity: Properties of BYOK Identity description' properties: - swapFileSizeMB: - type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' type: string - transparentHugePageEnabled: + tenantId: + description: 'TenantId: TenantId from the KeyVault' type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + isAutoInflateEnabled: + description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' + type: boolean + kafkaEnabled: + description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' + type: boolean + location: + description: 'Location: Resource location.' type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + maximumThroughputUnits: + description: |- + MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 + throughput units. ( '0' if AutoInflateEnabled = true) + type: integer + metricId: + description: 'MetricId: Identifier for Azure Insights metrics.' type: string - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + name: + description: 'Name: The name of the resource' type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' items: - type: string + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object type: array - orchestratorVersion: - description: |- - OrchestratorVersion: As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes - version. The node pool version must have the same major version as the control plane. The node pool minor version must - be within two minor versions of the control plane version. The node pool version cannot be greater than the control - plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: 'OsSKU: Specifies an OS SKU. This value must not be specified if OSType is Windows.' + provisioningState: + description: 'ProvisioningState: Provisioning state of the Namespace.' type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' type: string - powerState: - description: 'PowerState: Describes whether the Agent Pool is Running or Stopped' + sku: + description: 'Sku: Properties of sku resource' properties: - code: + capacity: + description: |- + Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. + The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' type: string type: object - properties_type: - description: 'PropertiesType: The type of Agent Pool.' - type: string - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + status: + description: 'Status: Status of the Namespace.' type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type' - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - maxSurge: - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + updatedAt: + description: 'UpdatedAt: The time the Namespace was updated.' type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' + type: boolean type: object type: object served: true @@ -174277,14 +250427,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210501storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210501.ManagedClustersAgentPool + Storage version of v1api20240101.Namespace Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2021-05-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/namespaces.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -174304,7 +250454,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210501.ManagedClustersAgentPool_Spec + description: Storage version of v1api20240101.Namespace_Spec properties: $propertyBag: additionalProperties: @@ -174313,31 +250463,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - availabilityZones: - items: - type: string - type: array + alternateName: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - count: - type: integer - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: + clusterArmReference: + description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + disableLocalAuth: type: boolean - gpuInstanceProfile: - type: string - kubeletConfig: - description: Storage version of v1api20210501.KubeletConfig + encryption: + description: |- + Storage version of v1api20240101.Encryption + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -174346,35 +250504,67 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedUnsafeSysctls: + keySource: + type: string + keyVaultProperties: items: - type: string + description: |- + Storage version of v1api20240101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: + requireInfrastructureEncryption: type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: Storage version of v1api20210501.LinuxOSConfig + identity: + description: |- + Storage version of v1api20240101.Identity + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -174383,121 +250573,57 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20210501.SysctlConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + type: type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: + type: string + maximumThroughputUnits: type: integer - mode: + minimumTlsVersion: type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixIDReference: - description: |- - NodePublicIPPrefixIDReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: - type: string - type: array operatorSpec: description: |- - Storage version of v1api20210501.ManagedClustersAgentPoolOperatorSpec + Storage version of v1api20240101.NamespaceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -174565,24 +250691,97 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240101.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - type: string originalVersion: type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -174591,45 +250790,12 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetIDReference: - description: |- - PodSubnetIDReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more - details). This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - proximityPlacementGroupID: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: + publicNetworkAccess: type: string - upgradeSettings: - description: Storage version of v1api20210501.AgentPoolUpgradeSettings + sku: + description: |- + Storage version of v1api20240101.Sku + SKU parameters supplied to the create namespace operation properties: $propertyBag: additionalProperties: @@ -174638,39 +250804,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxSurge: - type: string - type: object - vmSize: - type: string - vnetSubnetIDReference: - description: |- - VnetSubnetIDReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + capacity: + type: integer name: - description: Name is the Kubernetes name of the resource. + type: string + tier: type: string type: object + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean required: - owner type: object status: - description: Storage version of v1api20210501.ManagedClustersAgentPool_STATUS + description: Storage version of v1api20240101.Namespace_STATUS properties: $propertyBag: additionalProperties: @@ -174679,10 +250830,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - availabilityZones: - items: - type: string - type: array + alternateName: + type: string + clusterArmId: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -174726,24 +250877,14 @@ spec: - type type: object type: array - count: - type: integer - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - id: + createdAt: type: string - kubeletConfig: - description: Storage version of v1api20210501.KubeletConfig_STATUS + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20240101.Encryption_STATUS + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -174752,35 +250893,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedUnsafeSysctls: + keySource: + type: string + keyVaultProperties: items: - type: string + description: |- + Storage version of v1api20240101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: + requireInfrastructureEncryption: type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string type: object - kubeletDiskType: + id: type: string - linuxOSConfig: - description: Storage version of v1api20210501.LinuxOSConfig_STATUS + identity: + description: |- + Storage version of v1api20240101.Identity_STATUS + Properties to configure Identity for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -174789,116 +250946,73 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20210501.SysctlConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: + principalId: type: string - transparentHugePageEnabled: + tenantId: type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240101.UserAssignedIdentity_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: + isAutoInflateEnabled: + type: boolean + kafkaEnabled: + type: boolean + location: type: string - name: + maximumThroughputUnits: + type: integer + metricId: type: string - nodeImageVersion: + minimumTlsVersion: type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: + name: type: string - nodeTaints: + privateEndpointConnections: items: - type: string + description: |- + Storage version of v1api20240101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: + provisioningState: type: string - osType: + publicNetworkAccess: type: string - podSubnetID: + serviceBusEndpoint: type: string - powerState: - description: Storage version of v1api20210501.PowerState_STATUS + sku: + description: |- + Storage version of v1api20240101.Sku_STATUS + SKU parameters supplied to the create namespace operation properties: $propertyBag: additionalProperties: @@ -174907,29 +251021,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: + capacity: + type: integer + name: + type: string + tier: type: string type: object - properties_type: - type: string - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: + status: type: string - upgradeSettings: - description: Storage version of v1api20210501.AgentPoolUpgradeSettings_STATUS + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -174938,19 +251042,70 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxSurge: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - vmSize: + tags: + additionalProperties: + type: string + type: object + type: type: string - vnetSubnetID: + updatedAt: type: string + zoneRedundant: + type: boolean type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespaces.notificationhubs.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: notificationhubs.azure.com + names: + categories: + - azure + - notificationhubs + kind: Namespace + listKind: NamespaceList + plural: namespaces + singular: namespace + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -174964,13 +251119,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230201 + name: v1api20230901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -174991,525 +251146,857 @@ spec: type: object spec: properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z][a-zA-Z0-9-]*$ type: string - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' properties: - armId: + serviceBusEndpoint: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + ServiceBusEndpoint: indicates where the ServiceBusEndpoint config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - hostGroupReference: + owner: description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + properties: + description: 'Properties: Represents namespace properties.' properties: - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - minimum: 2 - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: + dataCenter: + description: 'DataCenter: Deprecated.' type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: + namespaceType: + description: 'NamespaceType: Defines values for NamespaceType.' + enum: + - Messaging + - NotificationHub type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - type: integer - sysctls: + networkAcls: + description: 'NetworkAcls: A collection of network authorization rules.' properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer + ipRules: + description: 'IpRules: List of IP rules.' + items: + description: A network authorization rule that filters traffic based on IP address. + properties: + ipMask: + description: 'IpMask: IP mask.' + minLength: 1 + type: string + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - ipMask + - rights + type: object + type: array + publicNetworkRule: + description: |- + PublicNetworkRule: A default (public Internet) network authorization rule, which contains rights if no other network + rule matches. + properties: + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - rights + type: object + type: object + pnsCredentials: + description: 'PnsCredentials: Collection of Notification Hub or Notification Hub Namespace PNS credentials.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + properties: + authTokenUrl: + description: 'AuthTokenUrl: Gets or sets the URL of the authorization token.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: 'ClientId: Gets or sets the client identifier.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: Gets or sets the credential secret access key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - authTokenUrl + - clientId + - clientSecret + type: object + required: + - properties + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + properties: + apnsCertificate: + description: 'ApnsCertificate: Gets or sets the APNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + AppId: Gets or sets the issuer (iss) registered claim key, whose value is + your 10-character Team ID, obtained from your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: 'AppName: Gets or sets the name of the application' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets the endpoint of this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + KeyId: Gets or sets a 10-character key identifier (kid) key, obtained from + your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the APNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + Token: Gets or sets provider Authentication Token, obtained through your + developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - endpoint + type: object + required: + - properties + type: object + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + properties: + baiduApiKey: + description: 'BaiduApiKey: Gets or sets baidu Api Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: 'BaiduEndPoint: Gets or sets baidu Endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: 'BaiduSecretKey: Gets or sets baidu Secret Key' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - baiduApiKey + - baiduEndPoint + - baiduSecretKey + type: object + required: + - properties + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + properties: + subject: + description: 'Subject: Gets or sets web push subject.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: 'VapidPrivateKey: Gets or sets VAPID private key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: 'VapidPublicKey: Gets or sets VAPID public key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - subject + - vapidPrivateKey + - vapidPublicKey + type: object + required: + - properties + type: object + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + properties: + gcmEndpoint: + description: 'GcmEndpoint: Gets or sets the GCM endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: 'GoogleApiKey: Gets or sets the Google API key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - googleApiKey + type: object + required: + - properties + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: 'MpnsCertificate: Gets or sets the MPNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the MPNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - certificateKey + - mpnsCertificate + - thumbprint + type: object + required: + - properties + type: object + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Ges or sets the WNS Certificate Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: 'PackageSid: Gets or sets the package ID for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: 'SecretKey: Gets or sets the secret key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: 'WindowsLiveEndpoint: Gets or sets the Windows Live endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: 'WnsCertificate: Gets or sets the WNS Certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + properties: + appSecret: + description: 'AppSecret: Gets or sets app secret.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets xiaomi service endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + publicNetworkAccess: + description: 'PublicNetworkAccess: Type of public network access.' + enum: + - Disabled + - Enabled type: string - name: - description: Name is the Kubernetes name of the resource. + replicationRegion: + description: 'ReplicationRegion: Allowed replication region' + enum: + - AustraliaEast + - BrazilSouth + - Default + - None + - NorthEurope + - SouthAfricaNorth + - SouthEastAsia + - WestUs2 type: string - type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - enum: - - CBLMariner - - Ubuntu - - Windows2019 - - Windows2022 - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + scaleUnit: + description: 'ScaleUnit: Gets or sets scaleUnit where the namespace gets created' type: string - name: - description: This is the name of the Kubernetes resource to reference. + zoneRedundancy: + description: 'ZoneRedundancy: Namespace SKU name.' + enum: + - Disabled + - Enabled type: string type: object - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + sku: + description: 'Sku: The Sku description for a namespace' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: + description: 'Name: Namespace SKU name.' enum: - - Running - - Stopped - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + - Basic + - Free + - Standard type: string - kind: - description: Kind is the Kubernetes kind of the resource. + size: + description: 'Size: Gets or sets the Sku size' type: string - name: - description: Name is the Kubernetes name of the resource. + tier: + description: 'Tier: Gets or sets the tier of particular sku' type: string + required: + - name type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - maxSurge: - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + description: 'Tags: Resource tags.' type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - OCIContainer - - WasmWasi - type: string required: + - location - owner + - sku type: object status: properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -175554,590 +252041,296 @@ spec: - type type: object type: array - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - exactly equal to it. If orchestratorVersion is , this field will contain the full - version being used. - type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - type: string - hostGroupID: - description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string id: - description: 'Id: Resource ID.' - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools + location: + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - type: string - type: object - properties_type: - description: 'PropertiesType: The type of Agent Pool.' - type: string - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: Resource type' - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - maxSurge: - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230201storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230201.ManagedClustersAgentPool - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-02-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230201.ManagedClustersAgentPool_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - count: - type: integer - creationData: - description: Storage version of v1api20230201.CreationData - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: + description: 'Name: The name of the resource' type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). + properties: + description: 'Properties: Represents namespace properties.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + createdAt: + description: 'CreatedAt: Time when the namespace was created.' type: string - group: - description: Group is the Kubernetes group of the resource. + critical: + description: 'Critical: Gets or sets whether or not the namespace is set as Critical.' + type: boolean + dataCenter: + description: 'DataCenter: Deprecated.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + enabled: + description: 'Enabled: Gets or sets whether or not the namespace is currently enabled.' + type: boolean + metricId: + description: 'MetricId: Azure Insights Metrics id.' type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: Storage version of v1api20230201.KubeletConfig - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: + Name: Name of the Notification Hubs namespace. This is immutable property, set automatically + by the service when the namespace is created. type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: + namespaceType: + description: 'NamespaceType: Defines values for NamespaceType.' type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: Storage version of v1api20230201.LinuxOSConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20230201.SysctlConfig + networkAcls: + description: 'NetworkAcls: A collection of network authorization rules.' properties: - $propertyBag: - additionalProperties: - type: string + ipRules: + description: 'IpRules: List of IP rules.' + items: + description: A network authorization rule that filters traffic based on IP address. + properties: + ipMask: + description: 'IpMask: IP mask.' + type: string + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + type: array + publicNetworkRule: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + PublicNetworkRule: A default (public Internet) network authorization rule, which contains rights if no other network + rule matches. + properties: + rights: + description: 'Rights: List of access rights.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + type: object + pnsCredentials: + description: 'PnsCredentials: Collection of Notification Hub or Notification Hub Namespace PNS credentials.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + type: object + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + type: object + type: object + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + type: object + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + type: object + type: object + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + type: object + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + type: object + type: object + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + type: object + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + type: object type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer type: object - transparentHugePageDefrag: + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private Endpoint Connections for namespace' + items: + description: Represents a Private Endpoint Connection ARM resource - a sub-resource of Notification Hubs namespace. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Defines values for OperationProvisioningState.' type: string - transparentHugePageEnabled: + publicNetworkAccess: + description: 'PublicNetworkAccess: Type of public network access.' + type: string + region: + description: |- + Region: Region. The value is always set to the same value as Namespace.Location, so we are deprecating + this property. + type: string + replicationRegion: + description: 'ReplicationRegion: Allowed replication region' + type: string + scaleUnit: + description: 'ScaleUnit: Gets or sets scaleUnit where the namespace gets created' + type: string + serviceBusEndpoint: + description: |- + ServiceBusEndpoint: Gets or sets endpoint you can use to perform NotificationHub + operations. + type: string + status: + description: 'Status: Namespace status.' + type: string + subscriptionId: + description: 'SubscriptionId: Namespace subscription id.' + type: string + updatedAt: + description: 'UpdatedAt: Time when the namespace was updated.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Namespace SKU name.' type: string type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - nodeLabels: - additionalProperties: - type: string + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - group: - description: Group is the Kubernetes group of the resource. + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - name: - description: Name is the Kubernetes name of the resource. + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - nodeTaints: - items: + tags: + additionalProperties: type: string - type: array + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.Namespace + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string operatorSpec: description: |- - Storage version of v1api20230201.ManagedClustersAgentPoolOperatorSpec + Storage version of v1api20230901.NamespaceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -176176,6 +252369,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20230901.NamespaceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + serviceBusEndpoint: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -176205,24 +252427,97 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20230901.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - type: string originalVersion: type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -176231,31 +252526,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetReference: + properties: description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: Storage version of v1api20230201.PowerState + Storage version of v1api20230901.NamespaceProperties + Represents namespace properties. properties: $propertyBag: additionalProperties: @@ -176264,45 +252538,788 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + dataCenter: type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + namespaceType: type: string - name: - description: Name is the Kubernetes name of the resource. + networkAcls: + description: |- + Storage version of v1api20230901.NetworkAcls + A collection of network authorization rules. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20230901.IpRule + A network authorization rule that filters traffic based on IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipMask: + type: string + rights: + items: + type: string + type: array + type: object + type: array + publicNetworkRule: + description: |- + Storage version of v1api20230901.PublicInternetAuthorizationRule + A default (public Internet) network authorization rule, which contains rights if no other network rule matches. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rights: + items: + type: string + type: array + type: object + type: object + pnsCredentials: + description: |- + Storage version of v1api20230901.PnsCredentials + Collection of Notification Hub or Notification Hub Namespace PNS credentials. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: + description: |- + Storage version of v1api20230901.AdmCredential + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authTokenUrl: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baiduApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subject: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + gcmEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + type: object + publicNetworkAccess: + type: string + replicationRegion: + type: string + scaleUnit: + type: string + zoneRedundancy: type: string type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: Storage version of v1api20230201.AgentPoolUpgradeSettings + sku: + description: |- + Storage version of v1api20230901.Sku + The Sku description for a namespace properties: $propertyBag: additionalProperties: @@ -176311,41 +253328,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxSurge: - type: string - type: object - vmSize: - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + capacity: + type: integer + family: type: string - group: - description: Group is the Kubernetes group of the resource. + name: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + size: type: string - name: - description: Name is the Kubernetes name of the resource. + tier: type: string type: object - workloadRuntime: - type: string + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20230201.ManagedClustersAgentPool_STATUS + description: Storage version of v1api20230901.Namespace_STATUS properties: $propertyBag: additionalProperties: @@ -176354,10 +253356,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - availabilityZones: - items: - type: string - type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -176401,41 +253399,16 @@ spec: - type type: object type: array - count: - type: integer - creationData: - description: Storage version of v1api20230201.CreationData_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: + id: type: string - hostGroupID: + location: type: string - id: + name: type: string - kubeletConfig: - description: Storage version of v1api20230201.KubeletConfig_STATUS + properties: + description: |- + Storage version of v1api20230901.NamespaceProperties_STATUS + Represents namespace properties. properties: $propertyBag: additionalProperties: @@ -176444,47 +253417,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: + createdAt: type: string - cpuManagerPolicy: + critical: + type: boolean + dataCenter: type: string - failSwapOn: + enabled: type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: + metricId: type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: Storage version of v1api20230201.LinuxOSConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + name: + type: string + namespaceType: + type: string + networkAcls: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20230201.SysctlConfig_STATUS + Storage version of v1api20230901.NetworkAcls_STATUS + A collection of network authorization rules. properties: $propertyBag: additionalProperties: @@ -176493,1348 +253443,399 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - name: - type: string - nodeImageVersion: - type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podSubnetID: - type: string - powerState: - description: Storage version of v1api20230201.PowerState_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - properties_type: - type: string - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: Storage version of v1api20230201.AgentPoolUpgradeSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxSurge: - type: string - type: object - vmSize: - type: string - vnetSubnetID: - type: string - workloadRuntime: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20231001 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 12 - minLength: 1 - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: + ipRules: + items: + description: |- + Storage version of v1api20230901.IpRule_STATUS + A network authorization rule that filters traffic based on IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipMask: + type: string + rights: + items: + type: string + type: array + type: object + type: array + publicNetworkRule: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + Storage version of v1api20230901.PublicInternetAuthorizationRule_STATUS + A default (public Internet) network authorization rule, which contains rights if no other network rule matches. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rights: + items: + type: string + type: array + type: object type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - minimum: 2 - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. - type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: + pnsCredentials: description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' + Storage version of v1api20230901.PnsCredentials_STATUS + Collection of Notification Hub or Notification Hub Namespace PNS credentials. properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: - description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - maximum: 65535 - minimum: 1 - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: - description: |- - ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - created. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + $propertyBag: + additionalProperties: type: string - required: - - name - - value - type: object - type: array - type: object - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - enum: - - AzureLinux - - CBLMariner - - Ubuntu - - Windows2019 - - Windows2022 - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: + description: |- + Storage version of v1api20230901.AdmCredential_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential_STATUS + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties_STATUS + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230901.PrivateEndpointConnectionResource_STATUS + Represents a Private Endpoint Connection ARM resource - a sub-resource of Notification Hubs namespace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: type: string - type: object - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + publicNetworkAccess: type: string - group: - description: Group is the Kubernetes group of the resource. + region: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + replicationRegion: type: string - name: - description: Name is the Kubernetes name of the resource. + scaleUnit: type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' - enum: - - Running - - Stopped + serviceBusEndpoint: type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + status: type: string - group: - description: Group is the Kubernetes group of the resource. + subscriptionId: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + updatedAt: type: string - name: - description: Name is the Kubernetes name of the resource. + zoneRedundancy: type: string type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - spotMaxPrice: + sku: description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' + Storage version of v1api20230901.Sku_STATUS + The Sku description for a namespace properties: - drainTimeoutInMinutes: + $propertyBag: + additionalProperties: + type: string description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - maximum: 1440 - minimum: 1 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + family: type: string name: - description: Name is the Kubernetes name of the resource. type: string - type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - OCIContainer - - WasmWasi - type: string - required: - - owner - type: object - status: - properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' + size: + type: string + tier: type: string type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - exactly equal to it. If orchestratorVersion is , this field will contain the full - version being used. - type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - type: string - hostGroupID: + systemData: description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string - id: - description: 'Id: Resource ID.' - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: + $propertyBag: + additionalProperties: type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. + createdBy: type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + createdByType: type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: - description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + lastModifiedAt: type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + lastModifiedBy: type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - type: string - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' - items: - type: string - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string - type: object - type: array - type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + lastModifiedByType: type: string type: object - properties_type: - description: 'PropertiesType: The type of Agent Pool.' - type: string - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - type: string - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' type: object type: - description: 'Type: Resource type' - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespaces.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: Namespace + listKind: NamespaceList + plural: namespaces + singular: namespace + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -177848,14 +253849,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231001storage + name: v1api20210101preview schema: openAPIV3Schema: description: |- - Storage version of v1api20231001.ManagedClustersAgentPool Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2023-10-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -177875,367 +253875,112 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231001.ManagedClustersAgentPool_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: |- - Storage version of v1api20231001.CreationData - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: |- - Storage version of v1api20231001.KubeletConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: |- - Storage version of v1api20231001.LinuxOSConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20231001.SysctlConfig - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - networkProfile: - description: |- - Storage version of v1api20231001.AgentPoolNetworkProfile - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - description: |- - Storage version of v1api20231001.PortRange - The port range. + description: Properties to configure keyVault Properties properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + keyName: + description: 'KeyName: Name of the Key from KeyVault' type: string - type: object - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20231001.IPTag - Contains the IPTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' type: string - tag: + keyVersion: + description: 'KeyVersion: Version of KeyVault' type: string type: object type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean type: object - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + identity: + description: 'Identity: Properties of BYOK Identity description' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - nodeTaints: - items: - type: string - type: array + location: + description: 'Location: The Geo-location where the resource lives' + type: string operatorSpec: description: |- - Storage version of v1api20231001.ManagedClustersAgentPoolOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -178265,6 +254010,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -178293,24 +254039,99 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - type: string - originalVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -178319,142 +254140,45 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + sku: + description: 'Sku: Properties of SKU' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - Storage version of v1api20231001.PowerState - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard type: string - name: - description: Name is the Kubernetes name of the resource. + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard type: string + required: + - name type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - spotMaxPrice: - type: number tags: additionalProperties: type: string + description: 'Tags: Resource tags' type: object - type: - type: string - upgradeSettings: - description: |- - Storage version of v1api20231001.AgentPoolUpgradeSettings - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - type: object - vmSize: - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - workloadRuntime: - type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean required: + - location - owner type: object status: - description: Storage version of v1api20231001.ManagedClustersAgentPool_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: - type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -178497,317 +254221,147 @@ spec: - type type: object type: array - count: - type: integer - creationData: - description: |- - Storage version of v1api20231001.CreationData_STATUS - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupID: - type: string - id: + createdAt: + description: 'CreatedAt: The time the namespace was created' type: string - kubeletConfig: - description: |- - Storage version of v1api20231001.KubeletConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - type: string + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string type: object - kubeletDiskType: + id: + description: 'Id: Resource Id' type: string - linuxOSConfig: - description: |- - Storage version of v1api20231001.LinuxOSConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + identity: + description: 'Identity: Properties of BYOK Identity description' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20231001.SysctlConfig_STATUS - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' type: string - transparentHugePageEnabled: + tenantId: + description: 'TenantId: TenantId from the KeyVault' type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: |- - Storage version of v1api20231001.AgentPoolNetworkProfile_STATUS - Network settings of an agent pool. - properties: - $propertyBag: + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20231001.PortRange_STATUS - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - description: |- - Storage version of v1api20231001.IPTag_STATUS - Contains the IPTag associated with the object. + description: Recognized Dictionary value. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: + clientId: + description: 'ClientId: Client Id of user assigned identity' type: string - tag: + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' type: string type: object - type: array + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object type: object - nodeImageVersion: + location: + description: 'Location: The Geo-location where the resource lives' type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' type: string - nodeTaints: + name: + description: 'Name: Resource name' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' items: - type: string + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: 'Id: Resource Id' + type: string + type: object type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' type: string - podSubnetID: + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' type: string - powerState: - description: |- - Storage version of v1api20231001.PowerState_STATUS - Describes the Power State of the cluster + sku: + description: 'Sku: Properties of SKU' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' type: string type: object - properties_type: - type: string - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: + status: + description: 'Status: Status of the namespace.' type: string - spotMaxPrice: - type: number + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags' type: object type: + description: 'Type: Resource type' type: string - upgradeSettings: - description: |- - Storage version of v1api20231001.AgentPoolUpgradeSettings_STATUS - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - type: object - vmSize: - type: string - vnetSubnetID: - type: string - workloadRuntime: + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean type: object type: object served: true @@ -178827,13 +254381,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231102preview + name: v1api20210101previewstorage schema: openAPIV3Schema: description: |- + Storage version of v1api20210101preview.Namespace Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -178853,385 +254408,154 @@ spec: metadata: type: object spec: + description: Storage version of v1api20210101preview.Namespace_Spec properties: - artifactStreamingProfile: - description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' - properties: - enabled: - type: boolean - type: object - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: + $propertyBag: + additionalProperties: type: string - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 12 - minLength: 1 - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableCustomCATrust: - description: |- - EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - certificates into node trust stores. Defaults to false. - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - gpuProfile: - description: 'GpuProfile: The GPU settings of an agent pool.' - properties: - installGPUDriver: - type: boolean - type: object - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - minimum: 2 - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - messageOfTheDay: - description: |- - MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - will be printed raw and not be executed as a script). - type: string - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: + azureName: description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - items: - properties: - portEnd: - maximum: 65535 - minimum: 1 - type: integer - portStart: - maximum: 65535 - minimum: 1 - type: integer - protocol: - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: |- + Storage version of v1api20210101preview.Encryption + Properties to configure Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keySource: + type: string + keyVaultProperties: items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + Storage version of v1api20210101preview.KeyVaultProperties + Properties to configure keyVault Properties properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20210101preview.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: type: string - type: object - type: array - nodePublicIPTags: - items: - properties: - ipTagType: + keyVaultUri: type: string - tag: + keyVersion: type: string type: object type: array + requireInfrastructureEncryption: + type: boolean type: object - nodeInitializationTaints: - description: |- - NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - nodes node1 key1=value1:NoSchedule-` - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: + identity: description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + Storage version of v1api20210101preview.Identity + Properties to configure User Assigned Identities for Bring your Own Keys properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20210101preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array + location: + type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20210101preview.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -179261,7 +254585,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -179290,55 +254613,115 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20210101preview.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version and are supported. When is - specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - must have the same major version as the control plane. The node pool minor version must be within two minor versions of - the control plane version. The node pool version cannot be greater than the control plane version. For more information - see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - deprecated. - enum: - - AzureLinux - - CBLMariner - - Mariner - - Ubuntu - - Windows2019 - - Windows2022 - - WindowsAnnual - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows + originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -179347,220 +254730,45 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: + sku: description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - enum: - - Running - - Stopped - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + Storage version of v1api20210101preview.SBSku + SKU of the namespace. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer name: - description: Name is the Kubernetes name of the resource. type: string - type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - enum: - - Disabled - - LocalUser + tier: type: string type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - - VirtualMachines - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - maximum: 1440 - minimum: 1 - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - maximum: 30 - minimum: 0 - type: integer - type: object - virtualMachineNodesStatus: - items: - properties: - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: - description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' - properties: - scale: - properties: - manual: - items: - properties: - count: - maximum: 1000 - minimum: 0 - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - type: boolean type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - KataMshvVmIsolation - - OCIContainer - - WasmWasi - type: string + zoneRedundant: + type: boolean required: - owner type: object status: + description: Storage version of v1api20210101preview.Namespace_STATUS properties: - artifactStreamingProfile: - description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' - properties: - enabled: - type: boolean - type: object - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: + $propertyBag: + additionalProperties: type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -179603,399 +254811,182 @@ spec: - type type: object type: array - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be - exactly equal to it. If orchestratorVersion was , this field will contain the full - version being used. - type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableCustomCATrust: - description: |- - EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - certificates into node trust stores. Defaults to false. - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' + createdAt: type: string - gpuProfile: - description: 'GpuProfile: The GPU settings of an agent pool.' - properties: - installGPUDriver: - type: boolean - type: object - hostGroupID: + encryption: description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string - id: - description: 'Id: Resource ID.' - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' + Storage version of v1api20210101preview.Encryption_STATUS + Properties to configure Encryption properties: - allowedUnsafeSysctls: - items: + $propertyBag: + additionalProperties: type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - type: integer - sysctls: - properties: - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + keySource: type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - messageOfTheDay: - description: |- - MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - will be printed raw and not be executed as a script). - type: string - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: + keyVaultProperties: items: + description: |- + Storage version of v1api20210101preview.KeyVaultProperties_STATUS + Properties to configure keyVault Properties properties: - portEnd: - type: integer - portStart: - type: integer - protocol: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20210101preview.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - properties: - ipTagType: + keyVaultUri: type: string - tag: + keyVersion: type: string type: object type: array + requireInfrastructureEncryption: + type: boolean type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' - type: string - nodeInitializationTaints: - description: |- - NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - nodes node1 key1=value1:NoSchedule-` - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version and are supported. When is - specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - must have the same major version as the control plane. The node pool minor version must be within two minor versions of - the control plane version. The node pool version cannot be greater than the control plane version. For more information - see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - deprecated. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + id: type: string - powerState: + identity: description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded + Storage version of v1api20210101preview.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys properties: - code: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20210101preview.DictionaryValue_STATUS + Recognized Dictionary value. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - properties_type: - description: 'PropertiesType: The type of Agent Pool.' - type: string - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. + location: type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + metricId: type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - type: string - type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number - tags: - additionalProperties: - type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: Resource type' + name: type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - type: object - virtualMachineNodesStatus: + privateEndpointConnections: items: + description: |- + Storage version of v1api20210101preview.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. properties: - count: - type: integer - size: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: array - virtualMachinesProfile: - description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' + provisioningState: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20210101preview.SBSku_STATUS + SKU of the namespace. properties: - scale: - properties: - manual: - items: - properties: - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + capacity: + type: integer + name: + type: string + tier: + type: string type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions + status: type: string - vnetSubnetID: + systemData: description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - disableOutboundNat: - type: boolean + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: type: string + zoneRedundant: + type: boolean type: object type: object served: true @@ -180015,14 +255006,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231102previewstorage + name: v1api20211101 schema: openAPIV3Schema: description: |- - Storage version of v1api20231102preview.ManagedClustersAgentPool Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2023-11-02-preview/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -180042,387 +255032,118 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231102preview.ManagedClustersAgentPool_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - artifactStreamingProfile: - description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: Storage version of v1api20231102preview.CreationData - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' type: boolean - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20231102preview.AgentPoolGPUProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean - type: object - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: Storage version of v1api20231102preview.KubeletConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: Storage version of v1api20231102preview.LinuxOSConfig + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20231102preview.SysctlConfig - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - networkProfile: - description: Storage version of v1api20231102preview.AgentPoolNetworkProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - description: Storage version of v1api20231102preview.PortRange + description: Properties to configure keyVault Properties properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + keyName: + description: 'KeyName: Name of the Key from KeyVault' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' type: string - name: - description: Name is the Kubernetes name of the resource. + keyVersion: + description: 'KeyVersion: Version of KeyVault' type: string type: object type: array - nodePublicIPTags: + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' items: - description: Storage version of v1api20231102preview.IPTag + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - ipTagType: - type: string - tag: - type: string type: object type: array type: object - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: - type: string - type: array + location: + description: 'Location: The Geo-location where the resource lives' + type: string operatorSpec: description: |- - Storage version of v1api20231102preview.ManagedClustersAgentPoolOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -180452,6 +255173,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -180480,24 +255202,99 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - type: string - originalVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -180506,70 +255303,304 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + sku: + description: 'Sku: Properties of SKU' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + enum: + - Basic + - Premium + - Standard type: string - kind: - description: Kind is the Kubernetes kind of the resource. + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard type: string - name: - description: Name is the Kubernetes name of the resource. + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + required: + - location + - owner + type: object + status: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the namespace was created' + type: string + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' + properties: + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' + items: + description: Properties to configure keyVault Properties + properties: + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' + type: string + type: object + type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean type: object - powerState: - description: Storage version of v1api20231102preview.PowerState + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' properties: - $propertyBag: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' type: object - code: + type: object + location: + description: 'Location: The Geo-location where the resource lives' + type: string + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' + type: string + name: + description: 'Name: Resource name' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' + type: string + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of SKU' + properties: + capacity: + description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' type: string type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' + status: + description: 'Status: Status of the namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - group: - description: Group is the Kubernetes group of the resource. + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - name: - description: Name is the Kubernetes name of the resource. + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - scaleDownMode: + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Resource type' type: string - scaleSetEvictionPolicy: + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' type: string - scaleSetPriority: + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.Namespace + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.Namespace_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alternateName: type: string - securityProfile: - description: Storage version of v1api20231102preview.AgentPoolSecurityProfile + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableLocalAuth: + type: boolean + encryption: + description: |- + Storage version of v1api20211101.Encryption + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -180578,23 +255609,67 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: + keySource: type: string + keyVaultProperties: + items: + description: |- + Storage version of v1api20211101.KeyVaultProperties + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object + type: array + requireInfrastructureEncryption: + type: boolean type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings + identity: + description: |- + Storage version of v1api20211101.Identity + Properties to configure User Assigned Identities for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -180603,32 +255678,50 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - drainTimeoutInMinutes: - type: integer - maxSurge: + type: type: string - nodeSoakDurationInMinutes: - type: integer - type: object - virtualMachineNodesStatus: - items: - description: Storage version of v1api20231102preview.VirtualMachineNodes - properties: - $propertyBag: - additionalProperties: - type: string + userAssignedIdentities: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: - description: Storage version of v1api20231102preview.VirtualMachinesProfile + type: array + type: object + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.NamespaceOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -180637,8 +255730,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - scale: - description: Storage version of v1api20231102preview.ScaleProfile + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespaceOperatorSecrets properties: $propertyBag: additionalProperties: @@ -180647,54 +255798,117 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - manual: - items: - description: Storage version of v1api20231102preview.ManualScaleProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object type: object - vmSize: + originalVersion: type: string - vnetSubnetReference: + owner: description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - windowsProfile: - description: Storage version of v1api20231102preview.AgentPoolWindowsProfile + sku: + description: |- + Storage version of v1api20211101.SBSku + SKU of the namespace. properties: $propertyBag: additionalProperties: @@ -180703,16 +255917,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - disableOutboundNat: - type: boolean + capacity: + type: integer + name: + type: string + tier: + type: string type: object - workloadRuntime: - type: string + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean required: - owner type: object status: - description: Storage version of v1api20231102preview.ManagedClustersAgentPool_STATUS + description: Storage version of v1api20211101.Namespace_STATUS properties: $propertyBag: additionalProperties: @@ -180721,24 +255943,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - artifactStreamingProfile: - description: Storage version of v1api20231102preview.AgentPoolArtifactStreamingProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: + alternateName: type: string conditions: items: @@ -180783,56 +255988,14 @@ spec: - type type: object type: array - count: - type: integer - creationData: - description: Storage version of v1api20231102preview.CreationData_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: + createdAt: type: string - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: + disableLocalAuth: type: boolean - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20231102preview.AgentPoolGPUProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean - type: object - hostGroupID: - type: string - id: - type: string - kubeletConfig: - description: Storage version of v1api20231102preview.KubeletConfig_STATUS + encryption: + description: |- + Storage version of v1api20211101.Encryption_STATUS + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -180841,35 +256004,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedUnsafeSysctls: + keySource: + type: string + keyVaultProperties: items: - type: string + description: |- + Storage version of v1api20211101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20211101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: + requireInfrastructureEncryption: type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string type: object - kubeletDiskType: + id: type: string - linuxOSConfig: - description: Storage version of v1api20231102preview.LinuxOSConfig_STATUS + identity: + description: |- + Storage version of v1api20211101.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -180878,128 +256057,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - swapFileSizeMB: - type: integer - sysctls: - description: Storage version of v1api20231102preview.SysctlConfig_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: + principalId: type: string - transparentHugePageEnabled: + tenantId: type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: Storage version of v1api20231102preview.AgentPoolNetworkProfile_STATUS - properties: - $propertyBag: + type: + type: string + userAssignedIdentities: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: Storage version of v1api20231102preview.PortRange_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: - description: Storage version of v1api20231102preview.IPTag_STATUS + description: |- + Storage version of v1api20211101.UserAssignedIdentity_STATUS + Recognized Dictionary value. properties: $propertyBag: additionalProperties: @@ -181008,111 +256076,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: + clientId: type: string - tag: + principalId: type: string type: object - type: array - type: object - nodeImageVersion: - type: string - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podSubnetID: - type: string - powerState: - description: Storage version of v1api20231102preview.PowerState_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - code: - type: string type: object - properties_type: - type: string - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: + location: type: string - scaleSetPriority: + metricId: type: string - securityProfile: - description: Storage version of v1api20231102preview.AgentPoolSecurityProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: + name: type: string - upgradeSettings: - description: Storage version of v1api20231102preview.AgentPoolUpgradeSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - type: object - virtualMachineNodesStatus: + privateEndpointConnections: items: - description: Storage version of v1api20231102preview.VirtualMachineNodes_STATUS + description: |- + Storage version of v1api20211101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. properties: $propertyBag: additionalProperties: @@ -181121,59 +256102,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - count: - type: integer - size: + id: type: string type: object type: array - virtualMachinesProfile: - description: Storage version of v1api20231102preview.VirtualMachinesProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scale: - description: Storage version of v1api20231102preview.ScaleProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - manual: - items: - description: Storage version of v1api20231102preview.ManualScaleProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: + provisioningState: type: string - vnetSubnetID: + serviceBusEndpoint: type: string - windowsProfile: - description: Storage version of v1api20231102preview.AgentPoolWindowsProfile_STATUS + sku: + description: |- + Storage version of v1api20211101.SBSku_STATUS + SKU of the namespace. properties: $propertyBag: additionalProperties: @@ -181182,528 +256122,207 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240402preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - artifactStreamingProfile: - description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' - properties: - enabled: - description: |- - Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. - type: boolean - type: object - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 12 - minLength: 1 - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableCustomCATrust: - description: |- - EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - certificates into node trust stores. Defaults to false. - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gatewayProfile: - description: |- - GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is - not Gateway. - properties: - publicIPPrefixSize: - description: |- - PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide - public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with - one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure - public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 - nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. - maximum: 31 - minimum: 28 + capacity: type: integer - type: object - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - gpuProfile: - description: 'GpuProfile: The GPU settings of an agent pool.' - properties: - installGPUDriver: - description: |- - InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - installation themselves. - type: boolean - type: object - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - minimum: 2 - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. + tier: type: string type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary + status: type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: + $propertyBag: + additionalProperties: + type: string description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - messageOfTheDay: - description: |- - MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - will be printed raw and not be executed as a script). + tags: + additionalProperties: + type: string + type: object + type: type: string - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20221001preview + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + azureName: description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - Gateway - - System - - User + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - maximum: 65535 - minimum: 1 - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: - description: |- - ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - created. + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: Properties to configure keyVault Properties properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' type: string - name: - description: Name is the Kubernetes name of the resource. + keyVersion: + description: 'KeyVersion: Version of KeyVault' type: string type: object type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' items: - description: Contains the IPTag associated with the object. + description: Information about the user assigned identity for the resource properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array type: object - nodeInitializationTaints: - description: |- - NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - nodes node1 key1=value1:NoSchedule-` - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array + location: + description: 'Location: The Geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -181769,55 +256388,99 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version and are supported. When is - specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - must have the same major version as the control plane. The node pool minor version must be within two minor versions of - the control plane version. The node pool version cannot be greater than the control plane version. For more information - see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - deprecated. - enum: - - AzureLinux - - CBLMariner - - Mariner - - Ubuntu - - Windows2019 - - Windows2022 - - WindowsAnnual - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -181826,292 +256489,61 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podIPAllocationMode: + premiumMessagingPartitions: description: |- - PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is - 'DynamicIndividual'. + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' enum: - - DynamicIndividual - - StaticBlock + - Disabled + - Enabled + - SecuredByPerimeter type: string - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + sku: + description: 'Sku: Properties of SKU' properties: - armId: + capacity: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + description: 'Name: Name of this SKU.' enum: - - Running - - Stopped - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + - Basic + - Premium + - Standard type: string - type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: - description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - sshAccess: - description: 'SshAccess: SSH access method of an agent pool.' + tier: + description: 'Tier: The billing tier of this particular SKU.' enum: - - Disabled - - LocalUser + - Basic + - Premium + - Standard type: string + required: + - name type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - - VirtualMachines - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - maximum: 1440 - minimum: 1 - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - maximum: 30 - minimum: 0 - type: integer - undrainableNodeBehavior: - description: |- - UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable - nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the - remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. - enum: - - Cordon - - Schedule - type: string - type: object - virtualMachineNodesStatus: - items: - description: Current status on a group of nodes of the same vm size. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - size: - description: 'Size: The VM size of the agents used to host this group of nodes.' - type: string - type: object - type: array - virtualMachinesProfile: - description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' - properties: - scale: - description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' - properties: - autoscale: - description: |- - Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, - at most one AutoScaleProfile is allowed. - items: - description: Specifications on auto-scaling. - properties: - maxCount: - description: 'MaxCount: The maximum number of nodes of the specified sizes.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes of the specified sizes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS - will use the next size. - items: - type: string - type: array - type: object - type: array - manual: - description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' - items: - description: Specifications on number of machines. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will - use the next size. - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean + description: 'Tags: Resource tags' type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - KataMshvVmIsolation - - OCIContainer - - WasmWasi - type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean required: + - location - owner type: object status: properties: - artifactStreamingProfile: - description: 'ArtifactStreamingProfile: Configuration for using artifact streaming on AKS.' - properties: - enabled: - description: |- - Enabled: Artifact streaming speeds up the cold-start of containers on a node through on-demand image loading. To use - this feature, container images must also enable artifact streaming on ACR. If not specified, the default is false. - type: boolean - type: object - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + alternateName: + description: 'AlternateName: Alternate name for namespace' type: string conditions: description: 'Conditions: The observed state of the resource' @@ -182134,589 +256566,190 @@ spec: type: integer reason: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' - type: string - type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion was a fully specified version , this field will be - exactly equal to it. If orchestratorVersion was , this field will contain the full - version being used. - type: string - eTag: - description: |- - ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is - updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic - concurrency per the normal etag convention. - type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableCustomCATrust: - description: |- - EnableCustomCATrust: When set to true, AKS adds a label to the node indicating that the feature is enabled and deploys a - daemonset along with host services to sync custom certificate authorities from user-provided list of base64 encoded - certificates into node trust stores. Defaults to false. - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gatewayProfile: - description: |- - GatewayProfile: Profile specific to a managed agent pool in Gateway mode. This field cannot be set if agent pool mode is - not Gateway. - properties: - publicIPPrefixSize: - description: |- - PublicIPPrefixSize: The Gateway agent pool associates one public IPPrefix for each static egress gateway to provide - public egress. The size of Public IPPrefix should be selected by the user. Each node in the agent pool is assigned with - one IP from the IPPrefix. The IPPrefix size thus serves as a cap on the size of the Gateway agent pool. Due to Azure - public IPPrefix size limitation, the valid value range is [28, 31] (/31 = 2 nodes/IPs, /30 = 4 nodes/IPs, /29 = 8 - nodes/IPs, /28 = 16 nodes/IPs). The default value is 31. - type: integer - type: object - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - type: string - gpuProfile: - description: 'GpuProfile: The GPU settings of an agent pool.' - properties: - installGPUDriver: - description: |- - InstallGPUDriver: The default value is true when the vmSize of the agent pool contains a GPU, false otherwise. GPU - Driver Installation can only be set true when VM has an associated GPU resource. Setting this field to false prevents - automatic GPU driver installation. In that case, in order for the GPU to be usable, the user must perform GPU driver - installation themselves. - type: boolean - type: object - hostGroupID: - description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string - id: - description: 'Id: Resource ID.' - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. - type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: - description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - messageOfTheDay: - description: |- - MessageOfTheDay: A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of - the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., - will be printed raw and not be executed as a script). - type: string - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: + description: 'CreatedAt: The time the namespace was created' type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - description: The port range. + description: Properties to configure keyVault Properties properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' + type: string + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' + type: string + keyVersion: + description: 'KeyVersion: Version of KeyVault' type: string type: object type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' - items: - type: string - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + id: + description: 'Id: Resource Id' + type: string + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + clientId: + description: 'ClientId: Client Id of user assigned identity' type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' type: string type: object - type: array + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' + location: + description: 'Location: The Geo-location where the resource lives' type: string - nodeInitializationTaints: - description: |- - NodeInitializationTaints: These taints will not be reconciled by AKS and can be removed with a kubectl call. This field - can be modified after node pool is created, but nodes will not be recreated with new taints until another operation that - requires recreation (e.g. node image upgrade) happens. These taints allow for required configuration to run before the - node is ready to accept workloads, for example 'key1=value1:NoSchedule' that then can be removed with `kubectl taint - nodes node1 key1=value1:NoSchedule-` - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version and are supported. When is - specified, the latest supported patch version is chosen automatically. Updating the agent pool with the same - once it has been created will not trigger an upgrade, even if a newer patch version is available. As a - best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version - must have the same major version as the control plane. The node pool minor version must be within two minor versions of - the control plane version. The node pool version cannot be greater than the control plane version. For more information - see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). + name: + description: 'Name: Resource name' type: string - osSKU: + premiumMessagingPartitions: description: |- - OsSKU: Specifies the OS SKU used by the agent pool. If not specified, the default is Ubuntu if OSType=Linux or - Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is - deprecated. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' type: string - podIPAllocationMode: - description: |- - PodIPAllocationMode: The IP allocation mode for pods in the agent pool. Must be used with podSubnetId. The default is - 'DynamicIndividual'. + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded + sku: + description: 'Sku: Properties of SKU' properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + capacity: + description: |- + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' type: string type: object - properties_type: - description: 'PropertiesType: The type of Agent Pool.' - type: string - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' - type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' - type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + status: + description: 'Status: Status of the namespace.' type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: - description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - sshAccess: - description: 'SshAccess: SSH access method of an agent pool.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + description: 'Tags: Resource tags' type: object type: description: 'Type: Resource type' type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - type: integer - undrainableNodeBehavior: - description: |- - UndrainableNodeBehavior: Defines the behavior for undrainable nodes during upgrade. The most common cause of undrainable - nodes is Pod Disruption Budgets (PDBs), but other issues, such as pod termination grace period is exceeding the - remaining per-node drain timeout or pod is still being in a running state, can also cause undrainable nodes. - type: string - type: object - virtualMachineNodesStatus: - items: - description: Current status on a group of nodes of the same vm size. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - size: - description: 'Size: The VM size of the agents used to host this group of nodes.' - type: string - type: object - type: array - virtualMachinesProfile: - description: 'VirtualMachinesProfile: Specifications on VirtualMachines agent pool.' - properties: - scale: - description: 'Scale: Specifications on how to scale a VirtualMachines agent pool.' - properties: - autoscale: - description: |- - Autoscale: Specifications on how to auto-scale the VirtualMachines agent pool within a predefined size range. Currently, - at most one AutoScaleProfile is allowed. - items: - description: Specifications on auto-scaling. - properties: - maxCount: - description: 'MaxCount: The maximum number of nodes of the specified sizes.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes of the specified sizes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when auto scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS - will use the next size. - items: - type: string - type: array - type: object - type: array - manual: - description: 'Manual: Specifications on how to scale the VirtualMachines agent pool to a fixed size.' - items: - description: Specifications on number of machines. - properties: - count: - description: 'Count: Number of nodes.' - type: integer - sizes: - description: |- - Sizes: The list of allowed vm sizes e.g. ['Standard_E4s_v3', 'Standard_E16s_v3', 'Standard_D16s_v5']. AKS will use the - first available one when scaling. If a VM size is unavailable (e.g. due to quota or regional capacity reasons), AKS will - use the next size. - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean - type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean type: object type: object served: true @@ -182736,14 +256769,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240402previewstorage + name: v1api20221001previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20240402preview.ManagedClustersAgentPool + Storage version of v1api20221001preview.Namespace Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -182763,7 +256796,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240402preview.ManagedClustersAgentPool_Spec + description: Storage version of v1api20221001preview.Namespace_Spec properties: $propertyBag: additionalProperties: @@ -182772,191 +256805,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - artifactStreamingProfile: - description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array + alternateName: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: |- - Storage version of v1api20240402preview.CreationData - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: + disableLocalAuth: type: boolean - gatewayProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolGatewayProfile - Profile of the managed cluster gateway agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixSize: - type: integer - type: object - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20240402preview.AgentPoolGPUProfile - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean - type: object - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: |- - Storage version of v1api20240402preview.KubeletConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: + encryption: description: |- - Storage version of v1api20240402preview.LinuxOSConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + Storage version of v1api20221001preview.Encryption + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -182965,109 +256826,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20240402preview.SysctlConfig - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + keySource: type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - networkProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolNetworkProfile - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: + keyVaultProperties: items: description: |- - Storage version of v1api20240402preview.PortRange - The port range. + Storage version of v1api20221001preview.KeyVaultProperties + Properties to configure keyVault Properties properties: $propertyBag: additionalProperties: @@ -183076,41 +256841,67 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + identity: + description: Storage version of v1api20221001preview.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + keyVaultUri: type: string - name: - description: Name is the Kubernetes name of the resource. + keyVersion: type: string type: object type: array - nodePublicIPTags: + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20221001preview.Identity + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: items: description: |- - Storage version of v1api20240402preview.IPTag - Contains the IPTag associated with the object. + Storage version of v1api20221001preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -183119,50 +256910,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: - type: string - tag: - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array type: object - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: - type: string - type: array + location: + type: string + minimumTlsVersion: + type: string operatorSpec: description: |- - Storage version of v1api20240402preview.ManagedClustersAgentPoolOperatorSpec + Storage version of v1api20221001preview.NamespaceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -183222,189 +256999,16 @@ spec: type: string value: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - orchestratorVersion: - type: string - originalVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - podIPAllocationMode: - type: string - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - Storage version of v1api20240402preview.PowerState - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - securityProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolSecurityProfile - The security settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: - type: string - upgradeSettings: - description: |- - Storage version of v1api20240402preview.AgentPoolUpgradeSettings - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - undrainableNodeBehavior: - type: string - type: object - virtualMachineNodesStatus: - items: - description: |- - Storage version of v1api20240402preview.VirtualMachineNodes - Current status on a group of nodes of the same vm size. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - size: - type: string - type: object - type: array - virtualMachinesProfile: - description: |- - Storage version of v1api20240402preview.VirtualMachinesProfile - Specifications on VirtualMachines agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scale: - description: |- - Storage version of v1api20240402preview.ScaleProfile - Specifications on how to scale a VirtualMachines agent pool. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20221001preview.NamespaceOperatorSecrets properties: $propertyBag: additionalProperties: @@ -183413,81 +257017,121 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoscale: - items: - description: |- - Storage version of v1api20240402preview.AutoScaleProfile - Specifications on auto-scaling. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxCount: - type: integer - minCount: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - manual: - items: - description: |- - Storage version of v1api20240402preview.ManualScaleProfile - Specifications on number of machines. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object type: object - vmSize: + originalVersion: type: string - vnetSubnetReference: + owner: description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - windowsProfile: + premiumMessagingPartitions: + type: integer + publicNetworkAccess: + type: string + sku: description: |- - Storage version of v1api20240402preview.AgentPoolWindowsProfile - The Windows agent pool's specific profile. + Storage version of v1api20221001preview.SBSku + SKU of the namespace. properties: $propertyBag: additionalProperties: @@ -183496,16 +257140,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - disableOutboundNat: - type: boolean + capacity: + type: integer + name: + type: string + tier: + type: string type: object - workloadRuntime: - type: string + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean required: - owner type: object status: - description: Storage version of v1api20240402preview.ManagedClustersAgentPool_STATUS + description: Storage version of v1api20221001preview.Namespace_STATUS properties: $propertyBag: additionalProperties: @@ -183514,24 +257166,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - artifactStreamingProfile: - description: Storage version of v1api20240402preview.AgentPoolArtifactStreamingProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: + alternateName: type: string conditions: items: @@ -183576,77 +257211,14 @@ spec: - type type: object type: array - count: - type: integer - creationData: - description: |- - Storage version of v1api20240402preview.CreationData_STATUS - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - eTag: + createdAt: type: string - enableAutoScaling: - type: boolean - enableCustomCATrust: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: + disableLocalAuth: type: boolean - gatewayProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolGatewayProfile_STATUS - Profile of the managed cluster gateway agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - publicIPPrefixSize: - type: integer - type: object - gpuInstanceProfile: - type: string - gpuProfile: - description: Storage version of v1api20240402preview.AgentPoolGPUProfile_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - installGPUDriver: - type: boolean - type: object - hostGroupID: - type: string - id: - type: string - kubeletConfig: + encryption: description: |- - Storage version of v1api20240402preview.KubeletConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + Storage version of v1api20221001preview.Encryption_STATUS + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -183655,37 +257227,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedUnsafeSysctls: + keySource: + type: string + keyVaultProperties: items: - type: string + description: |- + Storage version of v1api20221001preview.KeyVaultProperties_STATUS + Properties to configure keyVault Properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identity: + description: Storage version of v1api20221001preview.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: + type: string + type: object type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: + requireInfrastructureEncryption: type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string type: object - kubeletDiskType: + id: type: string - linuxOSConfig: + identity: description: |- - Storage version of v1api20240402preview.LinuxOSConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + Storage version of v1api20221001preview.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys properties: $propertyBag: additionalProperties: @@ -183694,136 +257280,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20240402preview.SysctlConfig_STATUS - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: + principalId: type: string - transparentHugePageEnabled: + tenantId: type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - messageOfTheDay: - type: string - minCount: - type: integer - mode: - type: string - name: - type: string - networkProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolNetworkProfile_STATUS - Network settings of an agent pool. - properties: - $propertyBag: + type: + type: string + userAssignedIdentities: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: - items: - description: |- - Storage version of v1api20240402preview.PortRange_STATUS - The port range. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroups: - items: - type: string - type: array - nodePublicIPTags: - items: description: |- - Storage version of v1api20240402preview.IPTag_STATUS - Contains the IPTag associated with the object. + Storage version of v1api20221001preview.UserAssignedIdentity_STATUS + Recognized Dictionary value. properties: $propertyBag: additionalProperties: @@ -183832,123 +257299,28 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: + clientId: type: string - tag: + principalId: type: string type: object - type: array - type: object - nodeImageVersion: - type: string - nodeInitializationTaints: - items: - type: string - type: array - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: - type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: - type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string - podIPAllocationMode: - type: string - podSubnetID: - type: string - powerState: - description: |- - Storage version of v1api20240402preview.PowerState_STATUS - Describes the Power State of the cluster - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - code: - type: string type: object - properties_type: - type: string - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: + location: type: string - scaleSetEvictionPolicy: + metricId: type: string - scaleSetPriority: + minimumTlsVersion: type: string - securityProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolSecurityProfile_STATUS - The security settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - sshAccess: - type: string - type: object - spotMaxPrice: - type: number - tags: - additionalProperties: - type: string - type: object - type: + name: type: string - upgradeSettings: - description: |- - Storage version of v1api20240402preview.AgentPoolUpgradeSettings_STATUS - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - undrainableNodeBehavior: - type: string - type: object - virtualMachineNodesStatus: + premiumMessagingPartitions: + type: integer + privateEndpointConnections: items: description: |- - Storage version of v1api20240402preview.VirtualMachineNodes_STATUS - Current status on a group of nodes of the same vm size. + Storage version of v1api20221001preview.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. properties: $propertyBag: additionalProperties: @@ -183957,561 +257329,229 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - count: - type: integer - size: + id: type: string type: object - type: array - virtualMachinesProfile: - description: |- - Storage version of v1api20240402preview.VirtualMachinesProfile_STATUS - Specifications on VirtualMachines agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - scale: - description: |- - Storage version of v1api20240402preview.ScaleProfile_STATUS - Specifications on how to scale a VirtualMachines agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscale: - items: - description: |- - Storage version of v1api20240402preview.AutoScaleProfile_STATUS - Specifications on auto-scaling. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxCount: - type: integer - minCount: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - manual: - items: - description: |- - Storage version of v1api20240402preview.ManualScaleProfile_STATUS - Specifications on number of machines. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - sizes: - items: - type: string - type: array - type: object - type: array - type: object - type: object - vmSize: - type: string - vnetSubnetID: - type: string - windowsProfile: - description: |- - Storage version of v1api20240402preview.AgentPoolWindowsProfile_STATUS - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240901 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 12 - minLength: 1 - pattern: ^[a-z][a-z0-9]{0,11}$ - type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' - type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - enum: - - MIG1g - - MIG2g - - MIG3g - - MIG4g - - MIG7g - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - minimum: 2 - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. - type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - enum: - - OS - - Temporary - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' - properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - maximum: 90 - minimum: 10 - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - maximum: 524288 - minimum: 65536 - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - maximum: 2097152 - minimum: 131072 - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + serviceBusEndpoint: + type: string + sku: + description: |- + Storage version of v1api20221001preview.SBSku_STATUS + SKU of the namespace. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: type: string - transparentHugePageEnabled: + tier: + type: string + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: + tags: + additionalProperties: + type: string + type: object + type: + type: string + updatedAt: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + alternateName: + description: 'AlternateName: Alternate name for namespace' + type: string + azureName: description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - enum: - - System - - User + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + type: boolean + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' - items: - description: The port range. - properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - maximum: 65535 - minimum: 1 - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - maximum: 65535 - minimum: 1 - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' - enum: - - TCP - - UDP - type: string - type: object - type: array - applicationSecurityGroupsReferences: - description: |- - ApplicationSecurityGroupsReferences: The IDs of the application security groups which agent pool will associate when - created. + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' + enum: + - Microsoft.KeyVault + type: string + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: Properties to configure keyVault Properties properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + identity: + properties: + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' type: string - name: - description: Name is the Kubernetes name of the resource. + keyVersion: + description: 'KeyVersion: Version of KeyVault' type: string type: object type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean + type: object + identity: + description: 'Identity: Properties of BYOK Identity description' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Properties for User Assigned Identities' items: - description: Contains the IPTag associated with the object. + description: Information about the user assigned identity for the resource properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array type: object - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array + location: + description: 'Location: The Geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -184577,53 +257617,99 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + endpoint: + description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - maximum: 2048 - minimum: 0 - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - enum: - - Ephemeral - - Managed - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - enum: - - AzureLinux - - CBLMariner - - Ubuntu - - Windows2019 - - Windows2022 - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - enum: - - Linux - - Windows - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -184632,197 +257718,61 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetReference: + premiumMessagingPartitions: description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + enum: + - Disabled + - Enabled + - SecuredByPerimeter + type: string + sku: + description: 'Sku: Properties of SKU' properties: - armId: + capacity: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded - properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + description: 'Name: Name of this SKU.' enum: - - Running - - Stopped - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + - Basic + - Premium + - Standard type: string - name: - description: Name is the Kubernetes name of the resource. + tier: + description: 'Tier: The billing tier of this particular SKU.' + enum: + - Basic + - Premium + - Standard type: string + required: + - name type: object - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' - enum: - - Deallocate - - Delete - type: string - scaleSetEvictionPolicy: - description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. - enum: - - Deallocate - - Delete - type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' - enum: - - Regular - - Spot - type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' - properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: - description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' - type: object - type: - description: 'Type: The type of Agent Pool.' - enum: - - AvailabilitySet - - VirtualMachineScaleSets - type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - maximum: 1440 - minimum: 1 - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - maximum: 30 - minimum: 0 - type: integer - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean + description: 'Tags: Resource tags' type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' - enum: - - OCIContainer - - WasmWasi - type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean required: + - location - owner type: object status: properties: - availabilityZones: - description: |- - AvailabilityZones: The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType - property is 'VirtualMachineScaleSets'. - items: - type: string - type: array - capacityReservationGroupID: - description: 'CapacityReservationGroupID: AKS will associate the specified agent pool with the Capacity Reservation Group.' + alternateName: + description: 'AlternateName: Alternate name for namespace' type: string conditions: description: 'Conditions: The observed state of the resource' @@ -184868,444 +257818,167 @@ spec: - type type: object type: array - count: - description: |- - Count: Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) - for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. - type: integer - creationData: - description: |- - CreationData: CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using - a snapshot. - properties: - sourceResourceId: - description: 'SourceResourceId: This is the ARM ID of the source object to be used to create the target object.' - type: string - type: object - currentOrchestratorVersion: - description: |- - CurrentOrchestratorVersion: If orchestratorVersion is a fully specified version , this field will be - exactly equal to it. If orchestratorVersion is , this field will contain the full - version being used. - type: string - eTag: - description: |- - ETag: Unique read-only string used to implement optimistic concurrency. The eTag value will change when the resource is - updated. Specify an if-match or if-none-match header with the eTag value for a subsequent request to enable optimistic - concurrency per the normal etag convention. + createdAt: + description: 'CreatedAt: The time the namespace was created' type: string - enableAutoScaling: - description: 'EnableAutoScaling: Whether to enable auto-scaler' - type: boolean - enableEncryptionAtHost: - description: |- - EnableEncryptionAtHost: This is only supported on certain VM sizes and in certain Azure regions. For more information, - see: https://docs.microsoft.com/azure/aks/enable-host-encryption - type: boolean - enableFIPS: - description: |- - EnableFIPS: See [Add a FIPS-enabled node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more - details. - type: boolean - enableNodePublicIP: - description: |- - EnableNodePublicIP: Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. - A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine - to minimize hops. For more information see [assigning a public IP per - node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The - default is false. - type: boolean - enableUltraSSD: - description: 'EnableUltraSSD: Whether to enable UltraSSD' + disableLocalAuth: + description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' type: boolean - gpuInstanceProfile: - description: 'GpuInstanceProfile: GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU.' - type: string - hostGroupID: - description: |- - HostGroupID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - type: string - id: - description: 'Id: Resource ID.' - type: string - kubeletConfig: - description: 'KubeletConfig: The Kubelet configuration on the agent pool nodes.' - properties: - allowedUnsafeSysctls: - description: 'AllowedUnsafeSysctls: Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).' - items: - type: string - type: array - containerLogMaxFiles: - description: |- - ContainerLogMaxFiles: The maximum number of container log files that can be present for a container. The number must be - ≥ 2. - type: integer - containerLogMaxSizeMB: - description: 'ContainerLogMaxSizeMB: The maximum size (e.g. 10Mi) of container log file before it is rotated.' - type: integer - cpuCfsQuota: - description: 'CpuCfsQuota: The default is true.' - type: boolean - cpuCfsQuotaPeriod: - description: |- - CpuCfsQuotaPeriod: The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and - a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'. - type: string - cpuManagerPolicy: - description: |- - CpuManagerPolicy: The default is 'none'. See [Kubernetes CPU management - policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more - information. Allowed values are 'none' and 'static'. - type: string - failSwapOn: - description: 'FailSwapOn: If set to true it will make the Kubelet fail to start if swap is enabled on the node.' - type: boolean - imageGcHighThreshold: - description: 'ImageGcHighThreshold: To disable image garbage collection, set to 100. The default is 85%' - type: integer - imageGcLowThreshold: - description: 'ImageGcLowThreshold: This cannot be set higher than imageGcHighThreshold. The default is 80%' - type: integer - podMaxPids: - description: 'PodMaxPids: The maximum number of processes per pod.' - type: integer - topologyManagerPolicy: - description: |- - TopologyManagerPolicy: For more information see [Kubernetes Topology - Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values - are 'none', 'best-effort', 'restricted', and 'single-numa-node'. - type: string - type: object - kubeletDiskType: - description: |- - KubeletDiskType: Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral - storage. - type: string - linuxOSConfig: - description: 'LinuxOSConfig: The OS configuration of Linux agent nodes.' + encryption: + description: 'Encryption: Properties of BYOK Encryption description' properties: - swapFileSizeMB: - description: 'SwapFileSizeMB: The size in MB of a swap file that will be created on each node.' - type: integer - sysctls: - description: 'Sysctls: Sysctl settings for Linux agent nodes.' - properties: - fsAioMaxNr: - description: 'FsAioMaxNr: Sysctl setting fs.aio-max-nr.' - type: integer - fsFileMax: - description: 'FsFileMax: Sysctl setting fs.file-max.' - type: integer - fsInotifyMaxUserWatches: - description: 'FsInotifyMaxUserWatches: Sysctl setting fs.inotify.max_user_watches.' - type: integer - fsNrOpen: - description: 'FsNrOpen: Sysctl setting fs.nr_open.' - type: integer - kernelThreadsMax: - description: 'KernelThreadsMax: Sysctl setting kernel.threads-max.' - type: integer - netCoreNetdevMaxBacklog: - description: 'NetCoreNetdevMaxBacklog: Sysctl setting net.core.netdev_max_backlog.' - type: integer - netCoreOptmemMax: - description: 'NetCoreOptmemMax: Sysctl setting net.core.optmem_max.' - type: integer - netCoreRmemDefault: - description: 'NetCoreRmemDefault: Sysctl setting net.core.rmem_default.' - type: integer - netCoreRmemMax: - description: 'NetCoreRmemMax: Sysctl setting net.core.rmem_max.' - type: integer - netCoreSomaxconn: - description: 'NetCoreSomaxconn: Sysctl setting net.core.somaxconn.' - type: integer - netCoreWmemDefault: - description: 'NetCoreWmemDefault: Sysctl setting net.core.wmem_default.' - type: integer - netCoreWmemMax: - description: 'NetCoreWmemMax: Sysctl setting net.core.wmem_max.' - type: integer - netIpv4IpLocalPortRange: - description: 'NetIpv4IpLocalPortRange: Sysctl setting net.ipv4.ip_local_port_range.' - type: string - netIpv4NeighDefaultGcThresh1: - description: 'NetIpv4NeighDefaultGcThresh1: Sysctl setting net.ipv4.neigh.default.gc_thresh1.' - type: integer - netIpv4NeighDefaultGcThresh2: - description: 'NetIpv4NeighDefaultGcThresh2: Sysctl setting net.ipv4.neigh.default.gc_thresh2.' - type: integer - netIpv4NeighDefaultGcThresh3: - description: 'NetIpv4NeighDefaultGcThresh3: Sysctl setting net.ipv4.neigh.default.gc_thresh3.' - type: integer - netIpv4TcpFinTimeout: - description: 'NetIpv4TcpFinTimeout: Sysctl setting net.ipv4.tcp_fin_timeout.' - type: integer - netIpv4TcpKeepaliveProbes: - description: 'NetIpv4TcpKeepaliveProbes: Sysctl setting net.ipv4.tcp_keepalive_probes.' - type: integer - netIpv4TcpKeepaliveTime: - description: 'NetIpv4TcpKeepaliveTime: Sysctl setting net.ipv4.tcp_keepalive_time.' - type: integer - netIpv4TcpMaxSynBacklog: - description: 'NetIpv4TcpMaxSynBacklog: Sysctl setting net.ipv4.tcp_max_syn_backlog.' - type: integer - netIpv4TcpMaxTwBuckets: - description: 'NetIpv4TcpMaxTwBuckets: Sysctl setting net.ipv4.tcp_max_tw_buckets.' - type: integer - netIpv4TcpTwReuse: - description: 'NetIpv4TcpTwReuse: Sysctl setting net.ipv4.tcp_tw_reuse.' - type: boolean - netIpv4TcpkeepaliveIntvl: - description: 'NetIpv4TcpkeepaliveIntvl: Sysctl setting net.ipv4.tcp_keepalive_intvl.' - type: integer - netNetfilterNfConntrackBuckets: - description: 'NetNetfilterNfConntrackBuckets: Sysctl setting net.netfilter.nf_conntrack_buckets.' - type: integer - netNetfilterNfConntrackMax: - description: 'NetNetfilterNfConntrackMax: Sysctl setting net.netfilter.nf_conntrack_max.' - type: integer - vmMaxMapCount: - description: 'VmMaxMapCount: Sysctl setting vm.max_map_count.' - type: integer - vmSwappiness: - description: 'VmSwappiness: Sysctl setting vm.swappiness.' - type: integer - vmVfsCachePressure: - description: 'VmVfsCachePressure: Sysctl setting vm.vfs_cache_pressure.' - type: integer - type: object - transparentHugePageDefrag: - description: |- - TransparentHugePageDefrag: Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is - 'madvise'. For more information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). - type: string - transparentHugePageEnabled: - description: |- - TransparentHugePageEnabled: Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more - information see [Transparent - Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge). + keySource: + description: 'KeySource: Enumerates the possible value of keySource for Encryption' type: string - type: object - maxCount: - description: 'MaxCount: The maximum number of nodes for auto-scaling' - type: integer - maxPods: - description: 'MaxPods: The maximum number of pods that can run on a node.' - type: integer - minCount: - description: 'MinCount: The minimum number of nodes for auto-scaling' - type: integer - mode: - description: |- - Mode: A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool - restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools - type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - networkProfile: - description: 'NetworkProfile: Network-related settings of an agent pool.' - properties: - allowedHostPorts: - description: 'AllowedHostPorts: The port ranges that are allowed to access. The specified ranges are allowed to overlap.' + keyVaultProperties: + description: 'KeyVaultProperties: Properties of KeyVault' items: - description: The port range. + description: Properties to configure keyVault Properties properties: - portEnd: - description: |- - PortEnd: The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or - equal to portStart. - type: integer - portStart: - description: |- - PortStart: The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or - equal to portEnd. - type: integer - protocol: - description: 'Protocol: The network protocol of the port.' + identity: + properties: + userAssignedIdentity: + description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' + type: string + type: object + keyName: + description: 'KeyName: Name of the Key from KeyVault' type: string - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: The IDs of the application security groups which agent pool will associate when created.' - items: - type: string - type: array - nodePublicIPTags: - description: 'NodePublicIPTags: IPTags of instance-level public IPs.' - items: - description: Contains the IPTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: RoutingPreference.' + keyVaultUri: + description: 'KeyVaultUri: Uri of KeyVault' type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: Internet.' + keyVersion: + description: 'KeyVersion: Version of KeyVault' type: string type: object type: array + requireInfrastructureEncryption: + description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' + type: boolean type: object - nodeImageVersion: - description: 'NodeImageVersion: The version of node image' - type: string - nodeLabels: - additionalProperties: - type: string - description: 'NodeLabels: The node labels to be persisted across all nodes in agent pool.' - type: object - nodePublicIPPrefixID: - description: |- - NodePublicIPPrefixID: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - type: string - nodeTaints: - description: 'NodeTaints: The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.' - items: - type: string - type: array - orchestratorVersion: - description: |- - OrchestratorVersion: Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. - When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster - with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer - patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same - Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor - version must be within two minor versions of the control plane version. The node pool version cannot be greater than the - control plane version. For more information see [upgrading a node - pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool). - type: string - osDiskSizeGB: - type: integer - osDiskType: - description: |- - OsDiskType: The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested - OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral - OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os). - type: string - osSKU: - description: |- - OsSKU: Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 - when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. - type: string - osType: - description: 'OsType: The operating system type. The default is Linux.' - type: string - podSubnetID: - description: |- - PodSubnetID: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is - of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} + id: + description: 'Id: Resource Id' type: string - powerState: - description: |- - PowerState: When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this - field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only - be stopped if it is Running and provisioning state is Succeeded + identity: + description: 'Identity: Properties of BYOK Identity description' properties: - code: - description: 'Code: Tells whether the cluster is Running or Stopped' + principalId: + description: 'PrincipalId: ObjectId from the KeyVault' + type: string + tenantId: + description: 'TenantId: TenantId from the KeyVault' + type: string + type: + description: 'Type: Type of managed service identity.' type: string + userAssignedIdentities: + additionalProperties: + description: Recognized Dictionary value. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Properties for User Assigned Identities' + type: object type: object - properties_type: - description: 'PropertiesType: The type of Agent Pool.' + location: + description: 'Location: The Geo-location where the resource lives' type: string - provisioningState: - description: 'ProvisioningState: The current deployment or provisioning state.' + metricId: + description: 'MetricId: Identifier for Azure Insights metrics' type: string - proximityPlacementGroupID: - description: 'ProximityPlacementGroupID: The ID for Proximity Placement Group.' + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' type: string - scaleDownMode: - description: 'ScaleDownMode: This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete.' + name: + description: 'Name: Resource name' type: string - scaleSetEvictionPolicy: + premiumMessagingPartitions: description: |- - ScaleSetEvictionPolicy: This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is - 'Delete'. + PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to + Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections.' + items: + description: Properties of the PrivateEndpointConnection. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the namespace.' type: string - scaleSetPriority: - description: 'ScaleSetPriority: The Virtual Machine Scale Set priority. If not specified, the default is ''Regular''.' + publicNetworkAccess: + description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' type: string - securityProfile: - description: 'SecurityProfile: The security settings of an agent pool.' + serviceBusEndpoint: + description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + type: string + sku: + description: 'Sku: Properties of SKU' properties: - enableSecureBoot: - description: |- - EnableSecureBoot: Secure Boot is a feature of Trusted Launch which ensures that only signed operating systems and - drivers can boot. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean - enableVTPM: + capacity: description: |- - EnableVTPM: vTPM is a Trusted Launch feature for configuring a dedicated secure vault for keys and measurements held - locally on the node. For more details, see aka.ms/aks/trustedlaunch. If not specified, the default is false. - type: boolean + Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of + your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then + possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity + values are 4, 8, 16, 32 and 64 + type: integer + name: + description: 'Name: Name of this SKU.' + type: string + tier: + description: 'Tier: The billing tier of this particular SKU.' + type: string + type: object + status: + description: 'Status: Status of the namespace.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object - spotMaxPrice: - description: |- - SpotMaxPrice: Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any - on-demand price. For more details on spot pricing, see [spot VMs - pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing) - type: number tags: additionalProperties: type: string - description: 'Tags: The tags to be persisted on the agent pool virtual machine scale set.' + description: 'Tags: Resource tags' type: object type: description: 'Type: Resource type' type: string - upgradeSettings: - description: 'UpgradeSettings: Settings for upgrading the agentpool' - properties: - drainTimeoutInMinutes: - description: |- - DrainTimeoutInMinutes: The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. - This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not - specified, the default is 30 minutes. - type: integer - maxSurge: - description: |- - MaxSurge: This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it - is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded - up. If not specified, the default is 1. For more information, including best practices, see: - https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade - type: string - nodeSoakDurationInMinutes: - description: |- - NodeSoakDurationInMinutes: The amount of time (in minutes) to wait after draining a node and before reimaging it and - moving on to next node. If not specified, the default is 0 minutes. - type: integer - type: object - vmSize: - description: |- - VmSize: VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods - might fail to run correctly. For more details on restricted VM sizes, see: - https://docs.microsoft.com/azure/aks/quotas-skus-regions - type: string - vnetSubnetID: - description: |- - VnetSubnetID: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, - this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - type: string - windowsProfile: - description: 'WindowsProfile: The Windows agent pool''s specific profile.' - properties: - disableOutboundNat: - description: |- - DisableOutboundNat: The default value is false. Outbound NAT can only be disabled if the cluster outboundType is NAT - Gateway and the Windows agent pool does not have node public IP enabled. - type: boolean - type: object - workloadRuntime: - description: 'WorkloadRuntime: Determines the type of workload a node can run.' + updatedAt: + description: 'UpdatedAt: The time the namespace was updated.' type: string + zoneRedundant: + description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + type: boolean type: object type: object served: true @@ -185325,14 +257998,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240901storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240901.ManagedClustersAgentPool + Storage version of v1api20240101.Namespace Generator information: - - Generated from: /containerservice/resource-manager/Microsoft.ContainerService/aks/stable/2024-09-01/managedClusters.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/namespace-preview.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} properties: apiVersion: description: |- @@ -185352,7 +258025,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240901.ManagedClustersAgentPool_Spec + description: Storage version of v1api20240101.Namespace_Spec properties: $propertyBag: additionalProperties: @@ -185361,148 +258034,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - availabilityZones: - items: - type: string - type: array + alternateName: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - capacityReservationGroupReference: - description: 'CapacityReservationGroupReference: AKS will associate the specified agent pool with the Capacity Reservation Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - count: - type: integer - creationData: - description: |- - Storage version of v1api20240901.CreationData - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceReference: - description: 'SourceResourceReference: This is the ARM ID of the source object to be used to create the target object.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: + disableLocalAuth: type: boolean - gpuInstanceProfile: - type: string - hostGroupReference: - description: |- - HostGroupReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. - For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts). - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - kubeletConfig: - description: |- - Storage version of v1api20240901.KubeletConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: + encryption: description: |- - Storage version of v1api20240901.LinuxOSConfig - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. + Storage version of v1api20240101.Encryption + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -185511,107 +258055,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20240901.SysctlConfig - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: + keySource: type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: - type: string - networkProfile: - description: |- - Storage version of v1api20240901.AgentPoolNetworkProfile - Network settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHostPorts: + keyVaultProperties: items: description: |- - Storage version of v1api20240901.PortRange - The port range. + Storage version of v1api20240101.KeyVaultProperties + Properties to configure keyVault Properties properties: $propertyBag: additionalProperties: @@ -185620,41 +258070,67 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - portEnd: - type: integer - portStart: - type: integer - protocol: - type: string - type: object - type: array - applicationSecurityGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentityReference: + description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + keyVaultUri: type: string - name: - description: Name is the Kubernetes name of the resource. + keyVersion: type: string type: object type: array - nodePublicIPTags: + requireInfrastructureEncryption: + type: boolean + type: object + identity: + description: |- + Storage version of v1api20240101.Identity + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: items: description: |- - Storage version of v1api20240901.IPTag - Contains the IPTag associated with the object. + Storage version of v1api20240101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -185663,46 +258139,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: - type: string - tag: - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array type: object - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixReference: - description: |- - NodePublicIPPrefixReference: This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - nodeTaints: - items: - type: string - type: array + location: + type: string + minimumTlsVersion: + type: string operatorSpec: description: |- - Storage version of v1api20240901.ManagedClustersAgentPoolOperatorSpec + Storage version of v1api20240101.NamespaceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -185770,24 +258236,115 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240101.NamespaceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + endpoint: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - orchestratorVersion: - type: string originalVersion: type: string - osDiskSizeGB: - type: integer - osDiskType: - type: string - osSKU: - type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a containerservice.azure.com/ManagedCluster resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -185796,33 +258353,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - podSubnetReference: - description: |- - PodSubnetReference: If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). - This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - powerState: + premiumMessagingPartitions: + type: integer + publicNetworkAccess: + type: string + sku: description: |- - Storage version of v1api20240901.PowerState - Describes the Power State of the cluster + Storage version of v1api20240101.SBSku + SKU of the namespace. properties: $propertyBag: additionalProperties: @@ -185831,126 +258369,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: - type: string - type: object - proximityPlacementGroupReference: - description: 'ProximityPlacementGroupReference: The ID for Proximity Placement Group.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + capacity: + type: integer name: - description: Name is the Kubernetes name of the resource. + type: string + tier: type: string type: object - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: - type: string - securityProfile: - description: |- - Storage version of v1api20240901.AgentPoolSecurityProfile - The security settings of an agent pool. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean - type: object - spotMaxPrice: - type: number tags: additionalProperties: type: string type: object - type: - type: string - upgradeSettings: - description: |- - Storage version of v1api20240901.AgentPoolUpgradeSettings - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - type: object - vmSize: - type: string - vnetSubnetReference: - description: |- - VnetSubnetReference: If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is - specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - windowsProfile: - description: |- - Storage version of v1api20240901.AgentPoolWindowsProfile - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: - type: string + zoneRedundant: + type: boolean required: - owner type: object status: - description: Storage version of v1api20240901.ManagedClustersAgentPool_STATUS + description: Storage version of v1api20240101.Namespace_STATUS properties: $propertyBag: additionalProperties: @@ -185958,234 +258394,60 @@ spec: description: |- PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions - type: object - availabilityZones: - items: - type: string - type: array - capacityReservationGroupID: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - count: - type: integer - creationData: - description: |- - Storage version of v1api20240901.CreationData_STATUS - Data used when creating a target resource from a source resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - sourceResourceId: - type: string - type: object - currentOrchestratorVersion: - type: string - eTag: - type: string - enableAutoScaling: - type: boolean - enableEncryptionAtHost: - type: boolean - enableFIPS: - type: boolean - enableNodePublicIP: - type: boolean - enableUltraSSD: - type: boolean - gpuInstanceProfile: - type: string - hostGroupID: - type: string - id: - type: string - kubeletConfig: - description: |- - Storage version of v1api20240901.KubeletConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedUnsafeSysctls: - items: - type: string - type: array - containerLogMaxFiles: - type: integer - containerLogMaxSizeMB: - type: integer - cpuCfsQuota: - type: boolean - cpuCfsQuotaPeriod: - type: string - cpuManagerPolicy: - type: string - failSwapOn: - type: boolean - imageGcHighThreshold: - type: integer - imageGcLowThreshold: - type: integer - podMaxPids: - type: integer - topologyManagerPolicy: - type: string - type: object - kubeletDiskType: - type: string - linuxOSConfig: - description: |- - Storage version of v1api20240901.LinuxOSConfig_STATUS - See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - swapFileSizeMB: - type: integer - sysctls: - description: |- - Storage version of v1api20240901.SysctlConfig_STATUS - Sysctl settings for Linux agent nodes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fsAioMaxNr: - type: integer - fsFileMax: - type: integer - fsInotifyMaxUserWatches: - type: integer - fsNrOpen: - type: integer - kernelThreadsMax: - type: integer - netCoreNetdevMaxBacklog: - type: integer - netCoreOptmemMax: - type: integer - netCoreRmemDefault: - type: integer - netCoreRmemMax: - type: integer - netCoreSomaxconn: - type: integer - netCoreWmemDefault: - type: integer - netCoreWmemMax: - type: integer - netIpv4IpLocalPortRange: - type: string - netIpv4NeighDefaultGcThresh1: - type: integer - netIpv4NeighDefaultGcThresh2: - type: integer - netIpv4NeighDefaultGcThresh3: - type: integer - netIpv4TcpFinTimeout: - type: integer - netIpv4TcpKeepaliveProbes: - type: integer - netIpv4TcpKeepaliveTime: - type: integer - netIpv4TcpMaxSynBacklog: - type: integer - netIpv4TcpMaxTwBuckets: - type: integer - netIpv4TcpTwReuse: - type: boolean - netIpv4TcpkeepaliveIntvl: - type: integer - netNetfilterNfConntrackBuckets: - type: integer - netNetfilterNfConntrackMax: - type: integer - vmMaxMapCount: - type: integer - vmSwappiness: - type: integer - vmVfsCachePressure: - type: integer - type: object - transparentHugePageDefrag: - type: string - transparentHugePageEnabled: - type: string - type: object - maxCount: - type: integer - maxPods: - type: integer - minCount: - type: integer - mode: + type: object + alternateName: type: string - name: + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + createdAt: type: string - networkProfile: + disableLocalAuth: + type: boolean + encryption: description: |- - Storage version of v1api20240901.AgentPoolNetworkProfile_STATUS - Network settings of an agent pool. + Storage version of v1api20240101.Encryption_STATUS + Properties to configure Encryption properties: $propertyBag: additionalProperties: @@ -186194,11 +258456,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedHostPorts: + keySource: + type: string + keyVaultProperties: items: description: |- - Storage version of v1api20240901.PortRange_STATUS - The port range. + Storage version of v1api20240101.KeyVaultProperties_STATUS + Properties to configure keyVault Properties properties: $propertyBag: additionalProperties: @@ -186207,23 +258471,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - portEnd: - type: integer - portStart: - type: integer - protocol: + identity: + description: Storage version of v1api20240101.UserAssignedIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + userAssignedIdentity: + type: string + type: object + keyName: + type: string + keyVaultUri: + type: string + keyVersion: type: string type: object type: array - applicationSecurityGroups: - items: + requireInfrastructureEncryption: + type: boolean + type: object + id: + type: string + identity: + description: |- + Storage version of v1api20240101.Identity_STATUS + Properties to configure User Assigned Identities for Bring your Own Keys + properties: + $propertyBag: + additionalProperties: type: string - type: array - nodePublicIPTags: - items: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: description: |- - Storage version of v1api20240901.IPTag_STATUS - Contains the IPTag associated with the object. + Storage version of v1api20240101.UserAssignedIdentity_STATUS + Recognized Dictionary value. properties: $propertyBag: additionalProperties: @@ -186232,41 +258528,50 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: + clientId: type: string - tag: + principalId: type: string type: object - type: array + type: object type: object - nodeImageVersion: + location: type: string - nodeLabels: - additionalProperties: - type: string - type: object - nodePublicIPPrefixID: + metricId: type: string - nodeTaints: - items: - type: string - type: array - orchestratorVersion: + minimumTlsVersion: type: string - osDiskSizeGB: - type: integer - osDiskType: + name: type: string - osSKU: + premiumMessagingPartitions: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240101.PrivateEndpointConnection_STATUS + Properties of the PrivateEndpointConnection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: type: string - osType: + publicNetworkAccess: type: string - podSubnetID: + serviceBusEndpoint: type: string - powerState: + sku: description: |- - Storage version of v1api20240901.PowerState_STATUS - Describes the Power State of the cluster + Storage version of v1api20240101.SBSku_STATUS + SKU of the namespace. properties: $propertyBag: additionalProperties: @@ -186275,25 +258580,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - code: + capacity: + type: integer + name: + type: string + tier: type: string type: object - properties_type: - type: string - provisioningState: - type: string - proximityPlacementGroupID: - type: string - scaleDownMode: - type: string - scaleSetEvictionPolicy: - type: string - scaleSetPriority: + status: type: string - securityProfile: + systemData: description: |- - Storage version of v1api20240901.AgentPoolSecurityProfile_STATUS - The security settings of an agent pool. + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -186302,59 +258601,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enableSecureBoot: - type: boolean - enableVTPM: - type: boolean + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - spotMaxPrice: - type: number tags: additionalProperties: type: string type: object type: type: string - upgradeSettings: - description: |- - Storage version of v1api20240901.AgentPoolUpgradeSettings_STATUS - Settings for upgrading an agentpool - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - drainTimeoutInMinutes: - type: integer - maxSurge: - type: string - nodeSoakDurationInMinutes: - type: integer - type: object - vmSize: - type: string - vnetSubnetID: - type: string - windowsProfile: - description: |- - Storage version of v1api20240901.AgentPoolWindowsProfile_STATUS - The Windows agent pool's specific profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableOutboundNat: - type: boolean - type: object - workloadRuntime: + updatedAt: type: string + zoneRedundant: + type: boolean type: object type: object served: true @@ -186367,11 +258636,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: metricalerts.insights.azure.com + app.kubernetes.io/version: v2.15.0 + name: namespacesauthorizationrules.eventhub.azure.com spec: conversion: strategy: Webhook @@ -186384,12 +258653,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: insights.azure.com + group: eventhub.azure.com names: - kind: MetricAlert - listKind: MetricAlertList - plural: metricalerts - singular: metricalert + categories: + - azure + - eventhub + kind: NamespacesAuthorizationRule + listKind: NamespacesAuthorizationRuleList + plural: namespacesauthorizationrules + singular: namespacesauthorizationrule preserveUnknownFields: false scope: Namespaced versions: @@ -186406,13 +258678,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180301 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -186433,390 +258705,640 @@ spec: type: object spec: properties: - actions: + azureName: description: |- - Actions: the array of actions that are performed when the alert rule becomes active, and when an alert condition is - resolved. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + description: 'Rights: The rights associated with the rule.' items: - description: An alert action. + enum: + - Listen + - Manage + - Send + type: string + type: array + required: + - owner + - rights + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource properties: - actionGroupId: - description: 'ActionGroupId: the id of the action group to use.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - webHookProperties: - additionalProperties: - type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - WebHookProperties: This field allows specifying custom properties, which would be appended to the alert payload sent as - input to the webhook. - type: object + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - autoMitigate: - description: 'AutoMitigate: the flag that indicates whether the alert should be auto resolved or not. The default is true.' - type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.NamespacesAuthorizationRule + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.NamespacesAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - criteria: - description: 'Criteria: defines the specific alert criteria information.' + operatorSpec: + description: |- + Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: - description: 'MicrosoftAzureMonitorMultipleResourceMultipleMetric: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - description: 'AllOf: the list of multiple metric criteria for this ''all of'' operation.' - items: - properties: - dynamicThresholdCriterion: - description: 'Dynamic: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - alertSensitivity: - description: |- - AlertSensitivity: The extent of deviation required to trigger an alert. This will affect how tight the threshold is to - the metric series pattern. - enum: - - High - - Low - - Medium - type: string - criterionType: - description: 'CriterionType: Specifies the type of threshold criteria' - enum: - - DynamicThresholdCriterion - type: string - dimensions: - description: 'Dimensions: List of dimension conditions.' - items: - description: Specifies a metric dimension. - properties: - name: - description: 'Name: Name of the dimension.' - type: string - operator: - description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' - type: string - values: - description: 'Values: list of dimension values.' - items: - type: string - type: array - required: - - name - - operator - - values - type: object - type: array - failingPeriods: - description: |- - FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an - alert. - properties: - minFailingPeriodsToAlert: - description: |- - MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to - numberOfEvaluationPeriods. - type: number - numberOfEvaluationPeriods: - description: |- - NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the - aggregation granularity (windowSize) and the selected number of aggregated points. - type: number - required: - - minFailingPeriodsToAlert - - numberOfEvaluationPeriods - type: object - ignoreDataBefore: - description: |- - IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate - the dynamic thresholds (in ISO8601 format) - type: string - metricName: - description: 'MetricName: Name of the metric.' - type: string - metricNamespace: - description: 'MetricNamespace: Namespace of the metric.' - type: string - name: - description: 'Name: Name of the criteria.' - type: string - operator: - description: 'Operator: The operator used to compare the metric value against the threshold.' - enum: - - GreaterOrLessThan - - GreaterThan - - LessThan - type: string - skipMetricValidation: - description: |- - SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric - validation to be skipped. - type: boolean - timeAggregation: - description: 'TimeAggregation: the criteria time aggregation types.' - enum: - - Average - - Count - - Maximum - - Minimum - - Total - type: string - required: - - alertSensitivity - - criterionType - - failingPeriods - - metricName - - name - - operator - - timeAggregation - type: object - staticThresholdCriterion: - description: 'Static: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - description: 'CriterionType: Specifies the type of threshold criteria' - enum: - - StaticThresholdCriterion - type: string - dimensions: - description: 'Dimensions: List of dimension conditions.' - items: - description: Specifies a metric dimension. - properties: - name: - description: 'Name: Name of the dimension.' - type: string - operator: - description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' - type: string - values: - description: 'Values: list of dimension values.' - items: - type: string - type: array - required: - - name - - operator - - values - type: object - type: array - metricName: - description: 'MetricName: Name of the metric.' - type: string - metricNamespace: - description: 'MetricNamespace: Namespace of the metric.' - type: string - name: - description: 'Name: Name of the criteria.' - type: string - operator: - description: 'Operator: the criteria operator.' - enum: - - Equals - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - type: string - skipMetricValidation: - description: |- - SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric - validation to be skipped. - type: boolean - threshold: - description: 'Threshold: the criteria threshold value that activates the alert.' - type: number - timeAggregation: - description: 'TimeAggregation: the criteria time aggregation types.' - enum: - - Average - - Count - - Maximum - - Minimum - - Total - type: string - required: - - criterionType - - metricName - - name - - operator - - threshold - - timeAggregation - type: object - type: object - type: array - odata.type: - description: 'OdataType: specifies the type of the alert criteria.' - enum: - - Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria - type: string - required: - - odata.type + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - microsoftAzureMonitorSingleResourceMultipleMetricCriteria: - description: 'MicrosoftAzureMonitorSingleResourceMultipleMetric: Mutually exclusive with all other properties' + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSecrets properties: - additionalProperties: + $propertyBag: additionalProperties: - x-kubernetes-preserve-unknown-fields: true + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - allOf: - description: 'AllOf: The list of metric criteria for this ''all of'' operation.' - items: - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - description: 'CriterionType: Specifies the type of threshold criteria' - enum: - - StaticThresholdCriterion - type: string - dimensions: - description: 'Dimensions: List of dimension conditions.' - items: - description: Specifies a metric dimension. - properties: - name: - description: 'Name: Name of the dimension.' - type: string - operator: - description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' - type: string - values: - description: 'Values: list of dimension values.' - items: - type: string - type: array - required: - - name - - operator - - values - type: object - type: array - metricName: - description: 'MetricName: Name of the metric.' - type: string - metricNamespace: - description: 'MetricNamespace: Namespace of the metric.' - type: string - name: - description: 'Name: Name of the criteria.' - type: string - operator: - description: 'Operator: the criteria operator.' - enum: - - Equals - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - type: string - skipMetricValidation: - description: |- - SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric - validation to be skipped. - type: boolean - threshold: - description: 'Threshold: the criteria threshold value that activates the alert.' - type: number - timeAggregation: - description: 'TimeAggregation: the criteria time aggregation types.' - enum: - - Average - - Count - - Maximum - - Minimum - - Total - type: string - required: - - criterionType - - metricName - - name - - operator - - threshold - - timeAggregation - type: object - type: array - odata.type: - description: 'OdataType: specifies the type of the alert criteria.' - enum: - - Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria - type: string - required: - - odata.type - type: object - microsoftAzureMonitorWebtestLocationAvailabilityCriteria: - description: 'MicrosoftAzureMonitorWebtestLocationAvailability: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - componentReference: - description: 'ComponentReference: The Application Insights resource Id.' + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - armId: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string - group: - description: Group is the Kubernetes group of the resource. + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. type: string - kind: - description: Kind is the Kubernetes kind of the resource. + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. type: string + required: + - key + - name type: object - failedLocationCount: - description: 'FailedLocationCount: The number of failed locations.' - type: number - odata.type: - description: 'OdataType: specifies the type of the alert criteria.' - enum: - - Microsoft.Azure.Monitor.WebtestLocationAvailabilityCriteria - type: string - webTestId: - description: 'WebTestId: The Application Insights web test Id.' - type: string - required: - - componentReference - - failedLocationCount - - odata.type - - webTestId type: object type: object - description: - description: 'Description: the description of the metric alert that will be included in the alert email.' + originalVersion: type: string - enabled: - description: 'Enabled: the flag that indicates whether the metric alert is enabled.' - type: boolean - evaluationFrequency: - description: 'EvaluationFrequency: how often the metric alert is evaluated represented in ISO 8601 duration format.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rights: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: type: string location: - description: 'Location: Resource location' + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 type: string operatorSpec: description: |- @@ -186883,12 +259405,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a eventhub.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -186897,86 +259491,21 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scopesReferences: - description: 'ScopesReferences: the list of resource id''s that this metric alert is scoped to.' + rights: + description: 'Rights: The rights associated with the rule.' items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - severity: - description: 'Severity: Alert severity {0, 1, 2, 3, 4}' - type: integer - tags: - additionalProperties: + enum: + - Listen + - Manage + - Send type: string - description: 'Tags: Resource tags' - type: object - targetResourceRegion: - description: |- - TargetResourceRegion: the region of the target resource(s) on which the alert is created/updated. Mandatory if the scope - contains a subscription, resource group, or more than one resource. - type: string - targetResourceType: - description: |- - TargetResourceType: the resource type of the target resource(s) on which the alert is created/updated. Mandatory if the - scope contains a subscription, resource group, or more than one resource. - type: string - windowSize: - description: |- - WindowSize: the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the - threshold. - type: string + type: array required: - - criteria - - enabled - - evaluationFrequency - - location - owner - - scopesReferences - - severity - - windowSize + - rights type: object status: properties: - actions: - description: |- - Actions: the array of actions that are performed when the alert rule becomes active, and when an alert condition is - resolved. - items: - description: An alert action. - properties: - actionGroupId: - description: 'ActionGroupId: the id of the action group to use.' - type: string - webHookProperties: - additionalProperties: - type: string - description: |- - WebHookProperties: This field allows specifying custom properties, which would be appended to the alert payload sent as - input to the webhook. - type: object - type: object - type: array - autoMitigate: - description: 'AutoMitigate: the flag that indicates whether the alert should be auto resolved or not. The default is true.' - type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -187021,293 +259550,46 @@ spec: - type type: object type: array - criteria: - description: 'Criteria: defines the specific alert criteria information.' - properties: - microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: - description: 'MicrosoftAzureMonitorMultipleResourceMultipleMetric: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - description: 'AllOf: the list of multiple metric criteria for this ''all of'' operation.' - items: - properties: - dynamicThresholdCriterion: - description: 'Dynamic: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - alertSensitivity: - description: |- - AlertSensitivity: The extent of deviation required to trigger an alert. This will affect how tight the threshold is to - the metric series pattern. - type: string - criterionType: - description: 'CriterionType: Specifies the type of threshold criteria' - type: string - dimensions: - description: 'Dimensions: List of dimension conditions.' - items: - description: Specifies a metric dimension. - properties: - name: - description: 'Name: Name of the dimension.' - type: string - operator: - description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' - type: string - values: - description: 'Values: list of dimension values.' - items: - type: string - type: array - type: object - type: array - failingPeriods: - description: |- - FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an - alert. - properties: - minFailingPeriodsToAlert: - description: |- - MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to - numberOfEvaluationPeriods. - type: number - numberOfEvaluationPeriods: - description: |- - NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the - aggregation granularity (windowSize) and the selected number of aggregated points. - type: number - type: object - ignoreDataBefore: - description: |- - IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate - the dynamic thresholds (in ISO8601 format) - type: string - metricName: - description: 'MetricName: Name of the metric.' - type: string - metricNamespace: - description: 'MetricNamespace: Namespace of the metric.' - type: string - name: - description: 'Name: Name of the criteria.' - type: string - operator: - description: 'Operator: The operator used to compare the metric value against the threshold.' - type: string - skipMetricValidation: - description: |- - SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric - validation to be skipped. - type: boolean - timeAggregation: - description: 'TimeAggregation: the criteria time aggregation types.' - type: string - type: object - staticThresholdCriterion: - description: 'Static: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - description: 'CriterionType: Specifies the type of threshold criteria' - type: string - dimensions: - description: 'Dimensions: List of dimension conditions.' - items: - description: Specifies a metric dimension. - properties: - name: - description: 'Name: Name of the dimension.' - type: string - operator: - description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' - type: string - values: - description: 'Values: list of dimension values.' - items: - type: string - type: array - type: object - type: array - metricName: - description: 'MetricName: Name of the metric.' - type: string - metricNamespace: - description: 'MetricNamespace: Namespace of the metric.' - type: string - name: - description: 'Name: Name of the criteria.' - type: string - operator: - description: 'Operator: the criteria operator.' - type: string - skipMetricValidation: - description: |- - SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric - validation to be skipped. - type: boolean - threshold: - description: 'Threshold: the criteria threshold value that activates the alert.' - type: number - timeAggregation: - description: 'TimeAggregation: the criteria time aggregation types.' - type: string - type: object - type: object - type: array - odata.type: - description: 'OdataType: specifies the type of the alert criteria.' - type: string - type: object - microsoftAzureMonitorSingleResourceMultipleMetricCriteria: - description: 'MicrosoftAzureMonitorSingleResourceMultipleMetric: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - description: 'AllOf: The list of metric criteria for this ''all of'' operation.' - items: - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - description: 'CriterionType: Specifies the type of threshold criteria' - type: string - dimensions: - description: 'Dimensions: List of dimension conditions.' - items: - description: Specifies a metric dimension. - properties: - name: - description: 'Name: Name of the dimension.' - type: string - operator: - description: 'Operator: the dimension operator. Only ''Include'' and ''Exclude'' are supported' - type: string - values: - description: 'Values: list of dimension values.' - items: - type: string - type: array - type: object - type: array - metricName: - description: 'MetricName: Name of the metric.' - type: string - metricNamespace: - description: 'MetricNamespace: Namespace of the metric.' - type: string - name: - description: 'Name: Name of the criteria.' - type: string - operator: - description: 'Operator: the criteria operator.' - type: string - skipMetricValidation: - description: |- - SkipMetricValidation: Allows creating an alert rule on a custom metric that isn't yet emitted, by causing the metric - validation to be skipped. - type: boolean - threshold: - description: 'Threshold: the criteria threshold value that activates the alert.' - type: number - timeAggregation: - description: 'TimeAggregation: the criteria time aggregation types.' - type: string - type: object - type: array - odata.type: - description: 'OdataType: specifies the type of the alert criteria.' - type: string - type: object - microsoftAzureMonitorWebtestLocationAvailabilityCriteria: - description: 'MicrosoftAzureMonitorWebtestLocationAvailability: Mutually exclusive with all other properties' - properties: - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - componentId: - description: 'ComponentId: The Application Insights resource Id.' - type: string - failedLocationCount: - description: 'FailedLocationCount: The number of failed locations.' - type: number - odata.type: - description: 'OdataType: specifies the type of the alert criteria.' - type: string - webTestId: - description: 'WebTestId: The Application Insights web test Id.' - type: string - type: object - type: object - description: - description: 'Description: the description of the metric alert that will be included in the alert email.' - type: string - enabled: - description: 'Enabled: the flag that indicates whether the metric alert is enabled.' - type: boolean - evaluationFrequency: - description: 'EvaluationFrequency: how often the metric alert is evaluated represented in ISO 8601 duration format.' - type: string id: - description: 'Id: Azure resource Id' - type: string - isMigrated: - description: 'IsMigrated: the value indicating whether this alert rule is migrated.' - type: boolean - lastUpdatedTime: - description: 'LastUpdatedTime: Last time the rule was updated in ISO8601 format.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: Resource location' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: Azure resource name' + description: 'Name: The name of the resource' type: string - scopes: - description: 'Scopes: the list of resource id''s that this metric alert is scoped to.' + rights: + description: 'Rights: The rights associated with the rule.' items: type: string type: array - severity: - description: 'Severity: Alert severity {0, 1, 2, 3, 4}' - type: integer - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object - targetResourceRegion: - description: |- - TargetResourceRegion: the region of the target resource(s) on which the alert is created/updated. Mandatory if the scope - contains a subscription, resource group, or more than one resource. - type: string - targetResourceType: - description: |- - TargetResourceType: the resource type of the target resource(s) on which the alert is created/updated. Mandatory if the - scope contains a subscription, resource group, or more than one resource. - type: string type: - description: 'Type: Azure resource type' - type: string - windowSize: - description: |- - WindowSize: the period of time (in ISO 8601 duration format) that is used to monitor alert activity based on the - threshold. + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -187328,14 +259610,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180301storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180301.MetricAlert + Storage version of v1api20240101.NamespacesAuthorizationRule Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/metricAlerts/{ruleName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -187355,7 +259637,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180301.MetricAlert_Spec + description: Storage version of v1api20240101.NamespacesAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -187364,329 +259646,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actions: - items: - description: |- - Storage version of v1api20180301.MetricAlertAction - An alert action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionGroupId: - type: string - webHookProperties: - additionalProperties: - type: string - type: object - type: object - type: array - autoMitigate: - type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - criteria: - description: Storage version of v1api20180301.MetricAlertCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: - description: Storage version of v1api20180301.MetricAlertMultipleResourceMultipleMetricCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - items: - description: Storage version of v1api20180301.MultiMetricCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dynamicThresholdCriterion: - description: Storage version of v1api20180301.DynamicMetricCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - alertSensitivity: - type: string - criterionType: - type: string - dimensions: - items: - description: |- - Storage version of v1api20180301.MetricDimension - Specifies a metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - failingPeriods: - description: |- - Storage version of v1api20180301.DynamicThresholdFailingPeriods - The minimum number of violations required within the selected lookback time window required to raise an alert. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - minFailingPeriodsToAlert: - type: number - numberOfEvaluationPeriods: - type: number - type: object - ignoreDataBefore: - type: string - metricName: - type: string - metricNamespace: - type: string - name: - type: string - operator: - type: string - skipMetricValidation: - type: boolean - timeAggregation: - type: string - type: object - staticThresholdCriterion: - description: Storage version of v1api20180301.MetricCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - type: string - dimensions: - items: - description: |- - Storage version of v1api20180301.MetricDimension - Specifies a metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - metricName: - type: string - metricNamespace: - type: string - name: - type: string - operator: - type: string - skipMetricValidation: - type: boolean - threshold: - type: number - timeAggregation: - type: string - type: object - type: object - type: array - odata.type: - type: string - type: object - microsoftAzureMonitorSingleResourceMultipleMetricCriteria: - description: Storage version of v1api20180301.MetricAlertSingleResourceMultipleMetricCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - items: - description: Storage version of v1api20180301.MetricCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - type: string - dimensions: - items: - description: |- - Storage version of v1api20180301.MetricDimension - Specifies a metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - metricName: - type: string - metricNamespace: - type: string - name: - type: string - operator: - type: string - skipMetricValidation: - type: boolean - threshold: - type: number - timeAggregation: - type: string - type: object - type: array - odata.type: - type: string - type: object - microsoftAzureMonitorWebtestLocationAvailabilityCriteria: - description: Storage version of v1api20180301.WebtestLocationAvailabilityCriteria - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - componentReference: - description: 'ComponentReference: The Application Insights resource Id.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - failedLocationCount: - type: number - odata.type: - type: string - webTestId: - type: string - required: - - componentReference - type: object - type: object - description: - type: string - enabled: - type: boolean - evaluationFrequency: - type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20180301.MetricAlertOperatorSpec + Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -187754,6 +259721,89 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -187761,7 +259811,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a eventhub.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -187770,45 +259820,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scopesReferences: + rights: items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - severity: - type: integer - tags: - additionalProperties: type: string - type: object - targetResourceRegion: - type: string - targetResourceType: - type: string - windowSize: - type: string + type: array required: - owner type: object status: - description: Storage version of v1api20180301.MetricAlert_STATUS + description: Storage version of v1api20240101.NamespacesAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -187817,29 +259837,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actions: - items: - description: |- - Storage version of v1api20180301.MetricAlertAction_STATUS - An alert action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionGroupId: - type: string - webHookProperties: - additionalProperties: - type: string - type: object - type: object - type: array - autoMitigate: - type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -187883,304 +259880,43 @@ spec: - type type: object type: array - criteria: - description: Storage version of v1api20180301.MetricAlertCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - microsoftAzureMonitorMultipleResourceMultipleMetricCriteria: - description: Storage version of v1api20180301.MetricAlertMultipleResourceMultipleMetricCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - items: - description: Storage version of v1api20180301.MultiMetricCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dynamicThresholdCriterion: - description: Storage version of v1api20180301.DynamicMetricCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - alertSensitivity: - type: string - criterionType: - type: string - dimensions: - items: - description: |- - Storage version of v1api20180301.MetricDimension_STATUS - Specifies a metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - failingPeriods: - description: |- - Storage version of v1api20180301.DynamicThresholdFailingPeriods_STATUS - The minimum number of violations required within the selected lookback time window required to raise an alert. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - minFailingPeriodsToAlert: - type: number - numberOfEvaluationPeriods: - type: number - type: object - ignoreDataBefore: - type: string - metricName: - type: string - metricNamespace: - type: string - name: - type: string - operator: - type: string - skipMetricValidation: - type: boolean - timeAggregation: - type: string - type: object - staticThresholdCriterion: - description: Storage version of v1api20180301.MetricCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - type: string - dimensions: - items: - description: |- - Storage version of v1api20180301.MetricDimension_STATUS - Specifies a metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - metricName: - type: string - metricNamespace: - type: string - name: - type: string - operator: - type: string - skipMetricValidation: - type: boolean - threshold: - type: number - timeAggregation: - type: string - type: object - type: object - type: array - odata.type: - type: string - type: object - microsoftAzureMonitorSingleResourceMultipleMetricCriteria: - description: Storage version of v1api20180301.MetricAlertSingleResourceMultipleMetricCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - allOf: - items: - description: Storage version of v1api20180301.MetricCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - criterionType: - type: string - dimensions: - items: - description: |- - Storage version of v1api20180301.MetricDimension_STATUS - Specifies a metric dimension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - metricName: - type: string - metricNamespace: - type: string - name: - type: string - operator: - type: string - skipMetricValidation: - type: boolean - threshold: - type: number - timeAggregation: - type: string - type: object - type: array - odata.type: - type: string - type: object - microsoftAzureMonitorWebtestLocationAvailabilityCriteria: - description: Storage version of v1api20180301.WebtestLocationAvailabilityCriteria_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - componentId: - type: string - failedLocationCount: - type: number - odata.type: - type: string - webTestId: - type: string - type: object - type: object - description: - type: string - enabled: - type: boolean - evaluationFrequency: - type: string id: type: string - isMigrated: - type: boolean - lastUpdatedTime: - type: string location: type: string name: type: string - scopes: + rights: items: type: string type: array - severity: - type: integer - tags: - additionalProperties: - type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - targetResourceRegion: - type: string - targetResourceType: - type: string type: type: string - windowSize: - type: string type: object type: object served: true @@ -188193,11 +259929,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: mongodbdatabasecollections.documentdb.azure.com + app.kubernetes.io/version: v2.15.0 + name: namespacesauthorizationrules.notificationhubs.azure.com spec: conversion: strategy: Webhook @@ -188210,12 +259946,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: documentdb.azure.com + group: notificationhubs.azure.com names: - kind: MongodbDatabaseCollection - listKind: MongodbDatabaseCollectionList - plural: mongodbdatabasecollections - singular: mongodbdatabasecollection + categories: + - azure + - notificationhubs + kind: NamespacesAuthorizationRule + listKind: NamespacesAuthorizationRuleList + plural: namespacesauthorizationrules + singular: namespacesauthorizationrule preserveUnknownFields: false scope: Namespaced versions: @@ -188232,13 +259971,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20230901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -188263,9 +260002,12 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[a-zA-Z0-9!()*-._]+$ type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: Deprecated - only for compatibility.' type: string operatorSpec: description: |- @@ -188333,27 +260075,11 @@ spec: type: object type: array type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer - type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a notificationhubs.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -188362,56 +260088,29 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a MongoDB collection' + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' properties: - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - id: - description: 'Id: Name of the Cosmos DB MongoDB collection' - type: string - indexes: - description: 'Indexes: List of index keys' + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' items: - description: Cosmos DB MongoDB collection index key - properties: - key: - description: 'Key: Cosmos DB MongoDB collection index keys' - properties: - keys: - description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - options: - description: 'Options: Cosmos DB MongoDB collection index key options' - properties: - expireAfterSeconds: - description: 'ExpireAfterSeconds: Expire after seconds' - type: integer - unique: - description: 'Unique: Is unique or not' - type: boolean - type: object - type: object - type: array - shardKey: - additionalProperties: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send type: string - description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' - type: object + type: array required: - - id + - rights type: object tags: additionalProperties: type: string + description: 'Tags: Deprecated - only for compatibility.' type: object required: - owner - - resource type: object status: properties: @@ -188460,85 +260159,73 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: Deprecated - only for compatibility.' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - options: - description: 'Options: Cosmos DB options resource object' + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. + claimType: + description: 'ClaimType: Gets a string that describes the claim type' + type: string + claimValue: + description: 'ClaimValue: Gets a string that describes the claim value' + type: string + createdTime: + description: 'CreatedTime: Gets the created time for this rule' + type: string + keyName: + description: 'KeyName: Gets a string that describes the authorization rule.' + type: string + modifiedTime: + description: 'ModifiedTime: Gets the last modified time for this rule' + type: string + revision: + description: 'Revision: Gets the revision number for the rule' type: integer + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + type: string + type: array type: object - resource: + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - id: - description: 'Id: Name of the Cosmos DB MongoDB collection' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - indexes: - description: 'Indexes: List of index keys' - items: - description: Cosmos DB MongoDB collection index key - properties: - key: - description: 'Key: Cosmos DB MongoDB collection index keys' - properties: - keys: - description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - options: - description: 'Options: Cosmos DB MongoDB collection index key options' - properties: - expireAfterSeconds: - description: 'ExpireAfterSeconds: Expire after seconds' - type: integer - unique: - description: 'Unique: Is unique or not' - type: boolean - type: object - type: object - type: array - shardKey: - additionalProperties: - type: string - description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' - type: object type: object tags: additionalProperties: type: string + description: 'Tags: Deprecated - only for compatibility.' type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -188559,14 +260246,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20230901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.MongodbDatabaseCollection + Storage version of v1api20230901.NamespacesAuthorizationRule Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -188586,7 +260273,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.MongodbDatabaseCollection_Spec + description: Storage version of v1api20230901.NamespacesAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -188604,7 +260291,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20210515.MongodbDatabaseCollectionOperatorSpec + Storage version of v1api20230901.NamespacesAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -188673,42 +260360,13 @@ spec: type: object type: array type: object - options: - description: |- - Storage version of v1api20210515.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a notificationhubs.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -188717,10 +260375,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: + properties: description: |- - Storage version of v1api20210515.MongoDBCollectionResource - Cosmos DB MongoDB collection resource object + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties + SharedAccessAuthorizationRule properties. properties: $propertyBag: additionalProperties: @@ -188729,63 +260387,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - analyticalStorageTtl: - type: integer - id: - type: string - indexes: + rights: items: - description: |- - Storage version of v1api20210515.MongoIndex - Cosmos DB MongoDB collection index key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - description: |- - Storage version of v1api20210515.MongoIndexKeys - Cosmos DB MongoDB collection resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keys: - items: - type: string - type: array - type: object - options: - description: |- - Storage version of v1api20210515.MongoIndexOptions - Cosmos DB MongoDB collection index options - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expireAfterSeconds: - type: integer - unique: - type: boolean - type: object - type: object - type: array - shardKey: - additionalProperties: type: string - type: object + type: array type: object tags: additionalProperties: @@ -188795,7 +260400,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.MongodbDatabaseCollection_STATUS + description: Storage version of v1api20230901.NamespacesAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -188853,10 +260458,10 @@ spec: type: string name: type: string - options: + properties: description: |- - Storage version of v1api20210515.OptionsResource_STATUS - Cosmos DB options resource object + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties_STATUS + SharedAccessAuthorizationRule properties. properties: $propertyBag: additionalProperties: @@ -188865,24 +260470,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: + claimType: + type: string + claimValue: + type: string + createdTime: + type: string + keyName: + type: string + modifiedTime: + type: string + revision: type: integer + rights: + items: + type: string + type: array type: object - resource: - description: Storage version of v1api20210515.MongoDBCollectionGetProperties_Resource_STATUS + systemData: + description: |- + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -188891,69 +260499,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - analyticalStorageTtl: - type: integer - id: + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - indexes: - items: - description: |- - Storage version of v1api20210515.MongoIndex_STATUS - Cosmos DB MongoDB collection index key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - description: |- - Storage version of v1api20210515.MongoIndexKeys_STATUS - Cosmos DB MongoDB collection resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keys: - items: - type: string - type: array - type: object - options: - description: |- - Storage version of v1api20210515.MongoIndexOptions_STATUS - Cosmos DB MongoDB collection index options - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expireAfterSeconds: - type: integer - unique: - type: boolean - type: object - type: object - type: array - shardKey: - additionalProperties: - type: string - type: object type: object tags: additionalProperties: @@ -188964,9 +260521,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespacesauthorizationrules.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesAuthorizationRule + listKind: NamespacesAuthorizationRuleList + plural: namespacesauthorizationrules + singular: namespacesauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -188980,13 +260572,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20210101preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -189011,9 +260603,8 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' + maxLength: 50 + minLength: 1 type: string operatorSpec: description: |- @@ -189080,30 +260671,84 @@ spec: - value type: object type: array - type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not - both. + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -189112,74 +260757,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a MongoDB collection' - properties: - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' - enum: - - Default - - Restore - type: string - id: - description: 'Id: Name of the Cosmos DB MongoDB collection' - type: string - indexes: - description: 'Indexes: List of index keys' - items: - description: Cosmos DB MongoDB collection index key - properties: - key: - description: 'Key: Cosmos DB MongoDB collection index keys' - properties: - keys: - description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - options: - description: 'Options: Cosmos DB MongoDB collection index key options' - properties: - expireAfterSeconds: - description: 'ExpireAfterSeconds: Expire after seconds' - type: integer - unique: - description: 'Unique: Is unique or not' - type: boolean - type: object - type: object - type: array - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' - properties: - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string - type: object - shardKey: - additionalProperties: - type: string - description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' - type: object - required: - - id - type: object - tags: - additionalProperties: + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send type: string - type: object + type: array required: - owner - - resource + - rights type: object status: properties: @@ -189228,100 +260817,40 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Id: Resource Id' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: Resource name' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object - resource: + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - id: - description: 'Id: Name of the Cosmos DB MongoDB collection' + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - indexes: - description: 'Indexes: List of index keys' - items: - description: Cosmos DB MongoDB collection index key - properties: - key: - description: 'Key: Cosmos DB MongoDB collection index keys' - properties: - keys: - description: 'Keys: List of keys for each MongoDB collection in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - options: - description: 'Options: Cosmos DB MongoDB collection index key options' - properties: - expireAfterSeconds: - description: 'ExpireAfterSeconds: Expire after seconds' - type: integer - unique: - description: 'Unique: Is unique or not' - type: boolean - type: object - type: object - type: array - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' - properties: - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string - type: object - shardKey: - additionalProperties: - type: string - description: 'ShardKey: A key-value pair of shard keys to be applied for the request.' - type: object - type: object - tags: - additionalProperties: - type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: Resource type' type: string type: object type: object @@ -189342,14 +260871,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20210101previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.MongodbDatabaseCollection + Storage version of v1api20210101preview.NamespacesAuthorizationRule Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -189369,7 +260898,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.MongodbDatabaseCollection_Spec + description: Storage version of v1api20210101preview.NamespacesAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -189383,11 +260912,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20231115.MongodbDatabaseCollectionOperatorSpec + Storage version of v1api20210101preview.NamespacesAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -189455,22 +260982,8 @@ spec: - value type: object type: array - type: object - options: - description: |- - Storage version of v1api20231115.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings + secrets: + description: Storage version of v1api20210101preview.NamespacesAuthorizationRuleOperatorSecrets properties: $propertyBag: additionalProperties: @@ -189479,11 +260992,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxThroughput: - type: integer + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object - throughput: - type: integer type: object originalVersion: type: string @@ -189491,7 +261072,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -189500,104 +261081,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: |- - Storage version of v1api20231115.MongoDBCollectionResource - Cosmos DB MongoDB collection resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - analyticalStorageTtl: - type: integer - createMode: - type: string - id: - type: string - indexes: - items: - description: |- - Storage version of v1api20231115.MongoIndex - Cosmos DB MongoDB collection index key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - description: |- - Storage version of v1api20231115.MongoIndexKeys - Cosmos DB MongoDB collection resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keys: - items: - type: string - type: array - type: object - options: - description: |- - Storage version of v1api20231115.MongoIndexOptions - Cosmos DB MongoDB collection index options - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expireAfterSeconds: - type: integer - unique: - type: boolean - type: object - type: object - type: array - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParametersBase - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string - type: object - shardKey: - additionalProperties: - type: string - type: object - type: object - tags: - additionalProperties: + rights: + items: type: string - type: object + type: array required: - owner type: object status: - description: Storage version of v1api20231115.MongodbDatabaseCollection_STATUS + description: Storage version of v1api20210101preview.NamespacesAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -189651,40 +261143,16 @@ spec: type: array id: type: string - location: - type: string name: type: string - options: + rights: + items: + type: string + type: array + systemData: description: |- - Storage version of v1api20231115.OptionsResource_STATUS - Cosmos DB options resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object - resource: - description: Storage version of v1api20231115.MongoDBCollectionGetProperties_Resource_STATUS + Storage version of v1api20210101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -189693,133 +261161,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - analyticalStorageTtl: - type: integer - createMode: + createdByType: type: string - id: + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - indexes: - items: - description: |- - Storage version of v1api20231115.MongoIndex_STATUS - Cosmos DB MongoDB collection index key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - description: |- - Storage version of v1api20231115.MongoIndexKeys_STATUS - Cosmos DB MongoDB collection resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keys: - items: - type: string - type: array - type: object - options: - description: |- - Storage version of v1api20231115.MongoIndexOptions_STATUS - Cosmos DB MongoDB collection index options - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expireAfterSeconds: - type: integer - unique: - type: boolean - type: object - type: object - type: array - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParametersBase_STATUS - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string - type: object - shardKey: - additionalProperties: - type: string - type: object - type: object - tags: - additionalProperties: - type: string type: object type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: mongodbdatabasecollectionthroughputsettings.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: MongodbDatabaseCollectionThroughputSetting - listKind: MongodbDatabaseCollectionThroughputSettingList - plural: mongodbdatabasecollectionthroughputsettings - singular: mongodbdatabasecollectionthroughputsetting - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -189833,13 +261195,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -189860,8 +261222,12 @@ spec: type: object spec: properties: - location: - description: 'Location: The location of the resource group to which the resource belongs.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 type: string operatorSpec: description: |- @@ -189928,12 +261294,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabaseCollection resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -189942,47 +261380,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a resource throughput' - properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send type: string - type: object + type: array required: - owner - - resource + - rights type: object status: properties: @@ -190031,71 +261440,45 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - resource: + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -190116,14 +261499,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting + Storage version of v1api20211101.NamespacesAuthorizationRule Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -190143,7 +261526,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting_Spec + description: Storage version of v1api20211101.NamespacesAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -190152,11 +261535,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- - Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -190224,38 +261610,8 @@ spec: - value type: object type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabaseCollection resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - resource: - description: |- - Storage version of v1api20210515.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: |- - Storage version of v1api20210515.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object + secrets: + description: Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSecrets properties: $propertyBag: additionalProperties: @@ -190264,51 +261620,104 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoUpgradePolicy: + primaryConnectionString: description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - Storage version of v1api20210515.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - maxThroughput: - type: integer type: object - throughput: - type: integer type: object - tags: - additionalProperties: - type: string + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object + rights: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20210515.MongodbDatabaseCollectionThroughputSetting_STATUS + description: Storage version of v1api20211101.NamespacesAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -190366,8 +261775,14 @@ spec: type: string name: type: string - resource: - description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -190376,69 +261791,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - autoscaleSettings: - description: |- - Storage version of v1api20210515.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20210515.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer - type: object - minimumThroughput: + createdByType: type: string - offerReplacePending: + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - throughput: - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: type: string @@ -190461,13 +261825,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20221001preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -190488,8 +261852,12 @@ spec: type: object spec: properties: - location: - description: 'Location: The location of the resource group to which the resource belongs.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 type: string operatorSpec: description: |- @@ -190556,61 +261924,104 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabaseCollection resource + reference to a servicebus.azure.com/Namespace resource properties: armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - resource: - description: 'Resource: The standard JSON format of a resource throughput' - properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - tags: - additionalProperties: + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send type: string - type: object + type: array required: - owner - - resource + - rights type: object status: properties: @@ -190659,79 +262070,45 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - resource: + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - instantMaximumThroughput: - description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - softAllowedMaximumThroughput: - description: |- - SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can - be specified + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -190752,14 +262129,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20221001previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting + Storage version of v1api20221001preview.NamespacesAuthorizationRule Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -190779,7 +262156,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting_Spec + description: Storage version of v1api20221001preview.NamespacesAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -190788,11 +262165,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- - Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSettingOperatorSpec + Storage version of v1api20221001preview.NamespacesAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -190860,38 +262240,8 @@ spec: - value type: object type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabaseCollection resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - resource: - description: |- - Storage version of v1api20231115.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object + secrets: + description: Storage version of v1api20221001preview.NamespacesAuthorizationRuleOperatorSecrets properties: $propertyBag: additionalProperties: @@ -190900,51 +262250,104 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoUpgradePolicy: + primaryConnectionString: description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - Storage version of v1api20231115.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - maxThroughput: - type: integer type: object - throughput: - type: integer type: object - tags: - additionalProperties: - type: string + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object + rights: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20231115.MongodbDatabaseCollectionThroughputSetting_STATUS + description: Storage version of v1api20221001preview.NamespacesAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -191002,8 +262405,14 @@ spec: type: string name: type: string - resource: - description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20221001preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -191012,114 +262421,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20231115.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer - type: object - instantMaximumThroughput: + createdByType: type: string - minimumThroughput: + lastModifiedAt: type: string - offerReplacePending: + lastModifiedBy: type: string - softAllowedMaximumThroughput: + lastModifiedByType: type: string - throughput: - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: mongodbdatabases.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: MongodbDatabase - listKind: MongodbDatabaseList - plural: mongodbdatabases - singular: mongodbdatabase - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -191133,13 +262455,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -191164,9 +262486,8 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' + maxLength: 50 + minLength: 1 type: string operatorSpec: description: |- @@ -191233,28 +262554,84 @@ spec: - value type: object type: array - type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -191263,22 +262640,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a MongoDB database' - properties: - id: - description: 'Id: Name of the Cosmos DB MongoDB database' - type: string - required: - - id - type: object - tags: - additionalProperties: + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send type: string - type: object + type: array required: - owner - - resource + - rights type: object status: properties: @@ -191327,51 +262700,45 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object - resource: + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - id: - description: 'Id: Name of the Cosmos DB MongoDB database' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - type: object - tags: - additionalProperties: - type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -191392,14 +262759,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.MongodbDatabase + Storage version of v1api20240101.NamespacesAuthorizationRule Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -191419,7 +262786,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.MongodbDatabase_Spec + description: Storage version of v1api20240101.NamespacesAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -191433,11 +262800,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20210515.MongodbDatabaseOperatorSpec + Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -191505,22 +262870,8 @@ spec: - value type: object type: array - type: object - options: - description: |- - Storage version of v1api20210515.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings + secrets: + description: Storage version of v1api20240101.NamespacesAuthorizationRuleOperatorSecrets properties: $propertyBag: additionalProperties: @@ -191529,11 +262880,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxThroughput: - type: integer + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object type: object - throughput: - type: integer type: object originalVersion: type: string @@ -191541,7 +262960,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -191550,30 +262969,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: |- - Storage version of v1api20210515.MongoDBDatabaseResource - Cosmos DB MongoDB database resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - tags: - additionalProperties: + rights: + items: type: string - type: object + type: array required: - owner type: object status: - description: Storage version of v1api20210515.MongodbDatabase_STATUS + description: Storage version of v1api20240101.NamespacesAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -191631,36 +263035,14 @@ spec: type: string name: type: string - options: + rights: + items: + type: string + type: array + systemData: description: |- - Storage version of v1api20210515.OptionsResource_STATUS - Cosmos DB options resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object - resource: - description: Storage version of v1api20210515.MongoDBDatabaseGetProperties_Resource_STATUS + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -191669,27 +263051,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - id: + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - type: object - tags: - additionalProperties: - type: string type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespaceseventhubs.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesEventhub + listKind: NamespacesEventhubList + plural: namespaceseventhubs + singular: namespaceseventhub + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -191703,13 +263120,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} properties: apiVersion: description: |- @@ -191734,10 +263151,87 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 256 + minLength: 1 type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' - type: string + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + enum: + - Avro + - AvroDeflate + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + minimum: 1 + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -191804,29 +263298,11 @@ spec: type: object type: array type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not - both. - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer - type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a eventhub.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -191835,43 +263311,68 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a MongoDB database' + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + minimum: 1 + type: integer + required: + - owner + type: object + status: + properties: + captureDescription: + description: 'CaptureDescription: Properties of capture description' properties: - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' - enum: - - Default - - Restore - type: string - id: - description: 'Id: Name of the Cosmos DB MongoDB database' - type: string - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' properties: - restoreSource: + archiveNameFormat: description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + type: string + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: Resource id of the storage account to be used to create the blobs' type: string type: object - required: - - id - type: object - tags: - additionalProperties: - type: string + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean type: object - required: - - owner - - resource - type: object - status: - properties: conditions: description: 'Conditions: The observed state of the resource' items: @@ -191916,67 +263417,61 @@ spec: - type type: object type: array + createdAt: + description: 'CreatedAt: Exact time the Event Hub was created.' + type: string id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: The geo-location where the resource lives' type: string + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + type: integer name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object - resource: + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + type: integer + partitionIds: + description: 'PartitionIds: Current number of shards on the Event Hub.' + items: + type: string + type: array + status: + description: 'Status: Enumerates the possible values for the status of the Event Hub.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - id: - description: 'Id: Name of the Cosmos DB MongoDB database' + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' - properties: - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string - type: object - type: object - tags: - additionalProperties: - type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' type: string type: object type: object @@ -191997,14 +263492,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.MongodbDatabase + Storage version of v1api20211101.NamespacesEventhub Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} properties: apiVersion: description: |- @@ -192024,7 +263519,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.MongodbDatabase_Spec + description: Storage version of v1api20211101.NamespacesEventhub_Spec properties: $propertyBag: additionalProperties: @@ -192038,11 +263533,79 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - location: - type: string + captureDescription: + description: |- + Storage version of v1api20211101.CaptureDescription + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20211101.Destination + Capture storage details for capture description + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean + type: object + messageRetentionInDays: + type: integer operatorSpec: description: |- - Storage version of v1api20231115.MongodbDatabaseOperatorSpec + Storage version of v1api20211101.NamespacesEventhubOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -192111,42 +263674,13 @@ spec: type: object type: array type: object - options: - description: |- - Storage version of v1api20231115.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a eventhub.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -192155,10 +263689,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: + partitionCount: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20211101.NamespacesEventhub_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20231115.MongoDBDatabaseResource - Cosmos DB MongoDB database resource object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + captureDescription: + description: |- + Storage version of v1api20211101.CaptureDescription_STATUS + Properties to configure capture description for eventhub properties: $propertyBag: additionalProperties: @@ -192167,14 +263716,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createMode: - type: string - id: - type: string - restoreParameters: + destination: description: |- - Storage version of v1api20231115.RestoreParametersBase - Parameters to indicate the information about the restore. + Storage version of v1api20211101.Destination_STATUS + Capture storage details for capture description properties: $propertyBag: additionalProperties: @@ -192183,28 +263728,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - restoreSource: + archiveNameFormat: type: string - restoreTimestampInUtc: + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + name: + type: string + storageAccountResourceId: type: string type: object - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20231115.MongodbDatabase_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean type: object conditions: items: @@ -192249,42 +263797,28 @@ spec: - type type: object type: array + createdAt: + type: string id: type: string location: type: string + messageRetentionInDays: + type: integer name: type: string - options: + partitionCount: + type: integer + partitionIds: + items: + type: string + type: array + status: + type: string + systemData: description: |- - Storage version of v1api20231115.OptionsResource_STATUS - Cosmos DB options resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object - resource: - description: Storage version of v1api20231115.MongoDBDatabaseGetProperties_Resource_STATUS + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -192293,78 +263827,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - createMode: + createdByType: type: string - id: + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParametersBase_STATUS - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string - type: object - type: object - tags: - additionalProperties: - type: string type: object type: type: string + updatedAt: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: mongodbdatabasethroughputsettings.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: MongodbDatabaseThroughputSetting - listKind: MongodbDatabaseThroughputSettingList - plural: mongodbdatabasethroughputsettings - singular: mongodbdatabasethroughputsetting - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -192378,13 +263863,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} properties: apiVersion: description: |- @@ -192405,9 +263890,124 @@ spec: type: object spec: properties: - location: - description: 'Location: The location of the resource group to which the resource belongs.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 type: string + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + identity: + description: 'Identity: A value that indicates whether capture description is enabled.' + properties: + type: + description: 'Type: Type of Azure Active Directory Managed Identity.' + enum: + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: ARM ID of Managed User Identity. This property is required is the type is + UserAssignedIdentity. If type is SystemAssigned, then the System Assigned Identity Associated with the namespace will be + used. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + enum: + - Avro + - AvroDeflate + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + minimum: 1 + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -192478,7 +264078,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a eventhub.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -192487,50 +264087,105 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a resource throughput' + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + minimum: 1 + type: integer + retentionDescription: + description: 'RetentionDescription: Event Hub retention settings' properties: - autoscaleSettings: + cleanupPolicy: + description: 'CleanupPolicy: Enumerates the possible values for cleanup policy' + enum: + - Compact + - Delete + type: string + retentionTimeInHours: description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: + RetentionTimeInHours: Number of hours to retain the events for this Event Hub. This value is only used when + cleanupPolicy is Delete. If cleanupPolicy is Compact the returned value of this property is Long.MaxValue + type: integer + tombstoneRetentionTimeInHours: description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. + TombstoneRetentionTimeInHours: Number of hours to retain the tombstone markers of a compacted Event Hub. This value is + only used when cleanupPolicy is Compact. Consumer must complete reading the tombstone marker within this specified + amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key + described by the tombstone marker within the compacted Event Hub type: integer type: object - tags: - additionalProperties: - type: string - type: object + userMetadata: + description: 'UserMetadata: Gets and Sets Metadata of User.' + type: string required: - owner - - resource type: object status: properties: + captureDescription: + description: 'CaptureDescription: Properties of capture description' + properties: + destination: + description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' + properties: + archiveNameFormat: + description: |- + ArchiveNameFormat: Blob naming convention for archive, e.g. + {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters + (Namespace,EventHub .. etc) are mandatory irrespective of order + type: string + blobContainer: + description: 'BlobContainer: Blob container Name' + type: string + dataLakeAccountName: + description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' + type: string + dataLakeFolderPath: + description: 'DataLakeFolderPath: The destination folder path for the captured events' + type: string + dataLakeSubscriptionId: + description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' + type: string + identity: + description: 'Identity: A value that indicates whether capture description is enabled.' + properties: + type: + description: 'Type: Type of Azure Active Directory Managed Identity.' + type: string + userAssignedIdentity: + description: |- + UserAssignedIdentity: ARM ID of Managed User Identity. This property is required is the type is UserAssignedIdentity. If + type is SystemAssigned, then the System Assigned Identity Associated with the namespace will be used. + type: string + type: object + name: + description: 'Name: Name for capture destination' + type: string + storageAccountResourceId: + description: 'StorageAccountResourceId: Resource id of the storage account to be used to create the blobs' + type: string + type: object + enabled: + description: 'Enabled: A value that indicates whether capture description is enabled.' + type: boolean + encoding: + description: |- + Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be + deprecated in New API Version + type: string + intervalInSeconds: + description: |- + IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, + value should between 60 to 900 seconds + type: integer + sizeLimitInBytes: + description: |- + SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, + value should be between 10485760 to 524288000 bytes + type: integer + skipEmptyArchives: + description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' + type: boolean + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -192575,72 +264230,83 @@ spec: - type type: object type: array + createdAt: + description: 'CreatedAt: Exact time the Event Hub was created.' + type: string id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: The geo-location where the resource lives' type: string + messageRetentionInDays: + description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + type: integer name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - resource: + partitionCount: + description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + type: integer + partitionIds: + description: 'PartitionIds: Current number of shards on the Event Hub.' + items: + type: string + type: array + retentionDescription: + description: 'RetentionDescription: Event Hub retention settings' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' - type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + cleanupPolicy: + description: 'CleanupPolicy: Enumerates the possible values for cleanup policy' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - autoscaleSettings: + retentionTimeInHours: description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' - type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' - type: string - throughput: + RetentionTimeInHours: Number of hours to retain the events for this Event Hub. This value is only used when + cleanupPolicy is Delete. If cleanupPolicy is Compact the returned value of this property is Long.MaxValue + type: integer + tombstoneRetentionTimeInHours: description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. + TombstoneRetentionTimeInHours: Number of hours to retain the tombstone markers of a compacted Event Hub. This value is + only used when cleanupPolicy is Compact. Consumer must complete reading the tombstone marker within this specified + amount of time if consumer begins from starting offset to ensure they get a valid snapshot for the specific key + described by the tombstone marker within the compacted Event Hub type: integer type: object - tags: - additionalProperties: - type: string + status: + description: 'Status: Enumerates the possible values for the status of the Event Hub.' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + userMetadata: + description: 'UserMetadata: Gets and Sets Metadata of User.' type: string type: object type: object @@ -192661,14 +264327,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.MongodbDatabaseThroughputSetting + Storage version of v1api20240101.NamespacesEventhub Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/eventhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} properties: apiVersion: description: |- @@ -192688,7 +264354,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.MongodbDatabaseThroughputSetting_Spec + description: Storage version of v1api20240101.NamespacesEventhub_Spec properties: $propertyBag: additionalProperties: @@ -192697,11 +264363,122 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string + captureDescription: + description: |- + Storage version of v1api20240101.CaptureDescription + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20240101.Destination + Capture storage details for capture description + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + identity: + description: |- + Storage version of v1api20240101.CaptureIdentity + A value that indicates whether capture description is enabled. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentityReference: + description: |- + UserAssignedIdentityReference: ARM ID of Managed User Identity. This property is required is the type is + UserAssignedIdentity. If type is SystemAssigned, then the System Assigned Identity Associated with the namespace will be + used. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + name: + type: string + storageAccountResourceReference: + description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: + type: integer + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean + type: object + messageRetentionInDays: + type: integer operatorSpec: description: |- - Storage version of v1api20210515.MongodbDatabaseThroughputSettingOperatorSpec + Storage version of v1api20240101.NamespacesEventhubOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -192776,7 +264553,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a eventhub.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -192785,10 +264562,12 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: + partitionCount: + type: integer + retentionDescription: description: |- - Storage version of v1api20210515.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + Storage version of v1api20240101.RetentionDescription + Properties to configure retention settings for the eventhub properties: $propertyBag: additionalProperties: @@ -192797,10 +264576,44 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoscaleSettings: + cleanupPolicy: + type: string + retentionTimeInHours: + type: integer + tombstoneRetentionTimeInHours: + type: integer + type: object + userMetadata: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesEventhub_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + captureDescription: + description: |- + Storage version of v1api20240101.CaptureDescription_STATUS + Properties to configure capture description for eventhub + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20210515.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + description: |- + Storage version of v1api20240101.Destination_STATUS + Capture storage details for capture description properties: $propertyBag: additionalProperties: @@ -192809,10 +264622,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoUpgradePolicy: + archiveNameFormat: + type: string + blobContainer: + type: string + dataLakeAccountName: + type: string + dataLakeFolderPath: + type: string + dataLakeSubscriptionId: + type: string + identity: description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy + Storage version of v1api20240101.CaptureIdentity_STATUS + A value that indicates whether capture description is enabled. properties: $propertyBag: additionalProperties: @@ -192821,46 +264644,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - throughputPolicy: - description: |- - Storage version of v1api20210515.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object + type: + type: string + userAssignedIdentity: + type: string type: object - maxThroughput: - type: integer + name: + type: string + storageAccountResourceId: + type: string type: object - throughput: + enabled: + type: boolean + encoding: + type: string + intervalInSeconds: type: integer - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20210515.MongodbDatabaseThroughputSetting_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + sizeLimitInBytes: + type: integer + skipEmptyArchives: + type: boolean type: object conditions: items: @@ -192905,14 +264708,26 @@ spec: - type type: object type: array + createdAt: + type: string id: type: string location: type: string + messageRetentionInDays: + type: integer name: type: string - resource: - description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + partitionCount: + type: integer + partitionIds: + items: + type: string + type: array + retentionDescription: + description: |- + Storage version of v1api20240101.RetentionDescription_STATUS + Properties to configure retention settings for the eventhub properties: $propertyBag: additionalProperties: @@ -192921,78 +264736,87 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: - type: string - _rid: + cleanupPolicy: type: string - _ts: - type: number - autoscaleSettings: + retentionTimeInHours: + type: integer + tombstoneRetentionTimeInHours: + type: integer + type: object + status: + type: string + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20210515.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20210515.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - minimumThroughput: + createdAt: type: string - offerReplacePending: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - throughput: - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: type: string + updatedAt: + type: string + userMetadata: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespaceseventhubsauthorizationrules.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesEventhubsAuthorizationRule + listKind: NamespacesEventhubsAuthorizationRuleList + plural: namespaceseventhubsauthorizationrules + singular: namespaceseventhubsauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -193006,13 +264830,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -193032,9 +264856,12 @@ spec: metadata: type: object spec: - properties: - location: - description: 'Location: The location of the resource group to which the resource belongs.' + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 type: string operatorSpec: description: |- @@ -193101,12 +264928,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource + reference to a eventhub.azure.com/NamespacesEventhub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -193115,47 +265014,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a resource throughput' - properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send type: string - type: object + type: array required: - owner - - resource + - rights type: object status: properties: @@ -193204,79 +265074,45 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the resource' type: string - resource: + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - instantMaximumThroughput: - description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - softAllowedMaximumThroughput: - description: |- - SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can - be specified + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: - description: 'Type: The type of Azure resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -193297,14 +265133,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.MongodbDatabaseThroughputSetting + Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -193324,7 +265160,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.MongodbDatabaseThroughputSetting_Spec + description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -193333,11 +265169,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- - Storage version of v1api20231115.MongodbDatabaseThroughputSettingOperatorSpec + Storage version of v1api20211101.NamespacesEventhubsAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -193405,38 +265244,8 @@ spec: - value type: object type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/MongodbDatabase resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - resource: - description: |- - Storage version of v1api20231115.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object + secrets: + description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRuleOperatorSecrets properties: $propertyBag: additionalProperties: @@ -193445,51 +265254,104 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoUpgradePolicy: + primaryConnectionString: description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - Storage version of v1api20231115.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - maxThroughput: - type: integer type: object - throughput: - type: integer type: object - tags: - additionalProperties: - type: string + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object + rights: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20231115.MongodbDatabaseThroughputSetting_STATUS + description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -193547,8 +265409,14 @@ spec: type: string name: type: string - resource: - description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -193557,114 +265425,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _etag: + createdAt: type: string - _rid: + createdBy: type: string - _ts: - type: number - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20231115.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer - type: object - instantMaximumThroughput: + createdByType: type: string - minimumThroughput: + lastModifiedAt: type: string - offerReplacePending: + lastModifiedBy: type: string - softAllowedMaximumThroughput: + lastModifiedByType: type: string - throughput: - type: integer - type: object - tags: - additionalProperties: - type: string type: object type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namedvalues.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: NamedValue - listKind: NamedValueList - plural: namedvalues - singular: namedvalue - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -193678,13 +265459,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimnamedvalues.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -193709,46 +265490,8 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - pattern: ^[^*#&+:<>?]+$ - type: string - displayName: - description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' - maxLength: 256 minLength: 1 - pattern: ^[A-Za-z0-9-._]+$ type: string - keyVault: - description: 'KeyVault: KeyVault location details of the namedValue.' - properties: - identityClientId: - description: |- - IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access - key vault secret. - type: string - identityClientIdFromConfig: - description: |- - IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used - to access key vault secret. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - secretIdentifier: - description: |- - SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent - auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi - type: string - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -193814,12 +265557,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a eventhub.azure.com/NamespacesEventhub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -193828,24 +265643,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - secret: - description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' - type: boolean - tags: - description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + rights: + description: 'Rights: The rights associated with the rule.' items: + enum: + - Listen + - Manage + - Send type: string - maxItems: 32 type: array - value: - description: |- - Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This - property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. - maxLength: 4096 - type: string required: - - displayName - owner + - rights type: object status: properties: @@ -193893,61 +265702,46 @@ spec: - type type: object type: array - displayName: - description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' - type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - keyVault: - description: 'KeyVault: KeyVault location details of the namedValue.' - properties: - identityClientId: - description: |- - IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access - key vault secret. - type: string - lastStatus: - description: 'LastStatus: Last time sync and refresh status of secret from key vault.' - properties: - code: - description: 'Code: Last status code for sync and refresh of secret from key vault.' - type: string - message: - description: 'Message: Details of the error else empty.' - type: string - timeStampUtc: - description: |- - TimeStampUtc: Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - type: object - secretIdentifier: - description: |- - SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent - auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi - type: string - type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string name: description: 'Name: The name of the resource' type: string - secret: - description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' - type: boolean - tags: - description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' + rights: + description: 'Rights: The rights associated with the rule.' items: type: string type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - value: - description: |- - Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This - property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -193968,14 +265762,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.NamedValue + Storage version of v1api20240101.NamespacesEventhubsAuthorizationRule Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimnamedvalues.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -193995,7 +265789,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.NamedValue_Spec + description: Storage version of v1api20240101.NamespacesEventhubsAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -194009,45 +265803,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - displayName: - type: string - keyVault: - description: |- - Storage version of v1api20220801.KeyVaultContractCreateProperties - Create keyVault contract details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identityClientId: - type: string - identityClientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - secretIdentifier: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20220801.NamedValueOperatorSpec + Storage version of v1api20240101.NamespacesEventhubsAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -194115,6 +265873,89 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240101.NamespacesEventhubsAuthorizationRuleOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -194122,7 +265963,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a eventhub.azure.com/NamespacesEventhub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -194131,19 +265972,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - secret: - type: boolean - tags: + rights: items: type: string type: array - value: - type: string required: - owner type: object status: - description: Storage version of v1api20220801.NamedValue_STATUS + description: Storage version of v1api20240101.NamespacesEventhubsAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -194195,14 +266032,20 @@ spec: - type type: object type: array - displayName: - type: string id: type: string - keyVault: + location: + type: string + name: + type: string + rights: + items: + type: string + type: array + systemData: description: |- - Storage version of v1api20220801.KeyVaultContractProperties_STATUS - KeyVault contract details. + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -194211,48 +266054,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - identityClientId: + createdAt: type: string - lastStatus: - description: |- - Storage version of v1api20220801.KeyVaultLastAccessStatusContractProperties_STATUS - Issue contract Update Properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - timeStampUtc: - type: string - type: object - secretIdentifier: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - name: - type: string - secret: - type: boolean - tags: - items: - type: string - type: array type: type: string - value: - type: string type: object type: object served: true storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespaceseventhubsconsumergroups.eventhub.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: eventhub.azure.com + names: + categories: + - azure + - eventhub + kind: NamespacesEventhubsConsumerGroup + listKind: NamespacesEventhubsConsumerGroupList + plural: namespaceseventhubsconsumergroups + singular: namespaceseventhubsconsumergroup + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -194266,13 +266123,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimnamedvalues.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} properties: apiVersion: description: |- @@ -194297,46 +266154,9 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - pattern: ^[^*#&+:<>?]+$ - type: string - displayName: - description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' - maxLength: 256 + maxLength: 50 minLength: 1 - pattern: ^[A-Za-z0-9-._]+$ type: string - keyVault: - description: 'KeyVault: KeyVault location details of the namedValue.' - properties: - identityClientId: - description: |- - IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access - key vault secret. - type: string - identityClientIdFromConfig: - description: |- - IdentityClientIdFromConfig: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used - to access key vault secret. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - secretIdentifier: - description: |- - SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent - auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi - type: string - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -194407,7 +266227,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a eventhub.azure.com/NamespacesEventhub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -194416,23 +266236,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - secret: - description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' - type: boolean - tags: - description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' - items: - type: string - maxItems: 32 - type: array - value: + userMetadata: description: |- - Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This - property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. - maxLength: 4096 + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. type: string required: - - displayName - owner type: object status: @@ -194481,64 +266291,53 @@ spec: - type type: object type: array - displayName: - description: 'DisplayName: Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.' + createdAt: + description: 'CreatedAt: Exact time the message was created.' type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - keyVault: - description: 'KeyVault: KeyVault location details of the namedValue.' + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + systemData: + description: 'SystemData: The system meta data relating to this resource.' properties: - identityClientId: - description: |- - IdentityClientId: Null for SystemAssignedIdentity or Client Id for UserAssignedIdentity , which will be used to access - key vault secret. + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - lastStatus: - description: 'LastStatus: Last time sync and refresh status of secret from key vault.' - properties: - code: - description: 'Code: Last status code for sync and refresh of secret from key vault.' - type: string - message: - description: 'Message: Details of the error else empty.' - type: string - timeStampUtc: - description: |- - TimeStampUtc: Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - type: object - secretIdentifier: - description: |- - SecretIdentifier: Key vault secret identifier for fetching secret. Providing a versioned secret will prevent - auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - name: - description: 'Name: The name of the resource' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state' - type: string - secret: - description: 'Secret: Determines whether the value is a secret and should be encrypted or not. Default value is false.' - type: boolean - tags: - description: 'Tags: Optional tags that when provided can be used to filter the NamedValue list.' - items: - type: string - type: array type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string - value: + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string + userMetadata: description: |- - Value: Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This - property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value. + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. type: string type: object type: object @@ -194559,14 +266358,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.NamedValue + Storage version of v1api20211101.NamespacesEventhubsConsumerGroup Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimnamedvalues.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} properties: apiVersion: description: |- @@ -194586,7 +266385,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.NamedValue_Spec + description: Storage version of v1api20211101.NamespacesEventhubsConsumerGroup_Spec properties: $propertyBag: additionalProperties: @@ -194600,45 +266399,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - displayName: - type: string - keyVault: - description: |- - Storage version of v1api20230501preview.KeyVaultContractCreateProperties - Create keyVault contract details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identityClientId: - type: string - identityClientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - secretIdentifier: - type: string - type: object operatorSpec: description: |- - Storage version of v1api20230501preview.NamedValueOperatorSpec + Storage version of v1api20211101.NamespacesEventhubsConsumerGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -194713,7 +266476,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a eventhub.azure.com/NamespacesEventhub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -194722,19 +266485,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - secret: - type: boolean - tags: - items: - type: string - type: array - value: + userMetadata: type: string required: - owner type: object status: - description: Storage version of v1api20230501preview.NamedValue_STATUS + description: Storage version of v1api20211101.NamespacesEventhubsConsumerGroup_STATUS properties: $propertyBag: additionalProperties: @@ -194786,14 +266543,18 @@ spec: - type type: object type: array - displayName: + createdAt: type: string id: type: string - keyVault: + location: + type: string + name: + type: string + systemData: description: |- - Storage version of v1api20230501preview.KeyVaultContractProperties_STATUS - KeyVault contract details. + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -194802,43 +266563,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - identityClientId: + createdAt: type: string - lastStatus: - description: |- - Storage version of v1api20230501preview.KeyVaultLastAccessStatusContractProperties_STATUS - Issue contract Update Properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - code: - type: string - message: - type: string - timeStampUtc: - type: string - type: object - secretIdentifier: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - name: - type: string - provisioningState: - type: string - secret: - type: boolean - tags: - items: - type: string - type: array type: type: string - value: + updatedAt: + type: string + userMetadata: type: string type: object type: object @@ -194846,38 +266588,6 @@ spec: storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespaces.eventhub.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: eventhub.azure.com - names: - kind: Namespace - listKind: NamespaceList - plural: namespaces - singular: namespace - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -194891,13 +266601,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} properties: apiVersion: description: |- @@ -194918,144 +266628,13 @@ spec: type: object spec: properties: - alternateName: - description: 'AlternateName: Alternate name specified when alias and namespace names are same.' - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. maxLength: 50 - minLength: 6 - pattern: ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$ - type: string - clusterArmReference: - description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - disableLocalAuth: - description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' - type: boolean - encryption: - description: 'Encryption: Properties of BYOK Encryption description' - properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - enum: - - Microsoft.KeyVault - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Key Version' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean - type: object - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - isAutoInflateEnabled: - description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' - type: boolean - kafkaEnabled: - description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' - type: boolean - location: - description: 'Location: Resource location.' + minLength: 1 type: string - maximumThroughputUnits: - description: |- - MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 - throughput units. ( '0' if AutoInflateEnabled = true) - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -195121,84 +266700,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a eventhub.azure.com/NamespacesEventhub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -195207,51 +266714,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: 'Sku: Properties of sku resource' - properties: - capacity: - description: |- - Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. - The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. - minimum: 0 - type: integer - name: - description: 'Name: Name of this SKU.' - enum: - - Basic - - Premium - - Standard - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - enum: - - Basic - - Premium - - Standard - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' - type: boolean + userMetadata: + description: |- + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. + type: string required: - owner type: object status: properties: - alternateName: - description: 'AlternateName: Alternate name specified when alias and namespace names are same.' - type: string - clusterArmId: - description: 'ClusterArmId: Cluster ARM ID of the Namespace.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -195297,130 +266770,19 @@ spec: type: object type: array createdAt: - description: 'CreatedAt: The time the Namespace was created.' + description: 'CreatedAt: Exact time the message was created.' type: string - disableLocalAuth: - description: 'DisableLocalAuth: This property disables SAS authentication for the Event Hubs namespace.' - type: boolean - encryption: - description: 'Encryption: Properties of BYOK Encryption description' - properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' - type: string - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Key Version' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean - type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - principalId: - description: 'PrincipalId: ObjectId from the KeyVault' - type: string - tenantId: - description: 'TenantId: TenantId from the KeyVault' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: - additionalProperties: - description: Recognized Dictionary value. - properties: - clientId: - description: 'ClientId: Client Id of user assigned identity' - type: string - principalId: - description: 'PrincipalId: Principal Id of user assigned identity' - type: string - type: object - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - type: object - type: object - isAutoInflateEnabled: - description: 'IsAutoInflateEnabled: Value that indicates whether AutoInflate is enabled for eventhub namespace.' - type: boolean - kafkaEnabled: - description: 'KafkaEnabled: Value that indicates whether Kafka is enabled for eventhub namespace.' - type: boolean location: - description: 'Location: Resource location.' - type: string - maximumThroughputUnits: - description: |- - MaximumThroughputUnits: Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 - throughput units. ( '0' if AutoInflateEnabled = true) - type: integer - metricId: - description: 'MetricId: Identifier for Azure Insights metrics.' + description: 'Location: The geo-location where the resource lives' type: string name: description: 'Name: The name of the resource' type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections.' - items: - description: Properties of the PrivateEndpointConnection. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Provisioning state of the Namespace.' - type: string - serviceBusEndpoint: - description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' - type: string - sku: - description: 'Sku: Properties of sku resource' - properties: - capacity: - description: |- - Capacity: The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. - The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units. - type: integer - name: - description: 'Name: Name of this SKU.' - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - type: string - type: object - status: - description: 'Status: Status of the Namespace.' - type: string systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -195443,20 +266805,18 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string updatedAt: - description: 'UpdatedAt: The time the Namespace was updated.' + description: 'UpdatedAt: The exact time the message was updated.' + type: string + userMetadata: + description: |- + UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be + used to store descriptive data, such as list of teams and their contact information also user-defined configuration + settings can be stored. type: string - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.' - type: boolean type: object type: object served: true @@ -195476,14 +266836,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.Namespace + Storage version of v1api20240101.NamespacesEventhubsConsumerGroup Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName} + - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2024-01-01/consumergroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} properties: apiVersion: description: |- @@ -195503,7 +266863,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.Namespace_Spec + description: Storage version of v1api20240101.NamespacesEventhubsConsumerGroup_Spec properties: $propertyBag: additionalProperties: @@ -195512,165 +266872,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - alternateName: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clusterArmReference: - description: 'ClusterArmReference: Cluster ARM ID of the Namespace.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - disableLocalAuth: - type: boolean - encryption: - description: |- - Storage version of v1api20211101.Encryption - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20211101.KeyVaultProperties - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20211101.UserAssignedIdentityProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - identity: - description: |- - Storage version of v1api20211101.Identity - Properties to configure Identity for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20211101.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - isAutoInflateEnabled: - type: boolean - kafkaEnabled: - type: boolean - location: - type: string - maximumThroughputUnits: - type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespaceOperatorSpec + Storage version of v1api20240101.NamespacesEventhubsConsumerGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -195738,342 +266947,91 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20211101.NamespaceOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - sku: - description: |- - Storage version of v1api20211101.Sku - SKU parameters supplied to the create namespace operation - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundant: - type: boolean - required: - - owner - type: object - status: - description: Storage version of v1api20211101.Namespace_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alternateName: - type: string - clusterArmId: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createdAt: - type: string - disableLocalAuth: - type: boolean - encryption: - description: |- - Storage version of v1api20211101.Encryption_STATUS - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20211101.KeyVaultProperties_STATUS - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20211101.UserAssignedIdentityProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20211101.Identity_STATUS - Properties to configure Identity for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20211101.UserAssignedIdentity_STATUS - Recognized Dictionary value. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object type: object - isAutoInflateEnabled: - type: boolean - kafkaEnabled: - type: boolean - location: - type: string - maximumThroughputUnits: - type: integer - metricId: + originalVersion: type: string - name: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a eventhub.azure.com/NamespacesEventhub resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + userMetadata: type: string - privateEndpointConnections: + required: + - owner + type: object + status: + description: Storage version of v1api20240101.NamespacesEventhubsConsumerGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: |- - Storage version of v1api20211101.PrivateEndpointConnection_STATUS - Properties of the PrivateEndpointConnection. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - provisioningState: + createdAt: type: string - serviceBusEndpoint: + id: type: string - sku: - description: |- - Storage version of v1api20211101.Sku_STATUS - SKU parameters supplied to the create namespace operation - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - status: + location: + type: string + name: type: string systemData: description: |- - Storage version of v1api20211101.SystemData_STATUS + Storage version of v1api20240101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -196096,16 +267054,12 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string updatedAt: type: string - zoneRedundant: - type: boolean + userMetadata: + type: string type: object type: object served: true @@ -196118,11 +267072,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespaces.servicebus.azure.com + app.kubernetes.io/version: v2.15.0 + name: namespacesqueues.servicebus.azure.com spec: conversion: strategy: Webhook @@ -196137,10 +267091,13 @@ spec: - v1 group: servicebus.azure.com names: - kind: Namespace - listKind: NamespaceList - plural: namespaces - singular: namespace + categories: + - azure + - servicebus + kind: NamespacesQueue + listKind: NamespacesQueueList + plural: namespacesqueues + singular: namespacesqueue preserveUnknownFields: false scope: Namespaced versions: @@ -196162,8 +267119,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/namespace-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -196184,104 +267141,65 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + minLength: 1 type: string - encryption: - description: 'Encryption: Properties of BYOK Encryption description' - properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - enum: - - Microsoft.KeyVault - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Version of KeyVault' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean - type: object - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: - description: 'Location: The Geo-location where the resource lives' + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -196347,99 +267265,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - endpoint: - description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -196448,43 +267279,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: 'Sku: Properties of SKU' - properties: - capacity: - description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' - type: integer - name: - description: 'Name: Name of this SKU.' - enum: - - Basic - - Premium - - Standard - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - enum: - - Basic - - Premium - - Standard - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' type: boolean required: - - location - owner type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -196529,110 +267342,96 @@ spec: - type type: object type: array - createdAt: - description: 'CreatedAt: The time the namespace was created' - type: string - encryption: - description: 'Encryption: Properties of BYOK Encryption description' + countDetails: + description: 'CountDetails: Message Count Details.' properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' - type: string - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Version of KeyVault' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer type: object + createdAt: + description: 'CreatedAt: The exact time the message was created.' + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string id: description: 'Id: Resource Id' type: string - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - principalId: - description: 'PrincipalId: ObjectId from the KeyVault' - type: string - tenantId: - description: 'TenantId: TenantId from the KeyVault' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: - additionalProperties: - description: Recognized Dictionary value. - properties: - clientId: - description: 'ClientId: Client Id of user assigned identity' - type: string - principalId: - description: 'PrincipalId: Principal Id of user assigned identity' - type: string - type: object - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - type: object - type: object - location: - description: 'Location: The Geo-location where the resource lives' - type: string - metricId: - description: 'MetricId: Identifier for Azure Insights metrics' + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer name: description: 'Name: Resource name' type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections.' - items: - description: Properties of the PrivateEndpointConnection. - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Provisioning state of the namespace.' - type: string - serviceBusEndpoint: - description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' - type: string - sku: - description: 'Sku: Properties of SKU' - properties: - capacity: - description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' - type: integer - name: - description: 'Name: Name of this SKU.' - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - type: string - type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer status: - description: 'Status: Status of the namespace.' + description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string systemData: description: 'SystemData: The system meta data relating to this resource.' @@ -196656,20 +267455,12 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object type: description: 'Type: Resource type' type: string updatedAt: - description: 'UpdatedAt: The time the namespace was updated.' + description: 'UpdatedAt: The exact time the message was updated.' type: string - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' - type: boolean type: object type: object served: true @@ -196693,10 +267484,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20210101preview.Namespace + Storage version of v1api20210101preview.NamespacesQueue Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/namespace-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -196716,7 +267507,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101preview.Namespace_Spec + description: Storage version of v1api20210101preview.NamespacesQueue_Spec properties: $propertyBag: additionalProperties: @@ -196725,135 +267516,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - encryption: - description: |- - Storage version of v1api20210101preview.Encryption - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20210101preview.KeyVaultProperties - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20210101preview.UserAssignedIdentityProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - identity: - description: |- - Storage version of v1api20210101preview.Identity - Properties to configure User Assigned Identities for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20210101preview.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: type: string + maxDeliveryCount: + type: integer + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20210101preview.NamespaceOperatorSpec + Storage version of v1api20210101preview.NamespacesQueueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -196921,107 +267615,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20210101preview.NamespaceOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpoint: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -197029,7 +267622,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -197038,36 +267631,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: |- - Storage version of v1api20210101preview.SBSku - SKU of the namespace. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundant: + requiresDuplicateDetection: + type: boolean + requiresSession: type: boolean required: - owner type: object status: - description: Storage version of v1api20210101preview.Namespace_STATUS + description: Storage version of v1api20210101preview.NamespacesQueue_STATUS properties: $propertyBag: additionalProperties: @@ -197076,173 +267648,57 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource properties: lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createdAt: - type: string - encryption: - description: |- - Storage version of v1api20210101preview.Encryption_STATUS - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20210101preview.KeyVaultProperties_STATUS - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20210101preview.UserAssignedIdentityProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20210101preview.Identity_STATUS - Properties to configure User Assigned Identities for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20210101preview.DictionaryValue_STATUS - Recognized Dictionary value. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - location: - type: string - metricId: - type: string - name: - type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20210101preview.PrivateEndpointConnection_STATUS - Properties of the PrivateEndpointConnection. - properties: - $propertyBag: - additionalProperties: - type: string + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - provisioningState: - type: string - serviceBusEndpoint: - type: string - sku: + countDetails: description: |- - Storage version of v1api20210101preview.SBSku_STATUS - SKU of the namespace. + Storage version of v1api20210101preview.MessageCountDetails_STATUS + Message Count Details. properties: $propertyBag: additionalProperties: @@ -197251,13 +267707,53 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: type: integer - name: - type: string - tier: - type: string type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer status: type: string systemData: @@ -197285,16 +267781,10 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string updatedAt: type: string - zoneRedundant: - type: boolean type: object type: object served: true @@ -197319,8 +267809,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -197341,110 +267831,70 @@ spec: type: object spec: properties: - alternateName: - description: 'AlternateName: Alternate name for namespace' + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + minLength: 1 type: string - disableLocalAuth: - description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. type: boolean - encryption: - description: 'Encryption: Properties of BYOK Encryption description' - properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - enum: - - Microsoft.KeyVault - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Version of KeyVault' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean - type: object - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: - description: 'Location: The Geo-location where the resource lives' + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -197510,99 +267960,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - endpoint: - description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -197611,45 +267974,24 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: 'Sku: Properties of SKU' - properties: - capacity: - description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' - type: integer - name: - description: 'Name: Name of this SKU.' - enum: - - Basic - - Premium - - Standard - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - enum: - - Basic - - Premium - - Standard - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' type: boolean required: - - location - owner type: object status: properties: - alternateName: - description: 'AlternateName: Alternate name for namespace' + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. type: string conditions: description: 'Conditions: The observed state of the resource' @@ -197695,115 +268037,106 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message Count Details.' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object createdAt: - description: 'CreatedAt: The time the namespace was created' + description: 'CreatedAt: The exact time the message was created.' type: string - disableLocalAuth: - description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. type: boolean - encryption: - description: 'Encryption: Properties of BYOK Encryption description' - properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' - type: string - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Version of KeyVault' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean - type: object + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string id: - description: 'Id: Resource Id' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - principalId: - description: 'PrincipalId: ObjectId from the KeyVault' - type: string - tenantId: - description: 'TenantId: TenantId from the KeyVault' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: - additionalProperties: - description: Recognized Dictionary value. - properties: - clientId: - description: 'ClientId: Client Id of user assigned identity' - type: string - principalId: - description: 'PrincipalId: Principal Id of user assigned identity' - type: string - type: object - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - type: object - type: object location: - description: 'Location: The Geo-location where the resource lives' + description: 'Location: The geo-location where the resource lives' type: string - metricId: - description: 'MetricId: Identifier for Azure Insights metrics' + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer name: - description: 'Name: Resource name' - type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections.' - items: - description: Properties of the PrivateEndpointConnection. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Provisioning state of the namespace.' - type: string - serviceBusEndpoint: - description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + description: 'Name: The name of the resource' type: string - sku: - description: 'Sku: Properties of SKU' - properties: - capacity: - description: 'Capacity: The specified messaging units for the tier. For Premium tier, capacity are 1,2 and 4.' - type: integer - name: - description: 'Name: Name of this SKU.' - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - type: string - type: object + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer status: - description: 'Status: Status of the namespace.' + description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string systemData: description: 'SystemData: The system meta data relating to this resource.' @@ -197827,20 +268160,12 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string updatedAt: - description: 'UpdatedAt: The time the namespace was updated.' + description: 'UpdatedAt: The exact time the message was updated.' type: string - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' - type: boolean type: object type: object served: true @@ -197864,10 +268189,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.Namespace + Storage version of v1api20211101.NamespacesQueue Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/namespace-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -197887,7 +268212,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.Namespace_Spec + description: Storage version of v1api20211101.NamespacesQueue_Spec properties: $propertyBag: additionalProperties: @@ -197896,139 +268221,40 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - alternateName: + autoDeleteOnIdle: type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableLocalAuth: + deadLetteringOnMessageExpiration: type: boolean - encryption: - description: |- - Storage version of v1api20211101.Encryption - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20211101.KeyVaultProperties - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20211101.UserAssignedIdentityProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - identity: - description: |- - Storage version of v1api20211101.Identity - Properties to configure User Assigned Identities for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20211101.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespaceOperatorSpec + Storage version of v1api20211101.NamespacesQueueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -198096,107 +268322,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20211101.NamespaceOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpoint: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -198204,7 +268329,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -198213,36 +268338,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: |- - Storage version of v1api20211101.SBSku - SKU of the namespace. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundant: + requiresDuplicateDetection: + type: boolean + requiresSession: type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.Namespace_STATUS + description: Storage version of v1api20211101.NamespacesQueue_STATUS properties: $propertyBag: additionalProperties: @@ -198251,7 +268355,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - alternateName: + accessedAt: + type: string + autoDeleteOnIdle: type: string conditions: items: @@ -198296,14 +268402,10 @@ spec: - type type: object type: array - createdAt: - type: string - disableLocalAuth: - type: boolean - encryption: + countDetails: description: |- - Storage version of v1api20211101.Encryption_STATUS - Properties to configure Encryption + Storage version of v1api20211101.MessageCountDetails_STATUS + Message Count Details. properties: $propertyBag: additionalProperties: @@ -198312,131 +268414,57 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20211101.KeyVaultProperties_STATUS - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20211101.UserAssignedIdentityProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer type: object - id: + createdAt: type: string - identity: - description: |- - Storage version of v1api20211101.Identity_STATUS - Properties to configure User Assigned Identities for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20211101.UserAssignedIdentity_STATUS - Recognized Dictionary value. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - location: + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: type: string - metricId: + duplicateDetectionHistoryTimeWindow: type: string - name: + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20211101.PrivateEndpointConnection_STATUS - Properties of the PrivateEndpointConnection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: + forwardTo: type: string - serviceBusEndpoint: + id: + type: string + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: type: string - sku: - description: |- - Storage version of v1api20211101.SBSku_STATUS - SKU of the namespace. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer status: type: string systemData: @@ -198464,20 +268492,14 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string updatedAt: type: string - zoneRedundant: - type: boolean type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -198498,8 +268520,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/namespace-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -198520,117 +268542,70 @@ spec: type: object spec: properties: - alternateName: - description: 'AlternateName: Alternate name for namespace' + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + minLength: 1 type: string - disableLocalAuth: - description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. type: boolean - encryption: - description: 'Encryption: Properties of BYOK Encryption description' - properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - enum: - - Microsoft.KeyVault - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Version of KeyVault' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean - type: object - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: - description: 'Location: The Geo-location where the resource lives' + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' - enum: - - "1.0" - - "1.1" - - "1.2" + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -198696,99 +268671,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - endpoint: - description: 'Endpoint: indicates where the Endpoint secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -198797,61 +268685,24 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - premiumMessagingPartitions: - description: |- - PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to - Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 - type: integer - publicNetworkAccess: - description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' - enum: - - Disabled - - Enabled - - SecuredByPerimeter - type: string - sku: - description: 'Sku: Properties of SKU' - properties: - capacity: - description: |- - Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of - your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then - possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity - values are 4, 8, 16, 32 and 64 - type: integer - name: - description: 'Name: Name of this SKU.' - enum: - - Basic - - Premium - - Standard - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - enum: - - Basic - - Premium - - Standard - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' type: boolean required: - - location - owner type: object status: properties: - alternateName: - description: 'AlternateName: Alternate name for namespace' + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. type: string conditions: description: 'Conditions: The observed state of the resource' @@ -198897,130 +268748,106 @@ spec: - type type: object type: array - createdAt: - description: 'CreatedAt: The time the namespace was created' - type: string - disableLocalAuth: - description: 'DisableLocalAuth: This property disables SAS authentication for the Service Bus namespace.' - type: boolean - encryption: - description: 'Encryption: Properties of BYOK Encryption description' + countDetails: + description: 'CountDetails: Message Count Details.' properties: - keySource: - description: 'KeySource: Enumerates the possible value of keySource for Encryption' - type: string - keyVaultProperties: - description: 'KeyVaultProperties: Properties of KeyVault' - items: - description: Properties to configure keyVault Properties - properties: - identity: - properties: - userAssignedIdentity: - description: 'UserAssignedIdentity: ARM ID of user Identity selected for encryption' - type: string - type: object - keyName: - description: 'KeyName: Name of the Key from KeyVault' - type: string - keyVaultUri: - description: 'KeyVaultUri: Uri of KeyVault' - type: string - keyVersion: - description: 'KeyVersion: Version of KeyVault' - type: string - type: object - type: array - requireInfrastructureEncryption: - description: 'RequireInfrastructureEncryption: Enable Infrastructure Encryption (Double Encryption)' - type: boolean + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer type: object - id: - description: 'Id: Resource Id' + createdAt: + description: 'CreatedAt: The exact time the message was created.' type: string - identity: - description: 'Identity: Properties of BYOK Identity description' - properties: - principalId: - description: 'PrincipalId: ObjectId from the KeyVault' - type: string - tenantId: - description: 'TenantId: TenantId from the KeyVault' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: - additionalProperties: - description: Recognized Dictionary value. - properties: - clientId: - description: 'ClientId: Client Id of user assigned identity' - type: string - principalId: - description: 'PrincipalId: Principal Id of user assigned identity' - type: string - type: object - description: 'UserAssignedIdentities: Properties for User Assigned Identities' - type: object - type: object - location: - description: 'Location: The Geo-location where the resource lives' + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. type: string - metricId: - description: 'MetricId: Identifier for Azure Insights metrics' + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' type: string - name: - description: 'Name: Resource name' + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' type: string - premiumMessagingPartitions: + id: description: |- - PremiumMessagingPartitions: The number of partitions of a Service Bus namespace. This property is only applicable to - Premium SKU namespaces. The default value is 1 and possible values are 1, 2 and 4 - type: integer - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections.' - items: - description: Properties of the PrivateEndpointConnection. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Provisioning state of the namespace.' + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: This determines if traffic is allowed over public network. By default it is enabled.' + location: + description: 'Location: The geo-location where the resource lives' type: string - serviceBusEndpoint: - description: 'ServiceBusEndpoint: Endpoint you can use to perform Service Bus operations.' + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. type: string - sku: - description: 'Sku: Properties of SKU' - properties: - capacity: - description: |- - Capacity: Messaging units for your service bus premium namespace. Valid capacities are {1, 2, 4, 8, 16} multiples of - your properties.premiumMessagingPartitions setting. For example, If properties.premiumMessagingPartitions is 1 then - possible capacity values are 1, 2, 4, 8, and 16. If properties.premiumMessagingPartitions is 4 then possible capacity - values are 4, 8, 16, 32 and 64 - type: integer - name: - description: 'Name: Name of this SKU.' - type: string - tier: - description: 'Tier: The billing tier of this particular SKU.' - type: string - type: object + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer + name: + description: 'Name: The name of the resource' + type: string + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer status: - description: 'Status: Status of the namespace.' + description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string systemData: description: 'SystemData: The system meta data relating to this resource.' @@ -199044,20 +268871,12 @@ spec: description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags' - type: object type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string updatedAt: - description: 'UpdatedAt: The time the namespace was updated.' + description: 'UpdatedAt: The exact time the message was updated.' type: string - zoneRedundant: - description: 'ZoneRedundant: Enabling this property creates a Premium Service Bus Namespace in regions supported availability zones.' - type: boolean type: object type: object served: true @@ -199081,10 +268900,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20221001preview.Namespace + Storage version of v1api20221001preview.NamespacesQueue Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/namespace-preview.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -199104,7 +268923,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001preview.Namespace_Spec + description: Storage version of v1api20221001preview.NamespacesQueue_Spec properties: $propertyBag: additionalProperties: @@ -199113,141 +268932,40 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - alternateName: + autoDeleteOnIdle: type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableLocalAuth: + deadLetteringOnMessageExpiration: type: boolean - encryption: - description: |- - Storage version of v1api20221001preview.Encryption - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20221001preview.KeyVaultProperties - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20221001preview.UserAssignedIdentityProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentityReference: - description: 'UserAssignedIdentityReference: ARM ID of user Identity selected for encryption' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - identity: - description: |- - Storage version of v1api20221001preview.Identity - Properties to configure User Assigned Identities for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20221001preview.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: + defaultMessageTimeToLive: type: string - minimumTlsVersion: + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20221001preview.NamespaceOperatorSpec + Storage version of v1api20221001preview.NamespacesQueueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -199302,355 +269020,103 @@ spec: type: string name: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secrets: - description: Storage version of v1api20221001preview.NamespaceOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - endpoint: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - premiumMessagingPartitions: - type: integer - publicNetworkAccess: - type: string - sku: - description: |- - Storage version of v1api20221001preview.SBSku - SKU of the namespace. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundant: - type: boolean - required: - - owner - type: object - status: - description: Storage version of v1api20221001preview.Namespace_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alternateName: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createdAt: - type: string - disableLocalAuth: - type: boolean - encryption: - description: |- - Storage version of v1api20221001preview.Encryption_STATUS - Properties to configure Encryption - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keySource: - type: string - keyVaultProperties: - items: - description: |- - Storage version of v1api20221001preview.KeyVaultProperties_STATUS - Properties to configure keyVault Properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - description: Storage version of v1api20221001preview.UserAssignedIdentityProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - userAssignedIdentity: - type: string - type: object - keyName: - type: string - keyVaultUri: - type: string - keyVersion: - type: string - type: object - type: array - requireInfrastructureEncryption: - type: boolean - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20221001preview.Identity_STATUS - Properties to configure User Assigned Identities for Bring your Own Keys - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20221001preview.UserAssignedIdentity_STATUS - Recognized Dictionary value. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - principalId: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - type: object + type: array type: object - location: - type: string - metricId: + originalVersion: type: string - minimumTlsVersion: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a servicebus.azure.com/Namespace resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + required: + - owner + type: object + status: + description: Storage version of v1api20221001preview.NamespacesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessedAt: type: string - name: + autoDeleteOnIdle: type: string - premiumMessagingPartitions: - type: integer - privateEndpointConnections: + conditions: items: - description: |- - Storage version of v1api20221001preview.PrivateEndpointConnection_STATUS - Properties of the PrivateEndpointConnection. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - provisioningState: - type: string - publicNetworkAccess: - type: string - serviceBusEndpoint: - type: string - sku: + countDetails: description: |- - Storage version of v1api20221001preview.SBSku_STATUS - SKU of the namespace. + Storage version of v1api20221001preview.MessageCountDetails_STATUS + Message Count Details. properties: $propertyBag: additionalProperties: @@ -199659,13 +269125,57 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: type: integer - name: - type: string - tier: - type: string type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + id: + type: string + location: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer + name: + type: string + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer status: type: string systemData: @@ -199693,54 +269203,16 @@ spec: lastModifiedByType: type: string type: object - tags: - additionalProperties: - type: string - type: object type: type: string updatedAt: type: string - zoneRedundant: - type: boolean type: object type: object served: true storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespacesauthorizationrules.eventhub.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: eventhub.azure.com - names: - kind: NamespacesAuthorizationRule - listKind: NamespacesAuthorizationRuleList - plural: namespacesauthorizationrules - singular: namespacesauthorizationrule - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -199754,13 +269226,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -199781,12 +269253,70 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. minLength: 1 type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -199852,84 +269382,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/Namespace resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -199938,21 +269396,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - description: 'Rights: The rights associated with the rule.' - items: - enum: - - Listen - - Manage - - Send - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean required: - owner - - rights type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -199997,6 +269459,61 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message Count Details.' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: The exact time the message was created.' + type: string + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -200005,14 +269522,44 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string + lockDuration: + description: |- + LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for + other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + type: string + maxDeliveryCount: + description: |- + MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. + default value is 10. + type: integer + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. + Default is 1024. + type: integer + messageCount: + description: 'MessageCount: The number of messages in the queue.' + type: integer name: description: 'Name: The name of the resource' type: string - rights: - description: 'Rights: The rights associated with the rule.' - items: - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' + type: boolean + requiresSession: + description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: The size of the queue, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -200038,6 +269585,9 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string type: object type: object served: true @@ -200057,14 +269607,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesAuthorizationRule + Storage version of v1api20240101.NamespacesQueue Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/Queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} properties: apiVersion: description: |- @@ -200084,7 +269634,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesAuthorizationRule_Spec + description: Storage version of v1api20240101.NamespacesQueue_Spec properties: $propertyBag: additionalProperties: @@ -200093,14 +269643,40 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSpec + Storage version of v1api20240101.NamespacesQueueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -200168,89 +269744,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -200258,7 +269751,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/Namespace resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -200267,15 +269760,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesAuthorizationRule_STATUS + description: Storage version of v1api20240101.NamespacesQueue_STATUS properties: $propertyBag: additionalProperties: @@ -200284,6 +269777,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -200327,19 +269824,74 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20240101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string id: type: string location: type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer + messageCount: + type: integer name: type: string - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + requiresSession: + type: boolean + sizeInBytes: + type: integer + status: + type: string systemData: description: |- - Storage version of v1api20211101.SystemData_STATUS + Storage version of v1api20240101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -200364,6 +269916,8 @@ spec: type: object type: type: string + updatedAt: + type: string type: object type: object served: true @@ -200376,11 +269930,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespacesauthorizationrules.servicebus.azure.com + app.kubernetes.io/version: v2.15.0 + name: namespacestopics.servicebus.azure.com spec: conversion: strategy: Webhook @@ -200395,10 +269949,13 @@ spec: - v1 group: servicebus.azure.com names: - kind: NamespacesAuthorizationRule - listKind: NamespacesAuthorizationRuleList - plural: namespacesauthorizationrules - singular: namespacesauthorizationrule + categories: + - azure + - servicebus + kind: NamespacesTopic + listKind: NamespacesTopicList + plural: namespacestopics + singular: namespacestopic preserveUnknownFields: false scope: Namespaced versions: @@ -200420,8 +269977,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -200442,13 +269999,44 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 minLength: 1 type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -200514,78 +270102,6 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- @@ -200600,21 +270116,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - description: 'Rights: The rights associated with the rule.' - items: - enum: - - Listen - - Manage - - Send - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean required: - owner - - rights type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -200659,17 +270179,76 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean id: description: 'Id: Resource Id' type: string + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer name: description: 'Name: Resource name' type: string - rights: - description: 'Rights: The rights associated with the rule.' - items: - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -200695,6 +270274,9 @@ spec: type: description: 'Type: Resource type' type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string type: object type: object served: true @@ -200718,10 +270300,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20210101preview.NamespacesAuthorizationRule + Storage version of v1api20210101preview.NamespacesTopic Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -200741,7 +270323,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101preview.NamespacesAuthorizationRule_Spec + description: Storage version of v1api20210101preview.NamespacesTopic_Spec properties: $propertyBag: additionalProperties: @@ -200750,14 +270332,28 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20210101preview.NamespacesAuthorizationRuleOperatorSpec + Storage version of v1api20210101preview.NamespacesTopicOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -200782,132 +270378,49 @@ spec: map[string]string. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secrets: - description: Storage version of v1api20210101preview.NamespacesAuthorizationRuleOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object originalVersion: type: string @@ -200924,15 +270437,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean required: - owner type: object status: - description: Storage version of v1api20210101preview.NamespacesAuthorizationRule_STATUS + description: Storage version of v1api20210101preview.NamespacesTopic_STATUS properties: $propertyBag: additionalProperties: @@ -200941,6 +270454,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -200984,14 +270501,57 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20210101preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean id: type: string + maxSizeInMegabytes: + type: integer name: type: string - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean systemData: description: |- Storage version of v1api20210101preview.SystemData_STATUS @@ -201019,6 +270579,8 @@ spec: type: object type: type: string + updatedAt: + type: string type: object type: object served: true @@ -201043,8 +270605,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -201065,13 +270627,49 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 minLength: 1 type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -201137,78 +270735,6 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- @@ -201223,21 +270749,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - description: 'Rights: The rights associated with the rule.' - items: - enum: - - Listen - - Manage - - Send - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean required: - owner - - rights type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -201282,6 +270812,50 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -201290,14 +270864,34 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer name: description: 'Name: The name of the resource' type: string - rights: - description: 'Rights: The rights associated with the rule.' - items: - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -201323,6 +270917,9 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string type: object type: object served: true @@ -201346,10 +270943,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesAuthorizationRule + Storage version of v1api20211101.NamespacesTopic Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -201369,7 +270966,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesAuthorizationRule_Spec + description: Storage version of v1api20211101.NamespacesTopic_Spec properties: $propertyBag: additionalProperties: @@ -201378,14 +270975,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSpec + Storage version of v1api20211101.NamespacesTopicOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -201453,89 +271066,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20211101.NamespacesAuthorizationRuleOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -201552,15 +271082,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesAuthorizationRule_STATUS + description: Storage version of v1api20211101.NamespacesTopic_STATUS properties: $propertyBag: additionalProperties: @@ -201569,6 +271099,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -201612,16 +271146,61 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20211101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean id: type: string location: type: string + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer name: type: string - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean systemData: description: |- Storage version of v1api20211101.SystemData_STATUS @@ -201649,10 +271228,12 @@ spec: type: object type: type: string + updatedAt: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -201673,8 +271254,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -201695,13 +271276,49 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 minLength: 1 type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -201767,78 +271384,6 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- @@ -201853,21 +271398,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - description: 'Rights: The rights associated with the rule.' - items: - enum: - - Listen - - Manage - - Send - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean required: - owner - - rights type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -201912,6 +271461,50 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -201920,14 +271513,34 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. + type: integer name: description: 'Name: The name of the resource' type: string - rights: - description: 'Rights: The rights associated with the rule.' - items: - type: string - type: array + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' + type: integer + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -201953,6 +271566,9 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' + type: string type: object type: object served: true @@ -201976,10 +271592,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20221001preview.NamespacesAuthorizationRule + Storage version of v1api20221001preview.NamespacesTopic Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -201999,7 +271615,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001preview.NamespacesAuthorizationRule_Spec + description: Storage version of v1api20221001preview.NamespacesTopic_Spec properties: $propertyBag: additionalProperties: @@ -202008,14 +271624,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer operatorSpec: description: |- - Storage version of v1api20221001preview.NamespacesAuthorizationRuleOperatorSpec + Storage version of v1api20221001preview.NamespacesTopicOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -202083,89 +271715,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20221001preview.NamespacesAuthorizationRuleOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -202182,15 +271731,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean required: - owner type: object status: - description: Storage version of v1api20221001preview.NamespacesAuthorizationRule_STATUS + description: Storage version of v1api20221001preview.NamespacesTopic_STATUS properties: $propertyBag: additionalProperties: @@ -202199,6 +271748,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -202242,16 +271795,61 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20221001preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean id: type: string location: type: string + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: + type: integer name: type: string - rights: - items: - type: string - type: array + requiresDuplicateDetection: + type: boolean + sizeInBytes: + type: integer + status: + type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean systemData: description: |- Storage version of v1api20221001preview.SystemData_STATUS @@ -202279,44 +271877,14 @@ spec: type: object type: type: string + updatedAt: + type: string type: object type: object served: true storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespaceseventhubs.eventhub.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: eventhub.azure.com - names: - kind: NamespacesEventhub - listKind: NamespacesEventhubList - plural: namespaceseventhubs - singular: namespaceseventhub - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -202330,13 +271898,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -202350,97 +271918,55 @@ spec: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 256 - minLength: 1 - type: string - captureDescription: - description: 'CaptureDescription: Properties of capture description' - properties: - destination: - description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' - properties: - archiveNameFormat: - description: |- - ArchiveNameFormat: Blob naming convention for archive, e.g. - {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters - (Namespace,EventHub .. etc) are mandatory irrespective of order - type: string - blobContainer: - description: 'BlobContainer: Blob container Name' - type: string - dataLakeAccountName: - description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' - type: string - dataLakeFolderPath: - description: 'DataLakeFolderPath: The destination folder path for the captured events' - type: string - dataLakeSubscriptionId: - description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - name: - description: 'Name: Name for capture destination' - type: string - storageAccountResourceReference: - description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enabled: - description: 'Enabled: A value that indicates whether capture description is enabled.' - type: boolean - encoding: - description: |- - Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be - deprecated in New API Version - enum: - - Avro - - AvroDeflate - type: string - intervalInSeconds: - description: |- - IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, - value should between 60 to 900 seconds - type: integer - sizeLimitInBytes: - description: |- - SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, - value should be between 10485760 to 524288000 bytes - type: integer - skipEmptyArchives: - description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' - type: boolean - type: object - messageRetentionInDays: - description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' - minimum: 1 + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + minLength: 1 + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. type: integer operatorSpec: description: |- @@ -202512,7 +272038,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/Namespace resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -202521,68 +272047,25 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - partitionCount: - description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' - minimum: 1 - type: integer + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean required: - owner type: object status: properties: - captureDescription: - description: 'CaptureDescription: Properties of capture description' - properties: - destination: - description: 'Destination: Properties of Destination where capture will be stored. (Storage Account, Blob Names)' - properties: - archiveNameFormat: - description: |- - ArchiveNameFormat: Blob naming convention for archive, e.g. - {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters - (Namespace,EventHub .. etc) are mandatory irrespective of order - type: string - blobContainer: - description: 'BlobContainer: Blob container Name' - type: string - dataLakeAccountName: - description: 'DataLakeAccountName: The Azure Data Lake Store name for the captured events' - type: string - dataLakeFolderPath: - description: 'DataLakeFolderPath: The destination folder path for the captured events' - type: string - dataLakeSubscriptionId: - description: 'DataLakeSubscriptionId: Subscription Id of Azure Data Lake Store' - type: string - name: - description: 'Name: Name for capture destination' - type: string - storageAccountResourceId: - description: 'StorageAccountResourceId: Resource id of the storage account to be used to create the blobs' - type: string - type: object - enabled: - description: 'Enabled: A value that indicates whether capture description is enabled.' - type: boolean - encoding: - description: |- - Encoding: Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be - deprecated in New API Version - type: string - intervalInSeconds: - description: |- - IntervalInSeconds: The time window allows you to set the frequency with which the capture to Azure Blobs will happen, - value should between 60 to 900 seconds - type: integer - sizeLimitInBytes: - description: |- - SizeLimitInBytes: The size window defines the amount of data built up in your Event Hub before an capture operation, - value should be between 10485760 to 524288000 bytes - type: integer - skipEmptyArchives: - description: 'SkipEmptyArchives: A value that indicates whether to Skip Empty Archives' - type: boolean - type: object + accessedAt: + description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -202627,9 +272110,50 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object createdAt: - description: 'CreatedAt: Exact time the Event Hub was created.' + description: 'CreatedAt: Exact time the message was created.' + type: string + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + enableExpress: + description: |- + EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory + temporarily before writing it to persistent storage. + type: boolean + enablePartitioning: + description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' + type: boolean id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -202638,23 +272162,34 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string - messageRetentionInDays: - description: 'MessageRetentionInDays: Number of days to retain the events for this Event Hub, value should be 1 to 7 days' + maxMessageSizeInKilobytes: + description: |- + MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property + is only used in Premium today and default is 1024. + type: integer + maxSizeInMegabytes: + description: |- + MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. + Default is 1024. type: integer name: description: 'Name: The name of the resource' type: string - partitionCount: - description: 'PartitionCount: Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.' + requiresDuplicateDetection: + description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' + type: boolean + sizeInBytes: + description: 'SizeInBytes: Size of the topic, in bytes.' type: integer - partitionIds: - description: 'PartitionIds: Current number of shards on the Event Hub.' - items: - type: string - type: array status: - description: 'Status: Enumerates the possible values for the status of the Event Hub.' + description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string + subscriptionCount: + description: 'SubscriptionCount: Number of subscriptions.' + type: integer + supportOrdering: + description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' + type: boolean systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -202702,14 +272237,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesEventhub + Storage version of v1api20240101.NamespacesTopic Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/topics.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} properties: apiVersion: description: |- @@ -202729,7 +272264,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesEventhub_Spec + description: Storage version of v1api20240101.NamespacesTopic_Spec properties: $propertyBag: additionalProperties: @@ -202738,84 +272273,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - captureDescription: - description: |- - Storage version of v1api20211101.CaptureDescription - Properties to configure capture description for eventhub - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - destination: - description: |- - Storage version of v1api20211101.Destination - Capture storage details for capture description - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - archiveNameFormat: - type: string - blobContainer: - type: string - dataLakeAccountName: - type: string - dataLakeFolderPath: - type: string - dataLakeSubscriptionId: - type: string - name: - type: string - storageAccountResourceReference: - description: 'StorageAccountResourceReference: Resource id of the storage account to be used to create the blobs' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - enabled: - type: boolean - encoding: - type: string - intervalInSeconds: - type: integer - sizeLimitInBytes: - type: integer - skipEmptyArchives: - type: boolean - type: object - messageRetentionInDays: + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesEventhubOperatorSpec + Storage version of v1api20240101.NamespacesTopicOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -202890,7 +272371,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/Namespace resource + reference to a servicebus.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -202899,13 +272380,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - partitionCount: - type: integer + requiresDuplicateDetection: + type: boolean + supportOrdering: + type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesEventhub_STATUS + description: Storage version of v1api20240101.NamespacesTopic_STATUS properties: $propertyBag: additionalProperties: @@ -202914,56 +272397,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - captureDescription: - description: |- - Storage version of v1api20211101.CaptureDescription_STATUS - Properties to configure capture description for eventhub - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - destination: - description: |- - Storage version of v1api20211101.Destination_STATUS - Capture storage details for capture description - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - archiveNameFormat: - type: string - blobContainer: - type: string - dataLakeAccountName: - type: string - dataLakeFolderPath: - type: string - dataLakeSubscriptionId: - type: string - name: - type: string - storageAccountResourceId: - type: string - type: object - enabled: - type: boolean - encoding: - type: string - intervalInSeconds: - type: integer - sizeLimitInBytes: - type: integer - skipEmptyArchives: - type: boolean - type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -203007,27 +272444,64 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20240101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object createdAt: type: string + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + enableExpress: + type: boolean + enablePartitioning: + type: boolean id: type: string location: type: string - messageRetentionInDays: + maxMessageSizeInKilobytes: + type: integer + maxSizeInMegabytes: type: integer name: type: string - partitionCount: + requiresDuplicateDetection: + type: boolean + sizeInBytes: type: integer - partitionIds: - items: - type: string - type: array status: type: string + subscriptionCount: + type: integer + supportOrdering: + type: boolean systemData: description: |- - Storage version of v1api20211101.SystemData_STATUS + Storage version of v1api20240101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -203066,11 +272540,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespaceseventhubsauthorizationrules.eventhub.azure.com + app.kubernetes.io/version: v2.15.0 + name: namespacestopicssubscriptions.servicebus.azure.com spec: conversion: strategy: Webhook @@ -203083,12 +272557,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: eventhub.azure.com + group: servicebus.azure.com names: - kind: NamespacesEventhubsAuthorizationRule - listKind: NamespacesEventhubsAuthorizationRuleList - plural: namespaceseventhubsauthorizationrules - singular: namespaceseventhubsauthorizationrule + categories: + - azure + - servicebus + kind: NamespacesTopicsSubscription + listKind: NamespacesTopicsSubscriptionList + plural: namespacestopicssubscriptions + singular: namespacestopicssubscription preserveUnknownFields: false scope: Namespaced versions: @@ -203105,13 +272582,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20210101preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -203132,12 +272609,54 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -203203,84 +272722,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: - description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/NamespacesEventhub resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -203289,21 +272736,22 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - description: 'Rights: The rights associated with the rule.' - items: - enum: - - Listen - - Manage - - Send - type: string - type: array + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean required: - owner - - rights type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time there was a receive request to this subscription.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -203348,22 +272796,79 @@ spec: - type type: object type: array - id: + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object + createdAt: + description: 'CreatedAt: Exact time the message was created.' + type: string + deadLetteringOnFilterEvaluationExceptions: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. type: string - location: - description: 'Location: The geo-location where the resource lives' + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + id: + description: 'Id: Resource Id' + type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + messageCount: + description: 'MessageCount: Number of messages.' + type: integer name: - description: 'Name: The name of the resource' + description: 'Name: Resource name' + type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string - rights: - description: 'Rights: The rights associated with the rule.' - items: - type: string - type: array systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -203387,7 +272892,10 @@ spec: type: string type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + description: 'Type: Resource type' + type: string + updatedAt: + description: 'UpdatedAt: The exact time the message was updated.' type: string type: object type: object @@ -203408,14 +272916,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20210101previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule + Storage version of v1api20210101preview.NamespacesTopicsSubscription Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -203435,7 +272943,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule_Spec + description: Storage version of v1api20210101preview.NamespacesTopicsSubscription_Spec properties: $propertyBag: additionalProperties: @@ -203444,14 +272952,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesEventhubsAuthorizationRuleOperatorSpec + Storage version of v1api20210101preview.NamespacesTopicsSubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -203519,89 +273047,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRuleOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -203609,7 +273054,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/NamespacesEventhub resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -203618,15 +273063,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rights: - items: - type: string - type: array + requiresSession: + type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesEventhubsAuthorizationRule_STATUS + description: Storage version of v1api20210101preview.NamespacesTopicsSubscription_STATUS properties: $propertyBag: additionalProperties: @@ -203635,6 +273078,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -203678,19 +273125,62 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20210101preview.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object + createdAt: + type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string id: type: string - location: + lockDuration: type: string + maxDeliveryCount: + type: integer + messageCount: + type: integer name: type: string - rights: - items: - type: string - type: array + requiresSession: + type: boolean + status: + type: string systemData: description: |- - Storage version of v1api20211101.SystemData_STATUS + Storage version of v1api20210101preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -203715,44 +273205,14 @@ spec: type: object type: type: string + updatedAt: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespaceseventhubsconsumergroups.eventhub.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: eventhub.azure.com - names: - kind: NamespacesEventhubsConsumerGroup - listKind: NamespacesEventhubsConsumerGroupList - plural: namespaceseventhubsconsumergroups - singular: namespaceseventhubsconsumergroup - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -203771,8 +273231,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -203793,6 +273253,11 @@ spec: type: object spec: properties: + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -203800,6 +273265,58 @@ spec: maxLength: 50 minLength: 1 type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -203870,7 +273387,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/NamespacesEventhub resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -203879,17 +273396,35 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - userMetadata: - description: |- - UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be - used to store descriptive data, such as list of teams and their contact information also user-defined configuration - settings can be stored. - type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean required: - owner type: object status: properties: + accessedAt: + description: 'AccessedAt: Last time there was a receive request to this subscription.' + type: string + autoDeleteOnIdle: + description: |- + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration + is 5 minutes. + type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -203934,20 +273469,87 @@ spec: - type type: object type: array + countDetails: + description: 'CountDetails: Message count details' + properties: + activeMessageCount: + description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' + type: integer + deadLetterMessageCount: + description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' + type: integer + scheduledMessageCount: + description: 'ScheduledMessageCount: Number of scheduled messages.' + type: integer + transferDeadLetterMessageCount: + description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' + type: integer + transferMessageCount: + description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' + type: integer + type: object createdAt: description: 'CreatedAt: Exact time the message was created.' type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean + deadLetteringOnMessageExpiration: + description: |- + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message + expires. + type: boolean + defaultMessageTimeToLive: + description: |- + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message + expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not + set on a message itself. + type: string + duplicateDetectionHistoryTimeWindow: + description: |- + DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection + history. The default value is 10 minutes. + type: string + enableBatchedOperations: + description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + type: boolean + forwardDeadLetteredMessagesTo: + description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' + type: string + forwardTo: + description: 'ForwardTo: Queue/Topic name to forward the messages' + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean location: description: 'Location: The geo-location where the resource lives' type: string + lockDuration: + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + type: string + maxDeliveryCount: + description: 'MaxDeliveryCount: Number of maximum deliveries.' + type: integer + messageCount: + description: 'MessageCount: Number of messages.' + type: integer name: description: 'Name: The name of the resource' type: string + requiresSession: + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' + type: boolean + status: + description: 'Status: Enumerates the possible values for the status of a messaging entity.' + type: string systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -203976,12 +273578,6 @@ spec: updatedAt: description: 'UpdatedAt: The exact time the message was updated.' type: string - userMetadata: - description: |- - UserMetadata: User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be - used to store descriptive data, such as list of teams and their contact information also user-defined configuration - settings can be stored. - type: string type: object type: object served: true @@ -204005,10 +273601,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesEventhubsConsumerGroup + Storage version of v1api20211101.NamespacesTopicsSubscription Generator information: - - Generated from: /eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -204028,7 +273624,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesEventhubsConsumerGroup_Spec + description: Storage version of v1api20211101.NamespacesTopicsSubscription_Spec properties: $propertyBag: additionalProperties: @@ -204037,14 +273633,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoDeleteOnIdle: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + clientAffineProperties: + description: |- + Storage version of v1api20211101.SBClientAffineProperties + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string + isClientAffine: + type: boolean + lockDuration: + type: string + maxDeliveryCount: + type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesEventhubsConsumerGroupOperatorSpec + Storage version of v1api20211101.NamespacesTopicsSubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -204119,7 +273756,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a eventhub.azure.com/NamespacesEventhub resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -204128,13 +273765,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - userMetadata: - type: string + requiresSession: + type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesEventhubsConsumerGroup_STATUS + description: Storage version of v1api20211101.NamespacesTopicsSubscription_STATUS properties: $propertyBag: additionalProperties: @@ -204143,6 +273780,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + accessedAt: + type: string + autoDeleteOnIdle: + type: string + clientAffineProperties: + description: |- + Storage version of v1api20211101.SBClientAffineProperties_STATUS + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -204186,14 +273846,63 @@ spec: - type type: object type: array + countDetails: + description: |- + Storage version of v1api20211101.MessageCountDetails_STATUS + Message Count Details. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + activeMessageCount: + type: integer + deadLetterMessageCount: + type: integer + scheduledMessageCount: + type: integer + transferDeadLetterMessageCount: + type: integer + transferMessageCount: + type: integer + type: object createdAt: type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean + deadLetteringOnMessageExpiration: + type: boolean + defaultMessageTimeToLive: + type: string + duplicateDetectionHistoryTimeWindow: + type: string + enableBatchedOperations: + type: boolean + forwardDeadLetteredMessagesTo: + type: string + forwardTo: + type: string id: type: string + isClientAffine: + type: boolean location: type: string + lockDuration: + type: string + maxDeliveryCount: + type: integer + messageCount: + type: integer name: type: string + requiresSession: + type: boolean + status: + type: string systemData: description: |- Storage version of v1api20211101.SystemData_STATUS @@ -204223,46 +273932,12 @@ spec: type: string updatedAt: type: string - userMetadata: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespacesqueues.servicebus.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: servicebus.azure.com - names: - kind: NamespacesQueue - listKind: NamespacesQueueList - plural: namespacesqueues - singular: namespacesqueue - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -204276,13 +273951,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101preview + name: v1api20221001preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -204305,23 +273980,42 @@ spec: properties: autoDeleteOnIdle: description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean deadLetteringOnMessageExpiration: description: |- - DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message expires. type: boolean defaultMessageTimeToLive: description: |- - DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. type: string @@ -204333,34 +274027,20 @@ spec: enableBatchedOperations: description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' type: boolean - enableExpress: - description: |- - EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' - type: boolean forwardDeadLetteredMessagesTo: description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' type: string forwardTo: description: 'ForwardTo: Queue/Topic name to forward the messages' type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean lockDuration: - description: |- - LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for - other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' type: string maxDeliveryCount: - description: |- - MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. - default value is 10. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. - Default is 1024. + description: 'MaxDeliveryCount: Number of maximum deliveries.' type: integer operatorSpec: description: |- @@ -204432,7 +274112,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -204441,11 +274121,8 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' - type: boolean requiresSession: - description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' type: boolean required: - owner @@ -204453,13 +274130,26 @@ spec: status: properties: accessedAt: - description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + description: 'AccessedAt: Last time there was a receive request to this subscription.' type: string autoDeleteOnIdle: description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -204505,7 +274195,7 @@ spec: type: object type: array countDetails: - description: 'CountDetails: Message Count Details.' + description: 'CountDetails: Message count details' properties: activeMessageCount: description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' @@ -204524,16 +274214,21 @@ spec: type: integer type: object createdAt: - description: 'CreatedAt: The exact time the message was created.' + description: 'CreatedAt: Exact time the message was created.' type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean deadLetteringOnMessageExpiration: description: |- - DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message expires. type: boolean defaultMessageTimeToLive: description: |- - DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. type: string @@ -204545,14 +274240,6 @@ spec: enableBatchedOperations: description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' type: boolean - enableExpress: - description: |- - EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' - type: boolean forwardDeadLetteredMessagesTo: description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' type: string @@ -204560,38 +274247,31 @@ spec: description: 'ForwardTo: Queue/Topic name to forward the messages' type: string id: - description: 'Id: Resource Id' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' type: string lockDuration: - description: |- - LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for - other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' type: string maxDeliveryCount: - description: |- - MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. - default value is 10. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. - Default is 1024. + description: 'MaxDeliveryCount: Number of maximum deliveries.' type: integer messageCount: - description: 'MessageCount: The number of messages in the queue.' + description: 'MessageCount: Number of messages.' type: integer name: - description: 'Name: Resource name' + description: 'Name: The name of the resource' type: string - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' - type: boolean requiresSession: - description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' type: boolean - sizeInBytes: - description: 'SizeInBytes: The size of the queue, in bytes.' - type: integer status: description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string @@ -204618,7 +274298,7 @@ spec: type: string type: object type: - description: 'Type: Resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string updatedAt: description: 'UpdatedAt: The exact time the message was updated.' @@ -204642,14 +274322,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101previewstorage + name: v1api20221001previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20210101preview.NamespacesQueue + Storage version of v1api20221001preview.NamespacesTopicsSubscription Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -204669,7 +274349,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101preview.NamespacesQueue_Spec + description: Storage version of v1api20221001preview.NamespacesTopicsSubscription_Spec properties: $propertyBag: additionalProperties: @@ -204685,6 +274365,27 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + clientAffineProperties: + description: |- + Storage version of v1api20221001preview.SBClientAffineProperties + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + type: boolean deadLetteringOnMessageExpiration: type: boolean defaultMessageTimeToLive: @@ -204693,23 +274394,19 @@ spec: type: string enableBatchedOperations: type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean forwardDeadLetteredMessagesTo: type: string forwardTo: type: string + isClientAffine: + type: boolean lockDuration: type: string maxDeliveryCount: type: integer - maxSizeInMegabytes: - type: integer operatorSpec: description: |- - Storage version of v1api20210101preview.NamespacesQueueOperatorSpec + Storage version of v1api20221001preview.NamespacesTopicsSubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -204784,7 +274481,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -204793,15 +274490,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - type: boolean requiresSession: type: boolean required: - owner type: object status: - description: Storage version of v1api20210101preview.NamespacesQueue_STATUS + description: Storage version of v1api20221001preview.NamespacesTopicsSubscription_STATUS properties: $propertyBag: additionalProperties: @@ -204814,6 +274509,25 @@ spec: type: string autoDeleteOnIdle: type: string + clientAffineProperties: + description: |- + Storage version of v1api20221001preview.SBClientAffineProperties_STATUS + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -204859,7 +274573,7 @@ spec: type: array countDetails: description: |- - Storage version of v1api20210101preview.MessageCountDetails_STATUS + Storage version of v1api20221001preview.MessageCountDetails_STATUS Message Count Details. properties: $propertyBag: @@ -204882,6 +274596,8 @@ spec: type: object createdAt: type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean deadLetteringOnMessageExpiration: type: boolean defaultMessageTimeToLive: @@ -204890,37 +274606,31 @@ spec: type: string enableBatchedOperations: type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean forwardDeadLetteredMessagesTo: type: string forwardTo: type: string id: type: string + isClientAffine: + type: boolean + location: + type: string lockDuration: type: string maxDeliveryCount: type: integer - maxSizeInMegabytes: - type: integer messageCount: type: integer name: type: string - requiresDuplicateDetection: - type: boolean requiresSession: type: boolean - sizeInBytes: - type: integer status: type: string systemData: description: |- - Storage version of v1api20210101preview.SystemData_STATUS + Storage version of v1api20221001preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -204966,13 +274676,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -204995,23 +274705,42 @@ spec: properties: autoDeleteOnIdle: description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean deadLetteringOnMessageExpiration: description: |- - DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message expires. type: boolean defaultMessageTimeToLive: description: |- - DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. type: string @@ -205023,39 +274752,20 @@ spec: enableBatchedOperations: description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' type: boolean - enableExpress: - description: |- - EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' - type: boolean forwardDeadLetteredMessagesTo: description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' type: string forwardTo: description: 'ForwardTo: Queue/Topic name to forward the messages' type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean lockDuration: - description: |- - LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for - other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' type: string maxDeliveryCount: - description: |- - MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. - default value is 10. - type: integer - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. - Default is 1024. + description: 'MaxDeliveryCount: Number of maximum deliveries.' type: integer operatorSpec: description: |- @@ -205127,7 +274837,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -205136,11 +274846,8 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' - type: boolean requiresSession: - description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' type: boolean required: - owner @@ -205148,13 +274855,26 @@ spec: status: properties: accessedAt: - description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' + description: 'AccessedAt: Last time there was a receive request to this subscription.' type: string autoDeleteOnIdle: description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration + AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes. type: string + clientAffineProperties: + description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' + properties: + clientId: + description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' + type: string + isDurable: + description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' + type: boolean + isShared: + description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' + type: boolean + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -205200,7 +274920,7 @@ spec: type: object type: array countDetails: - description: 'CountDetails: Message Count Details.' + description: 'CountDetails: Message count details' properties: activeMessageCount: description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' @@ -205219,16 +274939,21 @@ spec: type: integer type: object createdAt: - description: 'CreatedAt: The exact time the message was created.' + description: 'CreatedAt: Exact time the message was created.' type: string + deadLetteringOnFilterEvaluationExceptions: + description: |- + DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter + evaluation exceptions. + type: boolean deadLetteringOnMessageExpiration: description: |- - DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message + DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message expires. type: boolean defaultMessageTimeToLive: description: |- - DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message + DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself. type: string @@ -205240,14 +274965,6 @@ spec: enableBatchedOperations: description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' type: boolean - enableExpress: - description: |- - EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' - type: boolean forwardDeadLetteredMessagesTo: description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' type: string @@ -205259,44 +274976,27 @@ spec: Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + isClientAffine: + description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' + type: boolean location: description: 'Location: The geo-location where the resource lives' type: string lockDuration: - description: |- - LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for - other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' type: string maxDeliveryCount: - description: |- - MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. - default value is 10. - type: integer - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. - Default is 1024. + description: 'MaxDeliveryCount: Number of maximum deliveries.' type: integer messageCount: - description: 'MessageCount: The number of messages in the queue.' + description: 'MessageCount: Number of messages.' type: integer name: description: 'Name: The name of the resource' type: string - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' - type: boolean requiresSession: - description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' + description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' type: boolean - sizeInBytes: - description: 'SizeInBytes: The size of the queue, in bytes.' - type: integer status: description: 'Status: Enumerates the possible values for the status of a messaging entity.' type: string @@ -205347,14 +275047,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesQueue + Storage version of v1api20240101.NamespacesTopicsSubscription Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/subscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} properties: apiVersion: description: |- @@ -205374,7 +275074,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesQueue_Spec + description: Storage version of v1api20240101.NamespacesTopicsSubscription_Spec properties: $propertyBag: additionalProperties: @@ -205390,6 +275090,27 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + clientAffineProperties: + description: |- + Storage version of v1api20240101.SBClientAffineProperties + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object + deadLetteringOnFilterEvaluationExceptions: + type: boolean deadLetteringOnMessageExpiration: type: boolean defaultMessageTimeToLive: @@ -205398,25 +275119,19 @@ spec: type: string enableBatchedOperations: type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean forwardDeadLetteredMessagesTo: type: string forwardTo: type: string + isClientAffine: + type: boolean lockDuration: type: string maxDeliveryCount: type: integer - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesQueueOperatorSpec + Storage version of v1api20240101.NamespacesTopicsSubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -205491,7 +275206,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -205500,15 +275215,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - type: boolean requiresSession: type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesQueue_STATUS + description: Storage version of v1api20240101.NamespacesTopicsSubscription_STATUS properties: $propertyBag: additionalProperties: @@ -205521,6 +275234,25 @@ spec: type: string autoDeleteOnIdle: type: string + clientAffineProperties: + description: |- + Storage version of v1api20240101.SBClientAffineProperties_STATUS + Properties specific to client affine subscriptions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + isDurable: + type: boolean + isShared: + type: boolean + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -205566,7 +275298,7 @@ spec: type: array countDetails: description: |- - Storage version of v1api20211101.MessageCountDetails_STATUS + Storage version of v1api20240101.MessageCountDetails_STATUS Message Count Details. properties: $propertyBag: @@ -205589,6 +275321,8 @@ spec: type: object createdAt: type: string + deadLetteringOnFilterEvaluationExceptions: + type: boolean deadLetteringOnMessageExpiration: type: boolean defaultMessageTimeToLive: @@ -205597,41 +275331,31 @@ spec: type: string enableBatchedOperations: type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean forwardDeadLetteredMessagesTo: type: string forwardTo: type: string id: type: string + isClientAffine: + type: boolean location: type: string lockDuration: type: string maxDeliveryCount: type: integer - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer messageCount: type: integer name: type: string - requiresDuplicateDetection: - type: boolean requiresSession: type: boolean - sizeInBytes: - type: integer status: type: string systemData: description: |- - Storage version of v1api20211101.SystemData_STATUS + Storage version of v1api20240101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -205664,6 +275388,41 @@ spec: storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: namespacestopicssubscriptionsrules.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: NamespacesTopicsSubscriptionsRule + listKind: NamespacesTopicsSubscriptionsRuleList + plural: namespacestopicssubscriptionsrules + singular: namespacestopicssubscriptionsrule + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -205677,13 +275436,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001preview + name: v1api20210101preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -205704,70 +275463,72 @@ spec: type: object spec: properties: - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' - type: string - lockDuration: - description: |- - LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for - other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter type: string - maxDeliveryCount: - description: |- - MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. - default value is 10. - type: integer - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. - Default is 1024. - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -205838,7 +275599,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -205847,25 +275608,45 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' - type: boolean - requiresSession: - description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + maximum: 20 + minimum: 20 + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object required: - owner type: object status: properties: - accessedAt: - description: 'AccessedAt: Last time a message was sent, or the last time there was a receive request to this queue.' - type: string - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -205910,107 +275691,66 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message Count Details.' + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string type: object - createdAt: - description: 'CreatedAt: The exact time the message was created.' - type: string - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: A value that indicates whether this queue has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: A value that indicates whether Express Entities are enabled. An express queue holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: A value that indicates whether the queue is to be partitioned across multiple message brokers.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - lockDuration: - description: |- - LockDuration: ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for - other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute. + description: 'Id: Resource Id' type: string - maxDeliveryCount: - description: |- - MaxDeliveryCount: The maximum delivery count. A message is automatically deadlettered after this number of deliveries. - default value is 10. - type: integer - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the queue. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. - Default is 1024. - type: integer - messageCount: - description: 'MessageCount: The number of messages in the queue.' - type: integer name: - description: 'Name: The name of the resource' - type: string - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: A value indicating if this queue requires duplicate detection.' - type: boolean - requiresSession: - description: 'RequiresSession: A value that indicates whether the queue supports the concept of sessions.' - type: boolean - sizeInBytes: - description: 'SizeInBytes: The size of the queue, in bytes.' - type: integer - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' + description: 'Name: Resource name' type: string + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -206034,10 +275774,7 @@ spec: type: string type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' - type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' + description: 'Type: Resource type' type: string type: object type: object @@ -206058,14 +275795,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001previewstorage + name: v1api20210101previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20221001preview.NamespacesQueue + Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -206085,7 +275822,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001preview.NamespacesQueue_Spec + description: Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule_Spec properties: $propertyBag: additionalProperties: @@ -206094,40 +275831,71 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20210101preview.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - deadLetteringOnMessageExpiration: - type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: - type: string - lockDuration: + correlationFilter: + description: |- + Storage version of v1api20210101preview.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: type: string - maxDeliveryCount: - type: integer - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer operatorSpec: description: |- - Storage version of v1api20221001preview.NamespacesQueueOperatorSpec + Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -206202,7 +275970,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -206211,15 +275979,30 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - type: boolean - requiresSession: - type: boolean + sqlFilter: + description: |- + Storage version of v1api20210101preview.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20221001preview.NamespacesQueue_STATUS + description: Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule_STATUS properties: $propertyBag: additionalProperties: @@ -206228,10 +276011,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20210101preview.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -206275,10 +276074,51 @@ spec: - type type: object type: array - countDetails: + correlationFilter: + description: |- + Storage version of v1api20210101preview.CorrelationFilter_STATUS + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + id: + type: string + name: + type: string + sqlFilter: description: |- - Storage version of v1api20221001preview.MessageCountDetails_STATUS - Message Count Details. + Storage version of v1api20210101preview.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. properties: $propertyBag: additionalProperties: @@ -206287,62 +276127,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: + compatibilityLevel: type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string type: object - createdAt: - type: string - deadLetteringOnMessageExpiration: - type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: - type: string - id: - type: string - location: - type: string - lockDuration: - type: string - maxDeliveryCount: - type: integer - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer - messageCount: - type: integer - name: - type: string - requiresDuplicateDetection: - type: boolean - requiresSession: - type: boolean - sizeInBytes: - type: integer - status: - type: string systemData: description: |- - Storage version of v1api20221001preview.SystemData_STATUS + Storage version of v1api20210101preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -206367,46 +276161,12 @@ spec: type: object type: type: string - updatedAt: - type: string type: object type: object served: true storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespacestopics.servicebus.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: servicebus.azure.com - names: - kind: NamespacesTopic - listKind: NamespacesTopicList - plural: namespacestopics - singular: namespacestopic - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -206420,13 +276180,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101preview + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/topics.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -206447,44 +276207,72 @@ spec: type: object spec: properties: - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' - type: boolean - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. - Default is 1024. - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -206555,7 +276343,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -206564,25 +276352,43 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' - type: boolean - supportOrdering: - description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object required: - owner type: object status: properties: - accessedAt: - description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' - type: string - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -206627,76 +276433,71 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message count details' + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string type: object - createdAt: - description: 'CreatedAt: Exact time the message was created.' - type: string - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' type: string - duplicateDetectionHistoryTimeWindow: + id: description: |- - DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' - type: boolean - id: - description: 'Id: Resource Id' + location: + description: 'Location: The geo-location where the resource lives' type: string - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. - Default is 1024. - type: integer name: - description: 'Name: Resource name' - type: string - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' - type: boolean - sizeInBytes: - description: 'SizeInBytes: Size of the topic, in bytes.' - type: integer - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' + description: 'Name: The name of the resource' type: string - subscriptionCount: - description: 'SubscriptionCount: Number of subscriptions.' - type: integer - supportOrdering: - description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -206720,10 +276521,7 @@ spec: type: string type: object type: - description: 'Type: Resource type' - type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -206744,14 +276542,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101previewstorage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210101preview.NamespacesTopic + Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/topics.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -206771,7 +276569,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101preview.NamespacesTopic_Spec + description: Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule_Spec properties: $propertyBag: additionalProperties: @@ -206780,28 +276578,71 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20211101.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: + correlationFilter: + description: |- + Storage version of v1api20211101.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean - maxSizeInMegabytes: - type: integer operatorSpec: description: |- - Storage version of v1api20210101preview.NamespacesTopicOperatorSpec + Storage version of v1api20211101.NamespacesTopicsSubscriptionsRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -206876,7 +276717,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -206885,15 +276726,30 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - type: boolean - supportOrdering: - type: boolean + sqlFilter: + description: |- + Storage version of v1api20211101.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20210101preview.NamespacesTopic_STATUS + description: Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule_STATUS properties: $propertyBag: additionalProperties: @@ -206902,10 +276758,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20211101.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -206949,10 +276821,10 @@ spec: - type type: object type: array - countDetails: + correlationFilter: description: |- - Storage version of v1api20210101preview.MessageCountDetails_STATUS - Message Count Details. + Storage version of v1api20211101.CorrelationFilter_STATUS + Represents the correlation filter expression. properties: $propertyBag: additionalProperties: @@ -206961,48 +276833,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: - type: integer + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string type: object - createdAt: - type: string - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: + filterType: type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean id: type: string - maxSizeInMegabytes: - type: integer - name: + location: type: string - requiresDuplicateDetection: - type: boolean - sizeInBytes: - type: integer - status: + name: type: string - subscriptionCount: - type: integer - supportOrdering: - type: boolean + sqlFilter: + description: |- + Storage version of v1api20211101.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object systemData: description: |- - Storage version of v1api20210101preview.SystemData_STATUS + Storage version of v1api20211101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -207027,8 +276910,6 @@ spec: type: object type: type: string - updatedAt: - type: string type: object type: object served: true @@ -207048,13 +276929,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20221001preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -207075,49 +276956,72 @@ spec: type: object spec: properties: - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' - type: boolean - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. - Default is 1024. - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -207188,7 +277092,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -207197,25 +277101,43 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' - type: boolean - supportOrdering: - description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object required: - owner type: object status: properties: - accessedAt: - description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' - type: string - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -207260,50 +277182,45 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message count details' + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string type: object - createdAt: - description: 'CreatedAt: Exact time the message was created.' - type: string - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' - type: boolean id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -207312,34 +277229,24 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. - Default is 1024. - type: integer name: description: 'Name: The name of the resource' type: string - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' - type: boolean - sizeInBytes: - description: 'SizeInBytes: Size of the topic, in bytes.' - type: integer - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' - type: string - subscriptionCount: - description: 'SubscriptionCount: Number of subscriptions.' - type: integer - supportOrdering: - description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -207365,9 +277272,6 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' - type: string type: object type: object served: true @@ -207387,14 +277291,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20221001previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesTopic + Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/topics.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -207414,7 +277318,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesTopic_Spec + description: Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule_Spec properties: $propertyBag: additionalProperties: @@ -207423,30 +277327,71 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20221001preview.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: + correlationFilter: + description: |- + Storage version of v1api20221001preview.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer operatorSpec: description: |- - Storage version of v1api20211101.NamespacesTopicOperatorSpec + Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -207521,7 +277466,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -207530,15 +277475,30 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - type: boolean - supportOrdering: - type: boolean + sqlFilter: + description: |- + Storage version of v1api20221001preview.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesTopic_STATUS + description: Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule_STATUS properties: $propertyBag: additionalProperties: @@ -207547,10 +277507,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20221001preview.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -207594,10 +277570,53 @@ spec: - type type: object type: array - countDetails: + correlationFilter: + description: |- + Storage version of v1api20221001preview.CorrelationFilter_STATUS + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: + type: string + id: + type: string + location: + type: string + name: + type: string + sqlFilter: description: |- - Storage version of v1api20211101.MessageCountDetails_STATUS - Message Count Details. + Storage version of v1api20221001preview.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. properties: $propertyBag: additionalProperties: @@ -207606,52 +277625,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: + compatibilityLevel: type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string type: object - createdAt: - type: string - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean - id: - type: string - location: - type: string - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer - name: - type: string - requiresDuplicateDetection: - type: boolean - sizeInBytes: - type: integer - status: - type: string - subscriptionCount: - type: integer - supportOrdering: - type: boolean systemData: description: |- - Storage version of v1api20211101.SystemData_STATUS + Storage version of v1api20221001preview.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -207676,12 +277659,10 @@ spec: type: object type: type: string - updatedAt: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -207697,13 +277678,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001preview + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/topics.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -207724,49 +277705,72 @@ spec: type: object spec: properties: - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 minLength: 1 type: string - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' + properties: + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string + type: object + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + enum: + - CorrelationFilter + - SqlFilter type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' - type: boolean - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. - Default is 1024. - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -207837,7 +277841,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -207846,25 +277850,43 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' - type: boolean - supportOrdering: - description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object required: - owner type: object status: properties: - accessedAt: - description: 'AccessedAt: Last time the message was sent, or a request was received, for this topic.' - type: string - autoDeleteOnIdle: + action: description: |- - AutoDeleteOnIdle: ISO 8601 timespan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string + Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a + filter expression. + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -207909,50 +277931,45 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message count details' + correlationFilter: + description: 'CorrelationFilter: Properties of correlationFilter' properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer + contentType: + description: 'ContentType: Content type of the message.' + type: string + correlationId: + description: 'CorrelationId: Identifier of the correlation.' + type: string + label: + description: 'Label: Application specific label.' + type: string + messageId: + description: 'MessageId: Identifier of the message.' + type: string + properties: + additionalProperties: + type: string + description: 'Properties: dictionary object for custom filters' + type: object + replyTo: + description: 'ReplyTo: Address of the queue to reply to.' + type: string + replyToSessionId: + description: 'ReplyToSessionId: Session identifier to reply to.' + type: string + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sessionId: + description: 'SessionId: Session identifier.' + type: string + to: + description: 'To: Address to send to.' + type: string type: object - createdAt: - description: 'CreatedAt: Exact time the message was created.' - type: string - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8601 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO8601 timespan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. + filterType: + description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - enableExpress: - description: |- - EnableExpress: Value that indicates whether Express Entities are enabled. An express topic holds a message in memory - temporarily before writing it to persistent storage. - type: boolean - enablePartitioning: - description: 'EnablePartitioning: Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.' - type: boolean id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -207961,34 +277978,24 @@ spec: location: description: 'Location: The geo-location where the resource lives' type: string - maxMessageSizeInKilobytes: - description: |- - MaxMessageSizeInKilobytes: Maximum size (in KB) of the message payload that can be accepted by the topic. This property - is only used in Premium today and default is 1024. - type: integer - maxSizeInMegabytes: - description: |- - MaxSizeInMegabytes: Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic. - Default is 1024. - type: integer name: description: 'Name: The name of the resource' type: string - requiresDuplicateDetection: - description: 'RequiresDuplicateDetection: Value indicating if this topic requires duplicate detection.' - type: boolean - sizeInBytes: - description: 'SizeInBytes: Size of the topic, in bytes.' - type: integer - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' - type: string - subscriptionCount: - description: 'SubscriptionCount: Number of subscriptions.' - type: integer - supportOrdering: - description: 'SupportOrdering: Value that indicates whether the topic supports ordering.' - type: boolean + sqlFilter: + description: 'SqlFilter: Properties of sqlFilter' + properties: + compatibilityLevel: + description: |- + CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, + currently hard-coded to 20. + type: integer + requiresPreprocessing: + description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' + type: boolean + sqlExpression: + description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + type: string + type: object systemData: description: 'SystemData: The system meta data relating to this resource.' properties: @@ -208014,9 +278021,6 @@ spec: type: description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' - type: string type: object type: object served: true @@ -208036,14 +278040,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001previewstorage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20221001preview.NamespacesTopic + Storage version of v1api20240101.NamespacesTopicsSubscriptionsRule Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/topics.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/Rules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} properties: apiVersion: description: |- @@ -208063,7 +278067,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001preview.NamespacesTopic_Spec + description: Storage version of v1api20240101.NamespacesTopicsSubscriptionsRule_Spec properties: $propertyBag: additionalProperties: @@ -208072,30 +278076,71 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20240101.Action + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: + correlationFilter: + description: |- + Storage version of v1api20240101.CorrelationFilter + Represents the correlation filter expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string + type: object + filterType: type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer operatorSpec: description: |- - Storage version of v1api20221001preview.NamespacesTopicOperatorSpec + Storage version of v1api20240101.NamespacesTopicsSubscriptionsRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -208170,7 +278215,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/Namespace resource + reference to a servicebus.azure.com/NamespacesTopicsSubscription resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -208179,15 +278224,30 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresDuplicateDetection: - type: boolean - supportOrdering: - type: boolean + sqlFilter: + description: |- + Storage version of v1api20240101.SqlFilter + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20221001preview.NamespacesTopic_STATUS + description: Storage version of v1api20240101.NamespacesTopicsSubscriptionsRule_STATUS properties: $propertyBag: additionalProperties: @@ -208196,10 +278256,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string + action: + description: |- + Storage version of v1api20240101.Action_STATUS + Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter + expression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -208243,10 +278319,10 @@ spec: - type type: object type: array - countDetails: + correlationFilter: description: |- - Storage version of v1api20221001preview.MessageCountDetails_STATUS - Message Count Details. + Storage version of v1api20240101.CorrelationFilter_STATUS + Represents the correlation filter expression. properties: $propertyBag: additionalProperties: @@ -208255,52 +278331,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: - type: integer + contentType: + type: string + correlationId: + type: string + label: + type: string + messageId: + type: string + properties: + additionalProperties: + type: string + type: object + replyTo: + type: string + replyToSessionId: + type: string + requiresPreprocessing: + type: boolean + sessionId: + type: string + to: + type: string type: object - createdAt: - type: string - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: + filterType: type: string - enableBatchedOperations: - type: boolean - enableExpress: - type: boolean - enablePartitioning: - type: boolean id: type: string location: type: string - maxMessageSizeInKilobytes: - type: integer - maxSizeInMegabytes: - type: integer name: type: string - requiresDuplicateDetection: - type: boolean - sizeInBytes: - type: integer - status: - type: string - subscriptionCount: - type: integer - supportOrdering: - type: boolean + sqlFilter: + description: |- + Storage version of v1api20240101.SqlFilter_STATUS + Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compatibilityLevel: + type: integer + requiresPreprocessing: + type: boolean + sqlExpression: + type: string + type: object systemData: description: |- - Storage version of v1api20221001preview.SystemData_STATUS + Storage version of v1api20240101.SystemData_STATUS Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: @@ -208325,12 +278408,10 @@ spec: type: object type: type: string - updatedAt: - type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -208339,11 +278420,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespacestopicssubscriptions.servicebus.azure.com + app.kubernetes.io/version: v2.15.0 + name: natgateways.network.azure.com spec: conversion: strategy: Webhook @@ -208356,12 +278437,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: servicebus.azure.com + group: network.azure.com names: - kind: NamespacesTopicsSubscription - listKind: NamespacesTopicsSubscriptionList - plural: namespacestopicssubscriptions - singular: namespacestopicssubscription + categories: + - azure + - network + kind: NatGateway + listKind: NatGatewayList + plural: natgateways + singular: natgateway preserveUnknownFields: false scope: Namespaced versions: @@ -208378,13 +278462,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101preview + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/subscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} properties: apiVersion: description: |- @@ -208405,54 +278489,17 @@ spec: type: object spec: properties: - autoDeleteOnIdle: - description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 - type: string - deadLetteringOnFilterEvaluationExceptions: - description: |- - DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter - evaluation exceptions. - type: boolean - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' - type: string - lockDuration: - description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' - type: string - maxDeliveryCount: - description: 'MaxDeliveryCount: Number of maximum deliveries.' + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' type: integer + location: + description: 'Location: Resource location.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -208523,7 +278570,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopic resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -208532,22 +278579,85 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresSession: - description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' - type: boolean + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: 'Sku: The nat gateway SKU.' + properties: + name: + description: 'Name: Name of Nat Gateway SKU.' + enum: + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array required: - owner type: object status: + description: Nat Gateway resource. properties: - accessedAt: - description: 'AccessedAt: Last time there was a receive request to this subscription.' - type: string - autoDeleteOnIdle: - description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -208592,107 +278702,77 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message count details' - properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer - type: object - createdAt: - description: 'CreatedAt: Exact time the message was created.' - type: string - deadLetteringOnFilterEvaluationExceptions: - description: |- - DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter - evaluation exceptions. - type: boolean - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: - description: 'Id: Resource Id' - type: string - lockDuration: - description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + description: 'Id: Resource ID.' type: string - maxDeliveryCount: - description: 'MaxDeliveryCount: Number of maximum deliveries.' - type: integer - messageCount: - description: 'MessageCount: Number of messages.' + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' type: integer + location: + description: 'Location: Resource location.' + type: string name: - description: 'Name: Resource name' + description: 'Name: Resource name.' type: string - requiresSession: - description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' - type: boolean - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' + provisioningState: + description: 'ProvisioningState: The provisioning state of the NAT gateway resource.' type: string - systemData: - description: 'SystemData: The system meta data relating to this resource.' + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the NAT gateway resource.' + type: string + sku: + description: 'Sku: The nat gateway SKU.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The type of identity that last modified the resource.' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + name: + description: 'Name: Name of Nat Gateway SKU.' type: string type: object + subnets: + description: 'Subnets: An array of references to the subnets using this nat gateway resource.' + items: + description: Reference to another ARM resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: Resource type' - type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' + description: 'Type: Resource type.' type: string + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array type: object type: object served: true @@ -208712,14 +278792,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101previewstorage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210101preview.NamespacesTopicsSubscription + Storage version of v1api20220701.NatGateway Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/subscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} properties: apiVersion: description: |- @@ -208739,7 +278819,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101preview.NamespacesTopicsSubscription_Spec + description: Storage version of v1api20220701.NatGateway_Spec properties: $propertyBag: additionalProperties: @@ -208748,34 +278828,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - deadLetteringOnFilterEvaluationExceptions: - type: boolean - deadLetteringOnMessageExpiration: - type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: - type: string - lockDuration: - type: string - maxDeliveryCount: + idleTimeoutInMinutes: type: integer + location: + type: string operatorSpec: description: |- - Storage version of v1api20210101preview.NamespacesTopicsSubscriptionOperatorSpec + Storage version of v1api20220701.NatGatewayOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -208850,7 +278914,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopic resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -208859,13 +278923,106 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresSession: - type: boolean + publicIpAddresses: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: |- + Storage version of v1api20220701.NatGatewaySku + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20210101preview.NamespacesTopicsSubscription_STATUS + description: |- + Storage version of v1api20220701.NatGateway_STATUS + Nat Gateway resource. properties: $propertyBag: additionalProperties: @@ -208874,10 +279031,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -208906,78 +279059,73 @@ spec: Severity with which to treat failures of this type of condition. For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - countDetails: - description: |- - Storage version of v1api20210101preview.MessageCountDetails_STATUS - Message Count Details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: - type: integer - type: object - createdAt: - type: string - deadLetteringOnFilterEvaluationExceptions: - type: boolean - deadLetteringOnMessageExpiration: - type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + etag: type: string id: type: string - lockDuration: - type: string - maxDeliveryCount: - type: integer - messageCount: + idleTimeoutInMinutes: type: integer + location: + type: string name: type: string - requiresSession: - type: boolean - status: + provisioningState: type: string - systemData: + publicIpAddresses: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: description: |- - Storage version of v1api20210101preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20220701.NatGatewaySku_STATUS + SKU of nat gateway. properties: $propertyBag: additionalProperties: @@ -208986,23 +279134,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + name: type: string type: object + subnets: + items: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object type: type: string - updatedAt: - type: string + zones: + items: + type: string + type: array type: object type: object served: true @@ -209022,13 +279183,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} properties: apiVersion: description: |- @@ -209049,70 +279210,17 @@ spec: type: object spec: properties: - autoDeleteOnIdle: - description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 - type: string - clientAffineProperties: - description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' - properties: - clientId: - description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' - type: string - isDurable: - description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' - type: boolean - isShared: - description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' - type: boolean - type: object - deadLetteringOnFilterEvaluationExceptions: - description: |- - DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter - evaluation exceptions. - type: boolean - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' - type: string - isClientAffine: - description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' - type: boolean - lockDuration: - description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' type: string - maxDeliveryCount: - description: 'MaxDeliveryCount: Number of maximum deliveries.' + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' type: integer + location: + description: 'Location: Resource location.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -209183,7 +279291,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopic resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -209192,35 +279300,85 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresSession: - description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' - type: boolean + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: 'Sku: The nat gateway SKU.' + properties: + name: + description: 'Name: Name of Nat Gateway SKU.' + enum: + - Standard + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array required: - owner type: object status: + description: Nat Gateway resource. properties: - accessedAt: - description: 'AccessedAt: Last time there was a receive request to this subscription.' - type: string - autoDeleteOnIdle: - description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string - clientAffineProperties: - description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' - properties: - clientId: - description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' - type: string - isDurable: - description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' - type: boolean - isShared: - description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' - type: boolean - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -209265,115 +279423,77 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message count details' - properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer - type: object - createdAt: - description: 'CreatedAt: Exact time the message was created.' - type: string - deadLetteringOnFilterEvaluationExceptions: - description: |- - DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter - evaluation exceptions. - type: boolean - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string - isClientAffine: - description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' - type: boolean + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' + type: integer location: - description: 'Location: The geo-location where the resource lives' - type: string - lockDuration: - description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + description: 'Location: Resource location.' type: string - maxDeliveryCount: - description: 'MaxDeliveryCount: Number of maximum deliveries.' - type: integer - messageCount: - description: 'MessageCount: Number of messages.' - type: integer name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - requiresSession: - description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' - type: boolean - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' + provisioningState: + description: 'ProvisioningState: The provisioning state of the NAT gateway resource.' type: string - systemData: - description: 'SystemData: The system meta data relating to this resource.' + publicIpAddresses: + description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + publicIpPrefixes: + description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the NAT gateway resource.' + type: string + sku: + description: 'Sku: The nat gateway SKU.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The type of identity that last modified the resource.' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + name: + description: 'Name: Name of Nat Gateway SKU.' type: string type: object + subnets: + description: 'Subnets: An array of references to the subnets using this nat gateway resource.' + items: + description: Reference to another subresource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' - type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' + description: 'Type: Resource type.' type: string + zones: + description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + items: + type: string + type: array type: object type: object served: true @@ -209393,14 +279513,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesTopicsSubscription + Storage version of v1api20240301.NatGateway Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/subscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/natGateway.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} properties: apiVersion: description: |- @@ -209420,7 +279540,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesTopicsSubscription_Spec + description: Storage version of v1api20240301.NatGateway_Spec properties: $propertyBag: additionalProperties: @@ -209429,55 +279549,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clientAffineProperties: - description: |- - Storage version of v1api20211101.SBClientAffineProperties - Properties specific to client affine subscriptions. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - isDurable: - type: boolean - isShared: - type: boolean - type: object - deadLetteringOnFilterEvaluationExceptions: - type: boolean - deadLetteringOnMessageExpiration: - type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: - type: string - isClientAffine: - type: boolean - lockDuration: - type: string - maxDeliveryCount: + idleTimeoutInMinutes: type: integer + location: + type: string operatorSpec: description: |- - Storage version of v1api20211101.NamespacesTopicsSubscriptionOperatorSpec + Storage version of v1api20240301.NatGatewayOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -209552,7 +279635,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopic resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -209561,13 +279644,106 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresSession: - type: boolean + publicIpAddresses: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + sku: + description: |- + Storage version of v1api20240301.NatGatewaySku + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesTopicsSubscription_STATUS + description: |- + Storage version of v1api20240301.NatGateway_STATUS + Nat Gateway resource. properties: $propertyBag: additionalProperties: @@ -209576,29 +279752,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string - clientAffineProperties: - description: |- - Storage version of v1api20211101.SBClientAffineProperties_STATUS - Properties specific to client affine subscriptions. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - isDurable: - type: boolean - isShared: - type: boolean - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -209642,202 +279795,463 @@ spec: - type type: object type: array - countDetails: - description: |- - Storage version of v1api20211101.MessageCountDetails_STATUS - Message Count Details. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: - type: integer - type: object - createdAt: - type: string - deadLetteringOnFilterEvaluationExceptions: - type: boolean - deadLetteringOnMessageExpiration: - type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: - type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: - type: string - id: - type: string - isClientAffine: - type: boolean + etag: + type: string + id: + type: string + idleTimeoutInMinutes: + type: integer + location: + type: string + name: + type: string + provisioningState: + type: string + publicIpAddresses: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + publicIpPrefixes: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.NatGatewaySku_STATUS + SKU of nat gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + subnets: + items: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: networkinterfaces.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkInterface + listKind: NetworkInterfaceList + plural: networkinterfaces + singular: networkinterface + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' + properties: + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: If the network interface is accelerated networking enabled.' + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: Private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array location: + description: 'Location: Resource location.' type: string - lockDuration: - type: string - maxDeliveryCount: - type: integer - messageCount: - type: integer - name: - type: string - requiresSession: - type: boolean - status: - type: string - systemData: - description: |- - Storage version of v1api20211101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - type: - type: string - updatedAt: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20221001preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/subscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - autoDeleteOnIdle: - description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 50 - minLength: 1 - type: string - clientAffineProperties: - description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' - properties: - clientId: - description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' - type: string - isDurable: - description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' - type: boolean - isShared: - description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' - type: boolean type: object - deadLetteringOnFilterEvaluationExceptions: - description: |- - DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter - evaluation exceptions. - type: boolean - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message - expires. - type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' - type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' - type: string - isClientAffine: - description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' - type: boolean - lockDuration: - description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + nicType: + description: 'NicType: Type of Network Interface resource.' + enum: + - Elastic + - Standard type: string - maxDeliveryCount: - description: 'MaxDeliveryCount: Number of maximum deliveries.' - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -209908,7 +280322,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopic resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -209917,35 +280331,41 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresSession: - description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' - type: boolean + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner type: object status: + description: A network interface in a resource group. properties: - accessedAt: - description: 'AccessedAt: Last time there was a receive request to this subscription.' - type: string - autoDeleteOnIdle: - description: |- - AutoDeleteOnIdle: ISO 8061 timeSpan idle interval after which the topic is automatically deleted. The minimum duration - is 5 minutes. - type: string - clientAffineProperties: - description: 'ClientAffineProperties: Properties specific to client affine subscriptions.' - properties: - clientId: - description: 'ClientId: Indicates the Client ID of the application that created the client-affine subscription.' - type: string - isDurable: - description: 'IsDurable: For client-affine subscriptions, this value indicates whether the subscription is durable or not.' - type: boolean - isShared: - description: 'IsShared: For client-affine subscriptions, this value indicates whether the subscription is shared or not.' - type: boolean - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -209990,115 +280410,255 @@ spec: - type type: object type: array - countDetails: - description: 'CountDetails: Message count details' + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' properties: - activeMessageCount: - description: 'ActiveMessageCount: Number of active messages in the queue, topic, or subscription.' - type: integer - deadLetterMessageCount: - description: 'DeadLetterMessageCount: Number of messages that are dead lettered.' - type: integer - scheduledMessageCount: - description: 'ScheduledMessageCount: Number of scheduled messages.' - type: integer - transferDeadLetterMessageCount: - description: 'TransferDeadLetterMessageCount: Number of messages transferred into dead letters.' - type: integer - transferMessageCount: - description: 'TransferMessageCount: Number of messages transferred to another queue, topic, or subscription.' - type: integer + appliedDnsServers: + description: |- + AppliedDnsServers: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of + all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of + those VMs. + items: + type: string + type: array + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + internalDomainNameSuffix: + description: |- + InternalDomainNameSuffix: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of + the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + type: string + internalFqdn: + description: 'InternalFqdn: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.' + type: string type: object - createdAt: - description: 'CreatedAt: Exact time the message was created.' - type: string - deadLetteringOnFilterEvaluationExceptions: - description: |- - DeadLetteringOnFilterEvaluationExceptions: Value that indicates whether a subscription has dead letter support on filter - evaluation exceptions. - type: boolean - deadLetteringOnMessageExpiration: - description: |- - DeadLetteringOnMessageExpiration: Value that indicates whether a subscription has dead letter support when a message - expires. + dscpConfiguration: + description: 'DscpConfiguration: A reference to the dscp configuration to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableAcceleratedNetworking: + description: 'EnableAcceleratedNetworking: If the network interface is accelerated networking enabled.' type: boolean - defaultMessageTimeToLive: - description: |- - DefaultMessageTimeToLive: ISO 8061 Default message timespan to live value. This is the duration after which the message - expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not - set on a message itself. - type: string - duplicateDetectionHistoryTimeWindow: - description: |- - DuplicateDetectionHistoryTimeWindow: ISO 8601 timeSpan structure that defines the duration of the duplicate detection - history. The default value is 10 minutes. - type: string - enableBatchedOperations: - description: 'EnableBatchedOperations: Value that indicates whether server-side batched operations are enabled.' + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' type: boolean - forwardDeadLetteredMessagesTo: - description: 'ForwardDeadLetteredMessagesTo: Queue/Topic name to forward the Dead Letter message' - type: string - forwardTo: - description: 'ForwardTo: Queue/Topic name to forward the messages' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hostedWorkloads: + description: 'HostedWorkloads: A list of references to linked BareMetal resources.' + items: + type: string + type: array id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string - isClientAffine: - description: 'IsClientAffine: Value that indicates whether the subscription has an affinity to the client id.' - type: boolean + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: 'PrivateIPAddress: Private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + privateLinkConnectionProperties: + description: 'PrivateLinkConnectionProperties: PrivateLinkConnection properties for the network interface.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for current private link connection.' + items: + type: string + type: array + groupId: + description: 'GroupId: The group ID for current private link connection.' + type: string + requiredMemberName: + description: 'RequiredMemberName: The required member name for current private link connection.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface IP configuration.' + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: object + type: array location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location.' type: string - lockDuration: - description: 'LockDuration: ISO 8061 lock duration timespan for the subscription. The default value is 1 minute.' + macAddress: + description: 'MacAddress: The MAC address of the network interface.' type: string - maxDeliveryCount: - description: 'MaxDeliveryCount: Number of maximum deliveries.' - type: integer - messageCount: - description: 'MessageCount: Number of messages.' - type: integer - name: - description: 'Name: The name of the resource' + migrationPhase: + description: 'MigrationPhase: Migration phase of Network Interface resource.' type: string - requiresSession: - description: 'RequiresSession: Value indicating if a subscription supports the concept of sessions.' - type: boolean - status: - description: 'Status: Enumerates the possible values for the status of a messaging entity.' + name: + description: 'Name: Resource name.' type: string - systemData: - description: 'SystemData: The system meta data relating to this resource.' + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The type of identity that last modified the resource.' + id: + description: 'Id: Resource ID.' type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + type: object + nicType: + description: 'NicType: Type of Network Interface resource.' + type: string + primary: + description: 'Primary: Whether this is a primary network interface on a virtual machine.' + type: boolean + privateEndpoint: + description: 'PrivateEndpoint: A reference to the private endpoint to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: object + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + id: + description: 'Id: Resource ID.' type: string type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface resource.' type: string - updatedAt: - description: 'UpdatedAt: The exact time the message was updated.' + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network interface resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tapConfigurations: + description: 'TapConfigurations: A list of TapConfigurations of the network interface.' + items: + description: Tap configuration in a Network Interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + type: + description: 'Type: Resource type.' type: string + virtualMachine: + description: 'VirtualMachine: The reference to a virtual machine.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: object type: object served: true @@ -210118,14 +280678,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001previewstorage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20221001preview.NamespacesTopicsSubscription + Storage version of v1api20201101.NetworkInterface Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/subscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} properties: apiVersion: description: |- @@ -210145,7 +280705,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001preview.NamespacesTopicsSubscription_Spec + description: Storage version of v1api20201101.NetworkInterface_Spec properties: $propertyBag: additionalProperties: @@ -210154,17 +280714,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoDeleteOnIdle: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clientAffineProperties: + dnsSettings: description: |- - Storage version of v1api20221001preview.SBClientAffineProperties - Properties specific to client affine subscriptions. + Storage version of v1api20201101.NetworkInterfaceDnsSettings + DNS settings of a network interface. properties: $propertyBag: additionalProperties: @@ -210173,36 +280731,340 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: type: string - isDurable: - type: boolean - isShared: - type: boolean type: object - deadLetteringOnFilterEvaluationExceptions: - type: boolean - deadLetteringOnMessageExpiration: + enableAcceleratedNetworking: type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: + enableIPForwarding: type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.ApplicationGatewayBackendAddressPool_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20201101.VirtualNetworkTapSpec_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: type: string - isClientAffine: - type: boolean - lockDuration: + networkSecurityGroup: + description: |- + Storage version of v1api20201101.NetworkSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + nicType: type: string - maxDeliveryCount: - type: integer operatorSpec: description: |- - Storage version of v1api20221001preview.NamespacesTopicsSubscriptionOperatorSpec + Storage version of v1api20201101.NetworkInterfaceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -210277,7 +281139,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopic resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -210286,43 +281148,57 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - requiresSession: - type: boolean + privateLinkService: + description: |- + Storage version of v1api20201101.PrivateLinkServiceSpec + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20221001preview.NamespacesTopicsSubscription_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accessedAt: - type: string - autoDeleteOnIdle: - type: string - clientAffineProperties: + description: |- + Storage version of v1api20201101.NetworkInterface_STATUS_NetworkInterface_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20221001preview.SBClientAffineProperties_STATUS - Properties specific to client affine subscriptions. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - isDurable: - type: boolean - isShared: - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object conditions: items: @@ -210367,10 +281243,10 @@ spec: - type type: object type: array - countDetails: + dnsSettings: description: |- - Storage version of v1api20221001preview.MessageCountDetails_STATUS - Message Count Details. + Storage version of v1api20201101.NetworkInterfaceDnsSettings_STATUS + DNS settings of a network interface. properties: $propertyBag: additionalProperties: @@ -210379,55 +281255,246 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - activeMessageCount: - type: integer - deadLetterMessageCount: - type: integer - scheduledMessageCount: - type: integer - transferDeadLetterMessageCount: - type: integer - transferMessageCount: - type: integer + appliedDnsServers: + items: + type: string + type: array + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: + type: string + internalDomainNameSuffix: + type: string + internalFqdn: + type: string type: object - createdAt: - type: string - deadLetteringOnFilterEvaluationExceptions: - type: boolean - deadLetteringOnMessageExpiration: + dscpConfiguration: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + enableAcceleratedNetworking: type: boolean - defaultMessageTimeToLive: - type: string - duplicateDetectionHistoryTimeWindow: - type: string - enableBatchedOperations: + enableIPForwarding: type: boolean - forwardDeadLetteredMessagesTo: - type: string - forwardTo: + etag: type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostedWorkloads: + items: + type: string + type: array id: type: string - isClientAffine: - type: boolean + ipConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.ApplicationGatewayBackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + id: + type: string + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20201101.BackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20201101.InboundNatRule_STATUS_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + privateLinkConnectionProperties: + description: |- + Storage version of v1api20201101.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties_STATUS + PrivateLinkConnection properties for the network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + groupId: + type: string + requiredMemberName: + type: string + type: object + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddress_STATUS_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20201101.Subnet_STATUS_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20201101.VirtualNetworkTap_STATUS_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: array location: type: string - lockDuration: + macAddress: type: string - maxDeliveryCount: - type: integer - messageCount: - type: integer - name: + migrationPhase: type: string - requiresSession: - type: boolean - status: + name: type: string - systemData: + networkSecurityGroup: description: |- - Storage version of v1api20221001preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20201101.NetworkSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. properties: $propertyBag: additionalProperties: @@ -210436,61 +281503,91 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: + id: type: string - lastModifiedBy: + type: object + nicType: + type: string + primary: + type: boolean + privateEndpoint: + description: |- + Storage version of v1api20201101.PrivateEndpoint_STATUS_NetworkInterface_SubResourceEmbedded + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - lastModifiedByType: + type: object + privateLinkService: + description: |- + Storage version of v1api20201101.PrivateLinkService_STATUS_NetworkInterface_SubResourceEmbedded + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object - type: + provisioningState: type: string - updatedAt: + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + tapConfigurations: + items: + description: |- + Storage version of v1api20201101.NetworkInterfaceTapConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + Tap configuration in a Network Interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: type: string + virtualMachine: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object type: object type: object served: true storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: namespacestopicssubscriptionsrules.servicebus.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: servicebus.azure.com - names: - kind: NamespacesTopicsSubscriptionsRule - listKind: NamespacesTopicsSubscriptionsRuleList - plural: namespacestopicssubscriptionsrules - singular: namespacestopicssubscriptionsrule - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -210504,13 +281601,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101preview + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Rules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} properties: apiVersion: description: |- @@ -210531,71 +281628,343 @@ spec: type: object spec: properties: - action: - description: |- - Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a - filter expression. - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object + auxiliaryMode: + description: 'AuxiliaryMode: Auxiliary mode of Network Interface resource.' + enum: + - AcceleratedConnections + - Floating + - MaxConnections + - None + type: string + auxiliarySku: + description: 'AuxiliarySku: Auxiliary sku of Network Interface resource.' + enum: + - A1 + - A2 + - A4 + - A8 + - None + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 type: string - correlationFilter: - description: 'CorrelationFilter: Properties of correlationFilter' + disableTcpStateTracking: + description: 'DisableTcpStateTracking: Indicates whether to disable tcp state tracking.' + type: boolean + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' properties: - contentType: - description: 'ContentType: Content type of the message.' - type: string - correlationId: - description: 'CorrelationId: Identifier of the correlation.' + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. type: string - label: - description: 'Label: Application specific label.' + type: object + enableAcceleratedNetworking: + description: |- + EnableAcceleratedNetworking: If the network interface is configured for accelerated networking. Not applicable to VM + sizes which require accelerated networking. + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' type: string - messageId: - description: 'MessageId: Identifier of the message.' + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone type: string + type: object + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. properties: - additionalProperties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' type: string - description: 'Properties: dictionary object for custom filters' + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: |- + PrivateIPAddress: Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the + format
/. + type: string + privateIPAddressPrefixLength: + description: |- + PrivateIPAddressPrefixLength: The private IP address prefix length. If specified and the allocation method is dynamic, + the service will allocate a CIDR block instead of a single IP address. + maximum: 128 + minimum: 1 + type: integer + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - replyTo: - description: 'ReplyTo: Address of the queue to reply to.' - type: string - replyToSessionId: - description: 'ReplyToSessionId: Session identifier to reply to.' - type: string - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sessionId: - description: 'SessionId: Session identifier.' - type: string - to: - description: 'To: Address to send to.' - type: string type: object - filterType: - description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + nicType: + description: 'NicType: Type of Network Interface resource.' enum: - - CorrelationFilter - - SqlFilter + - Elastic + - Standard type: string operatorSpec: description: |- @@ -210667,7 +282036,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -210676,45 +282045,50 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sqlFilter: - description: 'SqlFilter: Properties of sqlFilter' + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - maximum: 20 - minimum: 20 - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' - type: string + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object + workloadType: + description: 'WorkloadType: WorkloadType of the NetworkInterface for BareMetal resources' + type: string required: - owner type: object status: + description: A network interface in a resource group. properties: - action: - description: |- - Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a - filter expression. - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object + auxiliaryMode: + description: 'AuxiliaryMode: Auxiliary mode of Network Interface resource.' + type: string + auxiliarySku: + description: 'AuxiliarySku: Auxiliary sku of Network Interface resource.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -210724,125 +282098,314 @@ spec: description: LastTransitionTime is the last time the condition transitioned from one status to another. format: date-time type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + disableTcpStateTracking: + description: 'DisableTcpStateTracking: Indicates whether to disable tcp state tracking.' + type: boolean + dnsSettings: + description: 'DnsSettings: The DNS settings in network interface.' + properties: + appliedDnsServers: + description: |- + AppliedDnsServers: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of + all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of + those VMs. + items: + type: string + type: array + dnsServers: + description: |- + DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + items: + type: string + type: array + internalDnsNameLabel: + description: |- + InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual + network. + type: string + internalDomainNameSuffix: + description: |- + InternalDomainNameSuffix: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of + the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + type: string + internalFqdn: + description: 'InternalFqdn: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.' + type: string + type: object + dscpConfiguration: + description: 'DscpConfiguration: A reference to the dscp configuration to which the network interface is linked.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + enableAcceleratedNetworking: + description: |- + EnableAcceleratedNetworking: If the network interface is configured for accelerated networking. Not applicable to VM + sizes which require accelerated networking. + type: boolean + enableIPForwarding: + description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the network interface.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + hostedWorkloads: + description: 'HostedWorkloads: A list of references to linked BareMetal resources.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + ipConfigurations: + description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + items: + description: IPConfiguration in a network interface. + properties: + applicationGatewayBackendAddressPools: + description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' + items: + description: Backend Address Pool of an application gateway. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + gatewayLoadBalancer: + description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + loadBalancerBackendAddressPools: + description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' + items: + description: Pool of backend IP addresses. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + loadBalancerInboundNatRules: + description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' + items: + description: Inbound NAT rule of the load balancer. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + primary: + description: 'Primary: Whether this is a primary customer address on the network interface.' + type: boolean + privateIPAddress: + description: |- + PrivateIPAddress: Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the + format
/. type: string - observedGeneration: + privateIPAddressPrefixLength: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + PrivateIPAddressPrefixLength: The private IP address prefix length. If specified and the allocation method is dynamic, + the service will allocate a CIDR block instead of a single IP address. type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' type: string - status: - description: Status of the condition, one of True, False, or Unknown. + privateLinkConnectionProperties: + description: 'PrivateLinkConnectionProperties: PrivateLinkConnection properties for the network interface.' + properties: + fqdns: + description: 'Fqdns: List of FQDNs for current private link connection.' + items: + type: string + type: array + groupId: + description: 'GroupId: The group ID for current private link connection.' + type: string + requiredMemberName: + description: 'RequiredMemberName: The required member name for current private link connection.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface IP configuration.' type: string + publicIPAddress: + description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subnet: + description: 'Subnet: Subnet bound to the IP configuration.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: - description: Type of condition. + description: 'Type: Resource type.' type: string - required: - - lastTransitionTime - - reason - - status - - type + virtualNetworkTaps: + description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' + items: + description: Virtual Network Tap resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array type: object type: array - correlationFilter: - description: 'CorrelationFilter: Properties of correlationFilter' - properties: - contentType: - description: 'ContentType: Content type of the message.' - type: string - correlationId: - description: 'CorrelationId: Identifier of the correlation.' - type: string - label: - description: 'Label: Application specific label.' - type: string - messageId: - description: 'MessageId: Identifier of the message.' - type: string - properties: - additionalProperties: - type: string - description: 'Properties: dictionary object for custom filters' - type: object - replyTo: - description: 'ReplyTo: Address of the queue to reply to.' - type: string - replyToSessionId: - description: 'ReplyToSessionId: Session identifier to reply to.' - type: string - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sessionId: - description: 'SessionId: Session identifier.' - type: string - to: - description: 'To: Address to send to.' - type: string - type: object - filterType: - description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + location: + description: 'Location: Resource location.' type: string - id: - description: 'Id: Resource Id' + macAddress: + description: 'MacAddress: The MAC address of the network interface.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Network Interface resource.' type: string name: - description: 'Name: Resource name' + description: 'Name: Resource name.' type: string - sqlFilter: - description: 'SqlFilter: Properties of sqlFilter' + networkSecurityGroup: + description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' + id: + description: 'Id: Resource ID.' type: string type: object - systemData: - description: 'SystemData: The system meta data relating to this resource.' + nicType: + description: 'NicType: Type of Network Interface resource.' + type: string + primary: + description: 'Primary: Whether this is a primary network interface on a virtual machine.' + type: boolean + privateEndpoint: + description: 'PrivateEndpoint: A reference to the private endpoint to which the network interface is linked.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The type of identity that last modified the resource.' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + id: + description: 'Id: Resource ID.' type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: object + privateLinkService: + description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + properties: + id: + description: 'Id: Resource ID.' type: string type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the network interface resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network interface resource.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tapConfigurations: + description: 'TapConfigurations: A list of TapConfigurations of the network interface.' + items: + description: Tap configuration in a Network Interface. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array type: - description: 'Type: Resource type' + description: 'Type: Resource type.' + type: string + virtualMachine: + description: 'VirtualMachine: The reference to a virtual machine.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + vnetEncryptionSupported: + description: 'VnetEncryptionSupported: Whether the virtual machine this nic is attached to supports encryption.' + type: boolean + workloadType: + description: 'WorkloadType: WorkloadType of the NetworkInterface for BareMetal resources' type: string type: object type: object @@ -210863,14 +282426,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210101previewstorage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule + Storage version of v1api20240301.NetworkInterface Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-01-01-preview/Rules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkInterface.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} properties: apiVersion: description: |- @@ -210890,7 +282453,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule_Spec + description: Storage version of v1api20240301.NetworkInterface_Spec properties: $propertyBag: additionalProperties: @@ -210899,11 +282462,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: + auxiliaryMode: + type: string + auxiliarySku: + type: string + azureName: description: |- - Storage version of v1api20210101preview.Action - Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter - expression. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + disableTcpStateTracking: + type: boolean + dnsSettings: + description: |- + Storage version of v1api20240301.NetworkInterfaceDnsSettings + DNS settings of a network interface. properties: $propertyBag: additionalProperties: @@ -210912,22 +282485,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: type: string type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - correlationFilter: + enableAcceleratedNetworking: + type: boolean + enableIPForwarding: + type: boolean + extendedLocation: description: |- - Storage version of v1api20210101preview.CorrelationFilter - Represents the correlation filter expression. + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -210936,34 +282508,352 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - contentType: - type: string - correlationId: - type: string - label: + name: type: string - messageId: + type: type: string + type: object + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.ApplicationGatewayBackendAddressPool_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressPrefixLength: + type: integer + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkTapSpec_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + type: array + location: + type: string + networkSecurityGroup: + description: |- + Storage version of v1api20240301.NetworkSecurityGroupSpec_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - replyTo: - type: string - replyToSessionId: - type: string - requiresPreprocessing: - type: boolean - sessionId: - type: string - to: - type: string type: object - filterType: + nicType: type: string operatorSpec: description: |- - Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRuleOperatorSpec + Storage version of v1api20240301.NetworkInterfaceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -211038,7 +282928,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -211047,10 +282937,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sqlFilter: + privateLinkService: description: |- - Storage version of v1api20210101preview.SqlFilter - Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + Storage version of v1api20240301.PrivateLinkServiceSpec + Private link service resource. properties: $propertyBag: additionalProperties: @@ -211059,18 +282949,40 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string type: object + workloadType: + type: string required: - owner type: object status: - description: Storage version of v1api20210101preview.NamespacesTopicsSubscriptionsRule_STATUS + description: |- + Storage version of v1api20240301.NetworkInterface_STATUS_NetworkInterface_SubResourceEmbedded + A network interface in a resource group. properties: $propertyBag: additionalProperties: @@ -211079,26 +282991,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - description: |- - Storage version of v1api20210101preview.Action_STATUS - Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter - expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object + auxiliaryMode: + type: string + auxiliarySku: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -211142,10 +283038,12 @@ spec: - type type: object type: array - correlationFilter: + disableTcpStateTracking: + type: boolean + dnsSettings: description: |- - Storage version of v1api20210101preview.CorrelationFilter_STATUS - Represents the correlation filter expression. + Storage version of v1api20240301.NetworkInterfaceDnsSettings_STATUS + DNS settings of a network interface. properties: $propertyBag: additionalProperties: @@ -211154,39 +283052,263 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - contentType: - type: string - correlationId: + appliedDnsServers: + items: + type: string + type: array + dnsServers: + items: + type: string + type: array + internalDnsNameLabel: type: string - label: + internalDomainNameSuffix: type: string - messageId: + internalFqdn: type: string - properties: + type: object + dscpConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - replyTo: - type: string - replyToSessionId: + id: type: string - requiresPreprocessing: - type: boolean - sessionId: + type: object + enableAcceleratedNetworking: + type: boolean + enableIPForwarding: + type: boolean + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - to: + type: type: string type: object - filterType: - type: string + hostedWorkloads: + items: + type: string + type: array id: type: string + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + IPConfiguration in a network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationGatewayBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.ApplicationGatewayBackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Backend Address Pool of an application gateway. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + applicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + etag: + type: string + gatewayLoadBalancer: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + id: + type: string + loadBalancerBackendAddressPools: + items: + description: |- + Storage version of v1api20240301.BackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded + Pool of backend IP addresses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + loadBalancerInboundNatRules: + items: + description: |- + Storage version of v1api20240301.InboundNatRule_STATUS_NetworkInterface_SubResourceEmbedded + Inbound NAT rule of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + name: + type: string + primary: + type: boolean + privateIPAddress: + type: string + privateIPAddressPrefixLength: + type: integer + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + privateLinkConnectionProperties: + description: |- + Storage version of v1api20240301.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties_STATUS + PrivateLinkConnection properties for the network interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdns: + items: + type: string + type: array + groupId: + type: string + requiredMemberName: + type: string + type: object + provisioningState: + type: string + publicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddress_STATUS_NetworkInterface_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_NetworkInterface_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: + type: string + virtualNetworkTaps: + items: + description: |- + Storage version of v1api20240301.VirtualNetworkTap_STATUS_NetworkInterface_SubResourceEmbedded + Virtual Network Tap resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: object + type: array + location: + type: string + macAddress: + type: string + migrationPhase: + type: string name: type: string - sqlFilter: + networkSecurityGroup: description: |- - Storage version of v1api20210101preview.SqlFilter_STATUS - Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. + Storage version of v1api20240301.NetworkSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded + NetworkSecurityGroup resource. properties: $propertyBag: additionalProperties: @@ -211195,17 +283317,74 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: + id: type: string type: object - systemData: + nicType: + type: string + primary: + type: boolean + privateEndpoint: + description: |- + Storage version of v1api20240301.PrivateEndpoint_STATUS_NetworkInterface_SubResourceEmbedded + Private endpoint resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkService: + description: |- + Storage version of v1api20240301.PrivateLinkService_STATUS_NetworkInterface_SubResourceEmbedded + Private link service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + resourceGuid: + type: string + tags: + additionalProperties: + type: string + type: object + tapConfigurations: + items: + description: |- + Storage version of v1api20240301.NetworkInterfaceTapConfiguration_STATUS_NetworkInterface_SubResourceEmbedded + Tap configuration in a Network Interface. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + type: + type: string + virtualMachine: description: |- - Storage version of v1api20210101preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. properties: $propertyBag: additionalProperties: @@ -211214,27 +283393,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: + id: type: string type: object - type: + vnetEncryptionSupported: + type: boolean + workloadType: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: networksecuritygroups.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: NetworkSecurityGroup + listKind: NetworkSecurityGroupList + plural: networksecuritygroups + singular: networksecuritygroup + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -211248,13 +283454,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20201101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} properties: apiVersion: description: |- @@ -211275,71 +283481,13 @@ spec: type: object spec: properties: - action: - description: |- - Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a - filter expression. - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 type: string - correlationFilter: - description: 'CorrelationFilter: Properties of correlationFilter' - properties: - contentType: - description: 'ContentType: Content type of the message.' - type: string - correlationId: - description: 'CorrelationId: Identifier of the correlation.' - type: string - label: - description: 'Label: Application specific label.' - type: string - messageId: - description: 'MessageId: Identifier of the message.' - type: string - properties: - additionalProperties: - type: string - description: 'Properties: dictionary object for custom filters' - type: object - replyTo: - description: 'ReplyTo: Address of the queue to reply to.' - type: string - replyToSessionId: - description: 'ReplyToSessionId: Session identifier to reply to.' - type: string - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sessionId: - description: 'SessionId: Session identifier.' - type: string - to: - description: 'To: Address to send to.' - type: string - type: object - filterType: - description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' - enum: - - CorrelationFilter - - SqlFilter + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -211411,7 +283559,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -211420,43 +283568,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sqlFilter: - description: 'SqlFilter: Properties of sqlFilter' - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object required: - owner type: object status: + description: NetworkSecurityGroup resource. properties: - action: - description: |- - Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a - filter expression. - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -211501,95 +283623,71 @@ spec: - type type: object type: array - correlationFilter: - description: 'CorrelationFilter: Properties of correlationFilter' - properties: - contentType: - description: 'ContentType: Content type of the message.' - type: string - correlationId: - description: 'CorrelationId: Identifier of the correlation.' - type: string - label: - description: 'Label: Application specific label.' - type: string - messageId: - description: 'MessageId: Identifier of the message.' - type: string + defaultSecurityRules: + description: 'DefaultSecurityRules: The default security rules of network security group.' + items: + description: Network security rule. properties: - additionalProperties: + id: + description: 'Id: Resource ID.' type: string - description: 'Properties: dictionary object for custom filters' - type: object - replyTo: - description: 'ReplyTo: Address of the queue to reply to.' - type: string - replyToSessionId: - description: 'ReplyToSessionId: Session identifier to reply to.' - type: string - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sessionId: - description: 'SessionId: Session identifier.' - type: string - to: - description: 'To: Address to send to.' - type: string - type: object - filterType: - description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + flowLogs: + description: 'FlowLogs: A collection of references to flow log resources.' + items: + description: A flow log resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - sqlFilter: - description: 'SqlFilter: Properties of sqlFilter' - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object - systemData: - description: 'SystemData: The system meta data relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The type of identity that last modified the resource.' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string + networkInterfaces: + description: 'NetworkInterfaces: A collection of references to network interfaces.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the network security group resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network security group resource.' + type: string + subnets: + description: 'Subnets: A collection of references to subnets.' + items: + description: Subnet in a virtual network resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + description: 'Type: Resource type.' type: string type: object type: object @@ -211610,14 +283708,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule + Storage version of v1api20201101.NetworkSecurityGroup Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2021-11-01/Rules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} properties: apiVersion: description: |- @@ -211637,7 +283735,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule_Spec + description: Storage version of v1api20201101.NetworkSecurityGroup_Spec properties: $propertyBag: additionalProperties: @@ -211646,71 +283744,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - description: |- - Storage version of v1api20211101.Action - Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter - expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - correlationFilter: - description: |- - Storage version of v1api20211101.CorrelationFilter - Represents the correlation filter expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - contentType: - type: string - correlationId: - type: string - label: - type: string - messageId: - type: string - properties: - additionalProperties: - type: string - type: object - replyTo: - type: string - replyToSessionId: - type: string - requiresPreprocessing: - type: boolean - sessionId: - type: string - to: - type: string - type: object - filterType: + location: type: string operatorSpec: description: |- - Storage version of v1api20211101.NamespacesTopicsSubscriptionsRuleOperatorSpec + Storage version of v1api20201101.NetworkSecurityGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -211785,7 +283828,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -211794,30 +283837,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sqlFilter: - description: |- - Storage version of v1api20211101.SqlFilter - Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20211101.NamespacesTopicsSubscriptionsRule_STATUS + description: |- + Storage version of v1api20201101.NetworkSecurityGroup_STATUS_NetworkSecurityGroup_SubResourceEmbedded + NetworkSecurityGroup resource. properties: $propertyBag: additionalProperties: @@ -211826,26 +283856,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - description: |- - Storage version of v1api20211101.Action_STATUS - Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter - expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -211889,99 +283899,96 @@ spec: - type type: object type: array - correlationFilter: - description: |- - Storage version of v1api20211101.CorrelationFilter_STATUS - Represents the correlation filter expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - contentType: - type: string - correlationId: - type: string - label: - type: string - messageId: - type: string + defaultSecurityRules: + items: + description: |- + Storage version of v1api20201101.SecurityRule_STATUS + Network security rule. properties: - additionalProperties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - type: object - replyTo: - type: string - replyToSessionId: - type: string - requiresPreprocessing: - type: boolean - sessionId: - type: string - to: - type: string - type: object - filterType: + type: object + type: array + etag: type: string + flowLogs: + items: + description: |- + Storage version of v1api20201101.FlowLog_STATUS + A flow log resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array id: type: string location: type: string name: type: string - sqlFilter: - description: |- - Storage version of v1api20211101.SqlFilter_STATUS - Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. - properties: - $propertyBag: - additionalProperties: + networkInterfaces: + items: + description: |- + Storage version of v1api20201101.NetworkInterface_STATUS_NetworkSecurityGroup_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object - systemData: - description: |- - Storage version of v1api20211101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: + type: object + type: array + provisioningState: + type: string + resourceGuid: + type: string + subnets: + items: + description: |- + Storage version of v1api20201101.Subnet_STATUS_NetworkSecurityGroup_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string + type: object + type: array + tags: + additionalProperties: + type: string type: object type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -211997,13 +284004,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001preview + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Rules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} properties: apiVersion: description: |- @@ -212024,71 +284031,18 @@ spec: type: object spec: properties: - action: - description: |- - Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a - filter expression. - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 50 - minLength: 1 type: string - correlationFilter: - description: 'CorrelationFilter: Properties of correlationFilter' - properties: - contentType: - description: 'ContentType: Content type of the message.' - type: string - correlationId: - description: 'CorrelationId: Identifier of the correlation.' - type: string - label: - description: 'Label: Application specific label.' - type: string - messageId: - description: 'MessageId: Identifier of the message.' - type: string - properties: - additionalProperties: - type: string - description: 'Properties: dictionary object for custom filters' - type: object - replyTo: - description: 'ReplyTo: Address of the queue to reply to.' - type: string - replyToSessionId: - description: 'ReplyToSessionId: Session identifier to reply to.' - type: string - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sessionId: - description: 'SessionId: Session identifier.' - type: string - to: - description: 'To: Address to send to.' - type: string - type: object - filterType: - description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' - enum: - - CorrelationFilter - - SqlFilter + flushConnection: + description: |- + FlushConnection: When enabled, flows created from Network Security Group connections will be re-evaluated when rules are + updates. Initial enablement will trigger re-evaluation. + type: boolean + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -212160,7 +284114,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -212169,43 +284123,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sqlFilter: - description: 'SqlFilter: Properties of sqlFilter' - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object required: - owner type: object status: + description: NetworkSecurityGroup resource. properties: - action: - description: |- - Action: Represents the filter actions which are allowed for the transformation of a message that have been matched by a - filter expression. - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -212250,95 +284178,66 @@ spec: - type type: object type: array - correlationFilter: - description: 'CorrelationFilter: Properties of correlationFilter' - properties: - contentType: - description: 'ContentType: Content type of the message.' - type: string - correlationId: - description: 'CorrelationId: Identifier of the correlation.' - type: string - label: - description: 'Label: Application specific label.' - type: string - messageId: - description: 'MessageId: Identifier of the message.' - type: string + defaultSecurityRules: + description: 'DefaultSecurityRules: The default security rules of network security group.' + items: + description: Network security rule. properties: - additionalProperties: + id: + description: 'Id: Resource ID.' type: string - description: 'Properties: dictionary object for custom filters' - type: object - replyTo: - description: 'ReplyTo: Address of the queue to reply to.' - type: string - replyToSessionId: - description: 'ReplyToSessionId: Session identifier to reply to.' - type: string - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sessionId: - description: 'SessionId: Session identifier.' - type: string - to: - description: 'To: Address to send to.' - type: string - type: object - filterType: - description: 'FilterType: Filter type that is evaluated against a BrokeredMessage.' + type: object + type: array + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - id: + flushConnection: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + FlushConnection: When enabled, flows created from Network Security Group connections will be re-evaluated when rules are + updates. Initial enablement will trigger re-evaluation. + type: boolean + id: + description: 'Id: Resource ID.' type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - sqlFilter: - description: 'SqlFilter: Properties of sqlFilter' - properties: - compatibilityLevel: - description: |- - CompatibilityLevel: This property is reserved for future use. An integer value showing the compatibility level, - currently hard-coded to 20. - type: integer - requiresPreprocessing: - description: 'RequiresPreprocessing: Value that indicates whether the rule action requires preprocessing.' - type: boolean - sqlExpression: - description: 'SqlExpression: The SQL expression. e.g. MyProperty=''ABC''' - type: string - type: object - systemData: - description: 'SystemData: The system meta data relating to this resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The type of identity that last modified the resource.' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string + networkInterfaces: + description: 'NetworkInterfaces: A collection of references to network interfaces.' + items: + description: A network interface in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the network security group resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the network security group resource.' + type: string + subnets: + description: 'Subnets: A collection of references to subnets.' + items: + description: Subnet in a virtual network resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' + description: 'Type: Resource type.' type: string type: object type: object @@ -212359,14 +284258,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20221001previewstorage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule + Storage version of v1api20240301.NetworkSecurityGroup Generator information: - - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/preview/2022-10-01-preview/Rules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}/rules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} properties: apiVersion: description: |- @@ -212386,7 +284285,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule_Spec + description: Storage version of v1api20240301.NetworkSecurityGroup_Spec properties: $propertyBag: additionalProperties: @@ -212395,71 +284294,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - description: |- - Storage version of v1api20221001preview.Action - Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter - expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - correlationFilter: - description: |- - Storage version of v1api20221001preview.CorrelationFilter - Represents the correlation filter expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - contentType: - type: string - correlationId: - type: string - label: - type: string - messageId: - type: string - properties: - additionalProperties: - type: string - type: object - replyTo: - type: string - replyToSessionId: - type: string - requiresPreprocessing: - type: boolean - sessionId: - type: string - to: - type: string - type: object - filterType: + flushConnection: + type: boolean + location: type: string operatorSpec: description: |- - Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRuleOperatorSpec + Storage version of v1api20240301.NetworkSecurityGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -212534,7 +284380,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a servicebus.azure.com/NamespacesTopicsSubscription resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -212543,30 +284389,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sqlFilter: - description: |- - Storage version of v1api20221001preview.SqlFilter - Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20221001preview.NamespacesTopicsSubscriptionsRule_STATUS + description: |- + Storage version of v1api20240301.NetworkSecurityGroup_STATUS_NetworkSecurityGroup_SubResourceEmbedded + NetworkSecurityGroup resource. properties: $propertyBag: additionalProperties: @@ -212575,26 +284408,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - description: |- - Storage version of v1api20221001preview.Action_STATUS - Represents the filter actions which are allowed for the transformation of a message that have been matched by a filter - expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -212638,99 +284451,81 @@ spec: - type type: object type: array - correlationFilter: - description: |- - Storage version of v1api20221001preview.CorrelationFilter_STATUS - Represents the correlation filter expression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - contentType: - type: string - correlationId: - type: string - label: - type: string - messageId: - type: string + defaultSecurityRules: + items: + description: |- + Storage version of v1api20240301.SecurityRule_STATUS + Network security rule. properties: - additionalProperties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - type: object - replyTo: - type: string - replyToSessionId: - type: string - requiresPreprocessing: - type: boolean - sessionId: - type: string - to: - type: string - type: object - filterType: + type: object + type: array + etag: type: string + flushConnection: + type: boolean id: type: string location: type: string name: type: string - sqlFilter: - description: |- - Storage version of v1api20221001preview.SqlFilter_STATUS - Represents a filter which is a composition of an expression and an action that is executed in the pub/sub pipeline. - properties: - $propertyBag: - additionalProperties: + networkInterfaces: + items: + description: |- + Storage version of v1api20240301.NetworkInterface_STATUS_NetworkSecurityGroup_SubResourceEmbedded + A network interface in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - compatibilityLevel: - type: integer - requiresPreprocessing: - type: boolean - sqlExpression: - type: string - type: object - systemData: - description: |- - Storage version of v1api20221001preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: + type: object + type: array + provisioningState: + type: string + resourceGuid: + type: string + subnets: + items: + description: |- + Storage version of v1api20240301.Subnet_STATUS_NetworkSecurityGroup_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string + type: object + type: array + tags: + additionalProperties: + type: string type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -212739,11 +284534,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: natgateways.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: networksecuritygroupssecurityrules.network.azure.com spec: conversion: strategy: Webhook @@ -212758,10 +284553,13 @@ spec: - v1 group: network.azure.com names: - kind: NatGateway - listKind: NatGatewayList - plural: natgateways - singular: natgateway + categories: + - azure + - network + kind: NetworkSecurityGroupsSecurityRule + listKind: NetworkSecurityGroupsSecurityRuleList + plural: networksecuritygroupssecurityrules + singular: networksecuritygroupssecurityrule preserveUnknownFields: false scope: Namespaced versions: @@ -212778,13 +284576,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20201101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/natGateway.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} properties: apiVersion: description: |- @@ -212805,16 +284603,72 @@ spec: type: object spec: properties: + access: + description: 'Access: The network traffic is allowed or denied.' + enum: + - Allow + - Deny + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' - type: integer - location: - description: 'Location: Resource location.' + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + enum: + - Inbound + - Outbound type: string operatorSpec: description: |- @@ -212886,7 +284740,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/NetworkSecurityGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -212895,37 +284749,36 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddresses: - description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' + enum: + - Ah + - Esp + - Icmp + - '*' + - Tcp + - Udp + type: string + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' items: - description: Reference to another ARM resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + type: string type: array - publicIpPrefixes: - description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' items: - description: Reference to another ARM resource. + description: An application security group in a resource group. properties: reference: description: 'Reference: Resource ID.' @@ -212949,31 +284802,27 @@ spec: type: object type: object type: array - sku: - description: 'Sku: The nat gateway SKU.' - properties: - name: - description: 'Name: Name of Nat Gateway SKU.' - enum: - - Standard - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - zones: - description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. + type: string + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' items: type: string type: array required: + - access + - direction - owner + - protocol type: object status: - description: Nat Gateway resource. properties: + access: + description: 'Access: The network traffic is allowed or denied.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -213018,77 +284867,96 @@ spec: - type type: object type: array + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + type: string etag: description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: description: 'Id: Resource ID.' type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' - type: integer - location: - description: 'Location: Resource location.' - type: string name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the NAT gateway resource.' + description: 'ProvisioningState: The provisioning state of the security rule resource.' type: string - publicIpAddresses: - description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' items: - description: Reference to another ARM resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + type: string type: array - publicIpPrefixes: - description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' items: - description: Reference to another ARM resource. + description: An application security group in a resource group. properties: id: description: 'Id: Resource ID.' type: string type: object type: array - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the NAT gateway resource.' + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. type: string - sku: - description: 'Sku: The nat gateway SKU.' - properties: - name: - description: 'Name: Name of Nat Gateway SKU.' - type: string - type: object - subnets: - description: 'Subnets: An array of references to the subnets using this nat gateway resource.' + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' items: - description: Reference to another ARM resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - tags: - additionalProperties: type: string - description: 'Tags: Resource tags.' - type: object + type: array type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource.' type: string - zones: - description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' - items: - type: string - type: array type: object type: object served: true @@ -213108,14 +284976,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.NatGateway + Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/natGateway.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} properties: apiVersion: description: |- @@ -213135,7 +285003,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.NatGateway_Spec + description: Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule_Spec properties: $propertyBag: additionalProperties: @@ -213144,18 +285012,67 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + access: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - idleTimeoutInMinutes: - type: integer - location: + description: + type: string + destinationAddressPrefix: + type: string + destinationAddressPrefixes: + items: + type: string + type: array + destinationApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + type: string + destinationPortRanges: + items: + type: string + type: array + direction: type: string operatorSpec: description: |- - Storage version of v1api20220701.NatGatewayOperatorSpec + Storage version of v1api20201101.NetworkSecurityGroupsSecurityRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -213230,7 +285147,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/NetworkSecurityGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -213239,46 +285156,21 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddresses: + priority: + type: integer + protocol: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: items: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + type: string type: array - publicIpPrefixes: + sourceApplicationSecurityGroups: items: description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. + Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -213309,26 +285201,9 @@ spec: type: object type: object type: array - sku: - description: |- - Storage version of v1api20220701.NatGatewaySku - SKU of nat gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zones: + sourcePortRange: + type: string + sourcePortRanges: items: type: string type: array @@ -213336,9 +285211,7 @@ spec: - owner type: object status: - description: |- - Storage version of v1api20220701.NatGateway_STATUS - Nat Gateway resource. + description: Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule_STATUS properties: $propertyBag: additionalProperties: @@ -213347,6 +285220,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + access: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -213390,40 +285265,19 @@ spec: - type type: object type: array - etag: - type: string - id: - type: string - idleTimeoutInMinutes: - type: integer - location: - type: string - name: + description: type: string - provisioningState: + destinationAddressPrefix: type: string - publicIpAddresses: + destinationAddressPrefixes: items: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + type: string type: array - publicIpPrefixes: + destinationApplicationSecurityGroups: items: description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. + Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -213436,28 +285290,37 @@ spec: type: string type: object type: array - resourceGuid: + destinationPortRange: type: string - sku: - description: |- - Storage version of v1api20220701.NatGatewaySku_STATUS - SKU of nat gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - subnets: + destinationPortRanges: + items: + type: string + type: array + direction: + type: string + etag: + type: string + id: + type: string + name: + type: string + priority: + type: integer + protocol: + type: string + provisioningState: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: + items: + type: string + type: array + sourceApplicationSecurityGroups: items: description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. + Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -213470,16 +285333,14 @@ spec: type: string type: object type: array - tags: - additionalProperties: - type: string - type: object - type: + sourcePortRange: type: string - zones: + sourcePortRanges: items: type: string type: array + type: + type: string type: object type: object served: true @@ -213504,8 +285365,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/natGateway.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} properties: apiVersion: description: |- @@ -213526,16 +285387,72 @@ spec: type: object spec: properties: + access: + description: 'Access: The network traffic is allowed or denied.' + enum: + - Allow + - Deny + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' - type: integer - location: - description: 'Location: Resource location.' + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + enum: + - Inbound + - Outbound type: string operatorSpec: description: |- @@ -213607,7 +285524,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/NetworkSecurityGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -213616,37 +285533,36 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddresses: - description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' + enum: + - Ah + - Esp + - Icmp + - '*' + - Tcp + - Udp + type: string + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' items: - description: Reference to another subresource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + type: string type: array - publicIpPrefixes: - description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' items: - description: Reference to another subresource. + description: An application security group in a resource group. properties: reference: description: 'Reference: Resource ID.' @@ -213670,31 +285586,28 @@ spec: type: object type: object type: array - sku: - description: 'Sku: The nat gateway SKU.' - properties: - name: - description: 'Name: Name of Nat Gateway SKU.' - enum: - - Standard - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - zones: - description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. + type: string + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' items: type: string type: array required: + - access + - direction - owner + - priority + - protocol type: object status: - description: Nat Gateway resource. properties: + access: + description: 'Access: The network traffic is allowed or denied.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -213739,77 +285652,96 @@ spec: - type type: object type: array + description: + description: 'Description: A description for this rule. Restricted to 140 chars.' + type: string + destinationAddressPrefix: + description: |- + DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to + match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + type: string + destinationAddressPrefixes: + description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' + items: + type: string + type: array + destinationApplicationSecurityGroups: + description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' + items: + description: An application security group in a resource group. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + destinationPortRange: + description: |- + DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used + to match all ports. + type: string + destinationPortRanges: + description: 'DestinationPortRanges: The destination port ranges.' + items: + type: string + type: array + direction: + description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + type: string etag: description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: description: 'Id: Resource ID.' type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the nat gateway.' - type: integer - location: - description: 'Location: Resource location.' - type: string name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + priority: + description: |- + Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each + rule in the collection. The lower the priority number, the higher the priority of the rule. + type: integer + protocol: + description: 'Protocol: Network protocol this rule applies to.' type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the NAT gateway resource.' + description: 'ProvisioningState: The provisioning state of the security rule resource.' type: string - publicIpAddresses: - description: 'PublicIpAddresses: An array of public ip addresses associated with the nat gateway resource.' + sourceAddressPrefix: + description: |- + SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags + such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies + where network traffic originates from. + type: string + sourceAddressPrefixes: + description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object + type: string type: array - publicIpPrefixes: - description: 'PublicIpPrefixes: An array of public ip prefixes associated with the nat gateway resource.' + sourceApplicationSecurityGroups: + description: 'SourceApplicationSecurityGroups: The application security group specified as source.' items: - description: Reference to another subresource. + description: An application security group in a resource group. properties: id: description: 'Id: Resource ID.' type: string type: object type: array - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the NAT gateway resource.' + sourcePortRange: + description: |- + SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match + all ports. type: string - sku: - description: 'Sku: The nat gateway SKU.' - properties: - name: - description: 'Name: Name of Nat Gateway SKU.' - type: string - type: object - subnets: - description: 'Subnets: An array of references to the subnets using this nat gateway resource.' + sourcePortRanges: + description: 'SourcePortRanges: The source port ranges.' items: - description: Reference to another subresource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - tags: - additionalProperties: type: string - description: 'Tags: Resource tags.' - type: object + type: array type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource.' type: string - zones: - description: 'Zones: A list of availability zones denoting the zone in which Nat Gateway should be deployed.' - items: - type: string - type: array type: object type: object served: true @@ -213833,10 +285765,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.NatGateway + Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/natGateway.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} properties: apiVersion: description: |- @@ -213856,7 +285788,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.NatGateway_Spec + description: Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule_Spec properties: $propertyBag: additionalProperties: @@ -213865,18 +285797,67 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + access: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - idleTimeoutInMinutes: - type: integer - location: + description: + type: string + destinationAddressPrefix: + type: string + destinationAddressPrefixes: + items: + type: string + type: array + destinationApplicationSecurityGroups: + items: + description: |- + Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + destinationPortRange: + type: string + destinationPortRanges: + items: + type: string + type: array + direction: type: string operatorSpec: description: |- - Storage version of v1api20240301.NatGatewayOperatorSpec + Storage version of v1api20240301.NetworkSecurityGroupsSecurityRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -213951,7 +285932,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/NetworkSecurityGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -213960,46 +285941,21 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddresses: + priority: + type: integer + protocol: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: items: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + type: string type: array - publicIpPrefixes: + sourceApplicationSecurityGroups: items: description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -214030,26 +285986,9 @@ spec: type: object type: object type: array - sku: - description: |- - Storage version of v1api20240301.NatGatewaySku - SKU of nat gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zones: + sourcePortRange: + type: string + sourcePortRanges: items: type: string type: array @@ -214057,9 +285996,7 @@ spec: - owner type: object status: - description: |- - Storage version of v1api20240301.NatGateway_STATUS - Nat Gateway resource. + description: Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule_STATUS properties: $propertyBag: additionalProperties: @@ -214068,6 +286005,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + access: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -214111,40 +286050,19 @@ spec: - type type: object type: array - etag: - type: string - id: - type: string - idleTimeoutInMinutes: - type: integer - location: - type: string - name: + description: type: string - provisioningState: + destinationAddressPrefix: type: string - publicIpAddresses: + destinationAddressPrefixes: items: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + type: string type: array - publicIpPrefixes: + destinationApplicationSecurityGroups: items: description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -214157,28 +286075,37 @@ spec: type: string type: object type: array - resourceGuid: + destinationPortRange: type: string - sku: - description: |- - Storage version of v1api20240301.NatGatewaySku_STATUS - SKU of nat gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - subnets: + destinationPortRanges: + items: + type: string + type: array + direction: + type: string + etag: + type: string + id: + type: string + name: + type: string + priority: + type: integer + protocol: + type: string + provisioningState: + type: string + sourceAddressPrefix: + type: string + sourceAddressPrefixes: + items: + type: string + type: array + sourceApplicationSecurityGroups: items: description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -214191,16 +286118,14 @@ spec: type: string type: object type: array - tags: - additionalProperties: - type: string - type: object - type: + sourcePortRange: type: string - zones: + sourcePortRanges: items: type: string type: array + type: + type: string type: object type: object served: true @@ -214213,11 +286138,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: networkinterfaces.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: notificationhubs.notificationhubs.azure.com spec: conversion: strategy: Webhook @@ -214230,12 +286155,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: notificationhubs.azure.com names: - kind: NetworkInterface - listKind: NetworkInterfaceList - plural: networkinterfaces - singular: networkinterface + categories: + - azure + - notificationhubs + kind: NotificationHub + listKind: NotificationHubList + plural: notificationhubs + singular: notificationhub preserveUnknownFields: false scope: Namespaced versions: @@ -214252,13 +286180,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101 + name: v1api20230901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkInterface.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName} properties: apiVersion: description: |- @@ -214283,295 +286211,1029 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 265 + minLength: 1 + pattern: ^[a-zA-Z][a-zA-Z0-9-./_]*$ type: string - dnsSettings: - description: 'DnsSettings: The DNS settings in network interface.' + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - dnsServers: - description: |- - DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - type: string + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object type: array - internalDnsNameLabel: - description: |- - InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual - network. - type: string + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - enableAcceleratedNetworking: - description: 'EnableAcceleratedNetworking: If the network interface is accelerated networking enabled.' - type: boolean - enableIPForwarding: - description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the network interface.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/Namespace resource properties: - name: - description: 'Name: The name of the extended location.' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone + name: + description: This is the name of the Kubernetes resource to reference. type: string - required: - - name - - type type: object - ipConfigurations: - description: 'IpConfigurations: A list of IPConfigurations of the network interface.' - items: - description: IPConfiguration in a network interface. - properties: - applicationGatewayBackendAddressPools: - description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' - items: - description: Backend Address Pool of an application gateway. + properties: + description: 'Properties: NotificationHub properties.' + properties: + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' properties: - reference: - description: 'Reference: Resource ID.' + authTokenUrl: + description: 'AuthTokenUrl: Gets or sets the URL of the authorization token.' properties: - armId: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - group: - description: Group is the Kubernetes group of the resource. + required: + - key + - name + type: object + clientId: + description: 'ClientId: Gets or sets the client identifier.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - kind: - description: Kind is the Kubernetes kind of the resource. + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: Gets or sets the credential secret access key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object + required: + - authTokenUrl + - clientId + - clientSecret type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' - items: - description: An application security group in a resource group. + required: + - properties + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' properties: - reference: - description: 'Reference: Resource ID.' + apnsCertificate: + description: 'ApnsCertificate: Gets or sets the APNS certificate.' properties: - armId: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - group: - description: Group is the Kubernetes group of the resource. + required: + - key + - name + type: object + appId: + description: |- + AppId: Gets or sets the issuer (iss) registered claim key, whose value is + your 10-character Team ID, obtained from your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - kind: - description: Kind is the Kubernetes kind of the resource. + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: 'AppName: Gets or sets the name of the application' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets the endpoint of this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + KeyId: Gets or sets a 10-character key identifier (kid) key, obtained from + your developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the APNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + Token: Gets or sets provider Authentication Token, obtained through your + developer account + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object + required: + - endpoint type: object - type: array - loadBalancerBackendAddressPools: - description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' - items: - description: Pool of backend IP addresses. + required: + - properties + type: object + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' properties: - reference: - description: 'Reference: Resource ID.' + baiduApiKey: + description: 'BaiduApiKey: Gets or sets baidu Api Key.' properties: - armId: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - group: - description: Group is the Kubernetes group of the resource. + required: + - key + - name + type: object + baiduEndPoint: + description: 'BaiduEndPoint: Gets or sets baidu Endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - kind: - description: Kind is the Kubernetes kind of the resource. + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: 'BaiduSecretKey: Gets or sets baidu Secret Key' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object + required: + - baiduApiKey + - baiduEndPoint + - baiduSecretKey type: object - type: array - loadBalancerInboundNatRules: - description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' - items: - description: Inbound NAT rule of the load balancer. + required: + - properties + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' properties: - reference: - description: 'Reference: Resource ID.' + subject: + description: 'Subject: Gets or sets web push subject.' properties: - armId: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - group: - description: Group is the Kubernetes group of the resource. + required: + - key + - name + type: object + vapidPrivateKey: + description: 'VapidPrivateKey: Gets or sets VAPID private key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - kind: - description: Kind is the Kubernetes kind of the resource. + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: 'VapidPublicKey: Gets or sets VAPID public key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object + required: + - subject + - vapidPrivateKey + - vapidPublicKey type: object - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - primary: - description: 'Primary: Whether this is a primary customer address on the network interface.' - type: boolean - privateIPAddress: - description: 'PrivateIPAddress: Private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - enum: - - IPv4 - - IPv6 - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - enum: - - Dynamic - - Static - type: string - publicIPAddress: - description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + required: + - properties + type: object + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: 'Subnet: Subnet bound to the IP configuration.' + description: 'Properties: Description of a NotificationHub GcmCredential.' + properties: + gcmEndpoint: + description: 'GcmEndpoint: Gets or sets the GCM endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: 'GoogleApiKey: Gets or sets the Google API key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - googleApiKey + type: object + required: + - properties + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetworkTaps: - description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' - items: - description: Virtual Network Tap resource. + description: 'Properties: Description of a NotificationHub MpnsCredential.' properties: - reference: - description: 'Reference: Resource ID.' + certificateKey: + description: 'CertificateKey: Gets or sets the certificate key for this credential.' properties: - armId: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - group: - description: Group is the Kubernetes group of the resource. + required: + - key + - name + type: object + mpnsCertificate: + description: 'MpnsCertificate: Gets or sets the MPNS certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - kind: - description: Kind is the Kubernetes kind of the resource. + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Gets or sets the MPNS certificate Thumbprint' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object + required: + - certificateKey + - mpnsCertificate + - thumbprint type: object - type: array + required: + - properties + type: object + name: + description: 'Name: Gets or sets the NotificationHub name.' + type: string + registrationTtl: + description: 'RegistrationTtl: Gets or sets the RegistrationTtl of the created NotificationHub' + type: string + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + properties: + certificateKey: + description: 'CertificateKey: Ges or sets the WNS Certificate Key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: 'PackageSid: Gets or sets the package ID for this credential.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: 'SecretKey: Gets or sets the secret key.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: 'WindowsLiveEndpoint: Gets or sets the Windows Live endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: 'WnsCertificate: Gets or sets the WNS Certificate.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + properties: + appSecret: + description: 'AppSecret: Gets or sets app secret.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: 'Endpoint: Gets or sets xiaomi service endpoint.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + required: + - properties + type: object + type: object + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + enum: + - Basic + - Free + - Standard + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string - networkSecurityGroup: - description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: NotificationHub properties.' properties: - reference: - description: 'Reference: Resource ID.' + admCredential: + description: 'AdmCredential: Description of a NotificationHub AdmCredential.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + properties: + description: 'Properties: Description of a NotificationHub AdmCredential.' + type: object + type: object + apnsCredential: + description: 'ApnsCredential: Description of a NotificationHub ApnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub ApnsCredential.' + type: object + type: object + authorizationRules: + description: 'AuthorizationRules: Gets or sets the AuthorizationRules of the created NotificationHub' + items: + description: SharedAccessAuthorizationRule properties. + properties: + claimType: + description: 'ClaimType: Gets a string that describes the claim type' + type: string + claimValue: + description: 'ClaimValue: Gets a string that describes the claim value' + type: string + createdTime: + description: 'CreatedTime: Gets the created time for this rule' + type: string + keyName: + description: 'KeyName: Gets a string that describes the authorization rule.' + type: string + modifiedTime: + description: 'ModifiedTime: Gets the last modified time for this rule' + type: string + revision: + description: 'Revision: Gets the revision number for the rule' + type: integer + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + type: string + type: array + type: object + type: array + baiduCredential: + description: 'BaiduCredential: Description of a NotificationHub BaiduCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BaiduCredential.' + type: object + type: object + browserCredential: + description: 'BrowserCredential: Description of a NotificationHub BrowserCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub BrowserCredential.' + type: object + type: object + dailyMaxActiveDevices: + type: integer + gcmCredential: + description: 'GcmCredential: Description of a NotificationHub GcmCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub GcmCredential.' + type: object + type: object + mpnsCredential: + description: 'MpnsCredential: Description of a NotificationHub MpnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub MpnsCredential.' + type: object + type: object + name: + description: 'Name: Gets or sets the NotificationHub name.' + type: string + registrationTtl: + description: 'RegistrationTtl: Gets or sets the RegistrationTtl of the created NotificationHub' + type: string + wnsCredential: + description: 'WnsCredential: Description of a NotificationHub WnsCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub WnsCredential.' + type: object + type: object + xiaomiCredential: + description: 'XiaomiCredential: Description of a NotificationHub XiaomiCredential.' + properties: + properties: + description: 'Properties: Description of a NotificationHub XiaomiCredentialProperties.' + type: object type: object type: object - nicType: - description: 'NicType: Type of Network Interface resource.' - enum: - - Elastic - - Standard + sku: + description: 'Sku: The Sku description for a namespace' + properties: + capacity: + description: 'Capacity: Gets or sets the capacity of the resource' + type: integer + family: + description: 'Family: Gets or sets the Sku Family' + type: string + name: + description: 'Name: Namespace SKU name.' + type: string + size: + description: 'Size: Gets or sets the Sku size' + type: string + tier: + description: 'Tier: Gets or sets the tier of particular sku' + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.NotificationHub + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.NotificationHub_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20230901.NotificationHubOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -214601,7 +287263,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -214630,12 +287291,97 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20230901.NotificationHubOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a notificationhubs.azure.com/Namespace resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -214644,381 +287390,756 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkService: - description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - required: - - owner - type: object - status: - description: A network interface in a resource group. - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - dnsSettings: - description: 'DnsSettings: The DNS settings in network interface.' + properties: + description: |- + Storage version of v1api20230901.NotificationHubProperties + NotificationHub properties. properties: - appliedDnsServers: - description: |- - AppliedDnsServers: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of - all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of - those VMs. - items: - type: string - type: array - dnsServers: - description: |- - DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. - items: + $propertyBag: + additionalProperties: type: string - type: array - internalDnsNameLabel: description: |- - InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual - network. - type: string - internalDomainNameSuffix: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + admCredential: description: |- - InternalDomainNameSuffix: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of - the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. - type: string - internalFqdn: - description: 'InternalFqdn: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.' - type: string - type: object - dscpConfiguration: - description: 'DscpConfiguration: A reference to the dscp configuration to which the network interface is linked.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - enableAcceleratedNetworking: - description: 'EnableAcceleratedNetworking: If the network interface is accelerated networking enabled.' - type: boolean - enableIPForwarding: - description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the network interface.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - hostedWorkloads: - description: 'HostedWorkloads: A list of references to linked BareMetal resources.' - items: - type: string - type: array - id: - description: 'Id: Resource ID.' - type: string - ipConfigurations: - description: 'IpConfigurations: A list of IPConfigurations of the network interface.' - items: - description: IPConfiguration in a network interface. - properties: - applicationGatewayBackendAddressPools: - description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' - items: - description: Backend Address Pool of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string + Storage version of v1api20230901.AdmCredential + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' - items: - description: An application security group in a resource group. + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties + Description of a NotificationHub AdmCredential. properties: - id: - description: 'Id: Resource ID.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + authTokenUrl: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object - type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - loadBalancerBackendAddressPools: - description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' - items: - description: Pool of backend IP addresses. - properties: - id: - description: 'Id: Resource ID.' - type: string + type: object + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - loadBalancerInboundNatRules: - description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' - items: - description: Inbound NAT rule of the load balancer. + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties + Description of a NotificationHub ApnsCredential. properties: - id: - description: 'Id: Resource ID.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + apnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + appName: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyId: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + token: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - primary: - description: 'Primary: Whether this is a primary customer address on the network interface.' - type: boolean - privateIPAddress: - description: 'PrivateIPAddress: Private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - type: string - privateLinkConnectionProperties: - description: 'PrivateLinkConnectionProperties: PrivateLinkConnection properties for the network interface.' - properties: - fqdns: - description: 'Fqdns: List of FQDNs for current private link connection.' - items: - type: string - type: array - groupId: - description: 'GroupId: The group ID for current private link connection.' + type: object + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: type: string - requiredMemberName: - description: 'RequiredMemberName: The required member name for current private link connection.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + baiduApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduEndPoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + baiduSecretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: type: string - type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the network interface IP configuration.' - type: string - publicIPAddress: - description: 'PublicIPAddress: Public IP address bound to the IP configuration.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object properties: - id: - description: 'Id: Resource ID.' + description: |- + Storage version of v1api20230901.BrowserCredentialProperties + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subject: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPrivateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + vapidPublicKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: type: string - type: object - subnet: - description: 'Subnet: Subnet bound to the IP configuration.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object properties: - id: - description: 'Id: Resource ID.' + description: |- + Storage version of v1api20230901.GcmCredentialProperties + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + gcmEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + googleApiKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: - description: 'Type: Resource type.' - type: string - virtualNetworkTaps: - description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' - items: - description: Virtual Network Tap resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties + Description of a NotificationHub MpnsCredential. properties: - id: - description: 'Id: Resource ID.' - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + mpnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object - type: array - type: object - type: array - location: - description: 'Location: Resource location.' - type: string - macAddress: - description: 'MacAddress: The MAC address of the network interface.' - type: string - migrationPhase: - description: 'MigrationPhase: Migration phase of Network Interface resource.' - type: string - name: - description: 'Name: Resource name.' - type: string - networkSecurityGroup: - description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - nicType: - description: 'NicType: Type of Network Interface resource.' - type: string - primary: - description: 'Primary: Whether this is a primary network interface on a virtual machine.' - type: boolean - privateEndpoint: - description: 'PrivateEndpoint: A reference to the private endpoint to which the network interface is linked.' - properties: - id: - description: 'Id: Resource ID.' + type: object + name: type: string - type: object - privateLinkService: - description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' - properties: - id: - description: 'Id: Resource ID.' + registrationTtl: type: string + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.WnsCredentialProperties + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + packageSid: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + secretKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + windowsLiveEndpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + wnsCertificate: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.XiaomiCredentialProperties + Description of a NotificationHub XiaomiCredentialProperties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + endpoint: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + type: object type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the network interface resource.' - type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the network interface resource.' - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - tapConfigurations: - description: 'TapConfigurations: A list of TapConfigurations of the network interface.' - items: - description: Tap configuration in a Network Interface. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - type: - description: 'Type: Resource type.' - type: string - virtualMachine: - description: 'VirtualMachine: The reference to a virtual machine.' + sku: + description: |- + Storage version of v1api20230901.Sku + The Sku description for a namespace properties: - id: - description: 'Id: Resource ID.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: type: string type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20201101.NetworkInterface - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkInterface.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20201101.NetworkInterface_Spec + status: + description: Storage version of v1api20230901.NotificationHub_STATUS properties: $propertyBag: additionalProperties: @@ -215027,15 +288148,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: type: string - dnsSettings: + location: + type: string + name: + type: string + properties: description: |- - Storage version of v1api20201101.NetworkInterfaceDnsSettings - DNS settings of a network interface. + Storage version of v1api20230901.NotificationHubProperties_STATUS + NotificationHub properties. properties: $propertyBag: additionalProperties: @@ -215044,52 +288209,105 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServers: - items: - type: string - type: array - internalDnsNameLabel: - type: string - type: object - enableAcceleratedNetworking: - type: boolean - enableIPForwarding: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20201101.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string + admCredential: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230901.AdmCredential_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.AdmCredentialProperties_STATUS + Description of a NotificationHub AdmCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object type: object - name: - type: string - type: - type: string - type: object - ipConfigurations: - items: - description: |- - Storage version of v1api20201101.NetworkInterfaceIPConfiguration_NetworkInterface_SubResourceEmbedded - IPConfiguration in a network interface. - properties: - $propertyBag: - additionalProperties: - type: string + apnsCredential: + description: |- + Storage version of v1api20230901.ApnsCredential_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.ApnsCredentialProperties_STATUS + Description of a NotificationHub ApnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + authorizationRules: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties_STATUS + SharedAccessAuthorizationRule properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + claimType: + type: string + claimValue: + type: string + createdTime: + type: string + keyName: + type: string + modifiedTime: + type: string + revision: + type: integer + rights: + items: + type: string + type: array type: object - applicationGatewayBackendAddressPools: - items: + type: array + baiduCredential: + description: |- + Storage version of v1api20230901.BaiduCredential_STATUS + Description of a NotificationHub BaiduCredential. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.ApplicationGatewayBackendAddressPool_NetworkInterface_SubResourceEmbedded - Backend Address Pool of an application gateway. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BaiduCredentialProperties_STATUS + Description of a NotificationHub BaiduCredential. properties: $propertyBag: additionalProperties: @@ -215098,33 +288316,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object - type: array - applicationSecurityGroups: - items: + type: object + browserCredential: + description: |- + Storage version of v1api20230901.BrowserCredential_STATUS + Description of a NotificationHub BrowserCredential. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded - An application security group in a resource group. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.BrowserCredentialProperties_STATUS + Description of a NotificationHub BrowserCredential. properties: $propertyBag: additionalProperties: @@ -215133,33 +288342,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object - type: array - loadBalancerBackendAddressPools: - items: + type: object + dailyMaxActiveDevices: + type: integer + gcmCredential: + description: |- + Storage version of v1api20230901.GcmCredential_STATUS + Description of a NotificationHub GcmCredential. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.BackendAddressPool_NetworkInterface_SubResourceEmbedded - Pool of backend IP addresses. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.GcmCredentialProperties_STATUS + Description of a NotificationHub GcmCredential. properties: $propertyBag: additionalProperties: @@ -215168,33 +288370,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object - type: array - loadBalancerInboundNatRules: - items: + type: object + mpnsCredential: + description: |- + Storage version of v1api20230901.MpnsCredential_STATUS + Description of a NotificationHub MpnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20201101.InboundNatRule_NetworkInterface_SubResourceEmbedded - Inbound NAT rule of the load balancer. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + properties: + description: |- + Storage version of v1api20230901.MpnsCredentialProperties_STATUS + Description of a NotificationHub MpnsCredential. properties: $propertyBag: additionalProperties: @@ -215203,109 +288396,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object - type: array - name: - type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - publicIPAddress: - description: |- - Storage version of v1api20201101.PublicIPAddressSpec_NetworkInterface_SubResourceEmbedded - Public IP address resource. + type: object + name: + type: string + registrationTtl: + type: string + wnsCredential: + description: |- + Storage version of v1api20230901.WnsCredential_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + Storage version of v1api20230901.WnsCredentialProperties_STATUS + Description of a NotificationHub WnsCredential. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - subnet: - description: |- - Storage version of v1api20201101.Subnet_NetworkInterface_SubResourceEmbedded - Subnet in a virtual network resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: object + type: object + xiaomiCredential: + description: |- + Storage version of v1api20230901.XiaomiCredential_STATUS + Description of a NotificationHub XiaomiCredential. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetworkTaps: - items: description: |- - Storage version of v1api20201101.VirtualNetworkTapSpec_NetworkInterface_SubResourceEmbedded - Virtual Network Tap resource. + Storage version of v1api20230901.XiaomiCredentialProperties_STATUS + Description of a NotificationHub XiaomiCredentialProperties. properties: $propertyBag: additionalProperties: @@ -215314,36 +288452,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object - type: array - type: object - type: array - location: - type: string - networkSecurityGroup: + type: object + type: object + sku: description: |- - Storage version of v1api20201101.NetworkSecurityGroupSpec_NetworkInterface_SubResourceEmbedded - NetworkSecurityGroup resource. + Storage version of v1api20230901.Sku_STATUS + The Sku description for a namespace properties: $propertyBag: additionalProperties: @@ -215352,33 +288467,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string type: object - nicType: - type: string - operatorSpec: + systemData: description: |- - Storage version of v1api20201101.NetworkInterfaceOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -215387,7 +288490,124 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: notificationhubsauthorizationrules.notificationhubs.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: notificationhubs.azure.com + names: + categories: + - azure + - notificationhubs + kind: NotificationHubsAuthorizationRule + listKind: NotificationHubsAuthorizationRuleList + plural: notificationhubsauthorizationrules + singular: notificationhubsauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[a-zA-Z0-9!()*-._]+$ + type: string + location: + description: 'Location: Deprecated - only for compatibility.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -215417,6 +288637,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -215446,13 +288667,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a notificationhubs.azure.com/NotificationHub resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -215461,59 +288680,34 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkService: - description: |- - Storage version of v1api20201101.PrivateLinkServiceSpec - Private link service resource. + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' properties: - $propertyBag: - additionalProperties: + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' + items: + description: Defines values for AccessRights. + enum: + - Listen + - Manage + - Send type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: array + required: + - rights type: object tags: additionalProperties: type: string + description: 'Tags: Deprecated - only for compatibility.' type: object required: - owner type: object status: - description: |- - Storage version of v1api20201101.NetworkInterface_STATUS_NetworkInterface_SubResourceEmbedded - A network interface in a resource group. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -215556,258 +288750,141 @@ spec: - type type: object type: array - dnsSettings: + id: description: |- - Storage version of v1api20201101.NetworkInterfaceDnsSettings_STATUS - DNS settings of a network interface. + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + location: + description: 'Location: Deprecated - only for compatibility.' + type: string + name: + description: 'Name: The name of the resource' + type: string + properties: + description: 'Properties: SharedAccessAuthorizationRule properties.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - appliedDnsServers: - items: - type: string - type: array - dnsServers: + claimType: + description: 'ClaimType: Gets a string that describes the claim type' + type: string + claimValue: + description: 'ClaimValue: Gets a string that describes the claim value' + type: string + createdTime: + description: 'CreatedTime: Gets the created time for this rule' + type: string + keyName: + description: 'KeyName: Gets a string that describes the authorization rule.' + type: string + modifiedTime: + description: 'ModifiedTime: Gets the last modified time for this rule' + type: string + revision: + description: 'Revision: Gets the revision number for the rule' + type: integer + rights: + description: 'Rights: Gets or sets the rights associated with the rule.' items: + description: Defines values for AccessRights. type: string type: array - internalDnsNameLabel: + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - internalDomainNameSuffix: + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - internalFqdn: + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - type: object - dscpConfiguration: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string - type: object - enableAcceleratedNetworking: - type: boolean - enableIPForwarding: - type: boolean - etag: - type: string - extendedLocation: - description: |- - Storage version of v1api20201101.ExtendedLocation_STATUS - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - type: + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - hostedWorkloads: - items: + tags: + additionalProperties: type: string - type: array - id: - type: string - ipConfigurations: - items: - description: |- - Storage version of v1api20201101.NetworkInterfaceIPConfiguration_STATUS_NetworkInterface_SubResourceEmbedded - IPConfiguration in a network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - applicationGatewayBackendAddressPools: - items: - description: |- - Storage version of v1api20201101.ApplicationGatewayBackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded - Backend Address Pool of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - etag: - type: string - id: - type: string - loadBalancerBackendAddressPools: - items: - description: |- - Storage version of v1api20201101.BackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded - Pool of backend IP addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - loadBalancerInboundNatRules: - items: - description: |- - Storage version of v1api20201101.InboundNatRule_STATUS_NetworkInterface_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - name: - type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - privateLinkConnectionProperties: - description: |- - Storage version of v1api20201101.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties_STATUS - PrivateLinkConnection properties for the network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdns: - items: - type: string - type: array - groupId: - type: string - requiredMemberName: - type: string - type: object - provisioningState: - type: string - publicIPAddress: - description: |- - Storage version of v1api20201101.PublicIPAddress_STATUS_NetworkInterface_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - subnet: - description: |- - Storage version of v1api20201101.Subnet_STATUS_NetworkInterface_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: - type: string - virtualNetworkTaps: - items: - description: |- - Storage version of v1api20201101.VirtualNetworkTap_STATUS_NetworkInterface_SubResourceEmbedded - Virtual Network Tap resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - type: object - type: array - location: - type: string - macAddress: + description: 'Tags: Deprecated - only for compatibility.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - migrationPhase: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230901storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230901.NotificationHubsAuthorizationRule + Generator information: + - Generated from: /notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2023-09-01/notificationhubs.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/authorizationRules/{authorizationRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230901.NotificationHubsAuthorizationRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - name: + location: type: string - networkSecurityGroup: + operatorSpec: description: |- - Storage version of v1api20201101.NetworkSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded - NetworkSecurityGroup resource. + Storage version of v1api20230901.NotificationHubsAuthorizationRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -215816,32 +288893,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - nicType: + originalVersion: type: string - primary: - type: boolean - privateEndpoint: + owner: description: |- - Storage version of v1api20201101.PrivateEndpoint_STATUS_NetworkInterface_SubResourceEmbedded - Private endpoint resource. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a notificationhubs.azure.com/NotificationHub resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkService: + properties: description: |- - Storage version of v1api20201101.PrivateLinkService_STATUS_NetworkInterface_SubResourceEmbedded - Private link service resource. + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties + SharedAccessAuthorizationRule properties. properties: $propertyBag: additionalProperties: @@ -215850,40 +288979,81 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + rights: + items: + type: string + type: array type: object - provisioningState: - type: string - resourceGuid: - type: string tags: additionalProperties: type: string type: object - tapConfigurations: + required: + - owner + type: object + status: + description: Storage version of v1api20230901.NotificationHubsAuthorizationRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: |- - Storage version of v1api20201101.NetworkInterfaceTapConfiguration_STATUS_NetworkInterface_SubResourceEmbedded - Tap configuration in a Network Interface. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - type: + id: type: string - virtualMachine: + location: + type: string + name: + type: string + properties: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20230901.SharedAccessAuthorizationRuleProperties_STATUS + SharedAccessAuthorizationRule properties. properties: $propertyBag: additionalProperties: @@ -215892,15 +289062,95 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + claimType: + type: string + claimValue: + type: string + createdTime: + type: string + keyName: + type: string + modifiedTime: + type: string + revision: + type: integer + rights: + items: + type: string + type: array + type: object + systemData: + description: |- + Storage version of v1api20230901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: openshiftclusters.redhatopenshift.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: redhatopenshift.azure.com + names: + categories: + - azure + - redhatopenshift + kind: OpenShiftCluster + listKind: OpenShiftClusterList + plural: openshiftclusters + singular: openshiftcluster + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -215914,13 +289164,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20231122 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkInterface.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName} properties: apiVersion: description: |- @@ -215941,319 +289191,105 @@ spec: type: object spec: properties: - auxiliaryMode: - description: 'AuxiliaryMode: Auxiliary mode of Network Interface resource.' - enum: - - AcceleratedConnections - - Floating - - MaxConnections - - None - type: string - auxiliarySku: - description: 'AuxiliarySku: Auxiliary sku of Network Interface resource.' - enum: - - A1 - - A2 - - A4 - - A8 - - None - type: string + apiserverProfile: + description: 'ApiserverProfile: The cluster API server profile.' + properties: + visibility: + description: 'Visibility: API server visibility.' + enum: + - Private + - Public + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableTcpStateTracking: - description: 'DisableTcpStateTracking: Indicates whether to disable tcp state tracking.' - type: boolean - dnsSettings: - description: 'DnsSettings: The DNS settings in network interface.' - properties: - dnsServers: - description: |- - DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. - items: - type: string - type: array - internalDnsNameLabel: - description: |- - InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual - network. - type: string - type: object - enableAcceleratedNetworking: - description: |- - EnableAcceleratedNetworking: If the network interface is configured for accelerated networking. Not applicable to VM - sizes which require accelerated networking. - type: boolean - enableIPForwarding: - description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the network interface.' + clusterProfile: + description: 'ClusterProfile: The cluster profile.' properties: - name: - description: 'Name: The name of the extended location.' + domain: + description: 'Domain: The domain for the cluster.' type: string - type: - description: 'Type: The type of the extended location.' + fipsValidatedModules: + description: 'FipsValidatedModules: If FIPS validated crypto modules are used' enum: - - EdgeZone + - Disabled + - Enabled + type: string + pullSecret: + description: 'PullSecret: The pull secret for the cluster.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceGroupId: + description: 'ResourceGroupId: The ID of the cluster resource group.' + type: string + version: + description: 'Version: The version of the cluster.' type: string type: object - ipConfigurations: - description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + ingressProfiles: + description: 'IngressProfiles: The cluster ingress profiles.' items: - description: IPConfiguration in a network interface. + description: IngressProfile represents an ingress profile. properties: - applicationGatewayBackendAddressPools: - description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' - items: - description: Backend Address Pool of an application gateway. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - gatewayLoadBalancer: - description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - loadBalancerBackendAddressPools: - description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' - items: - description: Pool of backend IP addresses. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - loadBalancerInboundNatRules: - description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' - items: - description: Inbound NAT rule of the load balancer. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - primary: - description: 'Primary: Whether this is a primary customer address on the network interface.' - type: boolean - privateIPAddress: - description: |- - PrivateIPAddress: Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the - format
/. - type: string - privateIPAddressPrefixLength: - description: |- - PrivateIPAddressPrefixLength: The private IP address prefix length. If specified and the allocation method is dynamic, - the service will allocate a CIDR block instead of a single IP address. - maximum: 128 - minimum: 1 - type: integer - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - enum: - - IPv4 - - IPv6 + description: 'Name: The ingress profile name.' type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + visibility: + description: 'Visibility: Ingress visibility.' enum: - - Dynamic - - Static + - Private + - Public type: string - publicIPAddress: - description: 'PublicIPAddress: Public IP address bound to the IP configuration.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: 'Subnet: Subnet bound to the IP configuration.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetworkTaps: - description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' - items: - description: Virtual Network Tap resource. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object type: array location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string - networkSecurityGroup: - description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + masterProfile: + description: 'MasterProfile: The cluster master profile.' properties: - reference: - description: 'Reference: Resource ID.' + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + enum: + - Disabled + - Enabled + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the master subnet.' properties: armId: description: |- @@ -216272,13 +289308,45 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + vmSize: + description: 'VmSize: The size of the master VMs.' + type: string + type: object + networkProfile: + description: 'NetworkProfile: The cluster network profile.' + properties: + loadBalancerProfile: + description: 'LoadBalancerProfile: The cluster load balancer profile.' + properties: + managedOutboundIps: + description: 'ManagedOutboundIps: The desired managed outbound IPs for the cluster public load balancer.' + properties: + count: + description: |- + Count: Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load + balancer. Allowed values are in the range of 1 - 20. The default value is 1. + type: integer + type: object + type: object + outboundType: + description: 'OutboundType: The OutboundType used for egress traffic.' + enum: + - Loadbalancer + - UserDefinedRouting + type: string + podCidr: + description: 'PodCidr: The CIDR used for OpenShift/Kubernetes Pods.' + type: string + preconfiguredNSG: + description: 'PreconfiguredNSG: Specifies whether subnets are pre-attached with an NSG' + enum: + - Disabled + - Enabled + type: string + serviceCidr: + description: 'ServiceCidr: The CIDR used for OpenShift/Kubernetes Services.' + type: string type: object - nicType: - description: 'NicType: Type of Network Interface resource.' - enum: - - Elastic - - Standard - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -216344,6 +289412,57 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminCredentials: + description: |- + AdminCredentials: indicates where the AdminCredentials secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + password: + description: 'Password: indicates where the Password secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + username: + description: 'Username: indicates where the Username secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -216358,28 +289477,41 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkService: - description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + servicePrincipalProfile: + description: 'ServicePrincipalProfile: The cluster service principal profile.' properties: - reference: - description: 'Reference: Resource ID.' + clientId: + description: 'ClientId: The client ID used for the cluster.' + type: string + clientIdFromConfig: + description: 'ClientIdFromConfig: The client ID used for the cluster.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - group: - description: Group is the Kubernetes group of the resource. + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - kind: - description: Kind is the Kubernetes kind of the resource. + required: + - key + - name + type: object + clientSecret: + description: 'ClientSecret: The client secret used for the cluster.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object type: object tags: @@ -216387,339 +289519,336 @@ spec: type: string description: 'Tags: Resource tags.' type: object - workloadType: - description: 'WorkloadType: WorkloadType of the NetworkInterface for BareMetal resources' - type: string - required: - - owner - type: object - status: - description: A network interface in a resource group. - properties: - auxiliaryMode: - description: 'AuxiliaryMode: Auxiliary mode of Network Interface resource.' - type: string - auxiliarySku: - description: 'AuxiliarySku: Auxiliary sku of Network Interface resource.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' + workerProfiles: + description: 'WorkerProfiles: The cluster worker profiles.' items: - description: Condition defines an extension to status (an observation) of a resource + description: WorkerProfile represents a worker profile. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + count: + description: 'Count: The number of worker VMs.' type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + description: 'DiskSizeGB: The disk size of the worker VMs.' + type: integer + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + enum: + - Disabled + - Enabled type: string - status: - description: Status of the condition, one of True, False, or Unknown. + name: + description: 'Name: The worker profile name.' type: string - type: - description: Type of condition. + subnetReference: + description: 'SubnetReference: The Azure resource ID of the worker subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + description: 'VmSize: The size of the worker VMs.' type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - disableTcpStateTracking: - description: 'DisableTcpStateTracking: Indicates whether to disable tcp state tracking.' - type: boolean - dnsSettings: - description: 'DnsSettings: The DNS settings in network interface.' + required: + - location + - owner + type: object + status: + description: OpenShiftCluster represents an Azure Red Hat OpenShift cluster. + properties: + apiserverProfile: + description: 'ApiserverProfile: The cluster API server profile.' properties: - appliedDnsServers: - description: |- - AppliedDnsServers: If the VM that uses this NIC is part of an Availability Set, then this list will have the union of - all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of - those VMs. - items: - type: string - type: array - dnsServers: - description: |- - DnsServers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. - 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. - items: - type: string - type: array - internalDnsNameLabel: - description: |- - InternalDnsNameLabel: Relative DNS name for this NIC used for internal communications between VMs in the same virtual - network. + ip: + description: 'Ip: The IP of the cluster API server.' type: string - internalDomainNameSuffix: - description: |- - InternalDomainNameSuffix: Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of - the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + url: + description: 'Url: The URL to access the cluster API server.' type: string - internalFqdn: - description: 'InternalFqdn: Fully qualified DNS name supporting internal communications between VMs in the same virtual network.' + visibility: + description: 'Visibility: API server visibility.' type: string type: object - dscpConfiguration: - description: 'DscpConfiguration: A reference to the dscp configuration to which the network interface is linked.' + clusterProfile: + description: 'ClusterProfile: The cluster profile.' properties: - id: - description: 'Id: Resource ID.' + domain: + description: 'Domain: The domain for the cluster.' type: string - type: object - enableAcceleratedNetworking: - description: |- - EnableAcceleratedNetworking: If the network interface is configured for accelerated networking. Not applicable to VM - sizes which require accelerated networking. - type: boolean - enableIPForwarding: - description: 'EnableIPForwarding: Indicates whether IP forwarding is enabled on this network interface.' - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the network interface.' - properties: - name: - description: 'Name: The name of the extended location.' + fipsValidatedModules: + description: 'FipsValidatedModules: If FIPS validated crypto modules are used' type: string - type: - description: 'Type: The type of the extended location.' + resourceGroupId: + description: 'ResourceGroupId: The ID of the cluster resource group.' + type: string + version: + description: 'Version: The version of the cluster.' type: string type: object - hostedWorkloads: - description: 'HostedWorkloads: A list of references to linked BareMetal resources.' - items: - type: string - type: array - id: - description: 'Id: Resource ID.' - type: string - ipConfigurations: - description: 'IpConfigurations: A list of IPConfigurations of the network interface.' + conditions: + description: 'Conditions: The observed state of the resource' items: - description: IPConfiguration in a network interface. + description: Condition defines an extension to status (an observation) of a resource properties: - applicationGatewayBackendAddressPools: - description: 'ApplicationGatewayBackendAddressPools: The reference to ApplicationGatewayBackendAddressPool resource.' - items: - description: Backend Address Pool of an application gateway. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the IP configuration is included.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - gatewayLoadBalancer: - description: 'GatewayLoadBalancer: The reference to gateway load balancer frontend IP.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - id: - description: 'Id: Resource ID.' - type: string - loadBalancerBackendAddressPools: - description: 'LoadBalancerBackendAddressPools: The reference to LoadBalancerBackendAddressPool resource.' - items: - description: Pool of backend IP addresses. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - loadBalancerInboundNatRules: - description: 'LoadBalancerInboundNatRules: A list of references of LoadBalancerInboundNatRules.' - items: - description: Inbound NAT rule of the load balancer. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - primary: - description: 'Primary: Whether this is a primary customer address on the network interface.' - type: boolean - privateIPAddress: - description: |- - PrivateIPAddress: Private IP address of the IP configuration. It can be a single IP address or a CIDR block in the - format
/. + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - privateIPAddressPrefixLength: + observedGeneration: description: |- - PrivateIPAddressPrefixLength: The private IP address prefix length. If specified and the allocation method is dynamic, - the service will allocate a CIDR block instead of a single IP address. + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - privateLinkConnectionProperties: - description: 'PrivateLinkConnectionProperties: PrivateLinkConnection properties for the network interface.' - properties: - fqdns: - description: 'Fqdns: List of FQDNs for current private link connection.' - items: - type: string - type: array - groupId: - description: 'GroupId: The group ID for current private link connection.' - type: string - requiredMemberName: - description: 'RequiredMemberName: The required member name for current private link connection.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the network interface IP configuration.' + status: + description: Status of the condition, one of True, False, or Unknown. type: string - publicIPAddress: - description: 'PublicIPAddress: Public IP address bound to the IP configuration.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - subnet: - description: 'Subnet: Subnet bound to the IP configuration.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object type: - description: 'Type: Resource type.' + description: Type of condition. type: string - virtualNetworkTaps: - description: 'VirtualNetworkTaps: The reference to Virtual Network Taps.' - items: - description: Virtual Network Tap resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - location: - description: 'Location: Resource location.' - type: string - macAddress: - description: 'MacAddress: The MAC address of the network interface.' + consoleProfile: + description: 'ConsoleProfile: The console profile.' + properties: + url: + description: 'Url: The URL to access the cluster console.' + type: string + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - migrationPhase: - description: 'MigrationPhase: Migration phase of Network Interface resource.' + ingressProfiles: + description: 'IngressProfiles: The cluster ingress profiles.' + items: + description: IngressProfile represents an ingress profile. + properties: + ip: + description: 'Ip: The IP of the ingress.' + type: string + name: + description: 'Name: The ingress profile name.' + type: string + visibility: + description: 'Visibility: Ingress visibility.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' type: string + masterProfile: + description: 'MasterProfile: The cluster master profile.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' + type: string + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + type: string + subnetId: + description: 'SubnetId: The Azure resource ID of the master subnet.' + type: string + vmSize: + description: 'VmSize: The size of the master VMs.' + type: string + type: object name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource' type: string - networkSecurityGroup: - description: 'NetworkSecurityGroup: The reference to the NetworkSecurityGroup resource.' + networkProfile: + description: 'NetworkProfile: The cluster network profile.' properties: - id: - description: 'Id: Resource ID.' + loadBalancerProfile: + description: 'LoadBalancerProfile: The cluster load balancer profile.' + properties: + effectiveOutboundIps: + description: 'EffectiveOutboundIps: The list of effective outbound IP addresses of the public load balancer.' + items: + description: EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. + properties: + id: + description: 'Id: The fully qualified Azure resource id of an IP address resource.' + type: string + type: object + type: array + managedOutboundIps: + description: 'ManagedOutboundIps: The desired managed outbound IPs for the cluster public load balancer.' + properties: + count: + description: |- + Count: Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load + balancer. Allowed values are in the range of 1 - 20. The default value is 1. + type: integer + type: object + type: object + outboundType: + description: 'OutboundType: The OutboundType used for egress traffic.' + type: string + podCidr: + description: 'PodCidr: The CIDR used for OpenShift/Kubernetes Pods.' + type: string + preconfiguredNSG: + description: 'PreconfiguredNSG: Specifies whether subnets are pre-attached with an NSG' + type: string + serviceCidr: + description: 'ServiceCidr: The CIDR used for OpenShift/Kubernetes Services.' type: string type: object - nicType: - description: 'NicType: Type of Network Interface resource.' + provisioningState: + description: 'ProvisioningState: The cluster provisioning state.' type: string - primary: - description: 'Primary: Whether this is a primary network interface on a virtual machine.' - type: boolean - privateEndpoint: - description: 'PrivateEndpoint: A reference to the private endpoint to which the network interface is linked.' + servicePrincipalProfile: + description: 'ServicePrincipalProfile: The cluster service principal profile.' properties: - id: - description: 'Id: Resource ID.' + clientId: + description: 'ClientId: The client ID used for the cluster.' type: string type: object - privateLinkService: - description: 'PrivateLinkService: Privatelinkservice of the network interface resource.' + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' properties: - id: - description: 'Id: Resource ID.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the network interface resource.' - type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the network interface resource.' - type: string tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - tapConfigurations: - description: 'TapConfigurations: A list of TapConfigurations of the network interface.' + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + workerProfiles: + description: 'WorkerProfiles: The cluster worker profiles.' items: - description: Tap configuration in a Network Interface. + description: WorkerProfile represents a worker profile. properties: - id: - description: 'Id: Resource ID.' + count: + description: 'Count: The number of worker VMs.' + type: integer + diskEncryptionSetId: + description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' + type: string + diskSizeGB: + description: 'DiskSizeGB: The disk size of the worker VMs.' + type: integer + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + type: string + name: + description: 'Name: The worker profile name.' + type: string + subnetId: + description: 'SubnetId: The Azure resource ID of the worker subnet.' + type: string + vmSize: + description: 'VmSize: The size of the worker VMs.' + type: string + type: object + type: array + workerProfilesStatus: + description: 'WorkerProfilesStatus: The cluster worker profiles status.' + items: + description: WorkerProfile represents a worker profile. + properties: + count: + description: 'Count: The number of worker VMs.' + type: integer + diskEncryptionSetId: + description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' + type: string + diskSizeGB: + description: 'DiskSizeGB: The disk size of the worker VMs.' + type: integer + encryptionAtHost: + description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' + type: string + name: + description: 'Name: The worker profile name.' + type: string + subnetId: + description: 'SubnetId: The Azure resource ID of the worker subnet.' + type: string + vmSize: + description: 'VmSize: The size of the worker VMs.' type: string type: object type: array - type: - description: 'Type: Resource type.' - type: string - virtualMachine: - description: 'VirtualMachine: The reference to a virtual machine.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - vnetEncryptionSupported: - description: 'VnetEncryptionSupported: Whether the virtual machine this nic is attached to supports encryption.' - type: boolean - workloadType: - description: 'WorkloadType: WorkloadType of the NetworkInterface for BareMetal resources' - type: string type: object type: object served: true @@ -216739,14 +289868,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20231122storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.NetworkInterface + Storage version of v1api20231122.OpenShiftCluster Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkInterface.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName} + - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName} properties: apiVersion: description: |- @@ -216766,7 +289895,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.NetworkInterface_Spec + description: Storage version of v1api20231122.OpenShiftCluster_Spec properties: $propertyBag: additionalProperties: @@ -216775,21 +289904,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - auxiliaryMode: - type: string - auxiliarySku: - type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - disableTcpStateTracking: - type: boolean - dnsSettings: + apiserverProfile: description: |- - Storage version of v1api20240301.NetworkInterfaceDnsSettings - DNS settings of a network interface. + Storage version of v1api20231122.APIServerProfile + APIServerProfile represents an API server profile. properties: $propertyBag: additionalProperties: @@ -216798,21 +289916,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dnsServers: - items: - type: string - type: array - internalDnsNameLabel: + visibility: type: string type: object - enableAcceleratedNetworking: - type: boolean - enableIPForwarding: - type: boolean - extendedLocation: + azureName: description: |- - Storage version of v1api20240301.ExtendedLocation - ExtendedLocation complex type. + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterProfile: + description: |- + Storage version of v1api20231122.ClusterProfile + ClusterProfile represents a cluster profile. properties: $propertyBag: additionalProperties: @@ -216821,16 +289936,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + domain: type: string - type: + fipsValidatedModules: + type: string + pullSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + resourceGroupId: + type: string + version: type: string type: object - ipConfigurations: + ingressProfiles: items: description: |- - Storage version of v1api20240301.NetworkInterfaceIPConfiguration_NetworkInterface_SubResourceEmbedded - IPConfiguration in a network interface. + Storage version of v1api20231122.IngressProfile + IngressProfile represents an ingress profile. properties: $propertyBag: additionalProperties: @@ -216839,300 +289975,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applicationGatewayBackendAddressPools: - items: - description: |- - Storage version of v1api20240301.ApplicationGatewayBackendAddressPool_NetworkInterface_SubResourceEmbedded - Backend Address Pool of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkInterface_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - gatewayLoadBalancer: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - loadBalancerBackendAddressPools: - items: - description: |- - Storage version of v1api20240301.BackendAddressPool_NetworkInterface_SubResourceEmbedded - Pool of backend IP addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - loadBalancerInboundNatRules: - items: - description: |- - Storage version of v1api20240301.InboundNatRule_NetworkInterface_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array name: type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressPrefixLength: - type: integer - privateIPAddressVersion: - type: string - privateIPAllocationMethod: + visibility: type: string - publicIPAddress: - description: |- - Storage version of v1api20240301.PublicIPAddressSpec_NetworkInterface_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - subnet: - description: |- - Storage version of v1api20240301.Subnet_NetworkInterface_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetworkTaps: - items: - description: |- - Storage version of v1api20240301.VirtualNetworkTapSpec_NetworkInterface_SubResourceEmbedded - Virtual Network Tap resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object type: array location: type: string - networkSecurityGroup: + masterProfile: description: |- - Storage version of v1api20240301.NetworkSecurityGroupSpec_NetworkInterface_SubResourceEmbedded - NetworkSecurityGroup resource. + Storage version of v1api20231122.MasterProfile + MasterProfile represents a master profile. properties: $propertyBag: additionalProperties: @@ -217141,8 +289995,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + encryptionAtHost: + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the master subnet.' properties: armId: description: |- @@ -217161,12 +290037,61 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + vmSize: + type: string + type: object + networkProfile: + description: |- + Storage version of v1api20231122.NetworkProfile + NetworkProfile represents a network profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadBalancerProfile: + description: |- + Storage version of v1api20231122.LoadBalancerProfile + LoadBalancerProfile represents the profile of the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedOutboundIps: + description: |- + Storage version of v1api20231122.ManagedOutboundIPs + ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + type: object + type: object + outboundType: + type: string + podCidr: + type: string + preconfiguredNSG: + type: string + serviceCidr: + type: string type: object - nicType: - type: string operatorSpec: description: |- - Storage version of v1api20240301.NetworkInterfaceOperatorSpec + Storage version of v1api20231122.OpenShiftClusterOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -217234,6 +290159,71 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20231122.OpenShiftClusterOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminCredentials: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + password: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + username: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -217250,10 +290240,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkService: + servicePrincipalProfile: description: |- - Storage version of v1api20240301.PrivateLinkServiceSpec - Private link service resource. + Storage version of v1api20231122.ServicePrincipalProfile + ServicePrincipalProfile represents a service principal profile. properties: $propertyBag: additionalProperties: @@ -217262,40 +290252,119 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + clientId: + type: string + clientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - group: - description: Group is the Kubernetes group of the resource. + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - kind: - description: Kind is the Kubernetes kind of the resource. + required: + - key + - name + type: object + clientSecret: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object type: object tags: additionalProperties: type: string type: object - workloadType: - type: string + workerProfiles: + items: + description: |- + Storage version of v1api20231122.WorkerProfile + WorkerProfile represents a worker profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + type: integer + encryptionAtHost: + type: string + name: + type: string + subnetReference: + description: 'SubnetReference: The Azure resource ID of the worker subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vmSize: + type: string + type: object + type: array required: - owner type: object status: description: |- - Storage version of v1api20240301.NetworkInterface_STATUS_NetworkInterface_SubResourceEmbedded - A network interface in a resource group. + Storage version of v1api20231122.OpenShiftCluster_STATUS + OpenShiftCluster represents an Azure Red Hat OpenShift cluster. properties: $propertyBag: additionalProperties: @@ -217304,10 +290373,46 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - auxiliaryMode: - type: string - auxiliarySku: - type: string + apiserverProfile: + description: |- + Storage version of v1api20231122.APIServerProfile_STATUS + APIServerProfile represents an API server profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ip: + type: string + url: + type: string + visibility: + type: string + type: object + clusterProfile: + description: |- + Storage version of v1api20231122.ClusterProfile_STATUS + ClusterProfile represents a cluster profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domain: + type: string + fipsValidatedModules: + type: string + resourceGroupId: + type: string + version: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -217336,75 +290441,25 @@ spec: Severity with which to treat failures of this type of condition. For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - disableTcpStateTracking: - type: boolean - dnsSettings: - description: |- - Storage version of v1api20240301.NetworkInterfaceDnsSettings_STATUS - DNS settings of a network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - appliedDnsServers: - items: - type: string - type: array - dnsServers: - items: - type: string - type: array - internalDnsNameLabel: - type: string - internalDomainNameSuffix: - type: string - internalFqdn: - type: string - type: object - dscpConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - enableAcceleratedNetworking: - type: boolean - enableIPForwarding: - type: boolean - etag: - type: string - extendedLocation: + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + consoleProfile: description: |- - Storage version of v1api20240301.ExtendedLocation_STATUS - ExtendedLocation complex type. + Storage version of v1api20231122.ConsoleProfile_STATUS + ConsoleProfile represents a console profile. properties: $propertyBag: additionalProperties: @@ -217413,22 +290468,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: + url: type: string type: object - hostedWorkloads: - items: - type: string - type: array id: type: string - ipConfigurations: + ingressProfiles: items: description: |- - Storage version of v1api20240301.NetworkInterfaceIPConfiguration_STATUS_NetworkInterface_SubResourceEmbedded - IPConfiguration in a network interface. + Storage version of v1api20231122.IngressProfile_STATUS + IngressProfile represents an ingress profile. properties: $propertyBag: additionalProperties: @@ -217437,165 +290486,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applicationGatewayBackendAddressPools: - items: - description: |- - Storage version of v1api20240301.ApplicationGatewayBackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded - Backend Address Pool of an application gateway. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - etag: - type: string - gatewayLoadBalancer: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - id: + ip: type: string - loadBalancerBackendAddressPools: - items: - description: |- - Storage version of v1api20240301.BackendAddressPool_STATUS_NetworkInterface_SubResourceEmbedded - Pool of backend IP addresses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - loadBalancerInboundNatRules: - items: - description: |- - Storage version of v1api20240301.InboundNatRule_STATUS_NetworkInterface_SubResourceEmbedded - Inbound NAT rule of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array name: type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressPrefixLength: - type: integer - privateIPAddressVersion: + visibility: type: string - privateIPAllocationMethod: + type: object + type: array + location: + type: string + masterProfile: + description: |- + Storage version of v1api20231122.MasterProfile_STATUS + MasterProfile represents a master profile. + properties: + $propertyBag: + additionalProperties: type: string - privateLinkConnectionProperties: - description: |- - Storage version of v1api20240301.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties_STATUS - PrivateLinkConnection properties for the network interface. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdns: - items: - type: string - type: array - groupId: - type: string - requiredMemberName: - type: string - type: object - provisioningState: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + encryptionAtHost: + type: string + subnetId: + type: string + vmSize: + type: string + type: object + name: + type: string + networkProfile: + description: |- + Storage version of v1api20231122.NetworkProfile_STATUS + NetworkProfile represents a network profile. + properties: + $propertyBag: + additionalProperties: type: string - publicIPAddress: - description: |- - Storage version of v1api20240301.PublicIPAddress_STATUS_NetworkInterface_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + loadBalancerProfile: + description: |- + Storage version of v1api20231122.LoadBalancerProfile_STATUS + LoadBalancerProfile represents the profile of the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: type: string - type: object - subnet: - description: |- - Storage version of v1api20240301.Subnet_STATUS_NetworkInterface_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + effectiveOutboundIps: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20231122.EffectiveOutboundIP_STATUS + EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string type: object - id: - type: string - type: object - type: - type: string - virtualNetworkTaps: - items: + type: array + managedOutboundIps: description: |- - Storage version of v1api20240301.VirtualNetworkTap_STATUS_NetworkInterface_SubResourceEmbedded - Virtual Network Tap resource. + Storage version of v1api20231122.ManagedOutboundIPs_STATUS + ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. properties: $propertyBag: additionalProperties: @@ -217604,43 +290572,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + count: + type: integer type: object - type: array - type: object - type: array - location: - type: string - macAddress: - type: string - migrationPhase: - type: string - name: - type: string - networkSecurityGroup: - description: |- - Storage version of v1api20240301.NetworkSecurityGroup_STATUS_NetworkInterface_SubResourceEmbedded - NetworkSecurityGroup resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - id: + outboundType: + type: string + podCidr: + type: string + preconfiguredNSG: + type: string + serviceCidr: type: string type: object - nicType: + provisioningState: type: string - primary: - type: boolean - privateEndpoint: + servicePrincipalProfile: description: |- - Storage version of v1api20240301.PrivateEndpoint_STATUS_NetworkInterface_SubResourceEmbedded - Private endpoint resource. + Storage version of v1api20231122.ServicePrincipalProfile_STATUS + ServicePrincipalProfile represents a service principal profile. properties: $propertyBag: additionalProperties: @@ -217649,13 +290599,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + clientId: type: string type: object - privateLinkService: + systemData: description: |- - Storage version of v1api20240301.PrivateLinkService_STATUS_NetworkInterface_SubResourceEmbedded - Private link service resource. + Storage version of v1api20231122.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -217664,22 +290614,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - provisioningState: - type: string - resourceGuid: - type: string tags: additionalProperties: type: string type: object - tapConfigurations: + type: + type: string + workerProfiles: items: description: |- - Storage version of v1api20240301.NetworkInterfaceTapConfiguration_STATUS_NetworkInterface_SubResourceEmbedded - Tap configuration in a Network Interface. + Storage version of v1api20231122.WorkerProfile_STATUS + WorkerProfile represents a worker profile. properties: $propertyBag: additionalProperties: @@ -217688,31 +290646,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + count: + type: integer + diskEncryptionSetId: + type: string + diskSizeGB: + type: integer + encryptionAtHost: + type: string + name: + type: string + subnetId: + type: string + vmSize: type: string type: object type: array - type: - type: string - virtualMachine: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: + workerProfilesStatus: + items: + description: |- + Storage version of v1api20231122.WorkerProfile_STATUS + WorkerProfile represents a worker profile. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + diskEncryptionSetId: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - vnetEncryptionSupported: - type: boolean - workloadType: - type: string + diskSizeGB: + type: integer + encryptionAtHost: + type: string + name: + type: string + subnetId: + type: string + vmSize: + type: string + type: object + type: array type: object type: object served: true @@ -217725,11 +290703,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: networksecuritygroups.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: policies.apimanagement.azure.com spec: conversion: strategy: Webhook @@ -217742,12 +290720,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: apimanagement.azure.com names: - kind: NetworkSecurityGroup - listKind: NetworkSecurityGroupList - plural: networksecuritygroups - singular: networksecuritygroup + categories: + - azure + - apimanagement + kind: Policy + listKind: PolicyList + plural: policies + singular: policy preserveUnknownFields: false scope: Namespaced versions: @@ -217764,13 +290745,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101 + name: v1api20220801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} properties: apiVersion: description: |- @@ -217791,13 +290772,13 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - location: - description: 'Location: Resource location.' + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link type: string operatorSpec: description: |- @@ -217869,7 +290850,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -217878,16 +290859,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string required: - owner + - value type: object status: - description: NetworkSecurityGroup resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -217933,71 +290912,22 @@ spec: - type type: object type: array - defaultSecurityRules: - description: 'DefaultSecurityRules: The default security rules of network security group.' - items: - description: Network security rule. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + format: + description: 'Format: Format of the policyContent.' type: string - flowLogs: - description: 'FlowLogs: A collection of references to flow log resources.' - items: - description: A flow log resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array id: - description: 'Id: Resource ID.' - type: string - location: - description: 'Location: Resource location.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string name: - description: 'Name: Resource name.' - type: string - networkInterfaces: - description: 'NetworkInterfaces: A collection of references to network interfaces.' - items: - description: A network interface in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the network security group resource.' - type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the network security group resource.' + description: 'Name: The name of the resource' type: string - subnets: - description: 'Subnets: A collection of references to subnets.' - items: - description: Subnet in a virtual network resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' type: string type: object type: object @@ -218018,14 +290948,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101storage + name: v1api20220801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201101.NetworkSecurityGroup + Storage version of v1api20220801.Policy Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} properties: apiVersion: description: |- @@ -218045,7 +290975,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201101.NetworkSecurityGroup_Spec + description: Storage version of v1api20220801.Policy_Spec properties: $propertyBag: additionalProperties: @@ -218054,16 +290984,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - location: + format: type: string operatorSpec: description: |- - Storage version of v1api20201101.NetworkSecurityGroupOperatorSpec + Storage version of v1api20220801.PolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -218138,7 +291063,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -218147,17 +291072,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - type: object + value: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20201101.NetworkSecurityGroup_STATUS_NetworkSecurityGroup_SubResourceEmbedded - NetworkSecurityGroup resource. + description: Storage version of v1api20220801.Policy_STATUS properties: $propertyBag: additionalProperties: @@ -218209,96 +291130,20 @@ spec: - type type: object type: array - defaultSecurityRules: - items: - description: |- - Storage version of v1api20201101.SecurityRule_STATUS - Network security rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - etag: + format: type: string - flowLogs: - items: - description: |- - Storage version of v1api20201101.FlowLog_STATUS - A flow log resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array id: type: string - location: - type: string name: type: string - networkInterfaces: - items: - description: |- - Storage version of v1api20201101.NetworkInterface_STATUS_NetworkSecurityGroup_SubResourceEmbedded - A network interface in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - resourceGuid: - type: string - subnets: - items: - description: |- - Storage version of v1api20201101.Subnet_STATUS_NetworkSecurityGroup_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - tags: - additionalProperties: - type: string - type: object type: type: string + value: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} - additionalPrinterColumns: @@ -218314,13 +291159,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20230501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} properties: apiVersion: description: |- @@ -218341,18 +291186,13 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - flushConnection: - description: |- - FlushConnection: When enabled, flows created from Network Security Group connections will be re-evaluated when rules are - updates. Initial enablement will trigger re-evaluation. - type: boolean - location: - description: 'Location: Resource location.' + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link type: string operatorSpec: description: |- @@ -218424,7 +291264,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -218433,16 +291273,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string required: - owner + - value type: object status: - description: NetworkSecurityGroup resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -218488,66 +291326,22 @@ spec: - type type: object type: array - defaultSecurityRules: - description: 'DefaultSecurityRules: The default security rules of network security group.' - items: - description: Network security rule. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + format: + description: 'Format: Format of the policyContent.' type: string - flushConnection: - description: |- - FlushConnection: When enabled, flows created from Network Security Group connections will be re-evaluated when rules are - updates. Initial enablement will trigger re-evaluation. - type: boolean id: - description: 'Id: Resource ID.' - type: string - location: - description: 'Location: Resource location.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string name: - description: 'Name: Resource name.' - type: string - networkInterfaces: - description: 'NetworkInterfaces: A collection of references to network interfaces.' - items: - description: A network interface in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the network security group resource.' - type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the network security group resource.' + description: 'Name: The name of the resource' type: string - subnets: - description: 'Subnets: A collection of references to subnets.' - items: - description: Subnet in a virtual network resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' type: string type: object type: object @@ -218568,14 +291362,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20230501previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.NetworkSecurityGroup + Storage version of v1api20230501preview.Policy Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} properties: apiVersion: description: |- @@ -218595,7 +291389,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.NetworkSecurityGroup_Spec + description: Storage version of v1api20230501preview.Policy_Spec properties: $propertyBag: additionalProperties: @@ -218604,18 +291398,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - flushConnection: - type: boolean - location: + format: type: string operatorSpec: description: |- - Storage version of v1api20240301.NetworkSecurityGroupOperatorSpec + Storage version of v1api20230501preview.PolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -218690,7 +291477,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -218699,17 +291486,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - type: object + value: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20240301.NetworkSecurityGroup_STATUS_NetworkSecurityGroup_SubResourceEmbedded - NetworkSecurityGroup resource. + description: Storage version of v1api20230501preview.Policy_STATUS properties: $propertyBag: additionalProperties: @@ -218761,81 +291544,20 @@ spec: - type type: object type: array - defaultSecurityRules: - items: - description: |- - Storage version of v1api20240301.SecurityRule_STATUS - Network security rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - etag: + format: type: string - flushConnection: - type: boolean id: type: string - location: - type: string name: type: string - networkInterfaces: - items: - description: |- - Storage version of v1api20240301.NetworkInterface_STATUS_NetworkSecurityGroup_SubResourceEmbedded - A network interface in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - resourceGuid: - type: string - subnets: - items: - description: |- - Storage version of v1api20240301.Subnet_STATUS_NetworkSecurityGroup_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - tags: - additionalProperties: - type: string - type: object type: type: string + value: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} --- @@ -218844,11 +291566,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: networksecuritygroupssecurityrules.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: policyfragments.apimanagement.azure.com spec: conversion: strategy: Webhook @@ -218861,12 +291583,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: apimanagement.azure.com names: - kind: NetworkSecurityGroupsSecurityRule - listKind: NetworkSecurityGroupsSecurityRuleList - plural: networksecuritygroupssecurityrules - singular: networksecuritygroupssecurityrule + categories: + - azure + - apimanagement + kind: PolicyFragment + listKind: PolicyFragmentList + plural: policyfragments + singular: policyfragment preserveUnknownFields: false scope: Namespaced versions: @@ -218883,13 +291608,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101 + name: v1api20220801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} properties: apiVersion: description: |- @@ -218910,72 +291635,24 @@ spec: type: object spec: properties: - access: - description: 'Access: The network traffic is allowed or denied.' - enum: - - Allow - - Deny - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) type: string description: - description: 'Description: A description for this rule. Restricted to 140 chars.' - type: string - destinationAddressPrefix: - description: |- - DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to - match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - type: string - destinationAddressPrefixes: - description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' - items: - type: string - type: array - destinationApplicationSecurityGroups: - description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - destinationPortRange: - description: |- - DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used - to match all ports. + description: 'Description: Policy fragment description.' + maxLength: 1000 + minLength: 0 type: string - destinationPortRanges: - description: 'DestinationPortRanges: The destination port ranges.' - items: - type: string - type: array - direction: - description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + format: + description: 'Format: Format of the policy fragment content.' enum: - - Inbound - - Outbound + - rawxml + - xml type: string operatorSpec: description: |- @@ -219047,7 +291724,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/NetworkSecurityGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -219056,80 +291733,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - priority: - description: |- - Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each - rule in the collection. The lower the priority number, the higher the priority of the rule. - type: integer - protocol: - description: 'Protocol: Network protocol this rule applies to.' - enum: - - Ah - - Esp - - Icmp - - '*' - - Tcp - - Udp - type: string - sourceAddressPrefix: - description: |- - SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags - such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies - where network traffic originates from. - type: string - sourceAddressPrefixes: - description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' - items: - type: string - type: array - sourceApplicationSecurityGroups: - description: 'SourceApplicationSecurityGroups: The application security group specified as source.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - sourcePortRange: - description: |- - SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match - all ports. + value: + description: 'Value: Contents of the policy fragment.' type: string - sourcePortRanges: - description: 'SourcePortRanges: The source port ranges.' - items: - type: string - type: array required: - - access - - direction - owner - - protocol + - value type: object status: properties: - access: - description: 'Access: The network traffic is allowed or denied.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -219151,118 +291763,48 @@ spec: type: integer reason: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - description: - description: 'Description: A description for this rule. Restricted to 140 chars.' - type: string - destinationAddressPrefix: - description: |- - DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to - match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - type: string - destinationAddressPrefixes: - description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' - items: - type: string - type: array - destinationApplicationSecurityGroups: - description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - destinationPortRange: - description: |- - DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used - to match all ports. - type: string - destinationPortRanges: - description: 'DestinationPortRanges: The destination port ranges.' - items: - type: string - type: array - direction: - description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + description: + description: 'Description: Policy fragment description.' type: string - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + format: + description: 'Format: Format of the policy fragment content.' type: string id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - priority: - description: |- - Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each - rule in the collection. The lower the priority number, the higher the priority of the rule. - type: integer - protocol: - description: 'Protocol: Network protocol this rule applies to.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the security rule resource.' - type: string - sourceAddressPrefix: description: |- - SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags - such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies - where network traffic originates from. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - sourceAddressPrefixes: - description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' - items: - type: string - type: array - sourceApplicationSecurityGroups: - description: 'SourceApplicationSecurityGroups: The application security group specified as source.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - sourcePortRange: - description: |- - SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match - all ports. + name: + description: 'Name: The name of the resource' type: string - sourcePortRanges: - description: 'SourcePortRanges: The source port ranges.' - items: - type: string - type: array type: - description: 'Type: The type of the resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the policy fragment.' type: string type: object type: object @@ -219283,14 +291825,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101storage + name: v1api20220801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule + Storage version of v1api20220801.PolicyFragment Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} properties: apiVersion: description: |- @@ -219310,7 +291852,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule_Spec + description: Storage version of v1api20220801.PolicyFragment_Spec properties: $propertyBag: additionalProperties: @@ -219319,8 +291861,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - access: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -219328,58 +291868,11 @@ spec: type: string description: type: string - destinationAddressPrefix: - type: string - destinationAddressPrefixes: - items: - type: string - type: array - destinationApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - destinationPortRange: - type: string - destinationPortRanges: - items: - type: string - type: array - direction: + format: type: string operatorSpec: description: |- - Storage version of v1api20201101.NetworkSecurityGroupsSecurityRuleOperatorSpec + Storage version of v1api20220801.PolicyFragmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -219454,7 +291947,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/NetworkSecurityGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -219463,62 +291956,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - priority: - type: integer - protocol: - type: string - sourceAddressPrefix: - type: string - sourceAddressPrefixes: - items: - type: string - type: array - sourceApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20201101.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - sourcePortRange: + value: type: string - sourcePortRanges: - items: - type: string - type: array required: - owner type: object status: - description: Storage version of v1api20201101.NetworkSecurityGroupsSecurityRule_STATUS + description: Storage version of v1api20220801.PolicyFragment_STATUS properties: $propertyBag: additionalProperties: @@ -219527,8 +291971,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - access: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -219574,84 +292016,20 @@ spec: type: array description: type: string - destinationAddressPrefix: - type: string - destinationAddressPrefixes: - items: - type: string - type: array - destinationApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - destinationPortRange: - type: string - destinationPortRanges: - items: - type: string - type: array - direction: - type: string - etag: + format: type: string id: type: string name: type: string - priority: - type: integer - protocol: - type: string - provisioningState: - type: string - sourceAddressPrefix: - type: string - sourceAddressPrefixes: - items: - type: string - type: array - sourceApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20201101.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - sourcePortRange: - type: string - sourcePortRanges: - items: - type: string - type: array type: type: string + value: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} - additionalPrinterColumns: @@ -219667,13 +292045,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20230501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} properties: apiVersion: description: |- @@ -219694,72 +292072,24 @@ spec: type: object spec: properties: - access: - description: 'Access: The network traffic is allowed or denied.' - enum: - - Allow - - Deny - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 80 + minLength: 1 + pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) type: string description: - description: 'Description: A description for this rule. Restricted to 140 chars.' - type: string - destinationAddressPrefix: - description: |- - DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to - match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - type: string - destinationAddressPrefixes: - description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' - items: - type: string - type: array - destinationApplicationSecurityGroups: - description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - destinationPortRange: - description: |- - DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used - to match all ports. + description: 'Description: Policy fragment description.' + maxLength: 1000 + minLength: 0 type: string - destinationPortRanges: - description: 'DestinationPortRanges: The destination port ranges.' - items: - type: string - type: array - direction: - description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + format: + description: 'Format: Format of the policy fragment content.' enum: - - Inbound - - Outbound + - rawxml + - xml type: string operatorSpec: description: |- @@ -219831,7 +292161,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/NetworkSecurityGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -219840,81 +292170,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - priority: - description: |- - Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each - rule in the collection. The lower the priority number, the higher the priority of the rule. - type: integer - protocol: - description: 'Protocol: Network protocol this rule applies to.' - enum: - - Ah - - Esp - - Icmp - - '*' - - Tcp - - Udp - type: string - sourceAddressPrefix: - description: |- - SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags - such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies - where network traffic originates from. - type: string - sourceAddressPrefixes: - description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' - items: - type: string - type: array - sourceApplicationSecurityGroups: - description: 'SourceApplicationSecurityGroups: The application security group specified as source.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - sourcePortRange: - description: |- - SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match - all ports. + value: + description: 'Value: Contents of the policy fragment.' type: string - sourcePortRanges: - description: 'SourcePortRanges: The source port ranges.' - items: - type: string - type: array required: - - access - - direction - owner - - priority - - protocol + - value type: object status: properties: - access: - description: 'Access: The network traffic is allowed or denied.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -219960,94 +292224,27 @@ spec: type: object type: array description: - description: 'Description: A description for this rule. Restricted to 140 chars.' - type: string - destinationAddressPrefix: - description: |- - DestinationAddressPrefix: The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to - match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. - type: string - destinationAddressPrefixes: - description: 'DestinationAddressPrefixes: The destination address prefixes. CIDR or destination IP ranges.' - items: - type: string - type: array - destinationApplicationSecurityGroups: - description: 'DestinationApplicationSecurityGroups: The application security group specified as destination.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - destinationPortRange: - description: |- - DestinationPortRange: The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used - to match all ports. - type: string - destinationPortRanges: - description: 'DestinationPortRanges: The destination port ranges.' - items: - type: string - type: array - direction: - description: 'Direction: The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic.' + description: 'Description: Policy fragment description.' type: string - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + format: + description: 'Format: Format of the policy fragment content.' type: string id: - description: 'Id: Resource ID.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - priority: - description: |- - Priority: The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each - rule in the collection. The lower the priority number, the higher the priority of the rule. - type: integer - protocol: - description: 'Protocol: Network protocol this rule applies to.' + description: 'Name: The name of the resource' type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the security rule resource.' - type: string - sourceAddressPrefix: - description: |- - SourceAddressPrefix: The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags - such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies - where network traffic originates from. - type: string - sourceAddressPrefixes: - description: 'SourceAddressPrefixes: The CIDR or source IP ranges.' - items: - type: string - type: array - sourceApplicationSecurityGroups: - description: 'SourceApplicationSecurityGroups: The application security group specified as source.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - sourcePortRange: - description: |- - SourcePortRange: The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match - all ports. + description: 'ProvisioningState: The provisioning state' type: string - sourcePortRanges: - description: 'SourcePortRanges: The source port ranges.' - items: - type: string - type: array type: - description: 'Type: The type of the resource.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the policy fragment.' type: string type: object type: object @@ -220068,14 +292265,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20230501previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule + Storage version of v1api20230501preview.PolicyFragment Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/networkSecurityGroup.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicyfragments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} properties: apiVersion: description: |- @@ -220095,7 +292292,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule_Spec + description: Storage version of v1api20230501preview.PolicyFragment_Spec properties: $propertyBag: additionalProperties: @@ -220104,8 +292301,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - access: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -220113,58 +292308,11 @@ spec: type: string description: type: string - destinationAddressPrefix: - type: string - destinationAddressPrefixes: - items: - type: string - type: array - destinationApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - destinationPortRange: - type: string - destinationPortRanges: - items: - type: string - type: array - direction: + format: type: string operatorSpec: description: |- - Storage version of v1api20240301.NetworkSecurityGroupsSecurityRuleOperatorSpec + Storage version of v1api20230501preview.PolicyFragmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -220239,7 +292387,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/NetworkSecurityGroup resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -220248,62 +292396,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - priority: - type: integer - protocol: - type: string - sourceAddressPrefix: - type: string - sourceAddressPrefixes: - items: - type: string - type: array - sourceApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroupSpec_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - sourcePortRange: + value: type: string - sourcePortRanges: - items: - type: string - type: array required: - owner type: object status: - description: Storage version of v1api20240301.NetworkSecurityGroupsSecurityRule_STATUS + description: Storage version of v1api20230501preview.PolicyFragment_STATUS properties: $propertyBag: additionalProperties: @@ -220312,8 +292411,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - access: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -220359,84 +292456,22 @@ spec: type: array description: type: string - destinationAddressPrefix: - type: string - destinationAddressPrefixes: - items: - type: string - type: array - destinationApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - destinationPortRange: - type: string - destinationPortRanges: - items: - type: string - type: array - direction: - type: string - etag: + format: type: string id: type: string name: type: string - priority: - type: integer - protocol: - type: string provisioningState: type: string - sourceAddressPrefix: - type: string - sourceAddressPrefixes: - items: - type: string - type: array - sourceApplicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_NetworkSecurityGroups_SecurityRule_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - sourcePortRange: - type: string - sourcePortRanges: - items: - type: string - type: array type: type: string + value: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} --- @@ -220445,11 +292480,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: openshiftclusters.redhatopenshift.azure.com + app.kubernetes.io/version: v2.15.0 + name: pricingplans.insights.azure.com spec: conversion: strategy: Webhook @@ -220462,12 +292497,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: redhatopenshift.azure.com + group: insights.azure.com names: - kind: OpenShiftCluster - listKind: OpenShiftClusterList - plural: openshiftclusters - singular: openshiftcluster + categories: + - azure + - insights + kind: PricingPlan + listKind: PricingPlanList + plural: pricingplans + singular: pricingplan preserveUnknownFields: false scope: Namespaced versions: @@ -220484,13 +292522,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231122 + name: v1api20171001 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName} + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current properties: apiVersion: description: |- @@ -220511,162 +292549,9 @@ spec: type: object spec: properties: - apiserverProfile: - description: 'ApiserverProfile: The cluster API server profile.' - properties: - visibility: - description: 'Visibility: API server visibility.' - enum: - - Private - - Public - type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - clusterProfile: - description: 'ClusterProfile: The cluster profile.' - properties: - domain: - description: 'Domain: The domain for the cluster.' - type: string - fipsValidatedModules: - description: 'FipsValidatedModules: If FIPS validated crypto modules are used' - enum: - - Disabled - - Enabled - type: string - pullSecret: - description: 'PullSecret: The pull secret for the cluster.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - resourceGroupId: - description: 'ResourceGroupId: The ID of the cluster resource group.' - type: string - version: - description: 'Version: The version of the cluster.' - type: string - type: object - ingressProfiles: - description: 'IngressProfiles: The cluster ingress profiles.' - items: - description: IngressProfile represents an ingress profile. - properties: - name: - description: 'Name: The ingress profile name.' - type: string - visibility: - description: 'Visibility: Ingress visibility.' - enum: - - Private - - Public - type: string - type: object - type: array - location: - description: 'Location: The geo-location where the resource lives' - type: string - masterProfile: - description: 'MasterProfile: The cluster master profile.' - properties: - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - encryptionAtHost: - description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' - enum: - - Disabled - - Enabled - type: string - subnetReference: - description: 'SubnetReference: The Azure resource ID of the master subnet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - vmSize: - description: 'VmSize: The size of the master VMs.' - type: string - type: object - networkProfile: - description: 'NetworkProfile: The cluster network profile.' - properties: - loadBalancerProfile: - description: 'LoadBalancerProfile: The cluster load balancer profile.' - properties: - managedOutboundIps: - description: 'ManagedOutboundIps: The desired managed outbound IPs for the cluster public load balancer.' - properties: - count: - description: |- - Count: Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load - balancer. Allowed values are in the range of 1 - 20. The default value is 1. - type: integer - type: object - type: object - outboundType: - description: 'OutboundType: The OutboundType used for egress traffic.' - enum: - - Loadbalancer - - UserDefinedRouting - type: string - podCidr: - description: 'PodCidr: The CIDR used for OpenShift/Kubernetes Pods.' - type: string - preconfiguredNSG: - description: 'PreconfiguredNSG: Specifies whether subnets are pre-attached with an NSG' - enum: - - Disabled - - Enabled - type: string - serviceCidr: - description: 'ServiceCidr: The CIDR used for OpenShift/Kubernetes Services.' - type: string - type: object + cap: + description: 'Cap: Daily data volume cap in GB.' + type: number operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -220737,158 +292622,35 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a insights.azure.com/Component resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - servicePrincipalProfile: - description: 'ServicePrincipalProfile: The cluster service principal profile.' - properties: - clientId: - description: 'ClientId: The client ID used for the cluster.' - type: string - clientIdFromConfig: - description: 'ClientIdFromConfig: The client ID used for the cluster.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - clientSecret: - description: 'ClientSecret: The client secret used for the cluster.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - workerProfiles: - description: 'WorkerProfiles: The cluster worker profiles.' - items: - description: WorkerProfile represents a worker profile. - properties: - count: - description: 'Count: The number of worker VMs.' - type: integer - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - diskSizeGB: - description: 'DiskSizeGB: The disk size of the worker VMs.' - type: integer - encryptionAtHost: - description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' - enum: - - Disabled - - Enabled - type: string - name: - description: 'Name: The worker profile name.' - type: string - subnetReference: - description: 'SubnetReference: The Azure resource ID of the worker subnet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - vmSize: - description: 'VmSize: The size of the worker VMs.' - type: string - type: object - type: array - required: - - location - - owner - type: object - status: - description: OpenShiftCluster represents an Azure Red Hat OpenShift cluster. - properties: - apiserverProfile: - description: 'ApiserverProfile: The cluster API server profile.' - properties: - ip: - description: 'Ip: The IP of the cluster API server.' - type: string - url: - description: 'Url: The URL to access the cluster API server.' - type: string - visibility: - description: 'Visibility: API server visibility.' - type: string - type: object - clusterProfile: - description: 'ClusterProfile: The cluster profile.' - properties: - domain: - description: 'Domain: The domain for the cluster.' - type: string - fipsValidatedModules: - description: 'FipsValidatedModules: If FIPS validated crypto modules are used' - type: string - resourceGroupId: - description: 'ResourceGroupId: The ID of the cluster resource group.' - type: string - version: - description: 'Version: The version of the cluster.' + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object + planType: + description: 'PlanType: Pricing Plan Type Name.' + type: string + stopSendNotificationWhenHitCap: + description: 'StopSendNotificationWhenHitCap: Do not send a notification email when the daily data volume cap is met.' + type: boolean + stopSendNotificationWhenHitThreshold: + description: 'StopSendNotificationWhenHitThreshold: Reserved, not used for now.' + type: boolean + warningThreshold: + description: 'WarningThreshold: Reserved, not used for now.' + type: integer + required: + - owner + type: object + status: + properties: + cap: + description: 'Cap: Daily data volume cap in GB.' + type: number conditions: description: 'Conditions: The observed state of the resource' items: @@ -220933,191 +292695,33 @@ spec: - type type: object type: array - consoleProfile: - description: 'ConsoleProfile: The console profile.' - properties: - url: - description: 'Url: The URL to access the cluster console.' - type: string - type: object id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - ingressProfiles: - description: 'IngressProfiles: The cluster ingress profiles.' - items: - description: IngressProfile represents an ingress profile. - properties: - ip: - description: 'Ip: The IP of the ingress.' - type: string - name: - description: 'Name: The ingress profile name.' - type: string - visibility: - description: 'Visibility: Ingress visibility.' - type: string - type: object - type: array - location: - description: 'Location: The geo-location where the resource lives' + description: 'Id: Azure resource Id.' type: string - masterProfile: - description: 'MasterProfile: The cluster master profile.' - properties: - diskEncryptionSetId: - description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' - type: string - encryptionAtHost: - description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' - type: string - subnetId: - description: 'SubnetId: The Azure resource ID of the master subnet.' - type: string - vmSize: - description: 'VmSize: The size of the master VMs.' - type: string - type: object + maxHistoryCap: + description: 'MaxHistoryCap: Maximum daily data volume cap that the user can set for this component.' + type: number name: - description: 'Name: The name of the resource' + description: 'Name: Azure resource name.' type: string - networkProfile: - description: 'NetworkProfile: The cluster network profile.' - properties: - loadBalancerProfile: - description: 'LoadBalancerProfile: The cluster load balancer profile.' - properties: - effectiveOutboundIps: - description: 'EffectiveOutboundIps: The list of effective outbound IP addresses of the public load balancer.' - items: - description: EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. - properties: - id: - description: 'Id: The fully qualified Azure resource id of an IP address resource.' - type: string - type: object - type: array - managedOutboundIps: - description: 'ManagedOutboundIps: The desired managed outbound IPs for the cluster public load balancer.' - properties: - count: - description: |- - Count: Count represents the desired number of IPv4 outbound IPs created and managed by Azure for the cluster public load - balancer. Allowed values are in the range of 1 - 20. The default value is 1. - type: integer - type: object - type: object - outboundType: - description: 'OutboundType: The OutboundType used for egress traffic.' - type: string - podCidr: - description: 'PodCidr: The CIDR used for OpenShift/Kubernetes Pods.' - type: string - preconfiguredNSG: - description: 'PreconfiguredNSG: Specifies whether subnets are pre-attached with an NSG' - type: string - serviceCidr: - description: 'ServiceCidr: The CIDR used for OpenShift/Kubernetes Services.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: The cluster provisioning state.' + planType: + description: 'PlanType: Pricing Plan Type Name.' type: string - servicePrincipalProfile: - description: 'ServicePrincipalProfile: The cluster service principal profile.' - properties: - clientId: - description: 'ClientId: The client ID used for the cluster.' - type: string - type: object - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object + resetHour: + description: 'ResetHour: Daily data volume cap UTC reset hour.' + type: integer + stopSendNotificationWhenHitCap: + description: 'StopSendNotificationWhenHitCap: Do not send a notification email when the daily data volume cap is met.' + type: boolean + stopSendNotificationWhenHitThreshold: + description: 'StopSendNotificationWhenHitThreshold: Reserved, not used for now.' + type: boolean type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Azure resource type.' type: string - workerProfiles: - description: 'WorkerProfiles: The cluster worker profiles.' - items: - description: WorkerProfile represents a worker profile. - properties: - count: - description: 'Count: The number of worker VMs.' - type: integer - diskEncryptionSetId: - description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' - type: string - diskSizeGB: - description: 'DiskSizeGB: The disk size of the worker VMs.' - type: integer - encryptionAtHost: - description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' - type: string - name: - description: 'Name: The worker profile name.' - type: string - subnetId: - description: 'SubnetId: The Azure resource ID of the worker subnet.' - type: string - vmSize: - description: 'VmSize: The size of the worker VMs.' - type: string - type: object - type: array - workerProfilesStatus: - description: 'WorkerProfilesStatus: The cluster worker profiles status.' - items: - description: WorkerProfile represents a worker profile. - properties: - count: - description: 'Count: The number of worker VMs.' - type: integer - diskEncryptionSetId: - description: 'DiskEncryptionSetId: The resource ID of an associated DiskEncryptionSet, if applicable.' - type: string - diskSizeGB: - description: 'DiskSizeGB: The disk size of the worker VMs.' - type: integer - encryptionAtHost: - description: 'EncryptionAtHost: Whether master virtual machines are encrypted at host.' - type: string - name: - description: 'Name: The worker profile name.' - type: string - subnetId: - description: 'SubnetId: The Azure resource ID of the worker subnet.' - type: string - vmSize: - description: 'VmSize: The size of the worker VMs.' - type: string - type: object - type: array + warningThreshold: + description: 'WarningThreshold: Reserved, not used for now.' + type: integer type: object type: object served: true @@ -221137,14 +292741,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231122storage + name: v1api20171001storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231122.OpenShiftCluster + Storage version of v1api20171001.PricingPlan Generator information: - - Generated from: /redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/openshiftclusters/stable/2023-11-22/redhatopenshift.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RedHatOpenShift/openShiftClusters/{resourceName} + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}/pricingPlans/current properties: apiVersion: description: |- @@ -221164,7 +292768,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231122.OpenShiftCluster_Spec + description: Storage version of v1api20171001.PricingPlan_Spec properties: $propertyBag: additionalProperties: @@ -221173,194 +292777,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - apiserverProfile: - description: |- - Storage version of v1api20231122.APIServerProfile - APIServerProfile represents an API server profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - visibility: - type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - clusterProfile: - description: |- - Storage version of v1api20231122.ClusterProfile - ClusterProfile represents a cluster profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - domain: - type: string - fipsValidatedModules: - type: string - pullSecret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - resourceGroupId: - type: string - version: - type: string - type: object - ingressProfiles: - items: - description: |- - Storage version of v1api20231122.IngressProfile - IngressProfile represents an ingress profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - visibility: - type: string - type: object - type: array - location: - type: string - masterProfile: - description: |- - Storage version of v1api20231122.MasterProfile - MasterProfile represents a master profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - encryptionAtHost: - type: string - subnetReference: - description: 'SubnetReference: The Azure resource ID of the master subnet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - vmSize: - type: string - type: object - networkProfile: - description: |- - Storage version of v1api20231122.NetworkProfile - NetworkProfile represents a network profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - loadBalancerProfile: - description: |- - Storage version of v1api20231122.LoadBalancerProfile - LoadBalancerProfile represents the profile of the cluster public load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - managedOutboundIps: - description: |- - Storage version of v1api20231122.ManagedOutboundIPs - ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object - type: object - outboundType: - type: string - podCidr: - type: string - preconfiguredNSG: - type: string - serviceCidr: - type: string - type: object + cap: + type: number operatorSpec: description: |- - Storage version of v1api20231122.OpenShiftClusterOperatorSpec + Storage version of v1api20171001.PricingPlanOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -221435,7 +292856,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a insights.azure.com/Component resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -221444,131 +292865,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - servicePrincipalProfile: - description: |- - Storage version of v1api20231122.ServicePrincipalProfile - ServicePrincipalProfile represents a service principal profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - clientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - clientSecret: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - tags: - additionalProperties: - type: string - type: object - workerProfiles: - items: - description: |- - Storage version of v1api20231122.WorkerProfile - WorkerProfile represents a worker profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: The resource ID of an associated DiskEncryptionSet, if applicable.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - diskSizeGB: - type: integer - encryptionAtHost: - type: string - name: - type: string - subnetReference: - description: 'SubnetReference: The Azure resource ID of the worker subnet.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - vmSize: - type: string - type: object - type: array + planType: + type: string + stopSendNotificationWhenHitCap: + type: boolean + stopSendNotificationWhenHitThreshold: + type: boolean + warningThreshold: + type: integer required: - owner type: object status: - description: |- - Storage version of v1api20231122.OpenShiftCluster_STATUS - OpenShiftCluster represents an Azure Red Hat OpenShift cluster. + description: Storage version of v1api20171001.PricingPlan_STATUS properties: $propertyBag: additionalProperties: @@ -221577,46 +292886,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - apiserverProfile: - description: |- - Storage version of v1api20231122.APIServerProfile_STATUS - APIServerProfile represents an API server profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ip: - type: string - url: - type: string - visibility: - type: string - type: object - clusterProfile: - description: |- - Storage version of v1api20231122.ClusterProfile_STATUS - ClusterProfile represents a cluster profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - domain: - type: string - fipsValidatedModules: - type: string - resourceGroupId: - type: string - version: - type: string - type: object + cap: + type: number conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -221660,241 +292931,24 @@ spec: - type type: object type: array - consoleProfile: - description: |- - Storage version of v1api20231122.ConsoleProfile_STATUS - ConsoleProfile represents a console profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - url: - type: string - type: object id: type: string - ingressProfiles: - items: - description: |- - Storage version of v1api20231122.IngressProfile_STATUS - IngressProfile represents an ingress profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ip: - type: string - name: - type: string - visibility: - type: string - type: object - type: array - location: - type: string - masterProfile: - description: |- - Storage version of v1api20231122.MasterProfile_STATUS - MasterProfile represents a master profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionSetId: - type: string - encryptionAtHost: - type: string - subnetId: - type: string - vmSize: - type: string - type: object + maxHistoryCap: + type: number name: type: string - networkProfile: - description: |- - Storage version of v1api20231122.NetworkProfile_STATUS - NetworkProfile represents a network profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - loadBalancerProfile: - description: |- - Storage version of v1api20231122.LoadBalancerProfile_STATUS - LoadBalancerProfile represents the profile of the cluster public load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - effectiveOutboundIps: - items: - description: |- - Storage version of v1api20231122.EffectiveOutboundIP_STATUS - EffectiveOutboundIP represents an effective outbound IP resource of the cluster public load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - managedOutboundIps: - description: |- - Storage version of v1api20231122.ManagedOutboundIPs_STATUS - ManagedOutboundIPs represents the desired managed outbound IPs for the cluster public load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - type: object - type: object - outboundType: - type: string - podCidr: - type: string - preconfiguredNSG: - type: string - serviceCidr: - type: string - type: object - provisioningState: + planType: type: string - servicePrincipalProfile: - description: |- - Storage version of v1api20231122.ServicePrincipalProfile_STATUS - ServicePrincipalProfile represents a service principal profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - type: object - systemData: - description: |- - Storage version of v1api20231122.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object + resetHour: + type: integer + stopSendNotificationWhenHitCap: + type: boolean + stopSendNotificationWhenHitThreshold: + type: boolean type: type: string - workerProfiles: - items: - description: |- - Storage version of v1api20231122.WorkerProfile_STATUS - WorkerProfile represents a worker profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - diskEncryptionSetId: - type: string - diskSizeGB: - type: integer - encryptionAtHost: - type: string - name: - type: string - subnetId: - type: string - vmSize: - type: string - type: object - type: array - workerProfilesStatus: - items: - description: |- - Storage version of v1api20231122.WorkerProfile_STATUS - WorkerProfile represents a worker profile. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - diskEncryptionSetId: - type: string - diskSizeGB: - type: integer - encryptionAtHost: - type: string - name: - type: string - subnetId: - type: string - vmSize: - type: string - type: object - type: array + warningThreshold: + type: integer type: object type: object served: true @@ -221907,11 +292961,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: policies.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: principalassignments.kusto.azure.com spec: conversion: strategy: Webhook @@ -221924,12 +292978,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: apimanagement.azure.com + group: kusto.azure.com names: - kind: Policy - listKind: PolicyList - plural: policies - singular: policy + categories: + - azure + - kusto + kind: PrincipalAssignment + listKind: PrincipalAssignmentList + plural: principalassignments + singular: principalassignment preserveUnknownFields: false scope: Namespaced versions: @@ -221946,13 +293003,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20240413 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName} properties: apiVersion: description: |- @@ -221973,13 +293030,11 @@ spec: type: object spec: properties: - format: - description: 'Format: Format of the policyContent.' - enum: - - rawxml - - rawxml-link - - xml - - xml-link + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^.*$ type: string operatorSpec: description: |- @@ -222051,7 +293106,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a kusto.azure.com/Database resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -222060,15 +293115,73 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - description: 'Value: Contents of the Policy as defined by the format.' + principalId: + description: |- + PrincipalId: The principal ID assigned to the database principal. It can be a user email, application ID, or security + group name. + type: string + principalIdFromConfig: + description: |- + PrincipalIdFromConfig: The principal ID assigned to the database principal. It can be a user email, application ID, or + security group name. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + description: 'PrincipalType: Principal type.' + enum: + - App + - Group + - User + type: string + role: + description: 'Role: Database principal role.' + enum: + - Admin + - Ingestor + - Monitor + - UnrestrictedViewer + - User + - Viewer + type: string + tenantId: + description: 'TenantId: The tenant id of the principal' type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: The tenant id of the principal' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner - - value + - principalType + - role type: object status: properties: + aadObjectId: + description: 'AadObjectId: The service principal object id in AAD (Azure active directory)' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -222113,9 +293226,6 @@ spec: - type type: object type: array - format: - description: 'Format: Format of the policyContent.' - type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -222124,12 +293234,32 @@ spec: name: description: 'Name: The name of the resource' type: string + principalId: + description: |- + PrincipalId: The principal ID assigned to the database principal. It can be a user email, application ID, or security + group name. + type: string + principalName: + description: 'PrincipalName: The principal name' + type: string + principalType: + description: 'PrincipalType: Principal type.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioned state of the resource.' + type: string + role: + description: 'Role: Database principal role.' + type: string + tenantId: + description: 'TenantId: The tenant id of the principal' + type: string + tenantName: + description: 'TenantName: The tenant name of the principal' + type: string type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - value: - description: 'Value: Contents of the Policy as defined by the format.' - type: string type: object type: object served: true @@ -222149,14 +293279,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20240413storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.Policy + Storage version of v1api20240413.PrincipalAssignment Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + - Generated from: /azure-kusto/resource-manager/Microsoft.Kusto/stable/2024-04-13/kusto.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName} properties: apiVersion: description: |- @@ -222176,7 +293306,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.Policy_Spec + description: Storage version of v1api20240413.PrincipalAssignment_Spec properties: $propertyBag: additionalProperties: @@ -222185,11 +293315,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - format: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- - Storage version of v1api20220801.PolicyOperatorSpec + Storage version of v1api20240413.PrincipalAssignmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -222264,7 +293397,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a kusto.azure.com/Database resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -222273,13 +293406,53 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: + principalId: + type: string + principalIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + type: string + role: type: string + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner type: object status: - description: Storage version of v1api20220801.Policy_STATUS + description: Storage version of v1api20240413.PrincipalAssignment_STATUS properties: $propertyBag: additionalProperties: @@ -222288,6 +293461,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aadObjectId: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -222331,15 +293506,25 @@ spec: - type type: object type: array - format: - type: string id: type: string name: type: string - type: + principalId: type: string - value: + principalName: + type: string + principalType: + type: string + provisioningState: + type: string + role: + type: string + tenantId: + type: string + tenantName: + type: string + type: type: string type: object type: object @@ -222347,6 +293532,41 @@ spec: storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszones.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZone + listKind: PrivateDnsZoneList + plural: privatednszones + singular: privatednszone + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -222360,13 +293580,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20180901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} properties: apiVersion: description: |- @@ -222387,13 +293607,16 @@ spec: type: object spec: properties: - format: - description: 'Format: Format of the policyContent.' - enum: - - rawxml - - rawxml-link - - xml - - xml-link + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + description: 'Etag: The ETag of the zone.' + type: string + location: + description: 'Location: The Azure Region where the resource lives' type: string operatorSpec: description: |- @@ -222465,7 +293688,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -222474,12 +293697,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - description: 'Value: Contents of the Policy as defined by the format.' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner - - value type: object status: properties: @@ -222527,22 +293751,63 @@ spec: - type type: object type: array - format: - description: 'Format: Format of the policyContent.' + etag: + description: 'Etag: The ETag of the zone.' type: string id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + maxNumberOfRecordSets: + description: |- + MaxNumberOfRecordSets: The maximum number of record sets that can be created in this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinks: + description: |- + MaxNumberOfVirtualNetworkLinks: The maximum number of virtual networks that can be linked to this Private DNS zone. This + is a read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + description: |- + MaxNumberOfVirtualNetworkLinksWithRegistration: The maximum number of virtual networks that can be linked to this + Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be + ignored. + type: integer name: description: 'Name: The name of the resource' type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + numberOfRecordSets: + description: |- + NumberOfRecordSets: The current number of record sets in this Private DNS zone. This is a read-only property and any + attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinks: + description: |- + NumberOfVirtualNetworkLinks: The current number of virtual networks that are linked to this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinksWithRegistration: + description: |- + NumberOfVirtualNetworkLinksWithRegistration: The current number of virtual networks that are linked to this Private DNS + zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored. + type: integer + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. type: string - value: - description: 'Value: Contents of the Policy as defined by the format.' + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' type: string type: object type: object @@ -222563,14 +293828,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20180901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.Policy + Storage version of v1api20180901.PrivateDnsZone Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} properties: apiVersion: description: |- @@ -222590,7 +293855,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.Policy_Spec + description: Storage version of v1api20180901.PrivateDnsZone_Spec properties: $propertyBag: additionalProperties: @@ -222599,11 +293864,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - format: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: type: string operatorSpec: description: |- - Storage version of v1api20230501preview.PolicyOperatorSpec + Storage version of v1api20180901.PrivateDnsZoneOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -222678,7 +293950,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -222687,13 +293959,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - type: string + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20230501preview.Policy_STATUS + description: Storage version of v1api20180901.PrivateDnsZone_STATUS properties: $propertyBag: additionalProperties: @@ -222745,15 +294019,33 @@ spec: - type type: object type: array - format: + etag: type: string id: type: string + location: + type: string + maxNumberOfRecordSets: + type: integer + maxNumberOfVirtualNetworkLinks: + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + type: integer name: type: string - type: + numberOfRecordSets: + type: integer + numberOfVirtualNetworkLinks: + type: integer + numberOfVirtualNetworkLinksWithRegistration: + type: integer + provisioningState: type: string - value: + tags: + additionalProperties: + type: string + type: object + type: type: string type: object type: object @@ -222761,38 +294053,6 @@ spec: storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: policyfragments.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: PolicyFragment - listKind: PolicyFragmentList - plural: policyfragments - singular: policyfragment - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -222806,13 +294066,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicyfragments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} properties: apiVersion: description: |- @@ -222837,20 +294097,12 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 80 - minLength: 1 - pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) type: string - description: - description: 'Description: Policy fragment description.' - maxLength: 1000 - minLength: 0 + etag: + description: 'Etag: The ETag of the zone.' type: string - format: - description: 'Format: Format of the policy fragment content.' - enum: - - rawxml - - xml + location: + description: 'Location: The Azure Region where the resource lives' type: string operatorSpec: description: |- @@ -222922,7 +294174,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -222931,12 +294183,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - description: 'Value: Contents of the policy fragment.' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner - - value type: object status: properties: @@ -222984,25 +294237,66 @@ spec: - type type: object type: array - description: - description: 'Description: Policy fragment description.' - type: string - format: - description: 'Format: Format of the policy fragment content.' + etag: + description: 'Etag: The ETag of the zone.' type: string id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + internalId: + description: 'InternalId: Private zone internal Id' type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + maxNumberOfRecordSets: + description: |- + MaxNumberOfRecordSets: The maximum number of record sets that can be created in this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinks: + description: |- + MaxNumberOfVirtualNetworkLinks: The maximum number of virtual networks that can be linked to this Private DNS zone. This + is a read-only property and any attempt to set this value will be ignored. + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + description: |- + MaxNumberOfVirtualNetworkLinksWithRegistration: The maximum number of virtual networks that can be linked to this + Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be + ignored. + type: integer name: description: 'Name: The name of the resource' type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + numberOfRecordSets: + description: |- + NumberOfRecordSets: The current number of record sets in this Private DNS zone. This is a read-only property and any + attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinks: + description: |- + NumberOfVirtualNetworkLinks: The current number of virtual networks that are linked to this Private DNS zone. This is a + read-only property and any attempt to set this value will be ignored. + type: integer + numberOfVirtualNetworkLinksWithRegistration: + description: |- + NumberOfVirtualNetworkLinksWithRegistration: The current number of virtual networks that are linked to this Private DNS + zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored. + type: integer + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. type: string - value: - description: 'Value: Contents of the policy fragment.' + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' type: string type: object type: object @@ -223023,14 +294317,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.PolicyFragment + Storage version of v1api20240601.PrivateDnsZone Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimpolicyfragments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} properties: apiVersion: description: |- @@ -223050,7 +294344,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.PolicyFragment_Spec + description: Storage version of v1api20240601.PrivateDnsZone_Spec properties: $propertyBag: additionalProperties: @@ -223064,13 +294358,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - description: + etag: type: string - format: + location: type: string operatorSpec: description: |- - Storage version of v1api20220801.PolicyFragmentOperatorSpec + Storage version of v1api20240601.PrivateDnsZoneOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -223145,7 +294439,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -223154,13 +294448,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - type: string + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20220801.PolicyFragment_STATUS + description: Storage version of v1api20240601.PrivateDnsZone_STATUS properties: $propertyBag: additionalProperties: @@ -223212,17 +294508,35 @@ spec: - type type: object type: array - description: - type: string - format: + etag: type: string id: type: string + internalId: + type: string + location: + type: string + maxNumberOfRecordSets: + type: integer + maxNumberOfVirtualNetworkLinks: + type: integer + maxNumberOfVirtualNetworkLinksWithRegistration: + type: integer name: type: string - type: + numberOfRecordSets: + type: integer + numberOfVirtualNetworkLinks: + type: integer + numberOfVirtualNetworkLinksWithRegistration: + type: integer + provisioningState: type: string - value: + tags: + additionalProperties: + type: string + type: object + type: type: string type: object type: object @@ -223230,6 +294544,41 @@ spec: storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonesaaaarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesAAAARecord + listKind: PrivateDnsZonesAAAARecordList + plural: privatednszonesaaaarecords + singular: privatednszonesaaaarecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -223243,13 +294592,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicyfragments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -223270,25 +294619,59 @@ spec: type: object spec: properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 80 - minLength: 1 - pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$) - type: string - description: - description: 'Description: Policy fragment description.' - maxLength: 1000 - minLength: 0 type: string - format: - description: 'Format: Format of the policy fragment content.' - enum: - - rawxml - - xml + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object + etag: + description: 'Etag: The ETag of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -223359,7 +294742,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a network.azure.com/PrivateDnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -223368,15 +294751,107 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - description: 'Value: Contents of the policy fragment.' - type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array required: - owner - - value type: object status: properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -223421,28 +294896,112 @@ spec: - type type: object type: array - description: - description: 'Description: Policy fragment description.' + etag: + description: 'Etag: The ETag of the record set.' type: string - format: - description: 'Format: Format of the policy fragment content.' + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. type: string + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array name: - description: 'Name: The name of the resource' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state' + description: 'Name: The name of the record set.' type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer + type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - value: - description: 'Value: Contents of the policy fragment.' + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' type: string type: object type: object @@ -223463,14 +295022,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.PolicyFragment + Storage version of v1api20200601.PrivateDnsZonesAAAARecord Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimpolicyfragments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyFragments/{id} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -223490,7 +295049,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.PolicyFragment_Spec + description: Storage version of v1api20200601.PrivateDnsZonesAAAARecord_Spec properties: $propertyBag: additionalProperties: @@ -223499,18 +295058,88 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - description: - type: string - format: + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object + etag: type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array operatorSpec: description: |- - Storage version of v1api20230501preview.PolicyFragmentOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesAAAARecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -223585,7 +295214,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a network.azure.com/PrivateDnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -223594,13 +295223,99 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20230501preview.PolicyFragment_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesAAAARecord_STATUS properties: $propertyBag: additionalProperties: @@ -223609,6 +295324,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -223652,58 +295416,135 @@ spec: - type type: object type: array - description: + etag: type: string - format: + fqdn: type: string id: type: string + isAutoRegistered: + type: boolean + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array name: type: string - provisioningState: - type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array type: type: string - value: - type: string type: object type: object served: true storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszones.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZone - listKind: PrivateDnsZoneList - plural: privatednszones - singular: privatednszone - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -223717,13 +295558,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180901 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -223744,17 +295585,59 @@ spec: type: object spec: properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object etag: - description: 'Etag: The ETag of the zone.' - type: string - location: - description: 'Location: The Azure Region where the resource lives' + description: 'Etag: The ETag of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -223825,7 +295708,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/PrivateDnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -223834,16 +295717,107 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array required: - owner type: object status: properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -223889,60 +295863,109 @@ spec: type: object type: array etag: - description: 'Etag: The ETag of the zone.' + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string id: description: |- Id: Fully qualified resource Id for the resource. Example - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. type: string - location: - description: 'Location: The Azure Region where the resource lives' - type: string - maxNumberOfRecordSets: - description: |- - MaxNumberOfRecordSets: The maximum number of record sets that can be created in this Private DNS zone. This is a - read-only property and any attempt to set this value will be ignored. - type: integer - maxNumberOfVirtualNetworkLinks: - description: |- - MaxNumberOfVirtualNetworkLinks: The maximum number of virtual networks that can be linked to this Private DNS zone. This - is a read-only property and any attempt to set this value will be ignored. - type: integer - maxNumberOfVirtualNetworkLinksWithRegistration: - description: |- - MaxNumberOfVirtualNetworkLinksWithRegistration: The maximum number of virtual networks that can be linked to this - Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be - ignored. - type: integer - name: - description: 'Name: The name of the resource' - type: string - numberOfRecordSets: - description: |- - NumberOfRecordSets: The current number of record sets in this Private DNS zone. This is a read-only property and any - attempt to set this value will be ignored. - type: integer - numberOfVirtualNetworkLinks: - description: |- - NumberOfVirtualNetworkLinks: The current number of virtual networks that are linked to this Private DNS zone. This is a - read-only property and any attempt to set this value will be ignored. - type: integer - numberOfVirtualNetworkLinksWithRegistration: - description: |- - NumberOfVirtualNetworkLinksWithRegistration: The current number of virtual networks that are linked to this Private DNS - zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored. - type: integer - provisioningState: - description: |- - ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this - value will be ignored. - type: string - tags: + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array type: description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' type: string @@ -223965,14 +295988,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180901storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180901.PrivateDnsZone + Storage version of v1api20240601.PrivateDnsZonesAAAARecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} properties: apiVersion: description: |- @@ -223992,7 +296015,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180901.PrivateDnsZone_Spec + description: Storage version of v1api20240601.PrivateDnsZonesAAAARecord_Spec properties: $propertyBag: additionalProperties: @@ -224001,18 +296024,88 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object etag: type: string - location: - type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array operatorSpec: description: |- - Storage version of v1api20180901.PrivateDnsZoneOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesAAAARecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -224087,7 +296180,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/PrivateDnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -224096,15 +296189,99 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20180901.PrivateDnsZone_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesAAAARecord_STATUS properties: $propertyBag: additionalProperties: @@ -224113,6 +296290,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aRecords: + items: + description: |- + Storage version of v1api20240601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20240601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20240601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -224158,38 +296384,168 @@ spec: type: array etag: type: string - id: - type: string - location: - type: string - maxNumberOfRecordSets: - type: integer - maxNumberOfVirtualNetworkLinks: - type: integer - maxNumberOfVirtualNetworkLinksWithRegistration: - type: integer - name: + fqdn: type: string - numberOfRecordSets: - type: integer - numberOfVirtualNetworkLinks: - type: integer - numberOfVirtualNetworkLinksWithRegistration: - type: integer - provisioningState: + id: type: string - tags: + isAutoRegistered: + type: boolean + metadata: additionalProperties: type: string type: object + mxRecords: + items: + description: |- + Storage version of v1api20240601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20240601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20240601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20240601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20240601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonesarecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesARecord + listKind: PrivateDnsZonesARecordList + plural: privatednszonesarecords + singular: privatednszonesarecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -224203,13 +296559,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} properties: apiVersion: description: |- @@ -224230,17 +296586,59 @@ spec: type: object spec: properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object etag: - description: 'Etag: The ETag of the zone.' - type: string - location: - description: 'Location: The Azure Region where the resource lives' + description: 'Etag: The ETag of the record set.' type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -224311,7 +296709,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/PrivateDnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -224320,16 +296718,107 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array required: - owner type: object status: properties: + aRecords: + description: 'ARecords: The list of A records in the record set.' + items: + description: An A record. + properties: + ipv4Address: + description: 'Ipv4Address: The IPv4 address of this A record.' + type: string + type: object + type: array + aaaaRecords: + description: 'AaaaRecords: The list of AAAA records in the record set.' + items: + description: An AAAA record. + properties: + ipv6Address: + description: 'Ipv6Address: The IPv6 address of this AAAA record.' + type: string + type: object + type: array + cnameRecord: + description: 'CnameRecord: The CNAME record in the record set.' + properties: + cname: + description: 'Cname: The canonical name for this CNAME record.' + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -224375,63 +296864,109 @@ spec: type: object type: array etag: - description: 'Etag: The ETag of the zone.' + description: 'Etag: The ETag of the record set.' + type: string + fqdn: + description: 'Fqdn: Fully qualified domain name of the record set.' type: string id: description: |- Id: Fully qualified resource Id for the resource. Example - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. type: string - internalId: - description: 'InternalId: Private zone internal Id' - type: string - location: - description: 'Location: The Azure Region where the resource lives' - type: string - maxNumberOfRecordSets: - description: |- - MaxNumberOfRecordSets: The maximum number of record sets that can be created in this Private DNS zone. This is a - read-only property and any attempt to set this value will be ignored. - type: integer - maxNumberOfVirtualNetworkLinks: - description: |- - MaxNumberOfVirtualNetworkLinks: The maximum number of virtual networks that can be linked to this Private DNS zone. This - is a read-only property and any attempt to set this value will be ignored. - type: integer - maxNumberOfVirtualNetworkLinksWithRegistration: - description: |- - MaxNumberOfVirtualNetworkLinksWithRegistration: The maximum number of virtual networks that can be linked to this - Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be - ignored. - type: integer - name: - description: 'Name: The name of the resource' - type: string - numberOfRecordSets: - description: |- - NumberOfRecordSets: The current number of record sets in this Private DNS zone. This is a read-only property and any - attempt to set this value will be ignored. - type: integer - numberOfVirtualNetworkLinks: - description: |- - NumberOfVirtualNetworkLinks: The current number of virtual networks that are linked to this Private DNS zone. This is a - read-only property and any attempt to set this value will be ignored. - type: integer - numberOfVirtualNetworkLinksWithRegistration: - description: |- - NumberOfVirtualNetworkLinksWithRegistration: The current number of virtual networks that are linked to this Private DNS - zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored. - type: integer - provisioningState: - description: |- - ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this - value will be ignored. - type: string - tags: + isAutoRegistered: + description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + type: boolean + metadata: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Metadata: The metadata attached to the record set.' + type: object + mxRecords: + description: 'MxRecords: The list of MX records in the record set.' + items: + description: An MX record. + properties: + exchange: + description: 'Exchange: The domain name of the mail host for this MX record.' + type: string + preference: + description: 'Preference: The preference value for this MX record.' + type: integer + type: object + type: array + name: + description: 'Name: The name of the record set.' + type: string + ptrRecords: + description: 'PtrRecords: The list of PTR records in the record set.' + items: + description: A PTR record. + properties: + ptrdname: + description: 'Ptrdname: The PTR target domain name for this PTR record.' + type: string + type: object + type: array + soaRecord: + description: 'SoaRecord: The SOA record in the record set.' + properties: + email: + description: 'Email: The email contact for this SOA record.' + type: string + expireTime: + description: 'ExpireTime: The expire time for this SOA record.' + type: integer + host: + description: 'Host: The domain name of the authoritative name server for this SOA record.' + type: string + minimumTtl: + description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' + type: integer + refreshTime: + description: 'RefreshTime: The refresh value for this SOA record.' + type: integer + retryTime: + description: 'RetryTime: The retry time for this SOA record.' + type: integer + serialNumber: + description: 'SerialNumber: The serial number for this SOA record.' + type: integer type: object + srvRecords: + description: 'SrvRecords: The list of SRV records in the record set.' + items: + description: An SRV record. + properties: + port: + description: 'Port: The port value for this SRV record.' + type: integer + priority: + description: 'Priority: The priority value for this SRV record.' + type: integer + target: + description: 'Target: The target domain name for this SRV record.' + type: string + weight: + description: 'Weight: The weight value for this SRV record.' + type: integer + type: object + type: array + ttl: + description: 'Ttl: The TTL (time-to-live) of the records in the record set.' + type: integer + txtRecords: + description: 'TxtRecords: The list of TXT records in the record set.' + items: + description: A TXT record. + properties: + value: + description: 'Value: The text value of this TXT record.' + items: + type: string + type: array + type: object + type: array type: description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' type: string @@ -224454,14 +296989,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZone + Storage version of v1api20200601.PrivateDnsZonesARecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} properties: apiVersion: description: |- @@ -224481,7 +297016,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZone_Spec + description: Storage version of v1api20200601.PrivateDnsZonesARecord_Spec properties: $propertyBag: additionalProperties: @@ -224490,18 +297025,88 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object etag: type: string - location: - type: string + metadata: + additionalProperties: + type: string + type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZoneOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesARecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -224576,7 +297181,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a network.azure.com/PrivateDnsZone resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -224585,15 +297190,99 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZone_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesARecord_STATUS properties: $propertyBag: additionalProperties: @@ -224602,6 +297291,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + aRecords: + items: + description: |- + Storage version of v1api20200601.ARecord_STATUS + An A record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv4Address: + type: string + type: object + type: array + aaaaRecords: + items: + description: |- + Storage version of v1api20200601.AaaaRecord_STATUS + An AAAA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipv6Address: + type: string + type: object + type: array + cnameRecord: + description: |- + Storage version of v1api20200601.CnameRecord_STATUS + A CNAME record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cname: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -224647,72 +297385,133 @@ spec: type: array etag: type: string - id: - type: string - internalId: - type: string - location: - type: string - maxNumberOfRecordSets: - type: integer - maxNumberOfVirtualNetworkLinks: - type: integer - maxNumberOfVirtualNetworkLinksWithRegistration: - type: integer - name: + fqdn: type: string - numberOfRecordSets: - type: integer - numberOfVirtualNetworkLinks: - type: integer - numberOfVirtualNetworkLinksWithRegistration: - type: integer - provisioningState: + id: type: string - tags: + isAutoRegistered: + type: boolean + metadata: additionalProperties: type: string type: object + mxRecords: + items: + description: |- + Storage version of v1api20200601.MxRecord_STATUS + An MX record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exchange: + type: string + preference: + type: integer + type: object + type: array + name: + type: string + ptrRecords: + items: + description: |- + Storage version of v1api20200601.PtrRecord_STATUS + A PTR record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ptrdname: + type: string + type: object + type: array + soaRecord: + description: |- + Storage version of v1api20200601.SoaRecord_STATUS + An SOA record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + email: + type: string + expireTime: + type: integer + host: + type: string + minimumTtl: + type: integer + refreshTime: + type: integer + retryTime: + type: integer + serialNumber: + type: integer + type: object + srvRecords: + items: + description: |- + Storage version of v1api20200601.SrvRecord_STATUS + An SRV record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + port: + type: integer + priority: + type: integer + target: + type: string + weight: + type: integer + type: object + type: array + ttl: + type: integer + txtRecords: + items: + description: |- + Storage version of v1api20200601.TxtRecord_STATUS + A TXT record. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + items: + type: string + type: array + type: object + type: array type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonesaaaarecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZonesAAAARecord - listKind: PrivateDnsZonesAAAARecordList - plural: privatednszonesaaaarecords - singular: privatednszonesaaaarecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -224726,13 +297525,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} properties: apiVersion: description: |- @@ -225156,14 +297955,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesAAAARecord + Storage version of v1api20240601.PrivateDnsZonesARecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} properties: apiVersion: description: |- @@ -225183,7 +297982,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesAAAARecord_Spec + description: Storage version of v1api20240601.PrivateDnsZonesARecord_Spec properties: $propertyBag: additionalProperties: @@ -225195,7 +297994,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord + Storage version of v1api20240601.ARecord An A record. properties: $propertyBag: @@ -225212,7 +298011,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord + Storage version of v1api20240601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -225233,7 +298032,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord + Storage version of v1api20240601.CnameRecord A CNAME record. properties: $propertyBag: @@ -225255,7 +298054,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord + Storage version of v1api20240601.MxRecord An MX record. properties: $propertyBag: @@ -225273,7 +298072,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesAAAARecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesARecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -225360,7 +298159,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord + Storage version of v1api20240601.PtrRecord A PTR record. properties: $propertyBag: @@ -225376,7 +298175,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord + Storage version of v1api20240601.SoaRecord An SOA record. properties: $propertyBag: @@ -225404,7 +298203,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord + Storage version of v1api20240601.SrvRecord An SRV record. properties: $propertyBag: @@ -225429,7 +298228,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord + Storage version of v1api20240601.TxtRecord A TXT record. properties: $propertyBag: @@ -225449,7 +298248,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesAAAARecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesARecord_STATUS properties: $propertyBag: additionalProperties: @@ -225461,7 +298260,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord_STATUS + Storage version of v1api20240601.ARecord_STATUS An A record. properties: $propertyBag: @@ -225478,7 +298277,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS + Storage version of v1api20240601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -225494,7 +298293,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord_STATUS + Storage version of v1api20240601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -225565,7 +298364,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS + Storage version of v1api20240601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -225586,7 +298385,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS + Storage version of v1api20240601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -225602,7 +298401,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord_STATUS + Storage version of v1api20240601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -225630,7 +298429,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS + Storage version of v1api20240601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -225655,7 +298454,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS + Storage version of v1api20240601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -225676,9 +298475,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonescnamerecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesCNAMERecord + listKind: PrivateDnsZonesCNAMERecordList + plural: privatednszonescnamerecords + singular: privatednszonescnamerecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -225692,13 +298526,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} properties: apiVersion: description: |- @@ -226122,14 +298956,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesAAAARecord + Storage version of v1api20200601.PrivateDnsZonesCNAMERecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/AAAA/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} properties: apiVersion: description: |- @@ -226149,7 +298983,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesAAAARecord_Spec + description: Storage version of v1api20200601.PrivateDnsZonesCNAMERecord_Spec properties: $propertyBag: additionalProperties: @@ -226161,7 +298995,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord + Storage version of v1api20200601.ARecord An A record. properties: $propertyBag: @@ -226178,7 +299012,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord + Storage version of v1api20200601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -226199,7 +299033,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord + Storage version of v1api20200601.CnameRecord A CNAME record. properties: $propertyBag: @@ -226221,7 +299055,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord + Storage version of v1api20200601.MxRecord An MX record. properties: $propertyBag: @@ -226239,7 +299073,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesAAAARecordOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesCNAMERecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -226326,7 +299160,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord + Storage version of v1api20200601.PtrRecord A PTR record. properties: $propertyBag: @@ -226342,7 +299176,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord + Storage version of v1api20200601.SoaRecord An SOA record. properties: $propertyBag: @@ -226370,7 +299204,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord + Storage version of v1api20200601.SrvRecord An SRV record. properties: $propertyBag: @@ -226395,7 +299229,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord + Storage version of v1api20200601.TxtRecord A TXT record. properties: $propertyBag: @@ -226415,7 +299249,7 @@ spec: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesAAAARecord_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesCNAMERecord_STATUS properties: $propertyBag: additionalProperties: @@ -226427,7 +299261,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord_STATUS + Storage version of v1api20200601.ARecord_STATUS An A record. properties: $propertyBag: @@ -226444,7 +299278,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord_STATUS + Storage version of v1api20200601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -226460,7 +299294,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord_STATUS + Storage version of v1api20200601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -226531,7 +299365,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord_STATUS + Storage version of v1api20200601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -226552,7 +299386,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord_STATUS + Storage version of v1api20200601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -226568,7 +299402,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord_STATUS + Storage version of v1api20200601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -226596,7 +299430,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord_STATUS + Storage version of v1api20200601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -226621,7 +299455,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord_STATUS + Storage version of v1api20200601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -226642,41 +299476,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonesarecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZonesARecord - listKind: PrivateDnsZonesARecordList - plural: privatednszonesarecords - singular: privatednszonesarecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -226690,13 +299492,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} properties: apiVersion: description: |- @@ -227120,14 +299922,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesARecord + Storage version of v1api20240601.PrivateDnsZonesCNAMERecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} properties: apiVersion: description: |- @@ -227147,7 +299949,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesARecord_Spec + description: Storage version of v1api20240601.PrivateDnsZonesCNAMERecord_Spec properties: $propertyBag: additionalProperties: @@ -227159,7 +299961,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord + Storage version of v1api20240601.ARecord An A record. properties: $propertyBag: @@ -227176,7 +299978,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord + Storage version of v1api20240601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -227197,7 +299999,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord + Storage version of v1api20240601.CnameRecord A CNAME record. properties: $propertyBag: @@ -227219,7 +300021,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord + Storage version of v1api20240601.MxRecord An MX record. properties: $propertyBag: @@ -227237,7 +300039,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesARecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesCNAMERecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -227324,7 +300126,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord + Storage version of v1api20240601.PtrRecord A PTR record. properties: $propertyBag: @@ -227340,7 +300142,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord + Storage version of v1api20240601.SoaRecord An SOA record. properties: $propertyBag: @@ -227368,7 +300170,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord + Storage version of v1api20240601.SrvRecord An SRV record. properties: $propertyBag: @@ -227393,7 +300195,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord + Storage version of v1api20240601.TxtRecord A TXT record. properties: $propertyBag: @@ -227413,7 +300215,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesARecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesCNAMERecord_STATUS properties: $propertyBag: additionalProperties: @@ -227425,7 +300227,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord_STATUS + Storage version of v1api20240601.ARecord_STATUS An A record. properties: $propertyBag: @@ -227442,7 +300244,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS + Storage version of v1api20240601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -227458,7 +300260,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord_STATUS + Storage version of v1api20240601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -227529,7 +300331,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS + Storage version of v1api20240601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -227550,7 +300352,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS + Storage version of v1api20240601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -227566,7 +300368,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord_STATUS + Storage version of v1api20240601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -227594,7 +300396,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS + Storage version of v1api20240601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -227619,7 +300421,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS + Storage version of v1api20240601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -227640,9 +300442,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonesmxrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesMXRecord + listKind: PrivateDnsZonesMXRecordList + plural: privatednszonesmxrecords + singular: privatednszonesmxrecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -227656,13 +300493,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} properties: apiVersion: description: |- @@ -228086,14 +300923,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesARecord + Storage version of v1api20200601.PrivateDnsZonesMXRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/A/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} properties: apiVersion: description: |- @@ -228113,7 +300950,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesARecord_Spec + description: Storage version of v1api20200601.PrivateDnsZonesMXRecord_Spec properties: $propertyBag: additionalProperties: @@ -228125,7 +300962,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord + Storage version of v1api20200601.ARecord An A record. properties: $propertyBag: @@ -228142,7 +300979,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord + Storage version of v1api20200601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -228163,7 +301000,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord + Storage version of v1api20200601.CnameRecord A CNAME record. properties: $propertyBag: @@ -228185,7 +301022,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord + Storage version of v1api20200601.MxRecord An MX record. properties: $propertyBag: @@ -228203,7 +301040,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesARecordOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesMXRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -228290,7 +301127,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord + Storage version of v1api20200601.PtrRecord A PTR record. properties: $propertyBag: @@ -228306,7 +301143,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord + Storage version of v1api20200601.SoaRecord An SOA record. properties: $propertyBag: @@ -228334,7 +301171,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord + Storage version of v1api20200601.SrvRecord An SRV record. properties: $propertyBag: @@ -228359,7 +301196,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord + Storage version of v1api20200601.TxtRecord A TXT record. properties: $propertyBag: @@ -228379,7 +301216,7 @@ spec: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesARecord_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesMXRecord_STATUS properties: $propertyBag: additionalProperties: @@ -228391,7 +301228,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord_STATUS + Storage version of v1api20200601.ARecord_STATUS An A record. properties: $propertyBag: @@ -228408,7 +301245,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord_STATUS + Storage version of v1api20200601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -228424,7 +301261,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord_STATUS + Storage version of v1api20200601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -228495,7 +301332,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord_STATUS + Storage version of v1api20200601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -228516,7 +301353,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord_STATUS + Storage version of v1api20200601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -228532,7 +301369,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord_STATUS + Storage version of v1api20200601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -228560,7 +301397,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord_STATUS + Storage version of v1api20200601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -228585,7 +301422,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord_STATUS + Storage version of v1api20200601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -228606,41 +301443,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonescnamerecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZonesCNAMERecord - listKind: PrivateDnsZonesCNAMERecordList - plural: privatednszonescnamerecords - singular: privatednszonescnamerecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -228654,13 +301459,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} properties: apiVersion: description: |- @@ -229084,14 +301889,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesCNAMERecord + Storage version of v1api20240601.PrivateDnsZonesMXRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} properties: apiVersion: description: |- @@ -229111,7 +301916,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesCNAMERecord_Spec + description: Storage version of v1api20240601.PrivateDnsZonesMXRecord_Spec properties: $propertyBag: additionalProperties: @@ -229123,7 +301928,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord + Storage version of v1api20240601.ARecord An A record. properties: $propertyBag: @@ -229140,7 +301945,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord + Storage version of v1api20240601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -229161,7 +301966,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord + Storage version of v1api20240601.CnameRecord A CNAME record. properties: $propertyBag: @@ -229183,7 +301988,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord + Storage version of v1api20240601.MxRecord An MX record. properties: $propertyBag: @@ -229201,7 +302006,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesCNAMERecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesMXRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -229288,7 +302093,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord + Storage version of v1api20240601.PtrRecord A PTR record. properties: $propertyBag: @@ -229304,7 +302109,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord + Storage version of v1api20240601.SoaRecord An SOA record. properties: $propertyBag: @@ -229332,7 +302137,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord + Storage version of v1api20240601.SrvRecord An SRV record. properties: $propertyBag: @@ -229357,7 +302162,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord + Storage version of v1api20240601.TxtRecord A TXT record. properties: $propertyBag: @@ -229377,7 +302182,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesCNAMERecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesMXRecord_STATUS properties: $propertyBag: additionalProperties: @@ -229389,7 +302194,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord_STATUS + Storage version of v1api20240601.ARecord_STATUS An A record. properties: $propertyBag: @@ -229406,7 +302211,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS + Storage version of v1api20240601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -229422,7 +302227,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord_STATUS + Storage version of v1api20240601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -229493,7 +302298,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS + Storage version of v1api20240601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -229514,7 +302319,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS + Storage version of v1api20240601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -229530,7 +302335,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord_STATUS + Storage version of v1api20240601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -229558,7 +302363,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS + Storage version of v1api20240601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -229583,7 +302388,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS + Storage version of v1api20240601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -229604,9 +302409,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonesptrrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesPTRRecord + listKind: PrivateDnsZonesPTRRecordList + plural: privatednszonesptrrecords + singular: privatednszonesptrrecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -229620,13 +302460,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} properties: apiVersion: description: |- @@ -230050,14 +302890,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesCNAMERecord + Storage version of v1api20200601.PrivateDnsZonesPTRRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/CNAME/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} properties: apiVersion: description: |- @@ -230077,7 +302917,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesCNAMERecord_Spec + description: Storage version of v1api20200601.PrivateDnsZonesPTRRecord_Spec properties: $propertyBag: additionalProperties: @@ -230089,7 +302929,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord + Storage version of v1api20200601.ARecord An A record. properties: $propertyBag: @@ -230106,7 +302946,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord + Storage version of v1api20200601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -230127,7 +302967,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord + Storage version of v1api20200601.CnameRecord A CNAME record. properties: $propertyBag: @@ -230149,7 +302989,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord + Storage version of v1api20200601.MxRecord An MX record. properties: $propertyBag: @@ -230167,7 +303007,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesCNAMERecordOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesPTRRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -230254,7 +303094,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord + Storage version of v1api20200601.PtrRecord A PTR record. properties: $propertyBag: @@ -230270,7 +303110,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord + Storage version of v1api20200601.SoaRecord An SOA record. properties: $propertyBag: @@ -230298,7 +303138,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord + Storage version of v1api20200601.SrvRecord An SRV record. properties: $propertyBag: @@ -230323,7 +303163,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord + Storage version of v1api20200601.TxtRecord A TXT record. properties: $propertyBag: @@ -230343,7 +303183,7 @@ spec: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesCNAMERecord_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesPTRRecord_STATUS properties: $propertyBag: additionalProperties: @@ -230355,7 +303195,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord_STATUS + Storage version of v1api20200601.ARecord_STATUS An A record. properties: $propertyBag: @@ -230372,7 +303212,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord_STATUS + Storage version of v1api20200601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -230388,7 +303228,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord_STATUS + Storage version of v1api20200601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -230459,7 +303299,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord_STATUS + Storage version of v1api20200601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -230480,7 +303320,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord_STATUS + Storage version of v1api20200601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -230496,7 +303336,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord_STATUS + Storage version of v1api20200601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -230524,7 +303364,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord_STATUS + Storage version of v1api20200601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -230549,7 +303389,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord_STATUS + Storage version of v1api20200601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -230570,41 +303410,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonesmxrecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZonesMXRecord - listKind: PrivateDnsZonesMXRecordList - plural: privatednszonesmxrecords - singular: privatednszonesmxrecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -230618,13 +303426,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} properties: apiVersion: description: |- @@ -231048,14 +303856,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesMXRecord + Storage version of v1api20240601.PrivateDnsZonesPTRRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} properties: apiVersion: description: |- @@ -231075,7 +303883,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesMXRecord_Spec + description: Storage version of v1api20240601.PrivateDnsZonesPTRRecord_Spec properties: $propertyBag: additionalProperties: @@ -231087,7 +303895,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord + Storage version of v1api20240601.ARecord An A record. properties: $propertyBag: @@ -231104,7 +303912,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord + Storage version of v1api20240601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -231125,7 +303933,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord + Storage version of v1api20240601.CnameRecord A CNAME record. properties: $propertyBag: @@ -231147,7 +303955,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord + Storage version of v1api20240601.MxRecord An MX record. properties: $propertyBag: @@ -231165,7 +303973,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesMXRecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesPTRRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -231252,7 +304060,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord + Storage version of v1api20240601.PtrRecord A PTR record. properties: $propertyBag: @@ -231268,7 +304076,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord + Storage version of v1api20240601.SoaRecord An SOA record. properties: $propertyBag: @@ -231296,7 +304104,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord + Storage version of v1api20240601.SrvRecord An SRV record. properties: $propertyBag: @@ -231321,7 +304129,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord + Storage version of v1api20240601.TxtRecord A TXT record. properties: $propertyBag: @@ -231341,7 +304149,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesMXRecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesPTRRecord_STATUS properties: $propertyBag: additionalProperties: @@ -231353,7 +304161,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord_STATUS + Storage version of v1api20240601.ARecord_STATUS An A record. properties: $propertyBag: @@ -231370,7 +304178,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS + Storage version of v1api20240601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -231386,7 +304194,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord_STATUS + Storage version of v1api20240601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -231457,7 +304265,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS + Storage version of v1api20240601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -231478,7 +304286,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS + Storage version of v1api20240601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -231494,7 +304302,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord_STATUS + Storage version of v1api20240601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -231522,7 +304330,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS + Storage version of v1api20240601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -231547,7 +304355,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS + Storage version of v1api20240601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -231568,9 +304376,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonessrvrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesSRVRecord + listKind: PrivateDnsZonesSRVRecordList + plural: privatednszonessrvrecords + singular: privatednszonessrvrecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -231584,13 +304427,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} properties: apiVersion: description: |- @@ -232014,14 +304857,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesMXRecord + Storage version of v1api20200601.PrivateDnsZonesSRVRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/MX/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} properties: apiVersion: description: |- @@ -232041,7 +304884,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesMXRecord_Spec + description: Storage version of v1api20200601.PrivateDnsZonesSRVRecord_Spec properties: $propertyBag: additionalProperties: @@ -232053,7 +304896,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord + Storage version of v1api20200601.ARecord An A record. properties: $propertyBag: @@ -232070,7 +304913,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord + Storage version of v1api20200601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -232091,7 +304934,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord + Storage version of v1api20200601.CnameRecord A CNAME record. properties: $propertyBag: @@ -232113,7 +304956,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord + Storage version of v1api20200601.MxRecord An MX record. properties: $propertyBag: @@ -232131,7 +304974,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesMXRecordOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesSRVRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -232218,7 +305061,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord + Storage version of v1api20200601.PtrRecord A PTR record. properties: $propertyBag: @@ -232234,7 +305077,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord + Storage version of v1api20200601.SoaRecord An SOA record. properties: $propertyBag: @@ -232262,7 +305105,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord + Storage version of v1api20200601.SrvRecord An SRV record. properties: $propertyBag: @@ -232287,7 +305130,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord + Storage version of v1api20200601.TxtRecord A TXT record. properties: $propertyBag: @@ -232307,7 +305150,7 @@ spec: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesMXRecord_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesSRVRecord_STATUS properties: $propertyBag: additionalProperties: @@ -232319,7 +305162,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord_STATUS + Storage version of v1api20200601.ARecord_STATUS An A record. properties: $propertyBag: @@ -232336,7 +305179,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord_STATUS + Storage version of v1api20200601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -232352,7 +305195,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord_STATUS + Storage version of v1api20200601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -232423,7 +305266,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord_STATUS + Storage version of v1api20200601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -232444,7 +305287,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord_STATUS + Storage version of v1api20200601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -232460,7 +305303,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord_STATUS + Storage version of v1api20200601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -232488,7 +305331,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord_STATUS + Storage version of v1api20200601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -232513,7 +305356,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord_STATUS + Storage version of v1api20200601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -232534,41 +305377,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonesptrrecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZonesPTRRecord - listKind: PrivateDnsZonesPTRRecordList - plural: privatednszonesptrrecords - singular: privatednszonesptrrecord - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -232582,13 +305393,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} properties: apiVersion: description: |- @@ -233012,14 +305823,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesPTRRecord + Storage version of v1api20240601.PrivateDnsZonesSRVRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} properties: apiVersion: description: |- @@ -233039,7 +305850,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesPTRRecord_Spec + description: Storage version of v1api20240601.PrivateDnsZonesSRVRecord_Spec properties: $propertyBag: additionalProperties: @@ -233051,7 +305862,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord + Storage version of v1api20240601.ARecord An A record. properties: $propertyBag: @@ -233068,7 +305879,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord + Storage version of v1api20240601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -233089,7 +305900,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord + Storage version of v1api20240601.CnameRecord A CNAME record. properties: $propertyBag: @@ -233111,7 +305922,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord + Storage version of v1api20240601.MxRecord An MX record. properties: $propertyBag: @@ -233129,7 +305940,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesPTRRecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesSRVRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -233216,7 +306027,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord + Storage version of v1api20240601.PtrRecord A PTR record. properties: $propertyBag: @@ -233232,7 +306043,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord + Storage version of v1api20240601.SoaRecord An SOA record. properties: $propertyBag: @@ -233260,7 +306071,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord + Storage version of v1api20240601.SrvRecord An SRV record. properties: $propertyBag: @@ -233285,7 +306096,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord + Storage version of v1api20240601.TxtRecord A TXT record. properties: $propertyBag: @@ -233305,7 +306116,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesPTRRecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesSRVRecord_STATUS properties: $propertyBag: additionalProperties: @@ -233317,7 +306128,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord_STATUS + Storage version of v1api20240601.ARecord_STATUS An A record. properties: $propertyBag: @@ -233334,7 +306145,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS + Storage version of v1api20240601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -233350,7 +306161,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord_STATUS + Storage version of v1api20240601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -233421,7 +306232,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS + Storage version of v1api20240601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -233442,7 +306253,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS + Storage version of v1api20240601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -233458,7 +306269,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord_STATUS + Storage version of v1api20240601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -233486,7 +306297,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS + Storage version of v1api20240601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -233511,7 +306322,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS + Storage version of v1api20240601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -233532,9 +306343,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonestxtrecords.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesTXTRecord + listKind: PrivateDnsZonesTXTRecordList + plural: privatednszonestxtrecords + singular: privatednszonestxtrecord + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -233548,13 +306394,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} properties: apiVersion: description: |- @@ -233978,14 +306824,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesPTRRecord + Storage version of v1api20200601.PrivateDnsZonesTXTRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/PTR/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} properties: apiVersion: description: |- @@ -234005,7 +306851,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesPTRRecord_Spec + description: Storage version of v1api20200601.PrivateDnsZonesTXTRecord_Spec properties: $propertyBag: additionalProperties: @@ -234017,7 +306863,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord + Storage version of v1api20200601.ARecord An A record. properties: $propertyBag: @@ -234034,7 +306880,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord + Storage version of v1api20200601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -234055,7 +306901,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord + Storage version of v1api20200601.CnameRecord A CNAME record. properties: $propertyBag: @@ -234077,7 +306923,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord + Storage version of v1api20200601.MxRecord An MX record. properties: $propertyBag: @@ -234095,7 +306941,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesPTRRecordOperatorSpec + Storage version of v1api20200601.PrivateDnsZonesTXTRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -234182,7 +307028,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord + Storage version of v1api20200601.PtrRecord A PTR record. properties: $propertyBag: @@ -234198,7 +307044,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord + Storage version of v1api20200601.SoaRecord An SOA record. properties: $propertyBag: @@ -234226,7 +307072,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord + Storage version of v1api20200601.SrvRecord An SRV record. properties: $propertyBag: @@ -234251,7 +307097,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord + Storage version of v1api20200601.TxtRecord A TXT record. properties: $propertyBag: @@ -234271,7 +307117,7 @@ spec: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesPTRRecord_STATUS + description: Storage version of v1api20200601.PrivateDnsZonesTXTRecord_STATUS properties: $propertyBag: additionalProperties: @@ -234283,7 +307129,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20240601.ARecord_STATUS + Storage version of v1api20200601.ARecord_STATUS An A record. properties: $propertyBag: @@ -234300,7 +307146,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20240601.AaaaRecord_STATUS + Storage version of v1api20200601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -234316,7 +307162,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20240601.CnameRecord_STATUS + Storage version of v1api20200601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -234387,7 +307233,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20240601.MxRecord_STATUS + Storage version of v1api20200601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -234408,7 +307254,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20240601.PtrRecord_STATUS + Storage version of v1api20200601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -234424,7 +307270,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20240601.SoaRecord_STATUS + Storage version of v1api20200601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -234452,7 +307298,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20240601.SrvRecord_STATUS + Storage version of v1api20200601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -234477,7 +307323,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20240601.TxtRecord_STATUS + Storage version of v1api20200601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -234487,52 +307333,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - value: - items: - type: string - type: array - type: object - type: array - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonessrvrecords.network.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: network.azure.com - names: - kind: PrivateDnsZonesSRVRecord - listKind: PrivateDnsZonesSRVRecordList - plural: privatednszonessrvrecords - singular: privatednszonessrvrecord - preserveUnknownFields: false - scope: Namespaced - versions: + value: + items: + type: string + type: array + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -234546,13 +307360,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20240601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} properties: apiVersion: description: |- @@ -234976,14 +307790,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20240601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesSRVRecord + Storage version of v1api20240601.PrivateDnsZonesTXTRecord Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} properties: apiVersion: description: |- @@ -235003,7 +307817,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesSRVRecord_Spec + description: Storage version of v1api20240601.PrivateDnsZonesTXTRecord_Spec properties: $propertyBag: additionalProperties: @@ -235015,7 +307829,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord + Storage version of v1api20240601.ARecord An A record. properties: $propertyBag: @@ -235032,7 +307846,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord + Storage version of v1api20240601.AaaaRecord An AAAA record. properties: $propertyBag: @@ -235053,7 +307867,7 @@ spec: type: string cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord + Storage version of v1api20240601.CnameRecord A CNAME record. properties: $propertyBag: @@ -235075,7 +307889,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord + Storage version of v1api20240601.MxRecord An MX record. properties: $propertyBag: @@ -235093,7 +307907,7 @@ spec: type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesSRVRecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesTXTRecordOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -235180,7 +307994,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord + Storage version of v1api20240601.PtrRecord A PTR record. properties: $propertyBag: @@ -235196,7 +308010,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord + Storage version of v1api20240601.SoaRecord An SOA record. properties: $propertyBag: @@ -235224,7 +308038,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord + Storage version of v1api20240601.SrvRecord An SRV record. properties: $propertyBag: @@ -235249,7 +308063,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord + Storage version of v1api20240601.TxtRecord A TXT record. properties: $propertyBag: @@ -235269,7 +308083,7 @@ spec: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesSRVRecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesTXTRecord_STATUS properties: $propertyBag: additionalProperties: @@ -235281,7 +308095,7 @@ spec: aRecords: items: description: |- - Storage version of v1api20200601.ARecord_STATUS + Storage version of v1api20240601.ARecord_STATUS An A record. properties: $propertyBag: @@ -235298,7 +308112,7 @@ spec: aaaaRecords: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS + Storage version of v1api20240601.AaaaRecord_STATUS An AAAA record. properties: $propertyBag: @@ -235314,7 +308128,7 @@ spec: type: array cnameRecord: description: |- - Storage version of v1api20200601.CnameRecord_STATUS + Storage version of v1api20240601.CnameRecord_STATUS A CNAME record. properties: $propertyBag: @@ -235385,7 +308199,7 @@ spec: mxRecords: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS + Storage version of v1api20240601.MxRecord_STATUS An MX record. properties: $propertyBag: @@ -235406,7 +308220,7 @@ spec: ptrRecords: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS + Storage version of v1api20240601.PtrRecord_STATUS A PTR record. properties: $propertyBag: @@ -235422,7 +308236,7 @@ spec: type: array soaRecord: description: |- - Storage version of v1api20200601.SoaRecord_STATUS + Storage version of v1api20240601.SoaRecord_STATUS An SOA record. properties: $propertyBag: @@ -235450,7 +308264,7 @@ spec: srvRecords: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS + Storage version of v1api20240601.SrvRecord_STATUS An SRV record. properties: $propertyBag: @@ -235475,7 +308289,7 @@ spec: txtRecords: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS + Storage version of v1api20240601.TxtRecord_STATUS A TXT record. properties: $propertyBag: @@ -235496,9 +308310,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: privatednszonesvirtualnetworklinks.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PrivateDnsZonesVirtualNetworkLink + listKind: PrivateDnsZonesVirtualNetworkLinkList + plural: privatednszonesvirtualnetworklinks + singular: privatednszonesvirtualnetworklink + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -235512,13 +308361,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} properties: apiVersion: description: |- @@ -235539,59 +308388,17 @@ spec: type: object spec: properties: - aRecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - aaaaRecords: - description: 'AaaaRecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cnameRecord: - description: 'CnameRecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object etag: - description: 'Etag: The ETag of the record set.' + description: 'Etag: The ETag of the virtual network link.' + type: string + location: + description: 'Location: The Azure Region where the resource lives' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object - mxRecords: - description: 'MxRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -235671,107 +308478,45 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ptrRecords: - description: 'PtrRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - soaRecord: - description: 'SoaRecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTtl: - description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object - srvRecords: - description: 'SrvRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - ttl: - description: 'Ttl: The TTL (time-to-live) of the records in the record set.' - type: integer - txtRecords: - description: 'TxtRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: array - type: object - type: array + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object required: - owner type: object status: properties: - aRecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - aaaaRecords: - description: 'AaaaRecords: The list of AAAA records in the record set.' - items: - description: An AAAA record. - properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string - type: object - type: array - cnameRecord: - description: 'CnameRecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -235817,111 +308562,48 @@ spec: type: object type: array etag: - description: 'Etag: The ETag of the record set.' - type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + description: 'Etag: The ETag of the virtual network link.' type: string id: description: |- Id: Fully qualified resource Id for the resource. Example - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. type: string - isAutoRegistered: - description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' + location: + description: 'Location: The Azure Region where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. + type: string + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? type: boolean - metadata: + tags: additionalProperties: type: string - description: 'Metadata: The metadata attached to the record set.' + description: 'Tags: Resource tags.' type: object - mxRecords: - description: 'MxRecords: The list of MX records in the record set.' - items: - description: An MX record. - properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' - type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer - type: object - type: array - name: - description: 'Name: The name of the record set.' + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' type: string - ptrRecords: - description: 'PtrRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - soaRecord: - description: 'SoaRecord: The SOA record in the record set.' + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' + id: + description: 'Id: Resource ID.' type: string - minimumTtl: - description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer type: object - srvRecords: - description: 'SrvRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - ttl: - description: 'Ttl: The TTL (time-to-live) of the records in the record set.' - type: integer - txtRecords: - description: 'TxtRecords: The list of TXT records in the record set.' - items: - description: A TXT record. - properties: - value: - description: 'Value: The text value of this TXT record.' - items: - type: string - type: array - type: object - type: array - type: - description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + virtualNetworkLinkState: + description: |- + VirtualNetworkLinkState: The status of the virtual network link to the Private DNS zone. Possible values are + 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored. type: string type: object type: object @@ -235942,14 +308624,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesSRVRecord + Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/SRV/{relativeRecordSetName} + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} properties: apiVersion: description: |- @@ -235969,7 +308651,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesSRVRecord_Spec + description: Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink_Spec properties: $propertyBag: additionalProperties: @@ -235978,49 +308660,218 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aRecords: - items: - description: |- - Storage version of v1api20240601.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLinkOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - ipv4Address: + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20200601.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - aaaaRecords: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: |- - Storage version of v1api20240601.AaaaRecord - An AAAA record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + etag: type: string - cnameRecord: + id: + type: string + location: + type: string + name: + type: string + provisioningState: + type: string + registrationEnabled: + type: boolean + tags: + additionalProperties: + type: string + type: object + type: + type: string + virtualNetwork: description: |- - Storage version of v1api20240601.CnameRecord - A CNAME record. + Storage version of v1api20200601.SubResource_STATUS + Reference to another subresource. properties: $propertyBag: additionalProperties: @@ -236029,37 +308880,356 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cname: + id: type: string type: object + virtualNetworkLinkState: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string etag: + description: 'Etag: The ETag of the virtual network link.' type: string - metadata: + location: + description: 'Location: The Azure Region where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a network.azure.com/PrivateDnsZone resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + resolutionPolicy: + description: |- + ResolutionPolicy: The resolution policy on the virtual network link. Only applicable for virtual network links to + privatelink zones, and for A,AAAA,CNAME queries. When set to 'NxDomainRedirect', Azure DNS resolver falls back to public + resolution if private dns query resolution results in non-existent domain response. + enum: + - Default + - NxDomainRedirect + type: string + tags: additionalProperties: type: string + description: 'Tags: Resource tags.' type: object - mxRecords: + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' items: - description: |- - Storage version of v1api20240601.MxRecord - An MX record. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - preference: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array + etag: + description: 'Etag: The ETag of the virtual network link.' + type: string + id: + description: |- + Id: Fully qualified resource Id for the resource. Example - + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + type: string + location: + description: 'Location: The Azure Region where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: |- + ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this + value will be ignored. + type: string + registrationEnabled: + description: |- + RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone + enabled? + type: boolean + resolutionPolicy: + description: |- + ResolutionPolicy: The resolution policy on the virtual network link. Only applicable for virtual network links to + privatelink zones, and for A,AAAA,CNAME queries. When set to 'NxDomainRedirect', Azure DNS resolver falls back to public + resolution if private dns query resolution results in non-existent domain response. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + type: string + virtualNetwork: + description: 'VirtualNetwork: The reference of the virtual network.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + virtualNetworkLinkState: + description: |- + VirtualNetworkLinkState: The status of the virtual network link to the Private DNS zone. Possible values are + 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored. + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink + Generator information: + - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + etag: + type: string + location: + type: string operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesSRVRecordOperatorSpec + Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLinkOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -236143,27 +309313,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ptrRecords: - items: - description: |- - Storage version of v1api20240601.PtrRecord - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - soaRecord: - description: |- - Storage version of v1api20240601.SoaRecord - An SOA record. + registrationEnabled: + type: boolean + resolutionPolicy: + type: string + tags: + additionalProperties: + type: string + type: object + virtualNetwork: + description: |- + Storage version of v1api20240601.SubResource + Reference to another subresource. properties: $propertyBag: additionalProperties: @@ -236172,70 +309333,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTtl: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - srvRecords: - items: - description: |- - Storage version of v1api20240601.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - ttl: - type: integer - txtRecords: - items: - description: |- - Storage version of v1api20240601.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: array - type: object - type: array + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object required: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesSRVRecord_STATUS + description: Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink_STATUS properties: $propertyBag: additionalProperties: @@ -236244,55 +309367,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aRecords: - items: - description: |- - Storage version of v1api20240601.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - aaaaRecords: - items: - description: |- - Storage version of v1api20240601.AaaaRecord_STATUS - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv6Address: - type: string - type: object - type: array - cnameRecord: - description: |- - Storage version of v1api20240601.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -236338,58 +309412,28 @@ spec: type: array etag: type: string - fqdn: - type: string id: type: string - isAutoRegistered: + location: + type: string + name: + type: string + provisioningState: + type: string + registrationEnabled: type: boolean - metadata: + resolutionPolicy: + type: string + tags: additionalProperties: type: string type: object - mxRecords: - items: - description: |- - Storage version of v1api20240601.MxRecord_STATUS - An MX record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exchange: - type: string - preference: - type: integer - type: object - type: array - name: + type: type: string - ptrRecords: - items: - description: |- - Storage version of v1api20240601.PtrRecord_STATUS - A PTR record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ptrdname: - type: string - type: object - type: array - soaRecord: + virtualNetwork: description: |- - Storage version of v1api20240601.SoaRecord_STATUS - An SOA record. + Storage version of v1api20240601.SubResource_STATUS + Reference to another subresource. properties: $propertyBag: additionalProperties: @@ -236398,66 +309442,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: - type: string - expireTime: - type: integer - host: + id: type: string - minimumTtl: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer type: object - srvRecords: - items: - description: |- - Storage version of v1api20240601.SrvRecord_STATUS - An SRV record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - ttl: - type: integer - txtRecords: - items: - description: |- - Storage version of v1api20240601.TxtRecord_STATUS - A TXT record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: - type: string - type: array - type: object - type: array - type: + virtualNetworkLinkState: type: string type: object type: object @@ -236471,11 +309459,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonestxtrecords.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: privateendpoints.network.azure.com spec: conversion: strategy: Webhook @@ -236490,10 +309478,13 @@ spec: - v1 group: network.azure.com names: - kind: PrivateDnsZonesTXTRecord - listKind: PrivateDnsZonesTXTRecordList - plural: privatednszonestxtrecords - singular: privatednszonestxtrecord + categories: + - azure + - network + kind: PrivateEndpoint + listKind: PrivateEndpointList + plural: privateendpoints + singular: privateendpoint preserveUnknownFields: false scope: Namespaced versions: @@ -236510,13 +309501,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} properties: apiVersion: description: |- @@ -236537,24 +309528,31 @@ spec: type: object spec: properties: - aRecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - aaaaRecords: - description: 'AaaaRecords: The list of AAAA records in the record set.' + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' items: - description: An AAAA record. + description: An application security group in a resource group. properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array azureName: @@ -236562,32 +309560,100 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cnameRecord: - description: 'CnameRecord: The CNAME record in the record set.' + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone type: string type: object - etag: - description: 'Etag: The ETag of the record set.' + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. + items: + description: An IP Configuration of the private endpoint. + properties: + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object - mxRecords: - description: 'MxRecords: The list of MX records in the record set.' + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. items: - description: An MX record. + description: PrivateLinkServiceConnection resource. properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer type: object type: array operatorSpec: @@ -236625,6 +309691,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + primaryNicPrivateIpAddress: + description: |- + PrimaryNicPrivateIpAddress: indicates where the PrimaryNicPrivateIpAddress config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -236660,7 +309747,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -236669,107 +309756,106 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ptrRecords: - description: 'PtrRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - soaRecord: - description: 'SoaRecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTtl: - description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - srvRecords: - description: 'SrvRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - ttl: - description: 'Ttl: The TTL (time-to-live) of the records in the record set.' - type: integer - txtRecords: - description: 'TxtRecords: The list of TXT records in the record set.' + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' items: - description: A TXT record. + description: PrivateLinkServiceConnection resource. properties: - value: - description: 'Value: The text value of this TXT record.' + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' items: type: string type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string type: object type: array + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner type: object status: + description: Private endpoint resource. properties: - aRecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - aaaaRecords: - description: 'AaaaRecords: The list of AAAA records in the record set.' + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' items: - description: An AAAA record. + description: An application security group in a resource group. properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' + id: + description: 'Id: Resource ID.' type: string type: object type: array - cnameRecord: - description: 'CnameRecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -236814,112 +309900,202 @@ spec: - type type: object type: array - etag: - description: 'Etag: The ETag of the record set.' + customDnsConfigs: + description: 'CustomDnsConfigs: An array of custom dns configurations.' + items: + description: Contains custom Dns resolution configuration from customer. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: A list of private ip addresses of the private endpoint.' + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object id: - description: |- - Id: Fully qualified resource Id for the resource. Example - - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + description: 'Id: Resource ID.' type: string - isAutoRegistered: - description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' - type: boolean - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object - mxRecords: - description: 'MxRecords: The list of MX records in the record set.' + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. items: - description: An MX record. + description: An IP Configuration of the private endpoint. properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: + description: 'Type: The resource type.' type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer type: object type: array - name: - description: 'Name: The name of the record set.' + location: + description: 'Location: Resource location.' type: string - ptrRecords: - description: 'PtrRecords: The list of PTR records in the record set.' + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. items: - description: A PTR record. + description: PrivateLinkServiceConnection resource. properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' type: string type: object type: array - soaRecord: - description: 'SoaRecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTtl: - description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - srvRecords: - description: 'SrvRecords: The list of SRV records in the record set.' + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private endpoint.' items: - description: An SRV record. + description: A network interface in a resource group. properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' + id: + description: 'Id: Resource ID.' type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer type: object type: array - ttl: - description: 'Ttl: The TTL (time-to-live) of the records in the record set.' - type: integer - txtRecords: - description: 'TxtRecords: The list of TXT records in the record set.' + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' items: - description: A TXT record. + description: PrivateLinkServiceConnection resource. properties: - value: - description: 'Value: The text value of this TXT record.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' items: type: string type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' + type: string type: object type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint resource.' + type: string + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + description: 'Type: Resource type.' type: string type: object type: object @@ -236940,14 +310116,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesTXTRecord + Storage version of v1api20220701.PrivateEndpoint Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} properties: apiVersion: description: |- @@ -236967,7 +310143,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesTXTRecord_Spec + description: Storage version of v1api20220701.PrivateEndpoint_Spec properties: $propertyBag: additionalProperties: @@ -236976,11 +310152,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aRecords: + applicationSecurityGroups: items: description: |- - Storage version of v1api20200601.ARecord - An A record. + Storage version of v1api20220701.ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -236989,25 +310165,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipv4Address: - type: string - type: object - type: array - aaaaRecords: - items: - description: |- - Storage version of v1api20200601.AaaaRecord - An AAAA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - ipv6Address: - type: string type: object type: array azureName: @@ -237015,10 +310192,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cnameRecord: + customNetworkInterfaceName: + type: string + extendedLocation: description: |- - Storage version of v1api20200601.CnameRecord - A CNAME record. + Storage version of v1api20220701.ExtendedLocation + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -237027,20 +310206,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cname: + name: + type: string + type: type: string type: object - etag: + ipConfigurations: + items: + description: |- + Storage version of v1api20220701.PrivateEndpointIPConfiguration + An IP Configuration of the private endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: object + type: array + location: type: string - metadata: - additionalProperties: - type: string - type: object - mxRecords: + manualPrivateLinkServiceConnections: items: description: |- - Storage version of v1api20200601.MxRecord - An MX record. + Storage version of v1api20220701.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -237049,15 +310249,58 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - exchange: + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: type: string - preference: - type: integer type: object type: array operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesTXTRecordOperatorSpec + Storage version of v1api20220701.PrivateEndpointOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -237096,6 +310339,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20220701.PrivateEndpointOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryNicPrivateIpAddress: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -237132,7 +310404,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -237141,11 +310413,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ptrRecords: + privateLinkServiceConnections: items: description: |- - Storage version of v1api20200601.PtrRecord - A PTR record. + Storage version of v1api20220701.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -237154,14 +310426,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ptrdname: + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: type: string type: object type: array - soaRecord: + subnet: description: |- - Storage version of v1api20200601.SoaRecord - An SOA record. + Storage version of v1api20220701.Subnet_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. properties: $propertyBag: additionalProperties: @@ -237170,70 +310487,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTtl: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - srvRecords: - items: - description: |- - Storage version of v1api20200601.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - ttl: - type: integer - txtRecords: - items: - description: |- - Storage version of v1api20200601.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: array - type: object - type: array + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesTXTRecord_STATUS + description: |- + Storage version of v1api20220701.PrivateEndpoint_STATUS_PrivateEndpoint_SubResourceEmbedded + Private endpoint resource. properties: $propertyBag: additionalProperties: @@ -237242,28 +310527,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aRecords: - items: - description: |- - Storage version of v1api20200601.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - aaaaRecords: + applicationSecurityGroups: items: description: |- - Storage version of v1api20200601.AaaaRecord_STATUS - An AAAA record. + Storage version of v1api20220701.ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -237272,25 +310540,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipv6Address: + id: type: string type: object type: array - cnameRecord: - description: |- - Storage version of v1api20200601.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -237334,23 +310587,55 @@ spec: - type type: object type: array - etag: + customDnsConfigs: + items: + description: |- + Storage version of v1api20220701.CustomDnsConfigPropertiesFormat_STATUS + Contains custom Dns resolution configuration from customer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: type: string - fqdn: + etag: type: string + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object id: type: string - isAutoRegistered: - type: boolean - metadata: - additionalProperties: - type: string - type: object - mxRecords: + ipConfigurations: items: description: |- - Storage version of v1api20200601.MxRecord_STATUS - An MX record. + Storage version of v1api20220701.PrivateEndpointIPConfiguration_STATUS + An IP Configuration of the private endpoint. properties: $propertyBag: additionalProperties: @@ -237359,19 +310644,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - exchange: + etag: + type: string + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: type: string - preference: - type: integer type: object type: array - name: + location: type: string - ptrRecords: + manualPrivateLinkServiceConnections: items: description: |- - Storage version of v1api20200601.PtrRecord_STATUS - A PTR record. + Storage version of v1api20220701.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -237380,42 +310673,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ptrdname: + etag: + type: string + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: type: string type: object type: array - soaRecord: - description: |- - Storage version of v1api20200601.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTtl: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - srvRecords: + name: + type: string + networkInterfaces: items: description: |- - Storage version of v1api20200601.SrvRecord_STATUS - An SRV record. + Storage version of v1api20220701.NetworkInterface_STATUS_PrivateEndpoint_SubResourceEmbedded + A network interface in a resource group. properties: $propertyBag: additionalProperties: @@ -237424,23 +310727,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - port: - type: integer - priority: - type: integer - target: + id: type: string - weight: - type: integer type: object type: array - ttl: - type: integer - txtRecords: + privateLinkServiceConnections: items: description: |- - Storage version of v1api20200601.TxtRecord_STATUS - A TXT record. + Storage version of v1api20220701.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -237449,12 +310744,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - value: + etag: + type: string + groupIds: items: type: string type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20220701.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: + type: string type: object type: array + provisioningState: + type: string + subnet: + description: |- + Storage version of v1api20220701.Subnet_STATUS_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object type: type: string type: object @@ -237476,13 +310825,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} properties: apiVersion: description: |- @@ -237503,24 +310852,31 @@ spec: type: object spec: properties: - aRecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - aaaaRecords: - description: 'AaaaRecords: The list of AAAA records in the record set.' + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' items: - description: An AAAA record. + description: An application security group in a resource group. properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' - type: string + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array azureName: @@ -237528,32 +310884,100 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cnameRecord: - description: 'CnameRecord: The CNAME record in the record set.' + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone type: string type: object - etag: - description: 'Etag: The ETag of the record set.' + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. + items: + description: An IP Configuration of the private endpoint. + properties: + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object - mxRecords: - description: 'MxRecords: The list of MX records in the record set.' + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. items: - description: An MX record. + description: PrivateLinkServiceConnection resource. properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer type: object type: array operatorSpec: @@ -237591,6 +311015,27 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + primaryNicPrivateIpAddress: + description: |- + PrimaryNicPrivateIpAddress: indicates where the PrimaryNicPrivateIpAddress config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -237626,7 +311071,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -237635,107 +311080,106 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ptrRecords: - description: 'PtrRecords: The list of PTR records in the record set.' - items: - description: A PTR record. - properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' - type: string - type: object - type: array - soaRecord: - description: 'SoaRecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTtl: - description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - srvRecords: - description: 'SrvRecords: The list of SRV records in the record set.' - items: - description: An SRV record. - properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' - type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer - type: object - type: array - ttl: - description: 'Ttl: The TTL (time-to-live) of the records in the record set.' - type: integer - txtRecords: - description: 'TxtRecords: The list of TXT records in the record set.' + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' items: - description: A TXT record. + description: PrivateLinkServiceConnection resource. properties: - value: - description: 'Value: The text value of this TXT record.' + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' items: type: string type: array + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string type: object type: array + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - owner type: object status: + description: Private endpoint resource. properties: - aRecords: - description: 'ARecords: The list of A records in the record set.' - items: - description: An A record. - properties: - ipv4Address: - description: 'Ipv4Address: The IPv4 address of this A record.' - type: string - type: object - type: array - aaaaRecords: - description: 'AaaaRecords: The list of AAAA records in the record set.' + applicationSecurityGroups: + description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' items: - description: An AAAA record. + description: An application security group in a resource group. properties: - ipv6Address: - description: 'Ipv6Address: The IPv6 address of this AAAA record.' + id: + description: 'Id: Resource ID.' type: string type: object type: array - cnameRecord: - description: 'CnameRecord: The CNAME record in the record set.' - properties: - cname: - description: 'Cname: The canonical name for this CNAME record.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -237780,112 +311224,202 @@ spec: - type type: object type: array - etag: - description: 'Etag: The ETag of the record set.' + customDnsConfigs: + description: 'CustomDnsConfigs: An array of custom dns configurations.' + items: + description: Contains custom Dns resolution configuration from customer. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: A list of private ip addresses of the private endpoint.' + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: + description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' type: string - fqdn: - description: 'Fqdn: Fully qualified domain name of the record set.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the load balancer.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object id: - description: |- - Id: Fully qualified resource Id for the resource. Example - - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. + description: 'Id: Resource ID.' type: string - isAutoRegistered: - description: 'IsAutoRegistered: Is the record set auto-registered in the Private DNS zone through a virtual network link?' - type: boolean - metadata: - additionalProperties: - type: string - description: 'Metadata: The metadata attached to the record set.' - type: object - mxRecords: - description: 'MxRecords: The list of MX records in the record set.' + ipConfigurations: + description: |- + IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party + Service's endpoints. items: - description: An MX record. + description: An IP Configuration of the private endpoint. properties: - exchange: - description: 'Exchange: The domain name of the mail host for this MX record.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupId: + description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + memberName: + description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group.' + type: string + privateIPAddress: + description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + type: string + type: + description: 'Type: The resource type.' type: string - preference: - description: 'Preference: The preference value for this MX record.' - type: integer type: object type: array - name: - description: 'Name: The name of the record set.' + location: + description: 'Location: Resource location.' type: string - ptrRecords: - description: 'PtrRecords: The list of PTR records in the record set.' + manualPrivateLinkServiceConnections: + description: |- + ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when + the network admin does not have access to approve connections to the remote resource. items: - description: A PTR record. + description: PrivateLinkServiceConnection resource. properties: - ptrdname: - description: 'Ptrdname: The PTR target domain name for this PTR record.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' type: string type: object type: array - soaRecord: - description: 'SoaRecord: The SOA record in the record set.' - properties: - email: - description: 'Email: The email contact for this SOA record.' - type: string - expireTime: - description: 'ExpireTime: The expire time for this SOA record.' - type: integer - host: - description: 'Host: The domain name of the authoritative name server for this SOA record.' - type: string - minimumTtl: - description: 'MinimumTtl: The minimum value for this SOA record. By convention this is used to determine the negative caching duration.' - type: integer - refreshTime: - description: 'RefreshTime: The refresh value for this SOA record.' - type: integer - retryTime: - description: 'RetryTime: The retry time for this SOA record.' - type: integer - serialNumber: - description: 'SerialNumber: The serial number for this SOA record.' - type: integer - type: object - srvRecords: - description: 'SrvRecords: The list of SRV records in the record set.' + name: + description: 'Name: Resource name.' + type: string + networkInterfaces: + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private endpoint.' items: - description: An SRV record. + description: A network interface in a resource group. properties: - port: - description: 'Port: The port value for this SRV record.' - type: integer - priority: - description: 'Priority: The priority value for this SRV record.' - type: integer - target: - description: 'Target: The target domain name for this SRV record.' + id: + description: 'Id: Resource ID.' type: string - weight: - description: 'Weight: The weight value for this SRV record.' - type: integer type: object type: array - ttl: - description: 'Ttl: The TTL (time-to-live) of the records in the record set.' - type: integer - txtRecords: - description: 'TxtRecords: The list of TXT records in the record set.' + privateLinkServiceConnections: + description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' items: - description: A TXT record. + description: PrivateLinkServiceConnection resource. properties: - value: - description: 'Value: The text value of this TXT record.' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + groupIds: + description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' items: type: string type: array + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote + resource. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + privateLinkServiceId: + description: 'PrivateLinkServiceId: The resource id of private link service.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service connection resource.' + type: string + requestMessage: + description: |- + RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 + chars. + type: string + type: + description: 'Type: The resource type.' + type: string type: object type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint resource.' + type: string + subnet: + description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' + description: 'Type: Resource type.' type: string type: object type: object @@ -237906,14 +311440,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesTXTRecord + Storage version of v1api20240301.PrivateEndpoint Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/TXT/{relativeRecordSetName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} properties: apiVersion: description: |- @@ -237933,37 +311467,20 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesTXTRecord_Spec + description: Storage version of v1api20240301.PrivateEndpoint_Spec properties: $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aRecords: - items: - description: |- - Storage version of v1api20240601.ARecord - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - aaaaRecords: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + applicationSecurityGroups: items: description: |- - Storage version of v1api20240601.AaaaRecord - An AAAA record. + Storage version of v1api20240301.ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -237972,8 +311489,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipv6Address: - type: string + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array azureName: @@ -237981,10 +311516,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cnameRecord: + customNetworkInterfaceName: + type: string + extendedLocation: description: |- - Storage version of v1api20240601.CnameRecord - A CNAME record. + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. properties: $propertyBag: additionalProperties: @@ -237993,20 +311530,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cname: + name: + type: string + type: type: string type: object - etag: + ipConfigurations: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointIPConfiguration + An IP Configuration of the private endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: object + type: array + location: type: string - metadata: - additionalProperties: - type: string - type: object - mxRecords: + manualPrivateLinkServiceConnections: items: description: |- - Storage version of v1api20240601.MxRecord - An MX record. + Storage version of v1api20240301.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -238015,15 +311573,58 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - exchange: + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: type: string - preference: - type: integer type: object type: array operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesTXTRecordOperatorSpec + Storage version of v1api20240301.PrivateEndpointOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -238062,6 +311663,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20240301.PrivateEndpointOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryNicPrivateIpAddress: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -238098,7 +311728,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -238107,11 +311737,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ptrRecords: + privateLinkServiceConnections: items: description: |- - Storage version of v1api20240601.PtrRecord - A PTR record. + Storage version of v1api20240301.PrivateLinkServiceConnection + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -238120,14 +311750,59 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ptrdname: + groupIds: + items: + type: string + type: array + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceReference: + description: 'PrivateLinkServiceReference: The resource id of private link service.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestMessage: type: string type: object type: array - soaRecord: + subnet: description: |- - Storage version of v1api20240601.SoaRecord - An SOA record. + Storage version of v1api20240301.Subnet_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. properties: $propertyBag: additionalProperties: @@ -238136,70 +311811,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTtl: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - srvRecords: - items: - description: |- - Storage version of v1api20240601.SrvRecord - An SRV record. - properties: - $propertyBag: - additionalProperties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - port: - type: integer - priority: - type: integer - target: - type: string - weight: - type: integer - type: object - type: array - ttl: - type: integer - txtRecords: - items: - description: |- - Storage version of v1api20240601.TxtRecord - A TXT record. - properties: - $propertyBag: - additionalProperties: + group: + description: Group is the Kubernetes group of the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - value: - items: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: array - type: object - type: array + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesTXTRecord_STATUS + description: |- + Storage version of v1api20240301.PrivateEndpoint_STATUS_PrivateEndpoint_SubResourceEmbedded + Private endpoint resource. properties: $propertyBag: additionalProperties: @@ -238208,28 +311851,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - aRecords: - items: - description: |- - Storage version of v1api20240601.ARecord_STATUS - An A record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipv4Address: - type: string - type: object - type: array - aaaaRecords: + applicationSecurityGroups: items: description: |- - Storage version of v1api20240601.AaaaRecord_STATUS - An AAAA record. + Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded + An application security group in a resource group. properties: $propertyBag: additionalProperties: @@ -238238,25 +311864,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipv6Address: + id: type: string type: object type: array - cnameRecord: - description: |- - Storage version of v1api20240601.CnameRecord_STATUS - A CNAME record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cname: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -238300,23 +311911,55 @@ spec: - type type: object type: array - etag: + customDnsConfigs: + items: + description: |- + Storage version of v1api20240301.CustomDnsConfigPropertiesFormat_STATUS + Contains custom Dns resolution configuration from customer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + type: object + type: array + customNetworkInterfaceName: type: string - fqdn: + etag: type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object id: type: string - isAutoRegistered: - type: boolean - metadata: - additionalProperties: - type: string - type: object - mxRecords: + ipConfigurations: items: description: |- - Storage version of v1api20240601.MxRecord_STATUS - An MX record. + Storage version of v1api20240301.PrivateEndpointIPConfiguration_STATUS + An IP Configuration of the private endpoint. properties: $propertyBag: additionalProperties: @@ -238325,19 +311968,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - exchange: + etag: + type: string + groupId: + type: string + memberName: + type: string + name: + type: string + privateIPAddress: + type: string + type: type: string - preference: - type: integer type: object type: array - name: + location: type: string - ptrRecords: + manualPrivateLinkServiceConnections: items: description: |- - Storage version of v1api20240601.PtrRecord_STATUS - A PTR record. + Storage version of v1api20240301.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -238346,42 +311997,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ptrdname: + etag: + type: string + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: type: string type: object type: array - soaRecord: - description: |- - Storage version of v1api20240601.SoaRecord_STATUS - An SOA record. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - email: - type: string - expireTime: - type: integer - host: - type: string - minimumTtl: - type: integer - refreshTime: - type: integer - retryTime: - type: integer - serialNumber: - type: integer - type: object - srvRecords: + name: + type: string + networkInterfaces: items: description: |- - Storage version of v1api20240601.SrvRecord_STATUS - An SRV record. + Storage version of v1api20240301.NetworkInterface_STATUS_PrivateEndpoint_SubResourceEmbedded + A network interface in a resource group. properties: $propertyBag: additionalProperties: @@ -238390,23 +312051,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - port: - type: integer - priority: - type: integer - target: + id: type: string - weight: - type: integer type: object type: array - ttl: - type: integer - txtRecords: + privateLinkServiceConnections: items: description: |- - Storage version of v1api20240601.TxtRecord_STATUS - A TXT record. + Storage version of v1api20240301.PrivateLinkServiceConnection_STATUS + PrivateLinkServiceConnection resource. properties: $propertyBag: additionalProperties: @@ -238415,12 +312068,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - value: + etag: + type: string + groupIds: items: type: string type: array + id: + type: string + name: + type: string + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20240301.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + privateLinkServiceId: + type: string + provisioningState: + type: string + requestMessage: + type: string + type: + type: string type: object type: array + provisioningState: + type: string + subnet: + description: |- + Storage version of v1api20240301.Subnet_STATUS_PrivateEndpoint_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object type: type: string type: object @@ -238435,11 +312142,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatednszonesvirtualnetworklinks.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: privateendpointsprivatednszonegroups.network.azure.com spec: conversion: strategy: Webhook @@ -238454,10 +312161,13 @@ spec: - v1 group: network.azure.com names: - kind: PrivateDnsZonesVirtualNetworkLink - listKind: PrivateDnsZonesVirtualNetworkLinkList - plural: privatednszonesvirtualnetworklinks - singular: privatednszonesvirtualnetworklink + categories: + - azure + - network + kind: PrivateEndpointsPrivateDnsZoneGroup + listKind: PrivateEndpointsPrivateDnsZoneGroupList + plural: privateendpointsprivatednszonegroups + singular: privateendpointsprivatednszonegroup preserveUnknownFields: false scope: Namespaced versions: @@ -238474,13 +312184,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601 + name: v1api20220701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} properties: apiVersion: description: |- @@ -238506,12 +312216,6 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - etag: - description: 'Etag: The ETag of the virtual network link.' - type: string - location: - description: 'Location: The Azure Region where the resource lives' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -238582,7 +312286,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a network.azure.com/PrivateEndpoint resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -238591,40 +312295,36 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - registrationEnabled: - description: |- - RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone - enabled? - type: boolean - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - virtualNetwork: - description: 'VirtualNetwork: The reference of the virtual network.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array required: - owner type: object @@ -238675,48 +312375,56 @@ spec: type: object type: array etag: - description: 'Etag: The ETag of the virtual network link.' + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: - description: |- - Id: Fully qualified resource Id for the resource. Example - - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. - type: string - location: - description: 'Location: The Azure Region where the resource lives' + description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' type: string + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneId: + description: 'PrivateDnsZoneId: The resource id of the private dns zone.' + type: string + recordSets: + description: 'RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.' + items: + description: A collective group of information about the record set information. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: The private ip address of the private endpoint.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the recordset.' + type: string + recordSetName: + description: 'RecordSetName: Recordset name.' + type: string + recordType: + description: 'RecordType: Resource record type.' + type: string + ttl: + description: 'Ttl: Recordset time to live.' + type: integer + type: object + type: array + type: object + type: array provisioningState: - description: |- - ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this - value will be ignored. - type: string - registrationEnabled: - description: |- - RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone - enabled? - type: boolean - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - type: - description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' - type: string - virtualNetwork: - description: 'VirtualNetwork: The reference of the virtual network.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - virtualNetworkLinkState: - description: |- - VirtualNetworkLinkState: The status of the virtual network link to the Private DNS zone. Possible values are - 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored. + description: 'ProvisioningState: The provisioning state of the private dns zone group resource.' type: string type: object type: object @@ -238737,14 +312445,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200601storage + name: v1api20220701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink + Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2020-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} properties: apiVersion: description: |- @@ -238764,7 +312472,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink_Spec + description: Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup_Spec properties: $propertyBag: additionalProperties: @@ -238778,13 +312486,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - etag: - type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLinkOperatorSpec + Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -238859,7 +312563,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a network.azure.com/PrivateEndpoint resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -238868,50 +312572,48 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - registrationEnabled: - type: boolean - tags: - additionalProperties: - type: string - type: object - virtualNetwork: - description: |- - Storage version of v1api20200601.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20220701.PrivateDnsZoneConfig + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20200601.PrivateDnsZonesVirtualNetworkLink_STATUS + description: Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup_STATUS properties: $propertyBag: additionalProperties: @@ -238967,36 +312669,57 @@ spec: type: string id: type: string - location: - type: string name: type: string - provisioningState: - type: string - registrationEnabled: - type: boolean - tags: - additionalProperties: - type: string - type: object - type: - type: string - virtualNetwork: - description: |- - Storage version of v1api20200601.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20220701.PrivateDnsZoneConfig_STATUS + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - virtualNetworkLinkState: + privateDnsZoneId: + type: string + recordSets: + items: + description: |- + Storage version of v1api20220701.RecordSet_STATUS + A collective group of information about the record set information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + provisioningState: + type: string + recordSetName: + type: string + recordType: + type: string + ttl: + type: integer + type: object + type: array + type: object + type: array + provisioningState: type: string type: object type: object @@ -239017,13 +312740,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} properties: apiVersion: description: |- @@ -239049,12 +312772,6 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - etag: - description: 'Etag: The ETag of the virtual network link.' - type: string - location: - description: 'Location: The Azure Region where the resource lives' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -239125,7 +312842,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a network.azure.com/PrivateEndpoint resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -239134,49 +312851,36 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - registrationEnabled: - description: |- - RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone - enabled? - type: boolean - resolutionPolicy: - description: |- - ResolutionPolicy: The resolution policy on the virtual network link. Only applicable for virtual network links to - privatelink zones, and for A,AAAA,CNAME queries. When set to 'NxDomainRedirect', Azure DNS resolver falls back to public - resolution if private dns query resolution results in non-existent domain response. - enum: - - Default - - NxDomainRedirect - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - virtualNetwork: - description: 'VirtualNetwork: The reference of the virtual network.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array required: - owner type: object @@ -239226,55 +312930,57 @@ spec: - type type: object type: array - etag: - description: 'Etag: The ETag of the virtual network link.' - type: string - id: - description: |- - Id: Fully qualified resource Id for the resource. Example - - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'. - type: string - location: - description: 'Location: The Azure Region where the resource lives' - type: string - name: - description: 'Name: The name of the resource' - type: string + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneConfigs: + description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' + items: + description: PrivateDnsZoneConfig resource. + properties: + name: + description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' + type: string + privateDnsZoneId: + description: 'PrivateDnsZoneId: The resource id of the private dns zone.' + type: string + recordSets: + description: 'RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.' + items: + description: A collective group of information about the record set information. + properties: + fqdn: + description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' + type: string + ipAddresses: + description: 'IpAddresses: The private ip address of the private endpoint.' + items: + type: string + type: array + provisioningState: + description: 'ProvisioningState: The provisioning state of the recordset.' + type: string + recordSetName: + description: 'RecordSetName: Recordset name.' + type: string + recordType: + description: 'RecordType: Resource record type.' + type: string + ttl: + description: 'Ttl: Recordset time to live.' + type: integer + type: object + type: array + type: object + type: array provisioningState: - description: |- - ProvisioningState: The provisioning state of the resource. This is a read-only property and any attempt to set this - value will be ignored. - type: string - registrationEnabled: - description: |- - RegistrationEnabled: Is auto-registration of virtual machine records in the virtual network in the Private DNS zone - enabled? - type: boolean - resolutionPolicy: - description: |- - ResolutionPolicy: The resolution policy on the virtual network link. Only applicable for virtual network links to - privatelink zones, and for A,AAAA,CNAME queries. When set to 'NxDomainRedirect', Azure DNS resolver falls back to public - resolution if private dns query resolution results in non-existent domain response. - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - type: - description: 'Type: The type of the resource. Example - ''Microsoft.Network/privateDnsZones''.' - type: string - virtualNetwork: - description: 'VirtualNetwork: The reference of the virtual network.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - virtualNetworkLinkState: - description: |- - VirtualNetworkLinkState: The status of the virtual network link to the Private DNS zone. Possible values are - 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored. + description: 'ProvisioningState: The provisioning state of the private dns zone group resource.' type: string type: object type: object @@ -239295,14 +313001,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240601storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink + Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup Generator information: - - Generated from: /privatedns/resource-manager/Microsoft.Network/stable/2024-06-01/privatedns.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} properties: apiVersion: description: |- @@ -239322,7 +313028,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink_Spec + description: Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup_Spec properties: $propertyBag: additionalProperties: @@ -239336,13 +313042,9 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - etag: - type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLinkOperatorSpec + Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -239417,7 +313119,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateDnsZone resource + reference to a network.azure.com/PrivateEndpoint resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -239426,52 +313128,48 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - registrationEnabled: - type: boolean - resolutionPolicy: - type: string - tags: - additionalProperties: - type: string - type: object - virtualNetwork: - description: |- - Storage version of v1api20240601.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20240301.PrivateDnsZoneConfig + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + privateDnsZoneReference: + description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20240601.PrivateDnsZonesVirtualNetworkLink_STATUS + description: Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup_STATUS properties: $propertyBag: additionalProperties: @@ -239527,38 +313225,57 @@ spec: type: string id: type: string - location: - type: string name: type: string - provisioningState: - type: string - registrationEnabled: - type: boolean - resolutionPolicy: - type: string - tags: - additionalProperties: - type: string - type: object - type: - type: string - virtualNetwork: - description: |- - Storage version of v1api20240601.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: + privateDnsZoneConfigs: + items: + description: |- + Storage version of v1api20240301.PrivateDnsZoneConfig_STATUS + PrivateDnsZoneConfig resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - virtualNetworkLinkState: + privateDnsZoneId: + type: string + recordSets: + items: + description: |- + Storage version of v1api20240301.RecordSet_STATUS + A collective group of information about the record set information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fqdn: + type: string + ipAddresses: + items: + type: string + type: array + provisioningState: + type: string + recordSetName: + type: string + recordType: + type: string + ttl: + type: integer + type: object + type: array + type: object + type: array + provisioningState: type: string type: object type: object @@ -239572,11 +313289,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privateendpoints.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: privatelinkservices.network.azure.com spec: conversion: strategy: Webhook @@ -239591,10 +313308,13 @@ spec: - v1 group: network.azure.com names: - kind: PrivateEndpoint - listKind: PrivateEndpointList - plural: privateendpoints - singular: privateendpoint + categories: + - azure + - network + kind: PrivateLinkService + listKind: PrivateLinkServiceList + plural: privatelinkservices + singular: privatelinkservice preserveUnknownFields: false scope: Namespaced versions: @@ -239616,8 +313336,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} properties: apiVersion: description: |- @@ -239638,41 +313358,23 @@ spec: type: object spec: properties: - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - customNetworkInterfaceName: - description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' - type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean extendedLocation: description: 'ExtendedLocation: The extended location of the load balancer.' properties: @@ -239685,62 +313387,70 @@ spec: - EdgeZone type: string type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array ipConfigurations: - description: |- - IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party - Service's endpoints. + description: 'IpConfigurations: An array of private link service IP configurations.' items: - description: An IP Configuration of the private endpoint. + description: The private link service ip configuration. properties: - groupId: - description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' - type: string - memberName: - description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' - type: string name: - description: 'Name: The name of the resource that is unique within a resource group.' + description: 'Name: The name of private link service ip configuration.' type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean privateIPAddress: - description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: object type: array - location: - description: 'Location: Resource location.' - type: string - manualPrivateLinkServiceConnections: - description: |- - ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when - the network admin does not have access to approve connections to the remote resource. + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' items: - description: PrivateLinkServiceConnection resource. + description: Frontend IP address of the load balancer. properties: - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' + reference: + description: 'Reference: Resource ID.' properties: armId: description: |- @@ -239759,13 +313469,11 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string type: object type: array + location: + description: 'Location: Resource location.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -239804,10 +313512,8 @@ spec: configMaps: description: 'ConfigMaps: configures where to place operator written ConfigMaps.' properties: - primaryNicPrivateIpAddress: - description: |- - PrimaryNicPrivateIpAddress: indicates where the PrimaryNicPrivateIpAddress config map should be placed. If omitted, no - config map will be created. + alias: + description: 'Alias: indicates where the Alias config map should be placed. If omitted, no config map will be created.' properties: key: description: Key is the key in the ConfigMap being referenced @@ -239866,106 +313572,38 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkServiceConnections: - description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' - items: - description: PrivateLinkServiceConnection resource. - properties: - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string - type: object - type: array - subnet: - description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object required: - owner type: object status: - description: Private endpoint resource. + description: Private link service resource. properties: - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' + alias: + description: 'Alias: The alias of the private link service.' + type: string + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: type: string - type: object - type: array + type: array + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -240010,24 +313648,9 @@ spec: - type type: object type: array - customDnsConfigs: - description: 'CustomDnsConfigs: An array of custom dns configurations.' - items: - description: Contains custom Dns resolution configuration from customer. - properties: - fqdn: - description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' - type: string - ipAddresses: - description: 'IpAddresses: A list of private ip addresses of the private endpoint.' - items: - type: string - type: array - type: object - type: array - customNetworkInterfaceName: - description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' - type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean etag: description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string @@ -240041,96 +313664,73 @@ spec: description: 'Type: The type of the extended location.' type: string type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array id: description: 'Id: Resource ID.' type: string ipConfigurations: - description: |- - IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party - Service's endpoints. + description: 'IpConfigurations: An array of private link service IP configurations.' items: - description: An IP Configuration of the private endpoint. + description: The private link service ip configuration. properties: etag: description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - groupId: - description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' - type: string - memberName: - description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + id: + description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource that is unique within a resource group.' + description: 'Name: The name of private link service ip configuration.' type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean privateIPAddress: - description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + description: 'PrivateIPAddress: The private IP address of the IP configuration.' type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service IP configuration resource.' + type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: description: 'Type: The resource type.' type: string type: object type: array - location: - description: 'Location: Resource location.' - type: string - manualPrivateLinkServiceConnections: - description: |- - ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when - the network admin does not have access to approve connections to the remote resource. + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' items: - description: PrivateLinkServiceConnection resource. + description: Frontend IP address of the load balancer. properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array id: description: 'Id: Resource ID.' type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceId: - description: 'PrivateLinkServiceId: The resource id of private link service.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service connection resource.' - type: string - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string - type: - description: 'Type: The resource type.' - type: string type: object type: array + location: + description: 'Location: Resource location.' + type: string name: description: 'Name: Resource name.' type: string networkInterfaces: - description: 'NetworkInterfaces: An array of references to the network interfaces created for this private endpoint.' + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private link service.' items: description: A network interface in a resource group. properties: @@ -240139,66 +313739,19 @@ spec: type: string type: object type: array - privateLinkServiceConnections: - description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' + privateEndpointConnections: + description: 'PrivateEndpointConnections: An array of list about connections to the private endpoint.' items: - description: PrivateLinkServiceConnection resource. + description: PrivateEndpointConnection resource. properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array id: description: 'Id: Resource ID.' type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceId: - description: 'PrivateLinkServiceId: The resource id of private link service.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service connection resource.' - type: string - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string - type: - description: 'Type: The resource type.' - type: string type: object type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the private endpoint resource.' + description: 'ProvisioningState: The provisioning state of the private link service resource.' type: string - subnet: - description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object tags: additionalProperties: type: string @@ -240207,6 +313760,15 @@ spec: type: description: 'Type: Resource type.' type: string + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object type: object type: object served: true @@ -240230,10 +313792,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.PrivateEndpoint + Storage version of v1api20220701.PrivateLinkService Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} properties: apiVersion: description: |- @@ -240253,7 +313815,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.PrivateEndpoint_Spec + description: Storage version of v1api20220701.PrivateLinkService_Spec properties: $propertyBag: additionalProperties: @@ -240262,48 +313824,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20220701.ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + autoApproval: + description: |- + Storage version of v1api20220701.ResourceSet + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - customNetworkInterfaceName: - type: string + enableProxyProtocol: + type: boolean extendedLocation: description: |- Storage version of v1api20220701.ExtendedLocation @@ -240321,11 +313865,15 @@ spec: type: type: string type: object + fqdns: + items: + type: string + type: array ipConfigurations: items: description: |- - Storage version of v1api20220701.PrivateEndpointIPConfiguration - An IP Configuration of the private endpoint. + Storage version of v1api20220701.PrivateLinkServiceIpConfiguration + The private link service ip configuration. properties: $propertyBag: additionalProperties: @@ -240334,23 +313882,56 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - groupId: - type: string - memberName: - type: string name: type: string + primary: + type: boolean privateIPAddress: type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20220701.Subnet_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: object type: array - location: - type: string - manualPrivateLinkServiceConnections: + loadBalancerFrontendIpConfigurations: items: description: |- - Storage version of v1api20220701.PrivateLinkServiceConnection - PrivateLinkServiceConnection resource. + Storage version of v1api20220701.FrontendIPConfiguration_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. properties: $propertyBag: additionalProperties: @@ -240359,33 +313940,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - groupIds: - items: - type: string - type: array - name: - type: string - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20220701.PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' + reference: + description: 'Reference: Resource ID.' properties: armId: description: |- @@ -240404,13 +313960,13 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - requestMessage: - type: string type: object type: array + location: + type: string operatorSpec: description: |- - Storage version of v1api20220701.PrivateEndpointOperatorSpec + Storage version of v1api20220701.PrivateLinkServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -240450,7 +314006,7 @@ spec: type: object type: array configMaps: - description: Storage version of v1api20220701.PrivateEndpointOperatorConfigMaps + description: Storage version of v1api20220701.PrivateLinkServiceOperatorConfigMaps properties: $propertyBag: additionalProperties: @@ -240459,7 +314015,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - primaryNicPrivateIpAddress: + alias: description: |- ConfigMapDestination describes the location to store a single configmap value Note: This is similar to: SecretDestination in secrets.go. @@ -240523,72 +314079,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkServiceConnections: - items: - description: |- - Storage version of v1api20220701.PrivateLinkServiceConnection - PrivateLinkServiceConnection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupIds: - items: - type: string - type: array - name: - type: string - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20220701.PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requestMessage: - type: string - type: object - type: array - subnet: + tags: + additionalProperties: + type: string + type: object + visibility: description: |- - Storage version of v1api20220701.Subnet_PrivateEndpoint_SubResourceEmbedded - Subnet in a virtual network resource. + Storage version of v1api20220701.ResourceSet + The base resource set for visibility and auto-approval. properties: $propertyBag: additionalProperties: @@ -240597,38 +314095,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - tags: - additionalProperties: - type: string + subscriptions: + items: + type: string + type: array type: object required: - owner type: object status: description: |- - Storage version of v1api20220701.PrivateEndpoint_STATUS_PrivateEndpoint_SubResourceEmbedded - Private endpoint resource. + Storage version of v1api20220701.PrivateLinkService_STATUS_PrivateLinkService_SubResourceEmbedded + Private link service resource. properties: $propertyBag: additionalProperties: @@ -240637,23 +314115,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20220701.ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + alias: + type: string + autoApproval: + description: |- + Storage version of v1api20220701.ResourceSet_STATUS + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -240684,42 +314164,21 @@ spec: For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. This is omitted in all cases when Status == Unknown type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - customDnsConfigs: - items: - description: |- - Storage version of v1api20220701.CustomDnsConfigPropertiesFormat_STATUS - Contains custom Dns resolution configuration from customer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdn: - type: string - ipAddresses: - items: - type: string - type: array + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - customNetworkInterfaceName: - type: string + enableProxyProtocol: + type: boolean etag: type: string extendedLocation: @@ -240739,13 +314198,17 @@ spec: type: type: string type: object + fqdns: + items: + type: string + type: array id: type: string ipConfigurations: items: description: |- - Storage version of v1api20220701.PrivateEndpointIPConfiguration_STATUS - An IP Configuration of the private endpoint. + Storage version of v1api20220701.PrivateLinkServiceIpConfiguration_STATUS + The private link service ip configuration. properties: $propertyBag: additionalProperties: @@ -240756,47 +314219,24 @@ spec: type: object etag: type: string - groupId: - type: string - memberName: + id: type: string name: type: string + primary: + type: boolean privateIPAddress: type: string - type: - type: string - type: object - type: array - location: - type: string - manualPrivateLinkServiceConnections: - items: - description: |- - Storage version of v1api20220701.PrivateLinkServiceConnection_STATUS - PrivateLinkServiceConnection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: + privateIPAddressVersion: type: string - groupIds: - items: - type: string - type: array - id: + privateIPAllocationMethod: type: string - name: + provisioningState: type: string - privateLinkServiceConnectionState: + subnet: description: |- - Storage version of v1api20220701.PrivateLinkServiceConnectionState_STATUS - A collection of information about the state of the connection between service consumer and provider. + Storage version of v1api20220701.Subnet_STATUS_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. properties: $propertyBag: additionalProperties: @@ -240805,29 +314245,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionsRequired: - type: string - description: - type: string - status: + id: type: string type: object - privateLinkServiceId: - type: string - provisioningState: - type: string - requestMessage: - type: string type: type: string type: object type: array + loadBalancerFrontendIpConfigurations: + items: + description: |- + Storage version of v1api20220701.FrontendIPConfiguration_STATUS_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string name: type: string networkInterfaces: items: description: |- - Storage version of v1api20220701.NetworkInterface_STATUS_PrivateEndpoint_SubResourceEmbedded + Storage version of v1api20220701.NetworkInterface_STATUS_PrivateLinkService_SubResourceEmbedded A network interface in a resource group. properties: $propertyBag: @@ -240841,11 +314290,11 @@ spec: type: string type: object type: array - privateLinkServiceConnections: + privateEndpointConnections: items: description: |- - Storage version of v1api20220701.PrivateLinkServiceConnection_STATUS - PrivateLinkServiceConnection resource. + Storage version of v1api20220701.PrivateEndpointConnection_STATUS + PrivateEndpointConnection resource. properties: $propertyBag: additionalProperties: @@ -240854,51 +314303,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - etag: - type: string - groupIds: - items: - type: string - type: array id: type: string - name: - type: string - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20220701.PrivateLinkServiceConnectionState_STATUS - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - privateLinkServiceId: - type: string - provisioningState: - type: string - requestMessage: - type: string - type: - type: string type: object type: array provisioningState: type: string - subnet: + tags: + additionalProperties: + type: string + type: object + type: + type: string + visibility: description: |- - Storage version of v1api20220701.Subnet_STATUS_PrivateEndpoint_SubResourceEmbedded - Subnet in a virtual network resource. + Storage version of v1api20220701.ResourceSet_STATUS + The base resource set for visibility and auto-approval. properties: $propertyBag: additionalProperties: @@ -240907,15 +314327,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string - type: object - tags: - additionalProperties: - type: string + subscriptions: + items: + type: string + type: array type: object - type: - type: string type: object type: object served: true @@ -240940,8 +314356,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} properties: apiVersion: description: |- @@ -240962,41 +314378,26 @@ spec: type: object spec: properties: - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' - items: - description: An application security group in a resource group. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - customNetworkInterfaceName: - description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + destinationIPAddress: + description: 'DestinationIPAddress: The destination IP address of the private link service.' type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean extendedLocation: description: 'ExtendedLocation: The extended location of the load balancer.' properties: @@ -241009,62 +314410,70 @@ spec: - EdgeZone type: string type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array ipConfigurations: - description: |- - IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party - Service's endpoints. + description: 'IpConfigurations: An array of private link service IP configurations.' items: - description: An IP Configuration of the private endpoint. + description: The private link service ip configuration. properties: - groupId: - description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' - type: string - memberName: - description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' - type: string name: - description: 'Name: The name of the resource that is unique within a resource group.' + description: 'Name: The name of private link service ip configuration.' type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean privateIPAddress: - description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + enum: + - IPv4 + - IPv6 + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' + enum: + - Dynamic + - Static type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: object type: array - location: - description: 'Location: Resource location.' - type: string - manualPrivateLinkServiceConnections: - description: |- - ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when - the network admin does not have access to approve connections to the remote resource. + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' items: - description: PrivateLinkServiceConnection resource. + description: Frontend IP address of the load balancer. properties: - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' + reference: + description: 'Reference: Resource ID.' properties: armId: description: |- @@ -241083,13 +314492,11 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string type: object type: array + location: + description: 'Location: Resource location.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -241128,10 +314535,8 @@ spec: configMaps: description: 'ConfigMaps: configures where to place operator written ConfigMaps.' properties: - primaryNicPrivateIpAddress: - description: |- - PrimaryNicPrivateIpAddress: indicates where the PrimaryNicPrivateIpAddress config map should be placed. If omitted, no - config map will be created. + alias: + description: 'Alias: indicates where the Alias config map should be placed. If omitted, no config map will be created.' properties: key: description: Key is the key in the ConfigMap being referenced @@ -241190,106 +314595,38 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkServiceConnections: - description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' - items: - description: PrivateLinkServiceConnection resource. - properties: - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string - type: object - type: array - subnet: - description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object required: - owner type: object status: - description: Private endpoint resource. + description: Private link service resource. properties: - applicationSecurityGroups: - description: 'ApplicationSecurityGroups: Application security groups in which the private endpoint IP configuration is included.' - items: - description: An application security group in a resource group. - properties: - id: - description: 'Id: Resource ID.' + alias: + description: 'Alias: The alias of the private link service.' + type: string + autoApproval: + description: 'AutoApproval: The auto-approval list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: type: string - type: object - type: array + type: array + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -241334,24 +314671,12 @@ spec: - type type: object type: array - customDnsConfigs: - description: 'CustomDnsConfigs: An array of custom dns configurations.' - items: - description: Contains custom Dns resolution configuration from customer. - properties: - fqdn: - description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' - type: string - ipAddresses: - description: 'IpAddresses: A list of private ip addresses of the private endpoint.' - items: - type: string - type: array - type: object - type: array - customNetworkInterfaceName: - description: 'CustomNetworkInterfaceName: The custom name of the network interface attached to the private endpoint.' + destinationIPAddress: + description: 'DestinationIPAddress: The destination IP address of the private link service.' type: string + enableProxyProtocol: + description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' + type: boolean etag: description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string @@ -241365,96 +314690,73 @@ spec: description: 'Type: The type of the extended location.' type: string type: object + fqdns: + description: 'Fqdns: The list of Fqdn.' + items: + type: string + type: array id: description: 'Id: Resource ID.' type: string ipConfigurations: - description: |- - IpConfigurations: A list of IP configurations of the private endpoint. This will be used to map to the First Party - Service's endpoints. + description: 'IpConfigurations: An array of private link service IP configurations.' items: - description: An IP Configuration of the private endpoint. + description: The private link service ip configuration. properties: etag: description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string - groupId: - description: 'GroupId: The ID of a group obtained from the remote resource that this private endpoint should connect to.' - type: string - memberName: - description: 'MemberName: The member name of a group obtained from the remote resource that this private endpoint should connect to.' + id: + description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource that is unique within a resource group.' + description: 'Name: The name of private link service ip configuration.' type: string + primary: + description: 'Primary: Whether the ip configuration is primary or not.' + type: boolean privateIPAddress: - description: 'PrivateIPAddress: A private ip address obtained from the private endpoint''s subnet.' + description: 'PrivateIPAddress: The private IP address of the IP configuration.' + type: string + privateIPAddressVersion: + description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' + type: string + privateIPAllocationMethod: + description: 'PrivateIPAllocationMethod: The private IP address allocation method.' type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the private link service IP configuration resource.' + type: string + subnet: + description: 'Subnet: The reference to the subnet resource.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: description: 'Type: The resource type.' type: string type: object type: array - location: - description: 'Location: Resource location.' - type: string - manualPrivateLinkServiceConnections: - description: |- - ManualPrivateLinkServiceConnections: A grouping of information about the connection to the remote resource. Used when - the network admin does not have access to approve connections to the remote resource. + loadBalancerFrontendIpConfigurations: + description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' items: - description: PrivateLinkServiceConnection resource. + description: Frontend IP address of the load balancer. properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array id: description: 'Id: Resource ID.' type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceId: - description: 'PrivateLinkServiceId: The resource id of private link service.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service connection resource.' - type: string - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string - type: - description: 'Type: The resource type.' - type: string type: object type: array + location: + description: 'Location: Resource location.' + type: string name: description: 'Name: Resource name.' type: string networkInterfaces: - description: 'NetworkInterfaces: An array of references to the network interfaces created for this private endpoint.' + description: 'NetworkInterfaces: An array of references to the network interfaces created for this private link service.' items: description: A network interface in a resource group. properties: @@ -241463,66 +314765,19 @@ spec: type: string type: object type: array - privateLinkServiceConnections: - description: 'PrivateLinkServiceConnections: A grouping of information about the connection to the remote resource.' + privateEndpointConnections: + description: 'PrivateEndpointConnections: An array of list about connections to the private endpoint.' items: - description: PrivateLinkServiceConnection resource. + description: PrivateEndpointConnection resource. properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - groupIds: - description: 'GroupIds: The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to.' - items: - type: string - type: array id: description: 'Id: Resource ID.' type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of read-only information about the state of the connection to the remote - resource. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - privateLinkServiceId: - description: 'PrivateLinkServiceId: The resource id of private link service.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service connection resource.' - type: string - requestMessage: - description: |- - RequestMessage: A message passed to the owner of the remote resource with this connection request. Restricted to 140 - chars. - type: string - type: - description: 'Type: The resource type.' - type: string type: object type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the private endpoint resource.' + description: 'ProvisioningState: The provisioning state of the private link service resource.' type: string - subnet: - description: 'Subnet: The ID of the subnet from which the private IP will be allocated.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object tags: additionalProperties: type: string @@ -241531,6 +314786,15 @@ spec: type: description: 'Type: Resource type.' type: string + visibility: + description: 'Visibility: The visibility list of the private link service.' + properties: + subscriptions: + description: 'Subscriptions: The list of subscriptions.' + items: + type: string + type: array + type: object type: object type: object served: true @@ -241554,10 +314818,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.PrivateEndpoint + Storage version of v1api20240301.PrivateLinkService Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateLinkService.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} properties: apiVersion: description: |- @@ -241577,7 +314841,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.PrivateEndpoint_Spec + description: Storage version of v1api20240301.PrivateLinkService_Spec properties: $propertyBag: additionalProperties: @@ -241586,48 +314850,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroupSpec_PrivateEndpoint_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array + autoApproval: + description: |- + Storage version of v1api20240301.ResourceSet + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - customNetworkInterfaceName: + destinationIPAddress: type: string + enableProxyProtocol: + type: boolean extendedLocation: description: |- Storage version of v1api20240301.ExtendedLocation @@ -241645,11 +314893,15 @@ spec: type: type: string type: object + fqdns: + items: + type: string + type: array ipConfigurations: items: description: |- - Storage version of v1api20240301.PrivateEndpointIPConfiguration - An IP Configuration of the private endpoint. + Storage version of v1api20240301.PrivateLinkServiceIpConfiguration + The private link service ip configuration. properties: $propertyBag: additionalProperties: @@ -241658,23 +314910,56 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - groupId: - type: string - memberName: - type: string name: type: string + primary: + type: boolean privateIPAddress: type: string + privateIPAddressVersion: + type: string + privateIPAllocationMethod: + type: string + subnet: + description: |- + Storage version of v1api20240301.Subnet_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: object type: array - location: - type: string - manualPrivateLinkServiceConnections: + loadBalancerFrontendIpConfigurations: items: description: |- - Storage version of v1api20240301.PrivateLinkServiceConnection - PrivateLinkServiceConnection resource. + Storage version of v1api20240301.FrontendIPConfiguration_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. properties: $propertyBag: additionalProperties: @@ -241683,33 +314968,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - groupIds: - items: - type: string - type: array - name: - type: string - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20240301.PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' + reference: + description: 'Reference: Resource ID.' properties: armId: description: |- @@ -241728,13 +314988,13 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - requestMessage: - type: string type: object type: array + location: + type: string operatorSpec: description: |- - Storage version of v1api20240301.PrivateEndpointOperatorSpec + Storage version of v1api20240301.PrivateLinkServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -241774,7 +315034,7 @@ spec: type: object type: array configMaps: - description: Storage version of v1api20240301.PrivateEndpointOperatorConfigMaps + description: Storage version of v1api20240301.PrivateLinkServiceOperatorConfigMaps properties: $propertyBag: additionalProperties: @@ -241783,7 +315043,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - primaryNicPrivateIpAddress: + alias: description: |- ConfigMapDestination describes the location to store a single configmap value Note: This is similar to: SecretDestination in secrets.go. @@ -241847,72 +315107,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateLinkServiceConnections: - items: - description: |- - Storage version of v1api20240301.PrivateLinkServiceConnection - PrivateLinkServiceConnection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupIds: - items: - type: string - type: array - name: - type: string - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20240301.PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - privateLinkServiceReference: - description: 'PrivateLinkServiceReference: The resource id of private link service.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requestMessage: - type: string - type: object - type: array - subnet: + tags: + additionalProperties: + type: string + type: object + visibility: description: |- - Storage version of v1api20240301.Subnet_PrivateEndpoint_SubResourceEmbedded - Subnet in a virtual network resource. + Storage version of v1api20240301.ResourceSet + The base resource set for visibility and auto-approval. properties: $propertyBag: additionalProperties: @@ -241921,38 +315123,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - tags: - additionalProperties: - type: string + subscriptions: + items: + type: string + type: array type: object required: - owner type: object status: description: |- - Storage version of v1api20240301.PrivateEndpoint_STATUS_PrivateEndpoint_SubResourceEmbedded - Private endpoint resource. + Storage version of v1api20240301.PrivateLinkService_STATUS_PrivateLinkService_SubResourceEmbedded + Private link service resource. properties: $propertyBag: additionalProperties: @@ -241961,23 +315143,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - applicationSecurityGroups: - items: - description: |- - Storage version of v1api20240301.ApplicationSecurityGroup_STATUS_PrivateEndpoint_SubResourceEmbedded - An application security group in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + alias: + type: string + autoApproval: + description: |- + Storage version of v1api20240301.ResourceSet_STATUS + The base resource set for visibility and auto-approval. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subscriptions: + items: + type: string + type: array + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -242021,29 +315205,10 @@ spec: - type type: object type: array - customDnsConfigs: - items: - description: |- - Storage version of v1api20240301.CustomDnsConfigPropertiesFormat_STATUS - Contains custom Dns resolution configuration from customer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdn: - type: string - ipAddresses: - items: - type: string - type: array - type: object - type: array - customNetworkInterfaceName: + destinationIPAddress: type: string + enableProxyProtocol: + type: boolean etag: type: string extendedLocation: @@ -242063,13 +315228,17 @@ spec: type: type: string type: object + fqdns: + items: + type: string + type: array id: type: string ipConfigurations: items: description: |- - Storage version of v1api20240301.PrivateEndpointIPConfiguration_STATUS - An IP Configuration of the private endpoint. + Storage version of v1api20240301.PrivateLinkServiceIpConfiguration_STATUS + The private link service ip configuration. properties: $propertyBag: additionalProperties: @@ -242080,47 +315249,24 @@ spec: type: object etag: type: string - groupId: - type: string - memberName: + id: type: string name: type: string + primary: + type: boolean privateIPAddress: type: string - type: - type: string - type: object - type: array - location: - type: string - manualPrivateLinkServiceConnections: - items: - description: |- - Storage version of v1api20240301.PrivateLinkServiceConnection_STATUS - PrivateLinkServiceConnection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: + privateIPAddressVersion: type: string - groupIds: - items: - type: string - type: array - id: + privateIPAllocationMethod: type: string - name: + provisioningState: type: string - privateLinkServiceConnectionState: + subnet: description: |- - Storage version of v1api20240301.PrivateLinkServiceConnectionState_STATUS - A collection of information about the state of the connection between service consumer and provider. + Storage version of v1api20240301.Subnet_STATUS_PrivateLinkService_SubResourceEmbedded + Subnet in a virtual network resource. properties: $propertyBag: additionalProperties: @@ -242129,29 +315275,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionsRequired: - type: string - description: - type: string - status: + id: type: string type: object - privateLinkServiceId: - type: string - provisioningState: - type: string - requestMessage: - type: string type: type: string type: object type: array + loadBalancerFrontendIpConfigurations: + items: + description: |- + Storage version of v1api20240301.FrontendIPConfiguration_STATUS_PrivateLinkService_SubResourceEmbedded + Frontend IP address of the load balancer. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string name: type: string networkInterfaces: items: description: |- - Storage version of v1api20240301.NetworkInterface_STATUS_PrivateEndpoint_SubResourceEmbedded + Storage version of v1api20240301.NetworkInterface_STATUS_PrivateLinkService_SubResourceEmbedded A network interface in a resource group. properties: $propertyBag: @@ -242165,11 +315320,11 @@ spec: type: string type: object type: array - privateLinkServiceConnections: + privateEndpointConnections: items: description: |- - Storage version of v1api20240301.PrivateLinkServiceConnection_STATUS - PrivateLinkServiceConnection resource. + Storage version of v1api20240301.PrivateEndpointConnection_STATUS + PrivateEndpointConnection resource. properties: $propertyBag: additionalProperties: @@ -242178,51 +315333,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - etag: - type: string - groupIds: - items: - type: string - type: array id: type: string - name: - type: string - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20240301.PrivateLinkServiceConnectionState_STATUS - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - privateLinkServiceId: - type: string - provisioningState: - type: string - requestMessage: - type: string - type: - type: string type: object type: array provisioningState: type: string - subnet: + tags: + additionalProperties: + type: string + type: object + type: + type: string + visibility: description: |- - Storage version of v1api20240301.Subnet_STATUS_PrivateEndpoint_SubResourceEmbedded - Subnet in a virtual network resource. + Storage version of v1api20240301.ResourceSet_STATUS + The base resource set for visibility and auto-approval. properties: $propertyBag: additionalProperties: @@ -242231,15 +315357,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string - type: object - tags: - additionalProperties: - type: string + subscriptions: + items: + type: string + type: array type: object - type: - type: string type: object type: object served: true @@ -242252,11 +315374,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privateendpointsprivatednszonegroups.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: productapis.apimanagement.azure.com spec: conversion: strategy: Webhook @@ -242269,12 +315391,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: apimanagement.azure.com names: - kind: PrivateEndpointsPrivateDnsZoneGroup - listKind: PrivateEndpointsPrivateDnsZoneGroupList - plural: privateendpointsprivatednszonegroups - singular: privateendpointsprivatednszonegroup + categories: + - azure + - apimanagement + kind: ProductApi + listKind: ProductApiList + plural: productapis + singular: productapi preserveUnknownFields: false scope: Namespaced versions: @@ -242291,13 +315416,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20220801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} properties: apiVersion: description: |- @@ -242322,6 +315447,9 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ type: string operatorSpec: description: |- @@ -242393,7 +315521,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateEndpoint resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -242402,36 +315530,6 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateDnsZoneConfigs: - description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' - items: - description: PrivateDnsZoneConfig resource. - properties: - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateDnsZoneReference: - description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array required: - owner type: object @@ -242481,58 +315579,6 @@ spec: - type type: object type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateDnsZoneConfigs: - description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' - items: - description: PrivateDnsZoneConfig resource. - properties: - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateDnsZoneId: - description: 'PrivateDnsZoneId: The resource id of the private dns zone.' - type: string - recordSets: - description: 'RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.' - items: - description: A collective group of information about the record set information. - properties: - fqdn: - description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' - type: string - ipAddresses: - description: 'IpAddresses: The private ip address of the private endpoint.' - items: - type: string - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the recordset.' - type: string - recordSetName: - description: 'RecordSetName: Recordset name.' - type: string - recordType: - description: 'RecordType: Resource record type.' - type: string - ttl: - description: 'Ttl: Recordset time to live.' - type: integer - type: object - type: array - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the private dns zone group resource.' - type: string type: object type: object served: true @@ -242552,14 +315598,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20220801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup + Storage version of v1api20220801.ProductApi Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} properties: apiVersion: description: |- @@ -242579,7 +315625,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup_Spec + description: Storage version of v1api20220801.ProductApi_Spec properties: $propertyBag: additionalProperties: @@ -242595,7 +315641,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroupOperatorSpec + Storage version of v1api20220801.ProductApiOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -242670,7 +315716,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateEndpoint resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -242679,48 +315725,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateDnsZoneConfigs: - items: - description: |- - Storage version of v1api20220701.PrivateDnsZoneConfig - PrivateDnsZoneConfig resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - privateDnsZoneReference: - description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array required: - owner type: object status: - description: Storage version of v1api20220701.PrivateEndpointsPrivateDnsZoneGroup_STATUS + description: Storage version of v1api20220801.ProductApi_STATUS properties: $propertyBag: additionalProperties: @@ -242772,66 +315781,10 @@ spec: - type type: object type: array - etag: - type: string - id: - type: string - name: - type: string - privateDnsZoneConfigs: - items: - description: |- - Storage version of v1api20220701.PrivateDnsZoneConfig_STATUS - PrivateDnsZoneConfig resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - privateDnsZoneId: - type: string - recordSets: - items: - description: |- - Storage version of v1api20220701.RecordSet_STATUS - A collective group of information about the record set information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdn: - type: string - ipAddresses: - items: - type: string - type: array - provisioningState: - type: string - recordSetName: - type: string - recordType: - type: string - ttl: - type: integer - type: object - type: array - type: object - type: array - provisioningState: - type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} - additionalPrinterColumns: @@ -242847,13 +315800,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20230501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} properties: apiVersion: description: |- @@ -242878,6 +315831,9 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 256 + minLength: 1 + pattern: ^[^*#&+:<>?]+$ type: string operatorSpec: description: |- @@ -242949,7 +315905,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateEndpoint resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -242958,36 +315914,6 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateDnsZoneConfigs: - description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' - items: - description: PrivateDnsZoneConfig resource. - properties: - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateDnsZoneReference: - description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array required: - owner type: object @@ -243037,58 +315963,6 @@ spec: - type type: object type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateDnsZoneConfigs: - description: 'PrivateDnsZoneConfigs: A collection of private dns zone configurations of the private dns zone group.' - items: - description: PrivateDnsZoneConfig resource. - properties: - name: - description: 'Name: Name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - privateDnsZoneId: - description: 'PrivateDnsZoneId: The resource id of the private dns zone.' - type: string - recordSets: - description: 'RecordSets: A collection of information regarding a recordSet, holding information to identify private resources.' - items: - description: A collective group of information about the record set information. - properties: - fqdn: - description: 'Fqdn: Fqdn that resolves to private endpoint ip address.' - type: string - ipAddresses: - description: 'IpAddresses: The private ip address of the private endpoint.' - items: - type: string - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the recordset.' - type: string - recordSetName: - description: 'RecordSetName: Recordset name.' - type: string - recordType: - description: 'RecordType: Resource record type.' - type: string - ttl: - description: 'Ttl: Recordset time to live.' - type: integer - type: object - type: array - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the private dns zone group resource.' - type: string type: object type: object served: true @@ -243108,14 +315982,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20230501previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup + Storage version of v1api20230501preview.ProductApi Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateEndpoint.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}/privateDnsZoneGroups/{privateDnsZoneGroupName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} properties: apiVersion: description: |- @@ -243135,7 +316009,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup_Spec + description: Storage version of v1api20230501preview.ProductApi_Spec properties: $propertyBag: additionalProperties: @@ -243151,7 +316025,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroupOperatorSpec + Storage version of v1api20230501preview.ProductApiOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -243226,7 +316100,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/PrivateEndpoint resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -243235,48 +316109,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - privateDnsZoneConfigs: - items: - description: |- - Storage version of v1api20240301.PrivateDnsZoneConfig - PrivateDnsZoneConfig resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - privateDnsZoneReference: - description: 'PrivateDnsZoneReference: The resource id of the private dns zone.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array required: - owner type: object status: - description: Storage version of v1api20240301.PrivateEndpointsPrivateDnsZoneGroup_STATUS + description: Storage version of v1api20230501preview.ProductApi_STATUS properties: $propertyBag: additionalProperties: @@ -243328,66 +316165,10 @@ spec: - type type: object type: array - etag: - type: string - id: - type: string - name: - type: string - privateDnsZoneConfigs: - items: - description: |- - Storage version of v1api20240301.PrivateDnsZoneConfig_STATUS - PrivateDnsZoneConfig resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - privateDnsZoneId: - type: string - recordSets: - items: - description: |- - Storage version of v1api20240301.RecordSet_STATUS - A collective group of information about the record set information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fqdn: - type: string - ipAddresses: - items: - type: string - type: array - provisioningState: - type: string - recordSetName: - type: string - recordType: - type: string - ttl: - type: integer - type: object - type: array - type: object - type: array - provisioningState: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} --- @@ -243396,11 +316177,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: privatelinkservices.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: productpolicies.apimanagement.azure.com spec: conversion: strategy: Webhook @@ -243413,12 +316194,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: apimanagement.azure.com names: - kind: PrivateLinkService - listKind: PrivateLinkServiceList - plural: privatelinkservices - singular: privatelinkservice + categories: + - azure + - apimanagement + kind: ProductPolicy + listKind: ProductPolicyList + plural: productpolicies + singular: productpolicy preserveUnknownFields: false scope: Namespaced versions: @@ -243435,13 +316219,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20220801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateLinkService.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} properties: apiVersion: description: |- @@ -243462,121 +316246,13 @@ spec: type: object spec: properties: - autoApproval: - description: 'AutoApproval: The auto-approval list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - enableProxyProtocol: - description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - fqdns: - description: 'Fqdns: The list of Fqdn.' - items: - type: string - type: array - ipConfigurations: - description: 'IpConfigurations: An array of private link service IP configurations.' - items: - description: The private link service ip configuration. - properties: - name: - description: 'Name: The name of private link service ip configuration.' - type: string - primary: - description: 'Primary: Whether the ip configuration is primary or not.' - type: boolean - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - enum: - - IPv4 - - IPv6 - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - enum: - - Dynamic - - Static - type: string - subnet: - description: 'Subnet: The reference to the subnet resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - loadBalancerFrontendIpConfigurations: - description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' - items: - description: Frontend IP address of the load balancer. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - location: - description: 'Location: Resource location.' + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link type: string operatorSpec: description: |- @@ -243613,25 +316289,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - alias: - description: 'Alias: indicates where the Alias config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -243667,7 +316324,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -243676,38 +316333,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - visibility: - description: 'Visibility: The visibility list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string required: - owner + - value type: object status: - description: Private link service resource. properties: - alias: - description: 'Alias: The alias of the private link service.' - type: string - autoApproval: - description: 'AutoApproval: The auto-approval list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -243720,357 +316354,115 @@ spec: message: description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - enableProxyProtocol: - description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - fqdns: - description: 'Fqdns: The list of Fqdn.' - items: - type: string - type: array - id: - description: 'Id: Resource ID.' - type: string - ipConfigurations: - description: 'IpConfigurations: An array of private link service IP configurations.' - items: - description: The private link service ip configuration. - properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: The name of private link service ip configuration.' - type: string - primary: - description: 'Primary: Whether the ip configuration is primary or not.' - type: boolean - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service IP configuration resource.' - type: string - subnet: - description: 'Subnet: The reference to the subnet resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: - description: 'Type: The resource type.' - type: string - type: object - type: array - loadBalancerFrontendIpConfigurations: - description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' - items: - description: Frontend IP address of the load balancer. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - location: - description: 'Location: Resource location.' - type: string - name: - description: 'Name: Resource name.' - type: string - networkInterfaces: - description: 'NetworkInterfaces: An array of references to the network interfaces created for this private link service.' - items: - description: A network interface in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - privateEndpointConnections: - description: 'PrivateEndpointConnections: An array of list about connections to the private endpoint.' - items: - description: PrivateEndpointConnection resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service resource.' - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - type: - description: 'Type: Resource type.' - type: string - visibility: - description: 'Visibility: The visibility list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220701storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20220701.PrivateLinkService - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/privateLinkService.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20220701.PrivateLinkService_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoApproval: - description: |- - Storage version of v1api20220701.ResourceSet - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - enableProxyProtocol: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20220701.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdns: - items: - type: string - type: array - ipConfigurations: - items: - description: |- - Storage version of v1api20220701.PrivateLinkServiceIpConfiguration - The private link service ip configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - subnet: - description: |- - Storage version of v1api20220701.Subnet_PrivateLinkService_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - loadBalancerFrontendIpConfigurations: - items: - description: |- - Storage version of v1api20220701.FrontendIPConfiguration_PrivateLinkService_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - location: + format: + description: 'Format: Format of the policyContent.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220801.ProductPolicy + Generator information: + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220801.ProductPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + format: type: string operatorSpec: description: |- - Storage version of v1api20220701.PrivateLinkServiceOperatorSpec + Storage version of v1api20220801.ProductPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -244109,35 +316501,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20220701.PrivateLinkServiceOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alias: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -244174,7 +316537,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -244183,34 +316546,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - type: object - visibility: - description: |- - Storage version of v1api20220701.ResourceSet - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object + value: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20220701.PrivateLinkService_STATUS_PrivateLinkService_SubResourceEmbedded - Private link service resource. + description: Storage version of v1api20220801.ProductPolicy_STATUS properties: $propertyBag: additionalProperties: @@ -244219,25 +316561,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - alias: - type: string - autoApproval: - description: |- - Storage version of v1api20220701.ResourceSet_STATUS - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -244281,165 +316604,20 @@ spec: - type type: object type: array - enableProxyProtocol: - type: boolean - etag: + format: type: string - extendedLocation: - description: |- - Storage version of v1api20220701.ExtendedLocation_STATUS - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdns: - items: - type: string - type: array id: type: string - ipConfigurations: - items: - description: |- - Storage version of v1api20220701.PrivateLinkServiceIpConfiguration_STATUS - The private link service ip configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: - type: string - id: - type: string - name: - type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - provisioningState: - type: string - subnet: - description: |- - Storage version of v1api20220701.Subnet_STATUS_PrivateLinkService_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: - type: string - type: object - type: array - loadBalancerFrontendIpConfigurations: - items: - description: |- - Storage version of v1api20220701.FrontendIPConfiguration_STATUS_PrivateLinkService_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - location: - type: string name: type: string - networkInterfaces: - items: - description: |- - Storage version of v1api20220701.NetworkInterface_STATUS_PrivateLinkService_SubResourceEmbedded - A network interface in a resource group. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - privateEndpointConnections: - items: - description: |- - Storage version of v1api20220701.PrivateEndpointConnection_STATUS - PrivateEndpointConnection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - tags: - additionalProperties: - type: string - type: object type: type: string - visibility: - description: |- - Storage version of v1api20220701.ResourceSet_STATUS - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object + value: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} - additionalPrinterColumns: @@ -244455,13 +316633,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20230501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateLinkService.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} properties: apiVersion: description: |- @@ -244482,124 +316660,13 @@ spec: type: object spec: properties: - autoApproval: - description: 'AutoApproval: The auto-approval list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - destinationIPAddress: - description: 'DestinationIPAddress: The destination IP address of the private link service.' - type: string - enableProxyProtocol: - description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' - type: boolean - extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - fqdns: - description: 'Fqdns: The list of Fqdn.' - items: - type: string - type: array - ipConfigurations: - description: 'IpConfigurations: An array of private link service IP configurations.' - items: - description: The private link service ip configuration. - properties: - name: - description: 'Name: The name of private link service ip configuration.' - type: string - primary: - description: 'Primary: Whether the ip configuration is primary or not.' - type: boolean - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - enum: - - IPv4 - - IPv6 - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - enum: - - Dynamic - - Static - type: string - subnet: - description: 'Subnet: The reference to the subnet resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - loadBalancerFrontendIpConfigurations: - description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' - items: - description: Frontend IP address of the load balancer. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - location: - description: 'Location: Resource location.' + format: + description: 'Format: Format of the policyContent.' + enum: + - rawxml + - rawxml-link + - xml + - xml-link type: string operatorSpec: description: |- @@ -244636,25 +316703,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - alias: - description: 'Alias: indicates where the Alias config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -244690,7 +316738,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -244699,38 +316747,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - visibility: - description: 'Visibility: The visibility list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object + value: + description: 'Value: Contents of the Policy as defined by the format.' + type: string required: - owner + - value type: object status: - description: Private link service resource. properties: - alias: - description: 'Alias: The alias of the private link service.' - type: string - autoApproval: - description: 'AutoApproval: The auto-approval list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -244775,130 +316800,23 @@ spec: - type type: object type: array - destinationIPAddress: - description: 'DestinationIPAddress: The destination IP address of the private link service.' - type: string - enableProxyProtocol: - description: 'EnableProxyProtocol: Whether the private link service is enabled for proxy protocol or not.' - type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + format: + description: 'Format: Format of the policyContent.' type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the load balancer.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - fqdns: - description: 'Fqdns: The list of Fqdn.' - items: - type: string - type: array id: - description: 'Id: Resource ID.' - type: string - ipConfigurations: - description: 'IpConfigurations: An array of private link service IP configurations.' - items: - description: The private link service ip configuration. - properties: - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: The name of private link service ip configuration.' - type: string - primary: - description: 'Primary: Whether the ip configuration is primary or not.' - type: boolean - privateIPAddress: - description: 'PrivateIPAddress: The private IP address of the IP configuration.' - type: string - privateIPAddressVersion: - description: 'PrivateIPAddressVersion: Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4.' - type: string - privateIPAllocationMethod: - description: 'PrivateIPAllocationMethod: The private IP address allocation method.' - type: string - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service IP configuration resource.' - type: string - subnet: - description: 'Subnet: The reference to the subnet resource.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: - description: 'Type: The resource type.' - type: string - type: object - type: array - loadBalancerFrontendIpConfigurations: - description: 'LoadBalancerFrontendIpConfigurations: An array of references to the load balancer IP configurations.' - items: - description: Frontend IP address of the load balancer. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - location: - description: 'Location: Resource location.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string name: - description: 'Name: Resource name.' - type: string - networkInterfaces: - description: 'NetworkInterfaces: An array of references to the network interfaces created for this private link service.' - items: - description: A network interface in a resource group. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - privateEndpointConnections: - description: 'PrivateEndpointConnections: An array of list about connections to the private endpoint.' - items: - description: PrivateEndpointConnection resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the private link service resource.' + description: 'Name: The name of the resource' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + value: + description: 'Value: Contents of the Policy as defined by the format.' type: string - visibility: - description: 'Visibility: The visibility list of the private link service.' - properties: - subscriptions: - description: 'Subscriptions: The list of subscriptions.' - items: - type: string - type: array - type: object type: object type: object served: true @@ -244918,14 +316836,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20230501previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.PrivateLinkService + Storage version of v1api20230501preview.ProductPolicy Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/privateLinkService.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} properties: apiVersion: description: |- @@ -244945,7 +316863,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.PrivateLinkService_Spec + description: Storage version of v1api20230501preview.ProductPolicy_Spec properties: $propertyBag: additionalProperties: @@ -244954,151 +316872,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoApproval: - description: |- - Storage version of v1api20240301.ResourceSet - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - destinationIPAddress: - type: string - enableProxyProtocol: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20240301.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdns: - items: - type: string - type: array - ipConfigurations: - items: - description: |- - Storage version of v1api20240301.PrivateLinkServiceIpConfiguration - The private link service ip configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - subnet: - description: |- - Storage version of v1api20240301.Subnet_PrivateLinkService_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: array - loadBalancerFrontendIpConfigurations: - items: - description: |- - Storage version of v1api20240301.FrontendIPConfiguration_PrivateLinkService_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - location: + format: type: string operatorSpec: description: |- - Storage version of v1api20240301.PrivateLinkServiceOperatorSpec + Storage version of v1api20230501preview.ProductPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -245137,35 +316915,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20240301.PrivateLinkServiceOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alias: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -245202,7 +316951,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a apimanagement.azure.com/Product resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -245211,265 +316960,78 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - tags: - additionalProperties: - type: string - type: object - visibility: - description: |- - Storage version of v1api20240301.ResourceSet - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object + value: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20240301.PrivateLinkService_STATUS_PrivateLinkService_SubResourceEmbedded - Private link service resource. + description: Storage version of v1api20230501preview.ProductPolicy_STATUS properties: $propertyBag: additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - alias: - type: string - autoApproval: - description: |- - Storage version of v1api20240301.ResourceSet_STATUS - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - destinationIPAddress: - type: string - enableProxyProtocol: - type: boolean - etag: - type: string - extendedLocation: - description: |- - Storage version of v1api20240301.ExtendedLocation_STATUS - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - fqdns: - items: - type: string - type: array - id: - type: string - ipConfigurations: - items: - description: |- - Storage version of v1api20240301.PrivateLinkServiceIpConfiguration_STATUS - The private link service ip configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - etag: - type: string - id: - type: string - name: - type: string - primary: - type: boolean - privateIPAddress: - type: string - privateIPAddressVersion: - type: string - privateIPAllocationMethod: - type: string - provisioningState: - type: string - subnet: - description: |- - Storage version of v1api20240301.Subnet_STATUS_PrivateLinkService_SubResourceEmbedded - Subnet in a virtual network resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: - type: string - type: object - type: array - loadBalancerFrontendIpConfigurations: - items: - description: |- - Storage version of v1api20240301.FrontendIPConfiguration_STATUS_PrivateLinkService_SubResourceEmbedded - Frontend IP address of the load balancer. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - location: - type: string - name: - type: string - networkInterfaces: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: |- - Storage version of v1api20240301.NetworkInterface_STATUS_PrivateLinkService_SubResourceEmbedded - A network interface in a resource group. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - type: object - type: array - privateEndpointConnections: - items: - description: |- - Storage version of v1api20240301.PrivateEndpointConnection_STATUS - PrivateEndpointConnection resource. - properties: - $propertyBag: - additionalProperties: - type: string + severity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - provisioningState: + format: + type: string + id: + type: string + name: type: string - tags: - additionalProperties: - type: string - type: object type: type: string - visibility: - description: |- - Storage version of v1api20240301.ResourceSet_STATUS - The base resource set for visibility and auto-approval. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subscriptions: - items: - type: string - type: array - type: object + value: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} --- @@ -245478,11 +317040,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: productapis.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: products.apimanagement.azure.com spec: conversion: strategy: Webhook @@ -245497,10 +317059,13 @@ spec: - v1 group: apimanagement.azure.com names: - kind: ProductApi - listKind: ProductApiList - plural: productapis - singular: productapi + categories: + - azure + - apimanagement + kind: Product + listKind: ProductList + plural: products + singular: product preserveUnknownFields: false scope: Namespaced versions: @@ -245523,7 +317088,7 @@ spec: description: |- Generator information: - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} properties: apiVersion: description: |- @@ -245544,13 +317109,29 @@ spec: type: object spec: properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. maxLength: 256 minLength: 1 - pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Product description. May include HTML formatting tags.' + maxLength: 1000 + minLength: 0 + type: string + displayName: + description: 'DisplayName: Product name.' + maxLength: 300 + minLength: 1 type: string operatorSpec: description: |- @@ -245622,7 +317203,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -245631,11 +317212,46 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + enum: + - notPublished + - published + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string required: + - displayName - owner type: object status: properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -245680,6 +317296,47 @@ spec: - type type: object type: array + description: + description: 'Description: Product description. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: Product name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string type: object type: object served: true @@ -245703,10 +317360,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.ProductApi + Storage version of v1api20220801.Product Generator information: - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} properties: apiVersion: description: |- @@ -245726,7 +317383,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.ProductApi_Spec + description: Storage version of v1api20220801.Product_Spec properties: $propertyBag: additionalProperties: @@ -245735,14 +317392,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + approvalRequired: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + description: + type: string + displayName: + type: string operatorSpec: description: |- - Storage version of v1api20220801.ProductApiOperatorSpec + Storage version of v1api20220801.ProductOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -245817,7 +317480,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -245826,11 +317489,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string required: - owner type: object status: - description: Storage version of v1api20220801.ProductApi_STATUS + description: Storage version of v1api20220801.Product_STATUS properties: $propertyBag: additionalProperties: @@ -245839,6 +317510,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + approvalRequired: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -245882,6 +317555,24 @@ spec: - type type: object type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + type: + type: string type: object type: object served: true @@ -245907,7 +317598,7 @@ spec: description: |- Generator information: - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} properties: apiVersion: description: |- @@ -245928,13 +317619,29 @@ spec: type: object spec: properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. maxLength: 256 minLength: 1 - pattern: ^[^*#&+:<>?]+$ + type: string + description: + description: 'Description: Product description. May include HTML formatting tags.' + maxLength: 1000 + minLength: 0 + type: string + displayName: + description: 'DisplayName: Product name.' + maxLength: 300 + minLength: 1 type: string operatorSpec: description: |- @@ -246006,7 +317713,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -246015,11 +317722,46 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + enum: + - notPublished + - published + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string required: + - displayName - owner type: object status: properties: + approvalRequired: + description: |- + ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically + enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually + approve the subscription before the developer can any of the product’s APIs. Can be present only if + subscriptionRequired property is present and has a value of false. + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -246064,6 +317806,47 @@ spec: - type type: object type: array + description: + description: 'Description: Product description. May include HTML formatting tags.' + type: string + displayName: + description: 'DisplayName: Product name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + state: + description: |- + State: whether product is published or not. Published products are discoverable by users of developer portal. Non + published products are visible only to administrators. Default state of Product is notPublished. + type: string + subscriptionRequired: + description: |- + SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, + the product is referred to as "protected" and a valid subscription key is required for a request to an API included in + the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product + can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be + true. + type: boolean + subscriptionsLimit: + description: |- + SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or + omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has + a value of false. + type: integer + terms: + description: |- + Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept + these terms before they can complete the subscription process. + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string type: object type: object served: true @@ -246087,10 +317870,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.ProductApi + Storage version of v1api20230501preview.Product Generator information: - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} properties: apiVersion: description: |- @@ -246110,7 +317893,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.ProductApi_Spec + description: Storage version of v1api20230501preview.Product_Spec properties: $propertyBag: additionalProperties: @@ -246119,14 +317902,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + approvalRequired: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + description: + type: string + displayName: + type: string operatorSpec: description: |- - Storage version of v1api20230501preview.ProductApiOperatorSpec + Storage version of v1api20230501preview.ProductOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -246201,7 +317990,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -246210,11 +317999,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string required: - owner type: object status: - description: Storage version of v1api20230501preview.ProductApi_STATUS + description: Storage version of v1api20230501preview.Product_STATUS properties: $propertyBag: additionalProperties: @@ -246223,6 +318020,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + approvalRequired: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -246266,6 +318065,24 @@ spec: - type type: object type: array + description: + type: string + displayName: + type: string + id: + type: string + name: + type: string + state: + type: string + subscriptionRequired: + type: boolean + subscriptionsLimit: + type: integer + terms: + type: string + type: + type: string type: object type: object served: true @@ -246278,11 +318095,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: productpolicies.apimanagement.azure.com + app.kubernetes.io/version: v2.15.0 + name: profiles.cdn.azure.com spec: conversion: strategy: Webhook @@ -246295,12 +318112,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: apimanagement.azure.com + group: cdn.azure.com names: - kind: ProductPolicy - listKind: ProductPolicyList - plural: productpolicies - singular: productpolicy + categories: + - azure + - cdn + kind: Profile + listKind: ProfileList + plural: profiles + singular: profile preserveUnknownFields: false scope: Namespaced versions: @@ -246317,13 +318137,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20210601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} properties: apiVersion: description: |- @@ -246344,13 +318164,13 @@ spec: type: object spec: properties: - format: - description: 'Format: Format of the policyContent.' - enum: - - rawxml - - rawxml-link - - xml - - xml-link + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -246418,11 +318238,17 @@ spec: type: object type: array type: object + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + minimum: 16 + type: integer owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -246431,14 +318257,41 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - description: 'Value: Contents of the Policy as defined by the format.' - type: string + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + enum: + - Custom_Verizon + - Premium_AzureFrontDoor + - Premium_Verizon + - StandardPlus_955BandWidth_ChinaCdn + - StandardPlus_AvgBandWidth_ChinaCdn + - StandardPlus_ChinaCdn + - Standard_955BandWidth_ChinaCdn + - Standard_Akamai + - Standard_AvgBandWidth_ChinaCdn + - Standard_AzureFrontDoor + - Standard_ChinaCdn + - Standard_Microsoft + - Standard_Verizon + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: + - location - owner - - value + - sku type: object status: + description: A profile is a logical grouping of endpoints that share the same settings. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -246484,22 +318337,70 @@ spec: - type type: object type: array - format: - description: 'Format: Format of the policyContent.' + frontDoorId: + description: 'FrontDoorId: The Id of the frontdoor.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' + type: string + kind: + description: 'Kind: Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.' + type: string + location: + description: 'Location: Resource location.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status of the profile.' type: string - value: - description: 'Value: Contents of the Policy as defined by the format.' + resourceState: + description: 'ResourceState: Resource status of the profile.' + type: string + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + type: string + type: object + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' type: string type: object type: object @@ -246520,14 +318421,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20210601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.ProductPolicy + Storage version of v1api20210601.Profile Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} properties: apiVersion: description: |- @@ -246547,7 +318448,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.ProductPolicy_Spec + description: Storage version of v1api20210601.Profile_Spec properties: $propertyBag: additionalProperties: @@ -246556,11 +318457,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - format: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: type: string operatorSpec: description: |- - Storage version of v1api20220801.ProductPolicyOperatorSpec + Storage version of v1api20210601.ProfileOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -246629,13 +318535,15 @@ spec: type: object type: array type: object + originResponseTimeoutSeconds: + type: integer originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -246644,13 +318552,55 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - type: string + sku: + description: |- + Storage version of v1api20210601.Sku + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20220801.ProductPolicy_STATUS + description: |- + Storage version of v1api20210601.Profile_STATUS + A profile is a logical grouping of endpoints that share the same settings. properties: $propertyBag: additionalProperties: @@ -246702,20 +318652,453 @@ spec: - type type: object type: array - format: + frontDoorId: + type: string + id: + type: string + kind: + type: string + location: + type: string + name: + type: string + originResponseTimeoutSeconds: + type: integer + provisioningState: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20210601.Sku_STATUS + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities).' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: Resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + minimum: 16 + type: integer + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + enum: + - Custom_Verizon + - Premium_AzureFrontDoor + - Premium_Verizon + - StandardPlus_955BandWidth_ChinaCdn + - StandardPlus_AvgBandWidth_ChinaCdn + - StandardPlus_ChinaCdn + - Standard_955BandWidth_ChinaCdn + - Standard_Akamai + - Standard_AvgBandWidth_ChinaCdn + - Standard_AzureFrontDoor + - Standard_ChinaCdn + - Standard_Microsoft + - Standard_Verizon + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - sku + type: object + status: + description: A profile is a logical grouping of endpoints that share the same settings. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + extendedProperties: + additionalProperties: + type: string + description: 'ExtendedProperties: Key-Value pair representing additional properties for profiles.' + type: object + frontDoorId: + description: 'FrontDoorId: The Id of the frontdoor.' type: string id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities).' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.' + type: string + location: + description: 'Location: Resource location.' type: string name: + description: 'Name: Resource name.' + type: string + originResponseTimeoutSeconds: + description: |- + OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the + request fails and returns. + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status of the profile.' + type: string + resourceState: + description: 'ResourceState: Resource status of the profile.' type: string + sku: + description: |- + Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the + profile. + properties: + name: + description: 'Name: Name of the pricing tier.' + type: string + type: object + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - type: string - value: + description: 'Type: Resource type.' type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -246731,13 +319114,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20230501storage schema: openAPIV3Schema: description: |- + Storage version of v1api20230501.Profile Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} properties: apiVersion: description: |- @@ -246757,22 +319141,85 @@ spec: metadata: type: object spec: + description: Storage version of v1api20230501.Profile_Spec properties: - format: - description: 'Format: Format of the policyContent.' - enum: - - rawxml - - rawxml-link - - xml - - xml-link + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + identity: + description: |- + Storage version of v1api20230501.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230501.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20230501.ProfileOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -246802,7 +319249,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -246832,11 +319278,15 @@ spec: type: object type: array type: object + originResponseTimeoutSeconds: + type: integer + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -246845,17 +319295,64 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - value: - description: 'Value: Contents of the Policy as defined by the format.' - type: string + sku: + description: |- + Storage version of v1api20230501.Sku + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object required: - owner - - value type: object status: + description: |- + Storage version of v1api20230501.Profile_STATUS + A profile is a logical grouping of endpoints that share the same settings. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -246898,29 +319395,174 @@ spec: - type type: object type: array - format: - description: 'Format: Format of the policyContent.' + extendedProperties: + additionalProperties: + type: string + type: object + frontDoorId: type: string id: + type: string + identity: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Storage version of v1api20230501.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230501.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: type: string name: - description: 'Name: The name of the resource' type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + originResponseTimeoutSeconds: + type: integer + provisioningState: type: string - value: - description: 'Value: Contents of the Policy as defined by the format.' + resourceState: + type: string + sku: + description: |- + Storage version of v1api20230501.Sku_STATUS + Standard_Verizon = The SKU name for a Standard Verizon CDN profile. + Premium_Verizon = The SKU name for a Premium Verizon + CDN profile. + Custom_Verizon = The SKU name for a Custom Verizon CDN profile. + Standard_Akamai = The SKU name for an + Akamai CDN profile. + Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using + GB based billing model. + Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. + Standard_AzureFrontDoor + = The SKU name for an Azure Front Door Standard profile. + Premium_AzureFrontDoor = The SKU name for an Azure Front Door + Premium profile. + Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download + scenarios using 95-5 peak bandwidth billing model. + Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile + for VOD, Web and download scenarios using monthly average peak bandwidth billing model. + StandardPlus_ChinaCdn = The SKU + name for a China CDN profile for live-streaming using GB based billing model. + StandardPlus_955BandWidth_ChinaCdn = The + SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing + model. + StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average + peak bandwidth billing model. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: profilesendpoints.cdn.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cdn.azure.com + names: + categories: + - azure + - cdn + kind: ProfilesEndpoint + listKind: ProfilesEndpointList + plural: profilesendpoints + singular: profilesendpoint + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -246934,14 +319576,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20210601 schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.ProductPolicy Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} properties: apiVersion: description: |- @@ -246961,272 +319602,1632 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.ProductPolicy_Spec properties: - $propertyBag: - additionalProperties: - type: string + azureName: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - format: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - operatorSpec: - description: |- - Storage version of v1api20230501preview.ProductPolicyOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + defaultOriginGroup: + description: 'DefaultOriginGroup: A reference to the origin group.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: + type: object + deliveryPolicy: + description: 'DeliveryPolicy: A policy that specifies the delivery rules to be used for an endpoint.' + properties: + description: + description: 'Description: User-friendly description of the policy.' + type: string + rules: + description: 'Rules: A list of the delivery rules.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: A rule that specifies a set of actions and conditions properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheExpiration + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - BypassCache + - Override + - SetIfMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + enum: + - All + type: string + typeName: + enum: + - DeliveryRuleCacheExpirationActionParameters + type: string + required: + - cacheBehavior + - cacheType + - typeName + type: object + required: + - name + - parameters + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheKeyQueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + enum: + - Exclude + - ExcludeAll + - Include + - IncludeAll + type: string + typeName: + enum: + - DeliveryRuleCacheKeyQueryStringBehaviorActionParameters + type: string + required: + - queryStringBehavior + - typeName + type: object + required: + - name + - parameters + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyRequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyResponseHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - OriginGroupOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + enum: + - DeliveryRuleOriginGroupOverrideActionParameters + type: string + required: + - originGroup + - typeName + type: object + required: + - name + - parameters + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - RouteConfigurationOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - HonorOrigin + - OverrideAlways + - OverrideIfOriginMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + enum: + - Disabled + - Enabled + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + enum: + - IgnoreQueryString + - IgnoreSpecifiedQueryStrings + - IncludeSpecifiedQueryStrings + - UseQueryString + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + enum: + - HttpOnly + - HttpsOnly + - MatchRequest + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + enum: + - DeliveryRuleRouteConfigurationOverrideActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRedirect + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + enum: + - Http + - Https + - MatchRequest + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + enum: + - Found + - Moved + - PermanentRedirect + - TemporaryRedirect + type: string + typeName: + enum: + - DeliveryRuleUrlRedirectActionParameters + type: string + required: + - redirectType + - typeName + type: object + required: + - name + - parameters + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRewrite + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + enum: + - DeliveryRuleUrlRewriteActionParameters + type: string + required: + - destination + - sourcePattern + - typeName + type: object + required: + - name + - parameters + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlSigning + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + enum: + - SHA256 + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + enum: + - Expires + - KeyId + - Signature + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + required: + - paramIndicator + - paramName + type: object + type: array + typeName: + enum: + - DeliveryRuleUrlSigningActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array + conditions: + description: 'Conditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ClientPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleClientPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - Cookies + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleCookiesConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HostName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHostNameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HttpVersion + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHttpVersionConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - IsDevice + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - Desktop + - Mobile + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleIsDeviceConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - PostArgs + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRulePostArgsConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - QueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleQueryStringConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RemoteAddress + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - GeoMatch + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRemoteAddressConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestBody + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestBodyConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestHeaderConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestMethod + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - DELETE + - GET + - HEAD + - OPTIONS + - POST + - PUT + - TRACE + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestMethodConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestScheme + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - HTTP + - HTTPS + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestSchemeConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestUri + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestUriConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ServerPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleServerPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SocketAddr + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSocketAddrConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SslProtocol + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + enum: + - TLSv1 + - TLSv1.1 + - TLSv1.2 + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSslProtocolConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileExtension + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFileExtensionMatchConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFilenameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlPath + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + - Wildcard + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlPathMatchConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Name of the rule' type: string - value: + order: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer required: - - name - - value + - actions + - order type: object type: array + required: + - rules type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Product resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - value: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230501preview.ProductPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + geoFilters: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: + GeoFilters: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule + to a specified path or content, e.g. block APAC for path /pictures/ items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + description: Rules defining user's geo access within a CDN endpoint. + properties: + action: + description: 'Action: Action of the geo filter, i.e. allow or block access.' + enum: + - Allow + - Block type: string - type: - description: Type of condition. + countryCodes: + description: 'CountryCodes: Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.' + items: + type: string + type: array + relativePath: + description: 'RelativePath: Relative path applicable to geo filter. (e.g. ''/mypictures'', ''/mypicture/kitty.jpg'', and etc.)' type: string required: - - lastTransitionTime - - reason - - status - - type + - action + - countryCodes + - relativePath type: object type: array - format: - type: string - id: - type: string - name: - type: string - type: - type: string - value: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: products.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: Product - listKind: ProductList - plural: products - singular: product - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220801 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - approvalRequired: + isCompressionEnabled: description: |- - ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically - enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually - approve the subscription before the developer can any of the product’s APIs. Can be present only if - subscriptionRequired property is present and has a value of false. + IsCompressionEnabled: Indicates whether content compression is enabled on CDN. Default value is false. If compression is + enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on + CDN when requested content is smaller than 1 byte or larger than 1 MB. type: boolean - azureName: + isHttpAllowed: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 256 - minLength: 1 - type: string - description: - description: 'Description: Product description. May include HTML formatting tags.' - maxLength: 1000 - minLength: 0 - type: string - displayName: - description: 'DisplayName: Product name.' - maxLength: 300 - minLength: 1 + IsHttpAllowed: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + isHttpsAllowed: + description: |- + IsHttpsAllowed: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -247294,521 +321295,248 @@ spec: type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - state: + optimizationType: description: |- - State: whether product is published or not. Published products are discoverable by users of developer portal. Non - published products are visible only to administrators. Default state of Product is notPublished. + OptimizationType: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media + services. With this information, CDN can apply scenario driven optimization. enum: - - notPublished - - published - type: string - subscriptionRequired: - description: |- - SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, - the product is referred to as "protected" and a valid subscription key is required for a request to an API included in - the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product - can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be - true. - type: boolean - subscriptionsLimit: - description: |- - SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or - omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has - a value of false. - type: integer - terms: - description: |- - Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept - these terms before they can complete the subscription process. + - DynamicSiteAcceleration + - GeneralMediaStreaming + - GeneralWebDelivery + - LargeFileDownload + - VideoOnDemandMediaStreaming type: string - required: - - displayName - - owner - type: object - status: - properties: - approvalRequired: - description: |- - ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically - enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually - approve the subscription before the developer can any of the product’s APIs. Can be present only if - subscriptionRequired property is present and has a value of false. - type: boolean - conditions: - description: 'Conditions: The observed state of the resource' + originGroups: + description: 'OriginGroups: The origin groups comprising of origins that are used for load balancing the traffic based on availability.' items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - description: - description: 'Description: Product description. May include HTML formatting tags.' - type: string - displayName: - description: 'DisplayName: Product name.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - state: - description: |- - State: whether product is published or not. Published products are discoverable by users of developer portal. Non - published products are visible only to administrators. Default state of Product is notPublished. - type: string - subscriptionRequired: - description: |- - SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, - the product is referred to as "protected" and a valid subscription key is required for a request to an API included in - the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product - can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be - true. - type: boolean - subscriptionsLimit: - description: |- - SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or - omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has - a value of false. - type: integer - terms: - description: |- - Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept - these terms before they can complete the subscription process. - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220801storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20220801.Product - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20220801.Product_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - approvalRequired: - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - description: - type: string - displayName: - type: string - operatorSpec: - description: |- - Storage version of v1api20220801.ProductOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + maximum: 255 + minimum: 1 + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' + enum: + - Http + - Https + - NotSet type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' + enum: + - GET + - HEAD + - NotSet type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: + name: + description: 'Name: Origin group name which must be unique within the endpoint.' + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN within given origin group.' + items: + description: Reference to another resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + responseBasedOriginErrorDetectionSettings: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + ResponseBasedOriginErrorDetectionSettings: The JSON object that contains the properties to determine origin health using + real requests/responses.This property is currently not supported. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + httpErrorRanges: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + HttpErrorRanges: The list of Http status code ranges that are considered as server errors for origin and it is marked as + unhealthy. + items: + description: The JSON object that represents the range for http status codes + properties: + begin: + description: 'Begin: The inclusive start of the http status code range.' + maximum: 999 + minimum: 100 + type: integer + end: + description: 'End: The inclusive end of the http status code range.' + maximum: 999 + minimum: 100 + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + description: 'ResponseBasedDetectedErrorTypes: Type of response errors for real user requests for which origin will be deemed unhealthy' + enum: + - None + - TcpAndHttpErrors + - TcpErrorsOnly type: string - required: - - name - - value + responseBasedFailoverThresholdPercentage: + description: 'ResponseBasedFailoverThresholdPercentage: The percentage of failed requests in the sample where failover should trigger.' + maximum: 100 + minimum: 0 + type: integer type: object - type: array - type: object - originalVersion: - type: string - owner: + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + maximum: 50 + minimum: 0 + type: integer + required: + - name + - origins + type: object + type: array + originHostHeader: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - state: - type: string - subscriptionRequired: - type: boolean - subscriptionsLimit: - type: integer - terms: + OriginHostHeader: The host header value sent to the origin with each request. This property at Endpoint is only allowed + when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, + the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services + require this host header value to match the origin hostname by default. type: string - required: - - owner - type: object - status: - description: Storage version of v1api20220801.Product_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + originPath: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - approvalRequired: - type: boolean - conditions: + OriginPath: A directory path on the origin that CDN can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN.' items: - description: Condition defines an extension to status (an observation) of a resource + description: The main origin of CDN content which is added when creating a CDN endpoint. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: + enabled: + description: 'Enabled: Origin is enabled for load balancing or not. By default, origin is always enabled.' + type: boolean + hostName: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 + HostName: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique + across all origins in an endpoint. + type: string + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + maximum: 65535 + minimum: 1 + type: integer + name: + description: 'Name: Origin name which must be unique within the endpoint.' type: string - severity: + originHostHeader: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host + header value to match the origin hostname by default. type: string - status: - description: Status of the condition, one of True, False, or Unknown. + priority: + description: |- + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5. + maximum: 5 + minimum: 1 + type: integer + privateLinkAlias: + description: |- + PrivateLinkAlias: The Alias of the Private Link resource. Populating this optional field indicates that this origin is + 'Private' type: string - type: - description: Type of condition. + privateLinkApprovalMessage: + description: 'PrivateLinkApprovalMessage: A custom message to be included in the approval request to connect to the Private Link.' type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - description: - type: string - displayName: - type: string - id: - type: string - name: - type: string - state: - type: string - subscriptionRequired: - type: boolean - subscriptionsLimit: - type: integer - terms: - type: string - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501preview - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - approvalRequired: - description: |- - ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically - enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually - approve the subscription before the developer can any of the product’s APIs. Can be present only if - subscriptionRequired property is present and has a value of false. - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 256 - minLength: 1 - type: string - description: - description: 'Description: Product description. May include HTML formatting tags.' - maxLength: 1000 - minLength: 0 - type: string - displayName: - description: 'DisplayName: Product name.' - maxLength: 300 - minLength: 1 - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + privateLinkLocationReference: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PrivateLinkLocationReference: The location of the Private Link resource. Required only if 'privateLinkResourceId' is + populated properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + group: + description: Group is the Kubernetes group of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + privateLinkResourceReference: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PrivateLinkResourceReference: The Resource Id of the Private Link resource. Populating this optional field indicates + that this backend is 'Private' properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + group: + description: Group is the Kubernetes group of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - type: object + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + maximum: 1000 + minimum: 1 + type: integer + required: + - hostName + - name + type: object + type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a cdn.azure.com/Profile resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -247817,653 +321545,1260 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - state: - description: |- - State: whether product is published or not. Published products are discoverable by users of developer portal. Non - published products are visible only to administrators. Default state of Product is notPublished. - enum: - - notPublished - - published - type: string - subscriptionRequired: - description: |- - SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, - the product is referred to as "protected" and a valid subscription key is required for a request to an API included in - the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product - can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be - true. - type: boolean - subscriptionsLimit: - description: |- - SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or - omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has - a value of false. - type: integer - terms: - description: |- - Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept - these terms before they can complete the subscription process. - type: string - required: - - displayName - - owner - type: object - status: - properties: - approvalRequired: - description: |- - ApprovalRequired: whether subscription approval is required. If false, new subscriptions will be approved automatically - enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually - approve the subscription before the developer can any of the product’s APIs. Can be present only if - subscriptionRequired property is present and has a value of false. - type: boolean - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - description: - description: 'Description: Product description. May include HTML formatting tags.' - type: string - displayName: - description: 'DisplayName: Product name.' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - name: - description: 'Name: The name of the resource' - type: string - state: + probePath: description: |- - State: whether product is published or not. Published products are discoverable by users of developer portal. Non - published products are visible only to administrators. Default state of Product is notPublished. + ProbePath: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the + most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single + origin. type: string - subscriptionRequired: - description: |- - SubscriptionRequired: Whether a product subscription is required for accessing APIs included in this product. If true, - the product is referred to as "protected" and a valid subscription key is required for a request to an API included in - the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product - can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be - true. - type: boolean - subscriptionsLimit: - description: |- - SubscriptionsLimit: Whether the number of subscriptions a user can have to this product at the same time. Set to null or - omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has - a value of false. - type: integer - terms: + queryStringCachingBehavior: description: |- - Terms: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept - these terms before they can complete the subscription process. - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + QueryStringCachingBehavior: Defines how CDN caches requests that include query strings. You can ignore any query strings + when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request + with a unique URL. + enum: + - BypassCaching + - IgnoreQueryString + - NotSet + - UseQueryString type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501previewstorage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230501preview.Product - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimproducts.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230501preview.Product_Spec - properties: - $propertyBag: + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - approvalRequired: - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - description: - type: string - displayName: - type: string - operatorSpec: - description: |- - Storage version of v1api20230501preview.ProductOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: + description: 'Tags: Resource tags.' + type: object + urlSigningKeys: + description: 'UrlSigningKeys: List of keys used to validate the signed URL hashes.' + items: + description: Url signing key + properties: + keyId: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + keySourceParameters: + description: 'KeySourceParameters: Defines the parameters for using customer key vault for Url Signing Key.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + resourceGroupName: + description: 'ResourceGroupName: Resource group of the user''s Key Vault containing the secret' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + secretName: + description: 'SecretName: The name of secret in Key Vault.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + secretVersion: + description: 'SecretVersion: The version(GUID) of secret in Key Vault.' + type: string + subscriptionId: + description: 'SubscriptionId: Subscription Id of the user''s Key Vault containing the secret' + type: string + typeName: + enum: + - KeyVaultSigningKeyParameters + type: string + vaultName: + description: 'VaultName: The name of the user''s Key Vault containing the secret' type: string required: - - name - - value + - resourceGroupName + - secretName + - secretVersion + - subscriptionId + - typeName + - vaultName type: object - type: array - secretExpressions: - items: + required: + - keyId + - keySourceParameters + type: object + type: array + webApplicationFirewallPolicyLink: + description: 'WebApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for the endpoint (if applicable)' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - location + - origins + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + customDomains: + description: 'CustomDomains: The custom domains under the endpoint.' + items: + description: Custom domains created on the CDN endpoint. + properties: + hostName: + description: 'HostName: The host name of the custom domain. Must be a domain name.' + type: string + name: + description: 'Name: Custom domain name.' + type: string + validationData: + description: |- + ValidationData: Special validation or data may be required when delivering CDN to some regions due to local compliance + reasons. E.g. ICP license number of a custom domain is required to deliver content in China. + type: string + type: object + type: array + defaultOriginGroup: + description: 'DefaultOriginGroup: A reference to the origin group.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + deliveryPolicy: + description: 'DeliveryPolicy: A policy that specifies the delivery rules to be used for an endpoint.' + properties: + description: + description: 'Description: User-friendly description of the policy.' + type: string + rules: + description: 'Rules: A list of the delivery rules.' + items: + description: A rule that specifies a set of actions and conditions properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + description: 'Conditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Name of the rule' type: string - value: + order: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer type: object type: array type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - state: - type: string - subscriptionRequired: - type: boolean - subscriptionsLimit: - type: integer - terms: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20230501preview.Product_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + geoFilters: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - approvalRequired: - type: boolean - conditions: + GeoFilters: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule + to a specified path or content, e.g. block APAC for path /pictures/ items: - description: Condition defines an extension to status (an observation) of a resource + description: Rules defining user's geo access within a CDN endpoint. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. + action: + description: 'Action: Action of the geo filter, i.e. allow or block access.' type: string - type: - description: Type of condition. + countryCodes: + description: 'CountryCodes: Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.' + items: + type: string + type: array + relativePath: + description: 'RelativePath: Relative path applicable to geo filter. (e.g. ''/mypictures'', ''/mypicture/kitty.jpg'', and etc.)' type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - description: - type: string - displayName: + hostName: + description: 'HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net' type: string id: + description: 'Id: Resource ID.' type: string - name: - type: string - state: - type: string - subscriptionRequired: + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on CDN. Default value is false. If compression is + enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on + CDN when requested content is smaller than 1 byte or larger than 1 MB. type: boolean - subscriptionsLimit: - type: integer - terms: - type: string - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: profiles.cdn.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cdn.azure.com - names: - kind: Profile - listKind: ProfileList - plural: profiles - singular: profile - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210601 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: + isHttpAllowed: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + IsHttpAllowed: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean + isHttpsAllowed: + description: |- + IsHttpsAllowed: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol + (HTTP or HTTPS) must be allowed. + type: boolean location: description: 'Location: Resource location.' type: string - operatorSpec: + name: + description: 'Name: Resource name.' + type: string + optimizationType: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + OptimizationType: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media + services. With this information, CDN can apply scenario driven optimization. + type: string + originGroups: + description: 'OriginGroups: The origin groups comprising of origins that are used for load balancing the traffic based on availability.' + items: + description: |- + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. + properties: + healthProbeSettings: + description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + probeIntervalInSeconds: + description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' + type: integer + probePath: + description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + probeProtocol: + description: 'ProbeProtocol: Protocol to use for health probe.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + probeRequestType: + description: 'ProbeRequestType: The type of health probe request that is made.' type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + name: + description: 'Name: Origin group name which must be unique within the endpoint.' + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN within given origin group.' + items: + description: Reference to another resource. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + responseBasedOriginErrorDetectionSettings: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + ResponseBasedOriginErrorDetectionSettings: The JSON object that contains the properties to determine origin health using + real requests/responses.This property is currently not supported. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + httpErrorRanges: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + HttpErrorRanges: The list of Http status code ranges that are considered as server errors for origin and it is marked as + unhealthy. + items: + description: The JSON object that represents the range for http status codes + properties: + begin: + description: 'Begin: The inclusive start of the http status code range.' + type: integer + end: + description: 'End: The inclusive end of the http status code range.' + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + description: 'ResponseBasedDetectedErrorTypes: Type of response errors for real user requests for which origin will be deemed unhealthy' type: string - required: - - name - - value + responseBasedFailoverThresholdPercentage: + description: 'ResponseBasedFailoverThresholdPercentage: The percentage of failed requests in the sample where failover should trigger.' + type: integer type: object - type: array - type: object - originResponseTimeoutSeconds: - description: |- - OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the - request fails and returns. - minimum: 16 - type: integer - owner: + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + description: |- + TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually + when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not + supported. + type: integer + type: object + type: array + originHostHeader: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - sku: + OriginHostHeader: The host header value sent to the origin with each request. This property at Endpoint is only allowed + when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, + the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services + require this host header value to match the origin hostname by default. + type: string + originPath: description: |- - Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the - profile. - properties: - name: - description: 'Name: Name of the pricing tier.' - enum: - - Custom_Verizon - - Premium_AzureFrontDoor - - Premium_Verizon - - StandardPlus_955BandWidth_ChinaCdn - - StandardPlus_AvgBandWidth_ChinaCdn - - StandardPlus_ChinaCdn - - Standard_955BandWidth_ChinaCdn - - Standard_Akamai - - Standard_AvgBandWidth_ChinaCdn - - Standard_AzureFrontDoor - - Standard_ChinaCdn - - Standard_Microsoft - - Standard_Verizon - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - required: - - location - - owner - - sku - type: object - status: - description: A profile is a logical grouping of endpoints that share the same settings. - properties: - conditions: - description: 'Conditions: The observed state of the resource' + OriginPath: A directory path on the origin that CDN can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + origins: + description: 'Origins: The source of the content being delivered via CDN.' items: - description: Condition defines an extension to status (an observation) of a resource + description: The main origin of CDN content which is added when creating a CDN endpoint. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + enabled: + description: 'Enabled: Origin is enabled for load balancing or not. By default, origin is always enabled.' + type: boolean + hostName: + description: |- + HostName: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique + across all origins in an endpoint. type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + httpPort: + description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' + type: integer + httpsPort: + description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' + type: integer + name: + description: 'Name: Origin name which must be unique within the endpoint.' type: string - observedGeneration: + originHostHeader: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request + hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host + header value to match the origin hostname by default. + type: string + priority: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load + balancing if any lower priority origin is healthy.Must be between 1 and 5. + type: integer + privateEndpointStatus: + description: 'PrivateEndpointStatus: The approval status for the connection to the Private Link' type: string - severity: + privateLinkAlias: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + PrivateLinkAlias: The Alias of the Private Link resource. Populating this optional field indicates that this origin is + 'Private' type: string - status: - description: Status of the condition, one of True, False, or Unknown. + privateLinkApprovalMessage: + description: 'PrivateLinkApprovalMessage: A custom message to be included in the approval request to connect to the Private Link.' type: string - type: - description: Type of condition. + privateLinkLocation: + description: 'PrivateLinkLocation: The location of the Private Link resource. Required only if ''privateLinkResourceId'' is populated' type: string - required: - - lastTransitionTime - - reason - - status - - type + privateLinkResourceId: + description: |- + PrivateLinkResourceId: The Resource Id of the Private Link resource. Populating this optional field indicates that this + backend is 'Private' + type: string + weight: + description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' + type: integer type: object type: array - frontDoorId: - description: 'FrontDoorId: The Id of the frontdoor.' - type: string - id: - description: 'Id: Resource ID.' - type: string - kind: - description: 'Kind: Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.' - type: string - location: - description: 'Location: Resource location.' + probePath: + description: |- + ProbePath: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the + most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single + origin. type: string - name: - description: 'Name: Resource name.' + provisioningState: + description: 'ProvisioningState: Provisioning status of the endpoint.' type: string - originResponseTimeoutSeconds: + queryStringCachingBehavior: description: |- - OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the - request fails and returns. - type: integer - provisioningState: - description: 'ProvisioningState: Provisioning status of the profile.' + QueryStringCachingBehavior: Defines how CDN caches requests that include query strings. You can ignore any query strings + when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request + with a unique URL. type: string resourceState: - description: 'ResourceState: Resource status of the profile.' + description: 'ResourceState: Resource status of the endpoint.' type: string - sku: - description: |- - Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the - profile. - properties: - name: - description: 'Name: Name of the pricing tier.' - type: string - type: object systemData: description: 'SystemData: Read only system data' properties: @@ -248494,6 +322829,46 @@ spec: type: description: 'Type: Resource type.' type: string + urlSigningKeys: + description: 'UrlSigningKeys: List of keys used to validate the signed URL hashes.' + items: + description: Url signing key + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + keySourceParameters: + description: 'KeySourceParameters: Defines the parameters for using customer key vault for Url Signing Key.' + properties: + resourceGroupName: + description: 'ResourceGroupName: Resource group of the user''s Key Vault containing the secret' + type: string + secretName: + description: 'SecretName: The name of secret in Key Vault.' + type: string + secretVersion: + description: 'SecretVersion: The version(GUID) of secret in Key Vault.' + type: string + subscriptionId: + description: 'SubscriptionId: Subscription Id of the user''s Key Vault containing the secret' + type: string + typeName: + type: string + vaultName: + description: 'VaultName: The name of the user''s Key Vault containing the secret' + type: string + type: object + type: object + type: array + webApplicationFirewallPolicyLink: + description: 'WebApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for the endpoint (if applicable)' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: object type: object served: true @@ -248517,10 +322892,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20210601.Profile + Storage version of v1api20210601.ProfilesEndpoint Generator information: - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} properties: apiVersion: description: |- @@ -248540,7 +322915,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210601.Profile_Spec + description: Storage version of v1api20210601.ProfilesEndpoint_Spec properties: $propertyBag: additionalProperties: @@ -248554,12 +322929,14 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - location: - type: string - operatorSpec: + contentTypesToCompress: + items: + type: string + type: array + defaultOriginGroup: description: |- - Storage version of v1api20210601.ProfileOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20210601.ResourceReference + Reference to another resource. properties: $propertyBag: additionalProperties: @@ -248568,225 +322945,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originResponseTimeoutSeconds: - type: integer - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - sku: - description: |- - Storage version of v1api20210601.Sku - Standard_Verizon = The SKU name for a Standard Verizon CDN profile. - Premium_Verizon = The SKU name for a Premium Verizon - CDN profile. - Custom_Verizon = The SKU name for a Custom Verizon CDN profile. - Standard_Akamai = The SKU name for an - Akamai CDN profile. - Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using - GB based billing model. - Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. - Standard_AzureFrontDoor - = The SKU name for an Azure Front Door Standard profile. - Premium_AzureFrontDoor = The SKU name for an Azure Front Door - Premium profile. - Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download - scenarios using 95-5 peak bandwidth billing model. - Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile - for VOD, Web and download scenarios using monthly average peak bandwidth billing model. - StandardPlus_ChinaCdn = The SKU - name for a China CDN profile for live-streaming using GB based billing model. - StandardPlus_955BandWidth_ChinaCdn = The - SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing - model. - StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average - peak bandwidth billing model. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20210601.Profile_STATUS - A profile is a logical grouping of endpoints that share the same settings. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - frontDoorId: - type: string - id: - type: string - kind: - type: string - location: - type: string - name: - type: string - originResponseTimeoutSeconds: - type: integer - provisioningState: - type: string - resourceState: - type: string - sku: - description: |- - Storage version of v1api20210601.Sku_STATUS - Standard_Verizon = The SKU name for a Standard Verizon CDN profile. - Premium_Verizon = The SKU name for a Premium Verizon - CDN profile. - Custom_Verizon = The SKU name for a Custom Verizon CDN profile. - Standard_Akamai = The SKU name for an - Akamai CDN profile. - Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using - GB based billing model. - Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. - Standard_AzureFrontDoor - = The SKU name for an Azure Front Door Standard profile. - Premium_AzureFrontDoor = The SKU name for an Azure Front Door - Premium profile. - Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download - scenarios using 95-5 peak bandwidth billing model. - Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile - for VOD, Web and download scenarios using monthly average peak bandwidth billing model. - StandardPlus_ChinaCdn = The SKU - name for a China CDN profile for live-streaming using GB based billing model. - StandardPlus_955BandWidth_ChinaCdn = The - SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing - model. - StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average - peak bandwidth billing model. + deliveryPolicy: + description: Storage version of v1api20210601.EndpointProperties_DeliveryPolicy properties: $propertyBag: additionalProperties: @@ -248795,13 +322976,1276 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + description: type: string + rules: + items: + description: |- + Storage version of v1api20210601.DeliveryRule + A rule that specifies a set of actions and conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20210601.DeliveryRuleAction + An action for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20210601.DeliveryRuleCacheExpirationAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CacheExpirationActionParameters + Defines the parameters for the cache expiration action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + cacheType: + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: Storage version of v1api20210601.DeliveryRuleCacheKeyQueryStringAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CacheKeyQueryStringActionParameters + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object + type: object + modifyRequestHeader: + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + modifyResponseHeader: + description: Storage version of v1api20210601.DeliveryRuleResponseHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + originGroupOverride: + description: Storage version of v1api20210601.OriginGroupOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.OriginGroupOverrideActionParameters + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20210601.DeliveryRuleRouteConfigurationOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RouteConfigurationOverrideActionParameters + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20210601.CacheConfiguration + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20210601.OriginGroupOverride + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20210601.UrlRedirectAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlRedirectActionParameters + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20210601.UrlRewriteAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlRewriteActionParameters + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20210601.UrlSigningAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlSigningActionParameters + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20210601.UrlSigningParamIdentifier + Defines how to identify a parameter for a specific purpose e.g. expires + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: + type: string + type: object + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + conditions: + items: + description: |- + Storage version of v1api20210601.DeliveryRuleCondition + A condition for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientPort: + description: Storage version of v1api20210601.DeliveryRuleClientPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.ClientPortMatchConditionParameters + Defines the parameters for ClientPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: Storage version of v1api20210601.DeliveryRuleCookiesCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.CookiesMatchConditionParameters + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: Storage version of v1api20210601.DeliveryRuleHostNameCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HostNameMatchConditionParameters + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: Storage version of v1api20210601.DeliveryRuleHttpVersionCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.HttpVersionMatchConditionParameters + Defines the parameters for HttpVersion match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: Storage version of v1api20210601.DeliveryRuleIsDeviceCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.IsDeviceMatchConditionParameters + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: Storage version of v1api20210601.DeliveryRulePostArgsCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.PostArgsMatchConditionParameters + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + queryString: + description: Storage version of v1api20210601.DeliveryRuleQueryStringCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.QueryStringMatchConditionParameters + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: Storage version of v1api20210601.DeliveryRuleRemoteAddressCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RemoteAddressMatchConditionParameters + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestBody: + description: Storage version of v1api20210601.DeliveryRuleRequestBodyCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestBodyMatchConditionParameters + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestHeaderMatchConditionParameters + Defines the parameters for RequestHeader match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: Storage version of v1api20210601.DeliveryRuleRequestMethodCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestMethodMatchConditionParameters + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: Storage version of v1api20210601.DeliveryRuleRequestSchemeCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestSchemeMatchConditionParameters + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: Storage version of v1api20210601.DeliveryRuleRequestUriCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.RequestUriMatchConditionParameters + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: Storage version of v1api20210601.DeliveryRuleServerPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.ServerPortMatchConditionParameters + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: Storage version of v1api20210601.DeliveryRuleSocketAddrCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.SocketAddrMatchConditionParameters + Defines the parameters for SocketAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: Storage version of v1api20210601.DeliveryRuleSslProtocolCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.SslProtocolMatchConditionParameters + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: Storage version of v1api20210601.DeliveryRuleUrlFileExtensionCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlFileExtensionMatchConditionParameters + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: Storage version of v1api20210601.DeliveryRuleUrlFileNameCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlFileNameMatchConditionParameters + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: Storage version of v1api20210601.DeliveryRuleUrlPathCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20210601.UrlPathMatchConditionParameters + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + type: object + type: array + name: + type: string + order: + type: integer + type: object + type: array type: object - systemData: + geoFilters: + items: + description: |- + Storage version of v1api20210601.GeoFilter + Rules defining user's geo access within a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + countryCodes: + items: + type: string + type: array + relativePath: + type: string + type: object + type: array + isCompressionEnabled: + type: boolean + isHttpAllowed: + type: boolean + isHttpsAllowed: + type: boolean + location: + type: string + operatorSpec: description: |- - Storage version of v1api20210601.SystemData_STATUS - Read only system data + Storage version of v1api20210601.ProfilesEndpointOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -248810,126 +324254,7 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - identity: - description: 'Identity: Managed service identity (system assigned and/or user assigned identities).' - properties: - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type - type: object - location: - description: 'Location: Resource location.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -248959,7 +324284,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -248989,283 +324313,84 @@ spec: type: object type: array type: object - originResponseTimeoutSeconds: - description: |- - OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the - request fails and returns. - minimum: 16 - type: integer - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - sku: - description: |- - Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the - profile. - properties: - name: - description: 'Name: Name of the pricing tier.' - enum: - - Custom_Verizon - - Premium_AzureFrontDoor - - Premium_Verizon - - StandardPlus_955BandWidth_ChinaCdn - - StandardPlus_AvgBandWidth_ChinaCdn - - StandardPlus_ChinaCdn - - Standard_955BandWidth_ChinaCdn - - Standard_Akamai - - Standard_AvgBandWidth_ChinaCdn - - Standard_AzureFrontDoor - - Standard_ChinaCdn - - Standard_Microsoft - - Standard_Verizon - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - required: - - location - - owner - - sku - type: object - status: - description: A profile is a logical grouping of endpoints that share the same settings. - properties: - conditions: - description: 'Conditions: The observed state of the resource' + optimizationType: + type: string + originGroups: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20210601.DeepCreatedOriginGroup + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + $propertyBag: + additionalProperties: + type: string description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbeSettings: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - extendedProperties: - additionalProperties: - type: string - description: 'ExtendedProperties: Key-Value pair representing additional properties for profiles.' - type: object - frontDoorId: - description: 'FrontDoorId: The Id of the frontdoor.' - type: string - id: - description: 'Id: Resource ID.' - type: string - identity: - description: 'Identity: Managed service identity (system assigned and/or user assigned identities).' - properties: - principalId: - description: |- - PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system - assigned identity. - type: string - tenantId: - description: |- - TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned - identity. - type: string - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - type: string - userAssignedIdentities: - additionalProperties: - description: User assigned identity properties + Storage version of v1api20210601.HealthProbeParameters + The JSON object that contains the properties to send health probes to origin. properties: - clientId: - description: 'ClientId: The client ID of the assigned identity.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: type: string - principalId: - description: 'PrincipalId: The principal ID of the assigned identity.' + probeProtocol: + type: string + probeRequestType: type: string type: object - type: object - type: object - kind: - description: 'Kind: Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile.' - type: string - location: - description: 'Location: Resource location.' - type: string - name: - description: 'Name: Resource name.' - type: string - originResponseTimeoutSeconds: - description: |- - OriginResponseTimeoutSeconds: Send and receive timeout on forwarding request to the origin. When timeout is reached, the - request fails and returns. - type: integer - provisioningState: - description: 'ProvisioningState: Provisioning status of the profile.' - type: string - resourceState: - description: 'ResourceState: Resource status of the profile.' - type: string - sku: - description: |- - Sku: The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the - profile. - properties: - name: - description: 'Name: Name of the pricing tier.' - type: string - type: object - systemData: - description: 'SystemData: Read only system data' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' - type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - type: - description: 'Type: Resource type.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230501storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230501.Profile - Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/cdn.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230501.Profile_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - identity: - description: |- - Storage version of v1api20230501.ManagedServiceIdentity - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: + origins: + items: + description: |- + Storage version of v1api20210601.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + responseBasedOriginErrorDetectionSettings: description: |- - Storage version of v1api20230501.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + Storage version of v1api20210601.ResponseBasedOriginErrorDetectionParameters + The JSON object that contains the properties to determine origin health using real requests/responses. properties: $propertyBag: additionalProperties: @@ -249274,111 +324399,124 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + httpErrorRanges: + items: + description: |- + Storage version of v1api20210601.HttpErrorRangeParameters + The JSON object that represents the range for http status codes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + begin: + type: integer + end: + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + type: string + responseBasedFailoverThresholdPercentage: + type: integer type: object - type: array - type: object - location: + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + type: object + type: array + originHostHeader: type: string - operatorSpec: - description: |- - Storage version of v1api20230501.ProfileOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: + originPath: + type: string + originalVersion: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOrigin + The main origin of CDN content which is added when creating a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + hostName: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: + httpPort: + type: integer + httpsPort: + type: integer + name: + type: string + originHostHeader: + type: string + priority: + type: integer + privateLinkAlias: + type: string + privateLinkApprovalMessage: + type: string + privateLinkLocationReference: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PrivateLinkLocationReference: The location of the Private Link resource. Required only if 'privateLinkResourceId' is + populated properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + group: + description: Group is the Kubernetes group of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: + privateLinkResourceReference: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PrivateLinkResourceReference: The Resource Id of the Private Link resource. Populating this optional field indicates + that this backend is 'Private' properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + group: + description: Group is the Kubernetes group of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - name - - value type: object - type: array - type: object - originResponseTimeoutSeconds: - type: integer - originalVersion: - type: string + weight: + type: integer + type: object + type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a cdn.azure.com/Profile resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -249387,137 +324525,33 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: |- - Storage version of v1api20230501.Sku - Standard_Verizon = The SKU name for a Standard Verizon CDN profile. - Premium_Verizon = The SKU name for a Premium Verizon - CDN profile. - Custom_Verizon = The SKU name for a Custom Verizon CDN profile. - Standard_Akamai = The SKU name for an - Akamai CDN profile. - Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using - GB based billing model. - Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. - Standard_AzureFrontDoor - = The SKU name for an Azure Front Door Standard profile. - Premium_AzureFrontDoor = The SKU name for an Azure Front Door - Premium profile. - Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download - scenarios using 95-5 peak bandwidth billing model. - Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile - for VOD, Web and download scenarios using monthly average peak bandwidth billing model. - StandardPlus_ChinaCdn = The SKU - name for a China CDN profile for live-streaming using GB based billing model. - StandardPlus_955BandWidth_ChinaCdn = The - SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing - model. - StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average - peak bandwidth billing model. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object + probePath: + type: string + queryStringCachingBehavior: + type: string tags: additionalProperties: type: string type: object - required: - - owner - type: object - status: - description: |- - Storage version of v1api20230501.Profile_STATUS - A profile is a logical grouping of endpoints that share the same settings. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: + urlSigningKeys: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20210601.UrlSigningKey + Url signing key properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - extendedProperties: - additionalProperties: - type: string - type: object - frontDoorId: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20230501.ManagedServiceIdentity_STATUS - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: + keySourceParameters: description: |- - Storage version of v1api20230501.UserAssignedIdentity_STATUS - User assigned identity properties + Storage version of v1api20210601.KeyVaultSigningKeyParameters + Describes the parameters for using a user's KeyVault for URL Signing Key. properties: $propertyBag: additionalProperties: @@ -249526,52 +324560,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: + resourceGroupName: type: string - principalId: + secretName: + type: string + secretVersion: + type: string + subscriptionId: + type: string + typeName: + type: string + vaultName: type: string type: object - type: object - type: object - kind: - type: string - location: - type: string - name: - type: string - originResponseTimeoutSeconds: - type: integer - provisioningState: - type: string - resourceState: - type: string - sku: - description: |- - Storage version of v1api20230501.Sku_STATUS - Standard_Verizon = The SKU name for a Standard Verizon CDN profile. - Premium_Verizon = The SKU name for a Premium Verizon - CDN profile. - Custom_Verizon = The SKU name for a Custom Verizon CDN profile. - Standard_Akamai = The SKU name for an - Akamai CDN profile. - Standard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using - GB based billing model. - Standard_Microsoft = The SKU name for a Standard Microsoft CDN profile. - Standard_AzureFrontDoor - = The SKU name for an Azure Front Door Standard profile. - Premium_AzureFrontDoor = The SKU name for an Azure Front Door - Premium profile. - Standard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download - scenarios using 95-5 peak bandwidth billing model. - Standard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile - for VOD, Web and download scenarios using monthly average peak bandwidth billing model. - StandardPlus_ChinaCdn = The SKU - name for a China CDN profile for live-streaming using GB based billing model. - StandardPlus_955BandWidth_ChinaCdn = The - SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing - model. - StandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average - peak bandwidth billing model. + type: object + type: array + webApplicationFirewallPolicyLink: + description: Storage version of v1api20210601.EndpointProperties_WebApplicationFirewallPolicyLink properties: $propertyBag: additionalProperties: @@ -249580,1743 +324585,9503 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: object - systemData: - description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: profilesendpoints.cdn.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cdn.azure.com - names: - kind: ProfilesEndpoint - listKind: ProfilesEndpointList - plural: profilesendpoints - singular: profilesendpoint - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210601 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: + required: + - owner type: object - spec: + status: + description: Storage version of v1api20210601.ProfilesEndpoint_STATUS properties: - azureName: + $propertyBag: + additionalProperties: + type: string description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array contentTypesToCompress: - description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' items: type: string type: array + customDomains: + items: + description: |- + Storage version of v1api20210601.DeepCreatedCustomDomain_STATUS + Custom domains created on the CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + type: string + name: + type: string + validationData: + type: string + type: object + type: array defaultOriginGroup: - description: 'DefaultOriginGroup: A reference to the origin group.' + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + id: + type: string type: object deliveryPolicy: - description: 'DeliveryPolicy: A policy that specifies the delivery rules to be used for an endpoint.' + description: Storage version of v1api20210601.EndpointProperties_DeliveryPolicy_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object description: - description: 'Description: User-friendly description of the policy.' type: string rules: - description: 'Rules: A list of the delivery rules.' items: - description: A rule that specifies a set of actions and conditions + description: |- + Storage version of v1api20210601.DeliveryRule_STATUS + A rule that specifies a set of actions and conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object actions: - description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' items: - description: An action for the delivery rule. + description: |- + Storage version of v1api20210601.DeliveryRuleAction_STATUS + An action for the delivery rule. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object cacheExpiration: - description: 'CacheExpiration: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleCacheExpirationAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - CacheExpiration type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.CacheExpirationActionParameters_STATUS + Defines the parameters for the cache expiration action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - enum: - - BypassCache - - Override - - SetIfMissing type: string cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' type: string cacheType: - description: 'CacheType: The level at which the content needs to be cached.' - enum: - - All type: string typeName: - enum: - - DeliveryRuleCacheExpirationActionParameters type: string - required: - - cacheBehavior - - cacheType - - typeName type: object - required: - - name - - parameters type: object cacheKeyQueryString: - description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleCacheKeyQueryStringAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - CacheKeyQueryString type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.CacheKeyQueryStringActionParameters_STATUS + Defines the parameters for the cache-key query string action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' type: string queryStringBehavior: - description: 'QueryStringBehavior: Caching behavior for the requests' - enum: - - Exclude - - ExcludeAll - - Include - - IncludeAll type: string typeName: - enum: - - DeliveryRuleCacheKeyQueryStringBehaviorActionParameters type: string - required: - - queryStringBehavior - - typeName type: object - required: - - name - - parameters type: object modifyRequestHeader: - description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - ModifyRequestHeader type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.HeaderActionParameters_STATUS + Defines the parameters for the request header action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object headerAction: - description: 'HeaderAction: Action to perform' - enum: - - Append - - Delete - - Overwrite type: string headerName: - description: 'HeaderName: Name of the header to modify' type: string typeName: - enum: - - DeliveryRuleHeaderActionParameters type: string value: - description: 'Value: Value for the specified action' type: string - required: - - headerAction - - headerName - - typeName type: object - required: - - name - - parameters type: object modifyResponseHeader: - description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleResponseHeaderAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - ModifyResponseHeader type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.HeaderActionParameters_STATUS + Defines the parameters for the request header action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object headerAction: - description: 'HeaderAction: Action to perform' - enum: - - Append - - Delete - - Overwrite type: string headerName: - description: 'HeaderName: Name of the header to modify' type: string typeName: - enum: - - DeliveryRuleHeaderActionParameters type: string value: - description: 'Value: Value for the specified action' type: string - required: - - headerAction - - headerName - - typeName type: object - required: - - name - - parameters type: object originGroupOverride: - description: 'OriginGroupOverride: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.OriginGroupOverrideAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - OriginGroupOverride type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.OriginGroupOverrideActionParameters_STATUS + Defines the parameters for the origin group override action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + id: + type: string type: object typeName: - enum: - - DeliveryRuleOriginGroupOverrideActionParameters type: string - required: - - originGroup - - typeName type: object - required: - - name - - parameters type: object routeConfigurationOverride: - description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRouteConfigurationOverrideAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - RouteConfigurationOverride type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.RouteConfigurationOverrideActionParameters_STATUS + Defines the parameters for the route configuration override action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object cacheConfiguration: description: |- - CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a - cacheConfiguration object. + Storage version of v1api20210601.CacheConfiguration_STATUS + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - enum: - - HonorOrigin - - OverrideAlways - - OverrideIfOriginMissing type: string cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' type: string isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be - served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when - requested content is smaller than 1 byte or larger than 1 MB. - enum: - - Disabled - - Enabled type: string queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' type: string queryStringCachingBehavior: - description: |- - QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query - strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query - strings. - enum: - - IgnoreQueryString - - IgnoreSpecifiedQueryStrings - - IncludeSpecifiedQueryStrings - - UseQueryString type: string type: object originGroupOverride: description: |- - OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group - on route. + Storage version of v1api20210601.OriginGroupOverride_STATUS + Defines the parameters for the origin group override configuration. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object forwardingProtocol: - description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' - enum: - - HttpOnly - - HttpsOnly - - MatchRequest type: string originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + id: + type: string type: object type: object typeName: - enum: - - DeliveryRuleRouteConfigurationOverrideActionParameters type: string - required: - - typeName type: object - required: - - name - - parameters type: object urlRedirect: - description: 'UrlRedirect: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.UrlRedirectAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - UrlRedirect type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.UrlRedirectActionParameters_STATUS + Defines the parameters for the url redirect action. properties: - customFragment: + $propertyBag: + additionalProperties: + type: string description: |- - CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include - the #. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: type: string customHostname: - description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' type: string customPath: - description: |- - CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path - as destination path. type: string customQueryString: - description: |- - CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any - existing query string; leave empty to preserve the incoming query string. Query string must be in = format. - ? and & will be added automatically so do not include them. type: string destinationProtocol: - description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' - enum: - - Http - - Https - - MatchRequest type: string redirectType: - description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' - enum: - - Found - - Moved - - PermanentRedirect - - TemporaryRedirect type: string typeName: - enum: - - DeliveryRuleUrlRedirectActionParameters type: string - required: - - redirectType - - typeName type: object - required: - - name - - parameters type: object urlRewrite: - description: 'UrlRewrite: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.UrlRewriteAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - UrlRewrite type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.UrlRewriteActionParameters_STATUS + Defines the parameters for the url rewrite action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object destination: - description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' type: string preserveUnmatchedPath: - description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' type: boolean sourcePattern: - description: |- - SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is - blank, all strings are matched. type: string typeName: - enum: - - DeliveryRuleUrlRewriteActionParameters type: string - required: - - destination - - sourcePattern - - typeName type: object - required: - - name - - parameters type: object urlSigning: - description: 'UrlSigning: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.UrlSigningAction_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - UrlSigning type: string parameters: - description: 'Parameters: Defines the parameters for the action.' + description: |- + Storage version of v1api20210601.UrlSigningActionParameters_STATUS + Defines the parameters for the Url Signing action. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object algorithm: - description: 'Algorithm: Algorithm to use for URL signing' - enum: - - SHA256 type: string parameterNameOverride: - description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' items: - description: Defines how to identify a parameter for a specific purpose e.g. expires + description: |- + Storage version of v1api20210601.UrlSigningParamIdentifier_STATUS + Defines how to identify a parameter for a specific purpose e.g. expires properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object paramIndicator: - description: 'ParamIndicator: Indicates the purpose of the parameter' - enum: - - Expires - - KeyId - - Signature type: string paramName: - description: 'ParamName: Parameter name' type: string - required: - - paramIndicator - - paramName type: object type: array typeName: - enum: - - DeliveryRuleUrlSigningActionParameters type: string - required: - - typeName type: object - required: - - name - - parameters type: object type: object type: array conditions: - description: 'Conditions: A list of conditions that must be matched for the actions to be executed' items: - description: A condition for the delivery rule. + description: |- + Storage version of v1api20210601.DeliveryRuleCondition_STATUS + A condition for the delivery rule. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object clientPort: - description: 'ClientPort: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleClientPortCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - ClientPort type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.ClientPortMatchConditionParameters_STATUS + Defines the parameters for ClientPort match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleClientPortConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object cookies: - description: 'Cookies: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleCookiesCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - Cookies type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.CookiesMatchConditionParameters_STATUS + Defines the parameters for Cookies match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string selector: - description: 'Selector: Name of Cookies to be matched' type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleCookiesConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object hostName: - description: 'HostName: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleHostNameCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - HostName type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.HostNameMatchConditionParameters_STATUS + Defines the parameters for HostName match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleHostNameConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object httpVersion: - description: 'HttpVersion: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleHttpVersionCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - HttpVersion type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.HttpVersionMatchConditionParameters_STATUS + Defines the parameters for HttpVersion match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleHttpVersionConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object isDevice: - description: 'IsDevice: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleIsDeviceCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - IsDevice type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.IsDeviceMatchConditionParameters_STATUS + Defines the parameters for IsDevice match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: - enum: - - Desktop - - Mobile type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleIsDeviceConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object postArgs: - description: 'PostArgs: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRulePostArgsCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - PostArgs type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.PostArgsMatchConditionParameters_STATUS + Defines the parameters for PostArgs match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string selector: - description: 'Selector: Name of PostArg to be matched' type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRulePostArgsConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object queryString: - description: 'QueryString: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleQueryStringCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - QueryString type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.QueryStringMatchConditionParameters_STATUS + Defines the parameters for QueryString match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleQueryStringConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object remoteAddress: - description: 'RemoteAddress: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRemoteAddressCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RemoteAddress type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.RemoteAddressMatchConditionParameters_STATUS + Defines the parameters for RemoteAddress match conditions properties: - matchValues: + $propertyBag: + additionalProperties: + type: string description: |- - MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of - them match the variable with the given operator this match condition is considered a match. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - GeoMatch - - IPMatch type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleRemoteAddressConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters + type: string + type: object type: object requestBody: - description: 'RequestBody: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRequestBodyCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestBody type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.RequestBodyMatchConditionParameters_STATUS + Defines the parameters for RequestBody match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleRequestBodyConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object requestHeader: - description: 'RequestHeader: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRequestHeaderCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestHeader type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.RequestHeaderMatchConditionParameters_STATUS + Defines the parameters for RequestHeader match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string selector: - description: 'Selector: Name of Header to be matched' type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleRequestHeaderConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object requestMethod: - description: 'RequestMethod: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRequestMethodCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestMethod type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.RequestMethodMatchConditionParameters_STATUS + Defines the parameters for RequestMethod match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: - enum: - - DELETE - - GET - - HEAD - - OPTIONS - - POST - - PUT - - TRACE type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleRequestMethodConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object requestScheme: - description: 'RequestScheme: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRequestSchemeCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestScheme type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.RequestSchemeMatchConditionParameters_STATUS + Defines the parameters for RequestScheme match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: - enum: - - HTTP - - HTTPS type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleRequestSchemeConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object requestUri: - description: 'RequestUri: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleRequestUriCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestUri type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.RequestUriMatchConditionParameters_STATUS + Defines the parameters for RequestUri match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleRequestUriConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object serverPort: - description: 'ServerPort: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleServerPortCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - ServerPort type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.ServerPortMatchConditionParameters_STATUS + Defines the parameters for ServerPort match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleServerPortConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object socketAddr: - description: 'SocketAddr: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleSocketAddrCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - SocketAddr type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.SocketAddrMatchConditionParameters_STATUS + Defines the parameters for SocketAddress match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - IPMatch type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleSocketAddrConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object sslProtocol: - description: 'SslProtocol: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleSslProtocolCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - SslProtocol type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.SslProtocolMatchConditionParameters_STATUS + Defines the parameters for SslProtocol match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: - description: The protocol of an established TLS connection. - enum: - - TLSv1 - - TLSv1.1 - - TLSv1.2 type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleSslProtocolConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object urlFileExtension: - description: 'UrlFileExtension: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleUrlFileExtensionCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - UrlFileExtension type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.UrlFileExtensionMatchConditionParameters_STATUS + Defines the parameters for UrlFileExtension match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleUrlFileExtensionMatchConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object urlFileName: - description: 'UrlFileName: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleUrlFileNameCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - UrlFileName type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.UrlFileNameMatchConditionParameters_STATUS + Defines the parameters for UrlFilename match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleUrlFilenameConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object urlPath: - description: 'UrlPath: Mutually exclusive with all other properties' + description: Storage version of v1api20210601.DeliveryRuleUrlPathCondition_STATUS properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - UrlPath type: string parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + Storage version of v1api20210601.UrlPathMatchConditionParameters_STATUS + Defines the parameters for UrlPath match conditions properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' items: type: string type: array negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' type: boolean operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - - Wildcard type: string transforms: - description: 'Transforms: List of transforms' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array typeName: - enum: - - DeliveryRuleUrlPathMatchConditionParameters type: string - required: - - operator - - typeName type: object - required: - - name - - parameters type: object type: object - type: array + type: array + name: + type: string + order: + type: integer + type: object + type: array + type: object + geoFilters: + items: + description: |- + Storage version of v1api20210601.GeoFilter_STATUS + Rules defining user's geo access within a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + countryCodes: + items: + type: string + type: array + relativePath: + type: string + type: object + type: array + hostName: + type: string + id: + type: string + isCompressionEnabled: + type: boolean + isHttpAllowed: + type: boolean + isHttpsAllowed: + type: boolean + location: + type: string + name: + type: string + optimizationType: + type: string + originGroups: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOriginGroup_STATUS + The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the + origin group based on origin health. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + healthProbeSettings: + description: |- + Storage version of v1api20210601.HealthProbeParameters_STATUS + The JSON object that contains the properties to send health probes to origin. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + probeIntervalInSeconds: + type: integer + probePath: + type: string + probeProtocol: + type: string + probeRequestType: + type: string + type: object + name: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + responseBasedOriginErrorDetectionSettings: + description: |- + Storage version of v1api20210601.ResponseBasedOriginErrorDetectionParameters_STATUS + The JSON object that contains the properties to determine origin health using real requests/responses. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + httpErrorRanges: + items: + description: |- + Storage version of v1api20210601.HttpErrorRangeParameters_STATUS + The JSON object that represents the range for http status codes + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + begin: + type: integer + end: + type: integer + type: object + type: array + responseBasedDetectedErrorTypes: + type: string + responseBasedFailoverThresholdPercentage: + type: integer + type: object + trafficRestorationTimeToHealedOrNewEndpointsInMinutes: + type: integer + type: object + type: array + originHostHeader: + type: string + originPath: + type: string + origins: + items: + description: |- + Storage version of v1api20210601.DeepCreatedOrigin_STATUS + The main origin of CDN content which is added when creating a CDN endpoint. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + hostName: + type: string + httpPort: + type: integer + httpsPort: + type: integer + name: + type: string + originHostHeader: + type: string + priority: + type: integer + privateEndpointStatus: + type: string + privateLinkAlias: + type: string + privateLinkApprovalMessage: + type: string + privateLinkLocation: + type: string + privateLinkResourceId: + type: string + weight: + type: integer + type: object + type: array + probePath: + type: string + provisioningState: + type: string + queryStringCachingBehavior: + type: string + resourceState: + type: string + systemData: + description: |- + Storage version of v1api20210601.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + urlSigningKeys: + items: + description: |- + Storage version of v1api20210601.UrlSigningKey_STATUS + Url signing key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + keySourceParameters: + description: |- + Storage version of v1api20210601.KeyVaultSigningKeyParameters_STATUS + Describes the parameters for using a user's KeyVault for URL Signing Key. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceGroupName: + type: string + secretName: + type: string + secretVersion: + type: string + subscriptionId: + type: string + typeName: + type: string + vaultName: + type: string + type: object + type: object + type: array + webApplicationFirewallPolicyLink: + description: Storage version of v1api20210601.EndpointProperties_WebApplicationFirewallPolicyLink_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: prometheusrulegroups.alertsmanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: alertsmanagement.azure.com + names: + categories: + - azure + - alertsmanagement + kind: PrometheusRuleGroup + listKind: PrometheusRuleGroupList + plural: prometheusrulegroups + singular: prometheusrulegroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[^:@/#{}%&+*<>?]+$ + type: string + clusterName: + description: 'ClusterName: Apply rule to data from a specific cluster.' + type: string + description: + description: 'Description: Rule group description.' + type: string + enabled: + description: 'Enabled: Enable/disable rule group.' + type: boolean + interval: + description: |- + Interval: The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be + between 1 and 15 minutes + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rules: + description: 'Rules: Defines the rules in the Prometheus rule group.' + items: + description: An Azure Prometheus alerting or recording rule. + properties: + actions: + description: 'Actions: Actions that are performed when the alert rule becomes active, and when an alert condition is resolved.' + items: + description: An alert action. Only relevant for alerts. + properties: + actionGroupReference: + description: 'ActionGroupReference: The resource id of the action group to use.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action group object.' + type: object + type: object + type: array + alert: + description: 'Alert: Alert rule name.' + type: string + annotations: + additionalProperties: + type: string + description: |- + Annotations: The annotations clause specifies a set of informational labels that can be used to store longer additional + information such as alert descriptions or runbook links. The annotation values can be templated. + type: object + enabled: + description: 'Enabled: Enable/disable rule.' + type: boolean + expression: + description: |- + Expression: The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated + periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given + by 'record'. + type: string + for: + description: 'For: The amount of time alert must be active before firing.' + type: string + labels: + additionalProperties: + type: string + description: 'Labels: Labels to add or overwrite before storing the result.' + type: object + record: + description: 'Record: Recorded metrics name.' + type: string + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Only relevant for alerts.' + properties: + autoResolved: + description: 'AutoResolved: Enable alert auto-resolution.' + type: boolean + timeToResolve: + description: 'TimeToResolve: Alert auto-resolution timeout.' + type: string + type: object + severity: + description: 'Severity: The severity of the alerts fired by the rule. Must be between 0 and 4.' + type: integer + required: + - expression + type: object + type: array + scopesReferences: + description: |- + ScopesReferences: Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with + one scope. This may change in future. + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + required: + - location + - owner + - rules + - scopesReferences + type: object + status: + properties: + clusterName: + description: 'ClusterName: Apply rule to data from a specific cluster.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + description: 'Description: Rule group description.' + type: string + enabled: + description: 'Enabled: Enable/disable rule group.' + type: boolean + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + interval: + description: |- + Interval: The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be + between 1 and 15 minutes + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + rules: + description: 'Rules: Defines the rules in the Prometheus rule group.' + items: + description: An Azure Prometheus alerting or recording rule. + properties: + actions: + description: 'Actions: Actions that are performed when the alert rule becomes active, and when an alert condition is resolved.' + items: + description: An alert action. Only relevant for alerts. + properties: + actionGroupId: + description: 'ActionGroupId: The resource id of the action group to use.' + type: string + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action group object.' + type: object + type: object + type: array + alert: + description: 'Alert: Alert rule name.' + type: string + annotations: + additionalProperties: + type: string + description: |- + Annotations: The annotations clause specifies a set of informational labels that can be used to store longer additional + information such as alert descriptions or runbook links. The annotation values can be templated. + type: object + enabled: + description: 'Enabled: Enable/disable rule.' + type: boolean + expression: + description: |- + Expression: The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated + periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given + by 'record'. + type: string + for: + description: 'For: The amount of time alert must be active before firing.' + type: string + labels: + additionalProperties: + type: string + description: 'Labels: Labels to add or overwrite before storing the result.' + type: object + record: + description: 'Record: Recorded metrics name.' + type: string + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Only relevant for alerts.' + properties: + autoResolved: + description: 'AutoResolved: Enable alert auto-resolution.' + type: boolean + timeToResolve: + description: 'TimeToResolve: Alert auto-resolution timeout.' + type: string + type: object + severity: + description: 'Severity: The severity of the alerts fired by the rule. Must be between 0 and 4.' + type: integer + type: object + type: array + scopes: + description: |- + Scopes: Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with one scope. + This may change in future. + items: + type: string + type: array + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230301.PrometheusRuleGroup + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230301.PrometheusRuleGroup_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clusterName: + type: string + description: + type: string + enabled: + type: boolean + interval: + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20230301.PrometheusRuleGroupOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + rules: + items: + description: |- + Storage version of v1api20230301.PrometheusRule + An Azure Prometheus alerting or recording rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20230301.PrometheusRuleGroupAction + An alert action. Only relevant for alerts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupReference: + description: 'ActionGroupReference: The resource id of the action group to use.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + actionProperties: + additionalProperties: + type: string + type: object + type: object + type: array + alert: + type: string + annotations: + additionalProperties: + type: string + type: object + enabled: + type: boolean + expression: + type: string + for: + type: string + labels: + additionalProperties: + type: string + type: object + record: + type: string + resolveConfiguration: + description: |- + Storage version of v1api20230301.PrometheusRuleResolveConfiguration + Specifies the Prometheus alert rule configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + severity: + type: integer + type: object + type: array + scopesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230301.PrometheusRuleGroup_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clusterName: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: + type: string + enabled: + type: boolean + id: + type: string + interval: + type: string + location: + type: string + name: + type: string + rules: + items: + description: |- + Storage version of v1api20230301.PrometheusRule_STATUS + An Azure Prometheus alerting or recording rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + description: |- + Storage version of v1api20230301.PrometheusRuleGroupAction_STATUS + An alert action. Only relevant for alerts. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupId: + type: string + actionProperties: + additionalProperties: + type: string + type: object + type: object + type: array + alert: + type: string + annotations: + additionalProperties: + type: string + type: object + enabled: + type: boolean + expression: + type: string + for: + type: string + labels: + additionalProperties: + type: string + type: object + record: + type: string + resolveConfiguration: + description: |- + Storage version of v1api20230301.PrometheusRuleResolveConfiguration_STATUS + Specifies the Prometheus alert rule configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + severity: + type: integer + type: object + type: array + scopes: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20230301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: publicipaddresses.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PublicIPAddress + listKind: PublicIPAddressList + plural: publicipaddresses + singular: publicipaddress + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosCustomPolicy: + description: 'DdosCustomPolicy: The DDoS custom policy associated with the public IP.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectedIP: + description: 'ProtectedIP: Enables DDoS protection on the public IP.' + type: boolean + protectionCoverage: + description: |- + ProtectionCoverage: The DDoS protection policy customizability of the public IP. Only standard coverage will have the + ability to be customized. + enum: + - Basic + - Standard + type: string + type: object + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + required: + - name + - type + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + linkedPublicIPAddress: + description: 'LinkedPublicIPAddress: The linked public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: 'ServicePublicIPAddress: The service public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP address resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosCustomPolicy: + description: 'DdosCustomPolicy: The DDoS custom policy associated with the public IP.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protectedIP: + description: 'ProtectedIP: Enables DDoS protection on the public IP.' + type: boolean + protectionCoverage: + description: |- + ProtectionCoverage: The DDoS protection policy customizability of the public IP. Only standard coverage will have the + ability to be customized. + type: string + type: object + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipConfiguration: + description: 'IpConfiguration: The IP configuration associated with the public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Public IP Address.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP address resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP address resource.' + type: string + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201101.PublicIPAddress + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201101.PublicIPAddress_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: |- + Storage version of v1api20201101.DdosSettings + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosCustomPolicy: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectedIP: + type: boolean + protectionCoverage: + type: string + type: object + dnsSettings: + description: |- + Storage version of v1api20201101.PublicIPAddressDnsSettings + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipTags: + items: + description: |- + Storage version of v1api20201101.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + linkedPublicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + type: string + natGateway: + description: |- + Storage version of v1api20201101.NatGatewaySpec_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20201101.PublicIPAddressOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20201101.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: |- + Storage version of v1api20201101.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20201101.PublicIPAddressSku + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20201101.PublicIPAddress_STATUS + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: |- + Storage version of v1api20201101.DdosSettings_STATUS + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosCustomPolicy: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + protectedIP: + type: boolean + protectionCoverage: + type: string + type: object + dnsSettings: + description: |- + Storage version of v1api20201101.PublicIPAddressDnsSettings_STATUS + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20201101.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipConfiguration: + description: |- + Storage version of v1api20201101.IPConfiguration_STATUS_PublicIPAddress_SubResourceEmbedded + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20201101.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + migrationPhase: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20201101.NatGateway_STATUS_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20201101.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20201101.PublicIPAddressSku_STATUS + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectionMode: + description: 'ProtectionMode: The DDoS protection mode of the public IP' + enum: + - Disabled + - Enabled + - VirtualNetworkInherited + type: string + type: object + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP address when the VM using it is deleted' + enum: + - Delete + - Detach + type: string + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + domainNameLabelScope: + description: |- + DomainNameLabelScope: The domain name label scope. If a domain name label and a domain name label scope are specified, + an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + enum: + - NoReuse + - ResourceGroupReuse + - SubscriptionReuse + - TenantReuse + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + linkedPublicIPAddress: + description: 'LinkedPublicIPAddress: The linked public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + enum: + - Dynamic + - Static + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: 'ServicePublicIPAddress: The service public IP address of the public IP address resource.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + enum: + - Basic + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP address resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + properties: + ddosProtectionPlan: + description: 'DdosProtectionPlan: The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + protectionMode: + description: 'ProtectionMode: The DDoS protection mode of the public IP' + type: string + type: object + deleteOption: + description: 'DeleteOption: Specify what happens to the public IP address when the VM using it is deleted' + type: string + dnsSettings: + description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + properties: + domainNameLabel: + description: |- + DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up + the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS + record is created for the public IP in the Microsoft Azure DNS system. + type: string + domainNameLabelScope: + description: |- + DomainNameLabelScope: The domain name label scope. If a domain name label and a domain name label scope are specified, + an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + type: string + fqdn: + description: |- + Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of + the domainNameLabel and the regionalized DNS zone. + type: string + reverseFqdn: + description: |- + ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If + the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain + to the reverse FQDN. + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + idleTimeoutInMinutes: + description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' + type: integer + ipAddress: + description: 'IpAddress: The IP address associated with the public IP address resource.' + type: string + ipConfiguration: + description: 'IpConfiguration: The IP configuration associated with the public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP address.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + migrationPhase: + description: 'MigrationPhase: Migration phase of Public IP Address.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: The NatGateway for the Public IP address.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP address resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAllocationMethod: + description: 'PublicIPAllocationMethod: The public IP address allocation method.' + type: string + publicIPPrefix: + description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP address resource.' + type: string + sku: + description: 'Sku: The public IP address SKU.' + properties: + name: + description: 'Name: Name of a public IP address SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP address SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PublicIPAddress + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpAddress.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PublicIPAddress_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + ddosSettings: + description: |- + Storage version of v1api20240301.DdosSettings + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosProtectionPlan: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + protectionMode: + type: string + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20240301.PublicIPAddressDnsSettings + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + domainNameLabelScope: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + linkedPublicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGatewaySpec_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.PublicIPAddressOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + servicePublicIPAddress: + description: |- + Storage version of v1api20240301.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20240301.PublicIPAddressSku + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.PublicIPAddress_STATUS + Public IP address resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + ddosSettings: + description: |- + Storage version of v1api20240301.DdosSettings_STATUS + Contains the DDoS protection settings of the public IP. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ddosProtectionPlan: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + protectionMode: + type: string + type: object + deleteOption: + type: string + dnsSettings: + description: |- + Storage version of v1api20240301.PublicIPAddressDnsSettings_STATUS + Contains FQDN of the DNS record associated with the public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domainNameLabel: + type: string + domainNameLabelScope: + type: string + fqdn: + type: string + reverseFqdn: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + idleTimeoutInMinutes: + type: integer + ipAddress: + type: string + ipConfiguration: + description: |- + Storage version of v1api20240301.IPConfiguration_STATUS_PublicIPAddress_SubResourceEmbedded + IP configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + migrationPhase: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGateway_STATUS_PublicIPAddress_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAllocationMethod: + type: string + publicIPPrefix: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.PublicIPAddressSku_STATUS + SKU of a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: publicipprefixes.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: PublicIPPrefix + listKind: PublicIPPrefixList + plural: publicipprefixes + singular: publicipprefix + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + enum: + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP prefix resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipPrefix: + description: 'IpPrefix: The allocated Prefix.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + LoadBalancerFrontendIpConfiguration: The reference to load balancer frontend IP configuration associated with the public + IP prefix. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP prefix resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAddresses: + description: 'PublicIPAddresses: The list of all referenced PublicIPAddresses.' + items: + description: Reference to a public IP address. + properties: + id: + description: 'Id: The PublicIPAddress Reference.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP prefix resource.' + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220701.PublicIPPrefix + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220701.PublicIPPrefix_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: |- + Storage version of v1api20220701.SubResource + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20220701.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + natGateway: + description: |- + Storage version of v1api20220701.NatGatewaySpec_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20220701.PublicIPPrefixOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + type: integer + publicIPAddressVersion: + type: string + sku: + description: |- + Storage version of v1api20220701.PublicIPPrefixSku + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220701.PublicIPPrefix_STATUS + Public IP prefix resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20220701.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipPrefix: + type: string + ipTags: + items: + description: |- + Storage version of v1api20220701.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + Storage version of v1api20220701.SubResource_STATUS + Reference to another ARM resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + location: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20220701.NatGateway_STATUS_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + prefixLength: + type: integer + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAddresses: + items: + description: |- + Storage version of v1api20220701.ReferencedPublicIpAddress_STATUS + Reference to a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20220701.PublicIPPrefixSku_STATUS + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + location: + description: 'Location: Resource location.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + enum: + - IPv4 + - IPv6 + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + enum: + - Standard + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + enum: + - Global + - Regional + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + required: + - owner + type: object + status: + description: Public IP prefix resource. + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + type: string + extendedLocation: + description: 'ExtendedLocation: The extended location of the public ip address.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + type: string + type: object + id: + description: 'Id: Resource ID.' + type: string + ipPrefix: + description: 'IpPrefix: The allocated Prefix.' + type: string + ipTags: + description: 'IpTags: The list of tags associated with the public IP prefix.' + items: + description: Contains the IpTag associated with the object. + properties: + ipTagType: + description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' + type: string + tag: + description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + LoadBalancerFrontendIpConfiguration: The reference to load balancer frontend IP configuration associated with the public + IP prefix. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + location: + description: 'Location: Resource location.' + type: string + name: + description: 'Name: Resource name.' + type: string + natGateway: + description: 'NatGateway: NatGateway of Public IP Prefix.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + prefixLength: + description: 'PrefixLength: The Length of the Public IP Prefix.' + type: integer + provisioningState: + description: 'ProvisioningState: The provisioning state of the public IP prefix resource.' + type: string + publicIPAddressVersion: + description: 'PublicIPAddressVersion: The public IP address version.' + type: string + publicIPAddresses: + description: 'PublicIPAddresses: The list of all referenced PublicIPAddresses.' + items: + description: Reference to a public IP address. + properties: + id: + description: 'Id: The PublicIPAddress Reference.' + type: string + type: object + type: array + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the public IP prefix resource.' + type: string + sku: + description: 'Sku: The public IP prefix SKU.' + properties: + name: + description: 'Name: Name of a public IP prefix SKU.' + type: string + tier: + description: 'Tier: Tier of a public IP prefix SKU.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + zones: + description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20240301.PublicIPPrefix + Generator information: + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpPrefix.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20240301.PublicIPPrefix_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + customIPPrefix: + description: |- + Storage version of v1api20240301.SubResource + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + location: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGatewaySpec_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + operatorSpec: + description: |- + Storage version of v1api20240301.PublicIPPrefixOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + prefixLength: + type: integer + publicIPAddressVersion: + type: string + sku: + description: |- + Storage version of v1api20240301.PublicIPPrefixSku + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240301.PublicIPPrefix_STATUS + Public IP prefix resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + customIPPrefix: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + etag: + type: string + extendedLocation: + description: |- + Storage version of v1api20240301.ExtendedLocation_STATUS + ExtendedLocation complex type. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + id: + type: string + ipPrefix: + type: string + ipTags: + items: + description: |- + Storage version of v1api20240301.IpTag_STATUS + Contains the IpTag associated with the object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipTagType: + type: string + tag: + type: string + type: object + type: array + loadBalancerFrontendIpConfiguration: + description: |- + Storage version of v1api20240301.SubResource_STATUS + Reference to another subresource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + location: + type: string + name: + type: string + natGateway: + description: |- + Storage version of v1api20240301.NatGateway_STATUS_PublicIPPrefix_SubResourceEmbedded + Nat Gateway resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + prefixLength: + type: integer + provisioningState: + type: string + publicIPAddressVersion: + type: string + publicIPAddresses: + items: + description: |- + Storage version of v1api20240301.ReferencedPublicIpAddress_STATUS + Reference to a public IP address. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + resourceGuid: + type: string + sku: + description: |- + Storage version of v1api20240301.PublicIPPrefixSku_STATUS + SKU of a public IP prefix. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: redis.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: Redis + listKind: RedisList + plural: redis + singular: redis + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + enum: + - Disabled + - Enabled + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: 'RdbBackupFrequency: Specifies the frequency for creating rdb backup' + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value + 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in + a PUT/PATCH request. Supported versions: 4.0, 6.0. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string + required: + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + instances: + description: 'Instances: List of the Redis instances associated with the cache' + items: + description: Details of single instance of redis. + properties: + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' + type: string + type: object + type: array + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' + items: + description: Linked server Id + properties: + id: + description: 'Id: Linked server Id.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + type: string + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Redis instance provisioning status.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: 'RdbBackupFrequency: Specifies the frequency for creating rdb backup' + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value + 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in + a PUT/PATCH request. Supported versions: 4.0, 6.0. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + type: string + type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.Redis + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.Redis_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + type: boolean + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20201201.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20201201.RedisCreateProperties_RedisConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20201201.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20201201.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + type: boolean + hostName: + type: string + id: + type: string + instances: + items: + description: |- + Storage version of v1api20201201.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20201201.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20201201.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20201201.RedisProperties_RedisConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalProperties: + additionalProperties: + type: string + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20201201.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: Name of the rule' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - order: + value: description: |- - Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a - lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not - require any condition and actions listed in it will always be applied. - type: integer + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string required: - - actions - - order + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are + joined to, or injected into, a virtual network subnet. + enum: + - Disabled + - Enabled + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string required: - - rules + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + instances: + description: 'Instances: List of the Redis instances associated with the cache' + items: + description: Details of single instance of redis. + properties: + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' + type: string + type: object + type: array + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' + items: + description: Linked server Id + properties: + id: + description: 'Id: Linked server Id.' + type: string + type: object + type: array + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + type: string + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Redis instance provisioning status.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are + joined to, or injected into, a virtual network subnet. + type: string + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + preferred-data-archive-auth-method: + description: |- + PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify + SAS or ManagedIdentity, default value is SAS + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + type: string + type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.Redis + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.Redis_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + type: boolean + identity: + description: |- + Storage version of v1api20230401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20230401.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230401.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - geoFilters: + originalVersion: + type: string + owner: description: |- - GeoFilters: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule - to a specified path or content, e.g. block APAC for path /pictures/ + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230401.RedisCreateProperties_RedisConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230401.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + zones: items: - description: Rules defining user's geo access within a CDN endpoint. + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230401.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource properties: - action: - description: 'Action: Action of the geo filter, i.e. allow or block access.' - enum: - - Allow - - Block + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - countryCodes: - description: 'CountryCodes: Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.' - items: - type: string - type: array - relativePath: - description: 'RelativePath: Relative path applicable to geo filter. (e.g. ''/mypictures'', ''/mypicture/kitty.jpg'', and etc.)' + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string required: - - action - - countryCodes - - relativePath + - lastTransitionTime + - reason + - status + - type type: object type: array - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled on CDN. Default value is false. If compression is - enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on - CDN when requested content is smaller than 1 byte or larger than 1 MB. + enableNonSslPort: type: boolean - isHttpAllowed: + hostName: + type: string + id: + type: string + identity: description: |- - IsHttpAllowed: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol - (HTTP or HTTPS) must be allowed. - type: boolean - isHttpsAllowed: + Storage version of v1api20230401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instances: + items: + description: |- + Storage version of v1api20230401.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20230401.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230401.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230401.RedisProperties_RedisConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + preferred-data-archive-auth-method: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: description: |- - IsHttpsAllowed: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol - (HTTP or HTTPS) must be allowed. + Storage version of v1api20230401.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' type: boolean + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') + enum: + - "1.0" + - "1.1" + - "1.2" type: string operatorSpec: description: |- @@ -251383,249 +334148,95 @@ spec: - value type: object type: array - type: object - optimizationType: - description: |- - OptimizationType: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media - services. With this information, CDN can apply scenario driven optimization. - enum: - - DynamicSiteAcceleration - - GeneralMediaStreaming - - GeneralWebDelivery - - LargeFileDownload - - VideoOnDemandMediaStreaming - type: string - originGroups: - description: 'OriginGroups: The origin groups comprising of origins that are used for load balancing the traffic based on availability.' - items: - description: |- - The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the - origin group based on origin health. - properties: - healthProbeSettings: - description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' - properties: - probeIntervalInSeconds: - description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' - maximum: 255 - minimum: 1 - type: integer - probePath: - description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' - type: string - probeProtocol: - description: 'ProbeProtocol: Protocol to use for health probe.' - enum: - - Http - - Https - - NotSet - type: string - probeRequestType: - description: 'ProbeRequestType: The type of health probe request that is made.' - enum: - - GET - - HEAD - - NotSet - type: string - type: object - name: - description: 'Name: Origin group name which must be unique within the endpoint.' - type: string - origins: - description: 'Origins: The source of the content being delivered via CDN within given origin group.' - items: - description: Reference to another resource. + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + hostName: + description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name type: object - type: array - responseBasedOriginErrorDetectionSettings: - description: |- - ResponseBasedOriginErrorDetectionSettings: The JSON object that contains the properties to determine origin health using - real requests/responses.This property is currently not supported. - properties: - httpErrorRanges: - description: |- - HttpErrorRanges: The list of Http status code ranges that are considered as server errors for origin and it is marked as - unhealthy. - items: - description: The JSON object that represents the range for http status codes - properties: - begin: - description: 'Begin: The inclusive start of the http status code range.' - maximum: 999 - minimum: 100 - type: integer - end: - description: 'End: The inclusive end of the http status code range.' - maximum: 999 - minimum: 100 - type: integer - type: object - type: array - responseBasedDetectedErrorTypes: - description: 'ResponseBasedDetectedErrorTypes: Type of response errors for real user requests for which origin will be deemed unhealthy' - enum: - - None - - TcpAndHttpErrors - - TcpErrorsOnly - type: string - responseBasedFailoverThresholdPercentage: - description: 'ResponseBasedFailoverThresholdPercentage: The percentage of failed requests in the sample where failover should trigger.' - maximum: 100 - minimum: 0 - type: integer - type: object - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - description: |- - TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually - when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not - supported. - maximum: 50 - minimum: 0 - type: integer - required: - - name - - origins - type: object - type: array - originHostHeader: - description: |- - OriginHostHeader: The host header value sent to the origin with each request. This property at Endpoint is only allowed - when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, - the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services - require this host header value to match the origin hostname by default. - type: string - originPath: - description: |- - OriginPath: A directory path on the origin that CDN can use to retrieve content from, e.g. - contoso.cloudapp.net/originpath. - type: string - origins: - description: 'Origins: The source of the content being delivered via CDN.' - items: - description: The main origin of CDN content which is added when creating a CDN endpoint. - properties: - enabled: - description: 'Enabled: Origin is enabled for load balancing or not. By default, origin is always enabled.' - type: boolean - hostName: - description: |- - HostName: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique - across all origins in an endpoint. - type: string - httpPort: - description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' - maximum: 65535 - minimum: 1 - type: integer - httpsPort: - description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' - maximum: 65535 - minimum: 1 - type: integer - name: - description: 'Name: Origin name which must be unique within the endpoint.' - type: string - originHostHeader: - description: |- - OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request - hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host - header value to match the origin hostname by default. - type: string - priority: - description: |- - Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load - balancing if any lower priority origin is healthy.Must be between 1 and 5. - maximum: 5 - minimum: 1 - type: integer - privateLinkAlias: - description: |- - PrivateLinkAlias: The Alias of the Private Link resource. Populating this optional field indicates that this origin is - 'Private' - type: string - privateLinkApprovalMessage: - description: 'PrivateLinkApprovalMessage: A custom message to be included in the approval request to connect to the Private Link.' - type: string - privateLinkLocationReference: - description: |- - PrivateLinkLocationReference: The location of the Private Link resource. Required only if 'privateLinkResourceId' is - populated - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateLinkResourceReference: - description: |- - PrivateLinkResourceReference: The Resource Id of the Private Link resource. Populating this optional field indicates - that this backend is 'Private' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - weight: - description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' - maximum: 1000 - minimum: 1 - type: integer - required: - - hostName - - name - type: object - type: array + port: + description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -251634,101 +334245,173 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - probePath: + publicNetworkAccess: description: |- - ProbePath: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the - most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single - origin. + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' + enum: + - Disabled + - Enabled type: string - queryStringCachingBehavior: + redisConfiguration: description: |- - QueryStringCachingBehavior: Defines how CDN caches requests that include query strings. You can ignore any query strings - when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request - with a unique URL. - enum: - - BypassCaching - - IgnoreQueryString - - NotSet - - UseQueryString + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. + properties: + aad-enabled: + description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' + type: string + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' + type: string + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' + type: string + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' + type: string + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + notify-keyspace-events: + description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + enum: + - C + - P + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + enum: + - Basic + - Premium + - Standard + type: string + required: + - capacity + - family + - name + type: object + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + pattern: ^\d+\.\d+\.\d+\.\d+$ type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - urlSigningKeys: - description: 'UrlSigningKeys: List of keys used to validate the signed URL hashes.' + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object + updateChannel: + description: |- + UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. + Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. + Default value is 'Stable'. + enum: + - Preview + - Stable + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' items: - description: Url signing key - properties: - keyId: - description: |- - KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form - the hash. - type: string - keySourceParameters: - description: 'KeySourceParameters: Defines the parameters for using customer key vault for Url Signing Key.' - properties: - resourceGroupName: - description: 'ResourceGroupName: Resource group of the user''s Key Vault containing the secret' - type: string - secretName: - description: 'SecretName: The name of secret in Key Vault.' - type: string - secretVersion: - description: 'SecretVersion: The version(GUID) of secret in Key Vault.' - type: string - subscriptionId: - description: 'SubscriptionId: Subscription Id of the user''s Key Vault containing the secret' - type: string - typeName: - enum: - - KeyVaultSigningKeyParameters - type: string - vaultName: - description: 'VaultName: The name of the user''s Key Vault containing the secret' - type: string - required: - - resourceGroupName - - secretName - - secretVersion - - subscriptionId - - typeName - - vaultName - type: object - required: - - keyId - - keySourceParameters - type: object + type: string type: array - webApplicationFirewallPolicyLink: - description: 'WebApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for the endpoint (if applicable)' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object required: - location - - origins - owner + - sku type: object status: properties: @@ -251776,1188 +334459,255 @@ spec: - type type: object type: array - contentTypesToCompress: - description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' - items: - type: string - type: array - customDomains: - description: 'CustomDomains: The custom domains under the endpoint.' - items: - description: Custom domains created on the CDN endpoint. - properties: - hostName: - description: 'HostName: The host name of the custom domain. Must be a domain name.' - type: string - name: - description: 'Name: Custom domain name.' - type: string - validationData: - description: |- - ValidationData: Special validation or data may be required when delivering CDN to some regions due to local compliance - reasons. E.g. ICP license number of a custom domain is required to deliver content in China. - type: string - type: object - type: array - defaultOriginGroup: - description: 'DefaultOriginGroup: A reference to the origin group.' + enableNonSslPort: + description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' + type: boolean + hostName: + description: 'HostName: Redis host name.' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' properties: - id: - description: 'Id: Resource ID.' + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. type: string - type: object - deliveryPolicy: - description: 'DeliveryPolicy: A policy that specifies the delivery rules to be used for an endpoint.' - properties: - description: - description: 'Description: User-friendly description of the policy.' + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. type: string - rules: - description: 'Rules: A list of the delivery rules.' - items: - description: A rule that specifies a set of actions and conditions + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties properties: - actions: - description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' - items: - description: An action for the delivery rule. - properties: - cacheExpiration: - description: 'CacheExpiration: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - type: string - cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' - type: string - cacheType: - description: 'CacheType: The level at which the content needs to be cached.' - type: string - typeName: - type: string - type: object - type: object - cacheKeyQueryString: - description: 'CacheKeyQueryString: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringBehavior: - description: 'QueryStringBehavior: Caching behavior for the requests' - type: string - typeName: - type: string - type: object - type: object - modifyRequestHeader: - description: 'ModifyRequestHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - headerAction: - description: 'HeaderAction: Action to perform' - type: string - headerName: - description: 'HeaderName: Name of the header to modify' - type: string - typeName: - type: string - value: - description: 'Value: Value for the specified action' - type: string - type: object - type: object - modifyResponseHeader: - description: 'ModifyResponseHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - headerAction: - description: 'HeaderAction: Action to perform' - type: string - headerName: - description: 'HeaderName: Name of the header to modify' - type: string - typeName: - type: string - value: - description: 'Value: Value for the specified action' - type: string - type: object - type: object - originGroupOverride: - description: 'OriginGroupOverride: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - typeName: - type: string - type: object - type: object - routeConfigurationOverride: - description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - cacheConfiguration: - description: |- - CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a - cacheConfiguration object. - properties: - cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - type: string - cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' - type: string - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be - served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when - requested content is smaller than 1 byte or larger than 1 MB. - type: string - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringCachingBehavior: - description: |- - QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query - strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query - strings. - type: string - type: object - originGroupOverride: - description: |- - OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group - on route. - properties: - forwardingProtocol: - description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' - type: string - originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: object - typeName: - type: string - type: object - type: object - urlRedirect: - description: 'UrlRedirect: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - customFragment: - description: |- - CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include - the #. - type: string - customHostname: - description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' - type: string - customPath: - description: |- - CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path - as destination path. - type: string - customQueryString: - description: |- - CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any - existing query string; leave empty to preserve the incoming query string. Query string must be in = format. - ? and & will be added automatically so do not include them. - type: string - destinationProtocol: - description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' - type: string - redirectType: - description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' - type: string - typeName: - type: string - type: object - type: object - urlRewrite: - description: 'UrlRewrite: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - destination: - description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' - type: string - preserveUnmatchedPath: - description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' - type: boolean - sourcePattern: - description: |- - SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is - blank, all strings are matched. - type: string - typeName: - type: string - type: object - type: object - urlSigning: - description: 'UrlSigning: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - algorithm: - description: 'Algorithm: Algorithm to use for URL signing' - type: string - parameterNameOverride: - description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' - items: - description: Defines how to identify a parameter for a specific purpose e.g. expires - properties: - paramIndicator: - description: 'ParamIndicator: Indicates the purpose of the parameter' - type: string - paramName: - description: 'ParamName: Parameter name' - type: string - type: object - type: array - typeName: - type: string - type: object - type: object - type: object - type: array - conditions: - description: 'Conditions: A list of conditions that must be matched for the actions to be executed' - items: - description: A condition for the delivery rule. - properties: - clientPort: - description: 'ClientPort: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - cookies: - description: 'Cookies: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - selector: - description: 'Selector: Name of Cookies to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - hostName: - description: 'HostName: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - httpVersion: - description: 'HttpVersion: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - isDevice: - description: 'IsDevice: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - postArgs: - description: 'PostArgs: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - selector: - description: 'Selector: Name of PostArg to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - queryString: - description: 'QueryString: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - remoteAddress: - description: 'RemoteAddress: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: |- - MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of - them match the variable with the given operator this match condition is considered a match. - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestBody: - description: 'RequestBody: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestHeader: - description: 'RequestHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - selector: - description: 'Selector: Name of Header to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestMethod: - description: 'RequestMethod: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestScheme: - description: 'RequestScheme: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestUri: - description: 'RequestUri: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - serverPort: - description: 'ServerPort: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - socketAddr: - description: 'SocketAddr: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - sslProtocol: - description: 'SslProtocol: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - description: The protocol of an established TLS connection. - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileExtension: - description: 'UrlFileExtension: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileName: - description: 'UrlFileName: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - urlPath: - description: 'UrlPath: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - type: object - type: array - name: - description: 'Name: Name of the rule' - type: string - order: - description: |- - Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a - lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not - require any condition and actions listed in it will always be applied. - type: integer + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string type: object - type: array + type: object type: object - geoFilters: - description: |- - GeoFilters: List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule - to a specified path or content, e.g. block APAC for path /pictures/ + instances: + description: 'Instances: List of the Redis instances associated with the cache' items: - description: Rules defining user's geo access within a CDN endpoint. + description: Details of single instance of redis. properties: - action: - description: 'Action: Action of the geo filter, i.e. allow or block access.' - type: string - countryCodes: - description: 'CountryCodes: Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.' - items: - type: string - type: array - relativePath: - description: 'RelativePath: Relative path applicable to geo filter. (e.g. ''/mypictures'', ''/mypicture/kitty.jpg'', and etc.)' + isMaster: + description: 'IsMaster: Specifies whether the instance is a primary node.' + type: boolean + isPrimary: + description: 'IsPrimary: Specifies whether the instance is a primary node.' + type: boolean + nonSslPort: + description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' + type: integer + shardId: + description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' + type: integer + sslPort: + description: 'SslPort: Redis instance SSL port.' + type: integer + zone: + description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' type: string type: object type: array - hostName: - description: 'HostName: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net' - type: string - id: - description: 'Id: Resource ID.' - type: string - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled on CDN. Default value is false. If compression is - enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on - CDN when requested content is smaller than 1 byte or larger than 1 MB. - type: boolean - isHttpAllowed: - description: |- - IsHttpAllowed: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol - (HTTP or HTTPS) must be allowed. - type: boolean - isHttpsAllowed: - description: |- - IsHttpsAllowed: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol - (HTTP or HTTPS) must be allowed. - type: boolean - location: - description: 'Location: Resource location.' - type: string - name: - description: 'Name: Resource name.' - type: string - optimizationType: - description: |- - OptimizationType: Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media - services. With this information, CDN can apply scenario driven optimization. - type: string - originGroups: - description: 'OriginGroups: The origin groups comprising of origins that are used for load balancing the traffic based on availability.' + linkedServers: + description: 'LinkedServers: List of the linked servers associated with the cache' items: - description: |- - The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the - origin group based on origin health. + description: Linked server Id properties: - healthProbeSettings: - description: 'HealthProbeSettings: Health probe settings to the origin that is used to determine the health of the origin.' - properties: - probeIntervalInSeconds: - description: 'ProbeIntervalInSeconds: The number of seconds between health probes.Default is 240sec.' - type: integer - probePath: - description: 'ProbePath: The path relative to the origin that is used to determine the health of the origin.' - type: string - probeProtocol: - description: 'ProbeProtocol: Protocol to use for health probe.' - type: string - probeRequestType: - description: 'ProbeRequestType: The type of health probe request that is made.' - type: string - type: object - name: - description: 'Name: Origin group name which must be unique within the endpoint.' + id: + description: 'Id: Linked server Id.' type: string - origins: - description: 'Origins: The source of the content being delivered via CDN within given origin group.' - items: - description: Reference to another resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - responseBasedOriginErrorDetectionSettings: - description: |- - ResponseBasedOriginErrorDetectionSettings: The JSON object that contains the properties to determine origin health using - real requests/responses.This property is currently not supported. - properties: - httpErrorRanges: - description: |- - HttpErrorRanges: The list of Http status code ranges that are considered as server errors for origin and it is marked as - unhealthy. - items: - description: The JSON object that represents the range for http status codes - properties: - begin: - description: 'Begin: The inclusive start of the http status code range.' - type: integer - end: - description: 'End: The inclusive end of the http status code range.' - type: integer - type: object - type: array - responseBasedDetectedErrorTypes: - description: 'ResponseBasedDetectedErrorTypes: Type of response errors for real user requests for which origin will be deemed unhealthy' - type: string - responseBasedFailoverThresholdPercentage: - description: 'ResponseBasedFailoverThresholdPercentage: The percentage of failed requests in the sample where failover should trigger.' - type: integer - type: object - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - description: |- - TrafficRestorationTimeToHealedOrNewEndpointsInMinutes: Time in minutes to shift the traffic to the endpoint gradually - when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not - supported. - type: integer type: object type: array - originHostHeader: - description: |- - OriginHostHeader: The host header value sent to the origin with each request. This property at Endpoint is only allowed - when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, - the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services - require this host header value to match the origin hostname by default. + location: + description: 'Location: The geo-location where the resource lives' type: string - originPath: + minimumTlsVersion: description: |- - OriginPath: A directory path on the origin that CDN can use to retrieve content from, e.g. - contoso.cloudapp.net/originpath. + MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', + '1.2') type: string - origins: - description: 'Origins: The source of the content being delivered via CDN.' + name: + description: 'Name: The name of the resource' + type: string + port: + description: 'Port: Redis non-SSL port.' + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' items: - description: The main origin of CDN content which is added when creating a CDN endpoint. + description: The Private Endpoint Connection resource. properties: - enabled: - description: 'Enabled: Origin is enabled for load balancing or not. By default, origin is always enabled.' - type: boolean - hostName: - description: |- - HostName: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique - across all origins in an endpoint. - type: string - httpPort: - description: 'HttpPort: The value of the HTTP port. Must be between 1 and 65535.' - type: integer - httpsPort: - description: 'HttpsPort: The value of the HTTPS port. Must be between 1 and 65535.' - type: integer - name: - description: 'Name: Origin name which must be unique within the endpoint.' - type: string - originHostHeader: - description: |- - OriginHostHeader: The host header value sent to the origin with each request. If you leave this blank, the request - hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host - header value to match the origin hostname by default. - type: string - priority: - description: |- - Priority: Priority of origin in given origin group for load balancing. Higher priorities will not be used for load - balancing if any lower priority origin is healthy.Must be between 1 and 5. - type: integer - privateEndpointStatus: - description: 'PrivateEndpointStatus: The approval status for the connection to the Private Link' - type: string - privateLinkAlias: - description: |- - PrivateLinkAlias: The Alias of the Private Link resource. Populating this optional field indicates that this origin is - 'Private' - type: string - privateLinkApprovalMessage: - description: 'PrivateLinkApprovalMessage: A custom message to be included in the approval request to connect to the Private Link.' - type: string - privateLinkLocation: - description: 'PrivateLinkLocation: The location of the Private Link resource. Required only if ''privateLinkResourceId'' is populated' - type: string - privateLinkResourceId: + id: description: |- - PrivateLinkResourceId: The Resource Id of the Private Link resource. Populating this optional field indicates that this - backend is 'Private' + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - weight: - description: 'Weight: Weight of the origin in given origin group for load balancing. Must be between 1 and 1000' - type: integer type: object type: array - probePath: - description: |- - ProbePath: Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the - most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single - origin. - type: string provisioningState: - description: 'ProvisioningState: Provisioning status of the endpoint.' + description: 'ProvisioningState: Redis instance provisioning status.' type: string - queryStringCachingBehavior: + publicNetworkAccess: description: |- - QueryStringCachingBehavior: Defines how CDN caches requests that include query strings. You can ignore any query strings - when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request - with a unique URL. - type: string - resourceState: - description: 'ResourceState: Resource status of the endpoint.' + PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed + in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is + 'Enabled' type: string - systemData: - description: 'SystemData: Read only system data' + redisConfiguration: + description: |- + RedisConfiguration: All Redis Settings. Few possible keys: + rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value + etc. properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + aad-enabled: + description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + aof-backup-enabled: + description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' + aof-storage-connection-string-0: + description: 'AofStorageConnectionString0: First storage account connection string' type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + aof-storage-connection-string-1: + description: 'AofStorageConnectionString1: Second storage account connection string' type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + authnotrequired: + description: |- + Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from + security point of view. type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + maxclients: + description: 'Maxclients: The max clients config' + type: string + maxfragmentationmemory-reserved: + description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' + type: string + maxmemory-delta: + description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + maxmemory-policy: + description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + type: string + maxmemory-reserved: + description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + type: string + notify-keyspace-events: + description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' + type: string + preferred-data-archive-auth-method: + description: |- + PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify + SAS or ManagedIdentity, default value is SAS + type: string + preferred-data-persistence-auth-method: + description: |- + PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, + specify SAS or ManagedIdentity, default value is SAS + type: string + rdb-backup-enabled: + description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + type: string + rdb-backup-frequency: + description: |- + RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, + 1440) + type: string + rdb-backup-max-snapshot-count: + description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + type: string + rdb-storage-connection-string: + description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + type: string + storage-subscription-id: + description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + type: string + zonal-configuration: + description: 'ZonalConfiguration: Zonal Configuration' + type: string + type: object + redisVersion: + description: |- + RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' + which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value + is 'latest'. + type: string + replicasPerMaster: + description: 'ReplicasPerMaster: The number of replicas to be created per primary.' + type: integer + replicasPerPrimary: + description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' + type: integer + shardCount: + description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' + type: integer + sku: + description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + capacity: + description: |- + Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for + P (Premium) family (1, 2, 3, 4). + type: integer + family: + description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + type: string + name: + description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' type: string type: object + sslPort: + description: 'SslPort: Redis SSL port.' + type: integer + staticIP: + description: |- + StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual + Network; auto assigned by default. + type: string + subnetId: + description: |- + SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + type: string tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object + tenantSettings: + additionalProperties: + type: string + description: 'TenantSettings: A dictionary of tenant settings' + type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - urlSigningKeys: - description: 'UrlSigningKeys: List of keys used to validate the signed URL hashes.' + updateChannel: + description: |- + UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. + Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. + Default value is 'Stable'. + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' items: - description: Url signing key - properties: - keyId: - description: |- - KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form - the hash. - type: string - keySourceParameters: - description: 'KeySourceParameters: Defines the parameters for using customer key vault for Url Signing Key.' - properties: - resourceGroupName: - description: 'ResourceGroupName: Resource group of the user''s Key Vault containing the secret' - type: string - secretName: - description: 'SecretName: The name of secret in Key Vault.' - type: string - secretVersion: - description: 'SecretVersion: The version(GUID) of secret in Key Vault.' - type: string - subscriptionId: - description: 'SubscriptionId: Subscription Id of the user''s Key Vault containing the secret' - type: string - typeName: - type: string - vaultName: - description: 'VaultName: The name of the user''s Key Vault containing the secret' - type: string - type: object - type: object + type: string type: array - webApplicationFirewallPolicyLink: - description: 'WebApplicationFirewallPolicyLink: Defines the Web Application Firewall policy for the endpoint (if applicable)' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object type: object type: object served: true @@ -252977,14 +334727,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210601storage + name: v1api20230801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210601.ProfilesEndpoint + Storage version of v1api20230801.Redis Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName} + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} properties: apiVersion: description: |- @@ -253004,7 +334754,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210601.ProfilesEndpoint_Spec + description: Storage version of v1api20230801.Redis_Spec properties: $propertyBag: additionalProperties: @@ -253018,14 +334768,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - contentTypesToCompress: - items: - type: string - type: array - defaultOriginGroup: + enableNonSslPort: + type: boolean + identity: description: |- - Storage version of v1api20210601.ResourceReference - Reference to another resource. + Storage version of v1api20230801.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -253034,29 +334782,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230801.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object - deliveryPolicy: - description: Storage version of v1api20210601.EndpointProperties_DeliveryPolicy + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20230801.RedisOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -253065,1246 +334836,2742 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: - type: string - rules: + configMapExpressions: items: description: |- - Storage version of v1api20210601.DeliveryRule - A rule that specifies a set of actions and conditions + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actions: - items: - description: |- - Storage version of v1api20210601.DeliveryRuleAction - An action for the delivery rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheExpiration: - description: Storage version of v1api20210601.DeliveryRuleCacheExpirationAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.CacheExpirationActionParameters - Defines the parameters for the cache expiration action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - cacheType: - type: string - typeName: - type: string - type: object - type: object - cacheKeyQueryString: - description: Storage version of v1api20210601.DeliveryRuleCacheKeyQueryStringAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.CacheKeyQueryStringActionParameters - Defines the parameters for the cache-key query string action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - queryParameters: - type: string - queryStringBehavior: - type: string - typeName: - type: string - type: object - type: object - modifyRequestHeader: - description: Storage version of v1api20210601.DeliveryRuleRequestHeaderAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HeaderActionParameters - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object - type: object - modifyResponseHeader: - description: Storage version of v1api20210601.DeliveryRuleResponseHeaderAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HeaderActionParameters - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object - type: object - originGroupOverride: - description: Storage version of v1api20210601.OriginGroupOverrideAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.OriginGroupOverrideActionParameters - Defines the parameters for the origin group override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - originGroup: - description: |- - Storage version of v1api20210601.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - typeName: - type: string - type: object - type: object - routeConfigurationOverride: - description: Storage version of v1api20210601.DeliveryRuleRouteConfigurationOverrideAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RouteConfigurationOverrideActionParameters - Defines the parameters for the route configuration override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheConfiguration: - description: |- - Storage version of v1api20210601.CacheConfiguration - Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - isCompressionEnabled: - type: string - queryParameters: - type: string - queryStringCachingBehavior: - type: string - type: object - originGroupOverride: - description: |- - Storage version of v1api20210601.OriginGroupOverride - Defines the parameters for the origin group override configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forwardingProtocol: - type: string - originGroup: - description: |- - Storage version of v1api20210601.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - typeName: - type: string - type: object - type: object - urlRedirect: - description: Storage version of v1api20210601.UrlRedirectAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlRedirectActionParameters - Defines the parameters for the url redirect action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customFragment: - type: string - customHostname: - type: string - customPath: - type: string - customQueryString: - type: string - destinationProtocol: - type: string - redirectType: - type: string - typeName: - type: string - type: object - type: object - urlRewrite: - description: Storage version of v1api20210601.UrlRewriteAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlRewriteActionParameters - Defines the parameters for the url rewrite action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - destination: - type: string - preserveUnmatchedPath: - type: boolean - sourcePattern: - type: string - typeName: - type: string - type: object - type: object - urlSigning: - description: Storage version of v1api20210601.UrlSigningAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlSigningActionParameters - Defines the parameters for the Url Signing action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - algorithm: - type: string - parameterNameOverride: - items: - description: |- - Storage version of v1api20210601.UrlSigningParamIdentifier - Defines how to identify a parameter for a specific purpose e.g. expires - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paramIndicator: - type: string - paramName: - type: string - type: object - type: array - typeName: - type: string - type: object - type: object - type: object - type: array - conditions: - items: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secrets: + description: Storage version of v1api20230801.RedisOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: description: |- - Storage version of v1api20210601.DeliveryRuleCondition - A condition for the delivery rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientPort: - description: Storage version of v1api20210601.DeliveryRuleClientPortCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.ClientPortMatchConditionParameters - Defines the parameters for ClientPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - cookies: - description: Storage version of v1api20210601.DeliveryRuleCookiesCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.CookiesMatchConditionParameters - Defines the parameters for Cookies match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - hostName: - description: Storage version of v1api20210601.DeliveryRuleHostNameCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HostNameMatchConditionParameters - Defines the parameters for HostName match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - httpVersion: - description: Storage version of v1api20210601.DeliveryRuleHttpVersionCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HttpVersionMatchConditionParameters - Defines the parameters for HttpVersion match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - isDevice: - description: Storage version of v1api20210601.DeliveryRuleIsDeviceCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.IsDeviceMatchConditionParameters - Defines the parameters for IsDevice match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - postArgs: - description: Storage version of v1api20210601.DeliveryRulePostArgsCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.PostArgsMatchConditionParameters - Defines the parameters for PostArgs match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - queryString: - description: Storage version of v1api20210601.DeliveryRuleQueryStringCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.QueryStringMatchConditionParameters - Defines the parameters for QueryString match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - remoteAddress: - description: Storage version of v1api20210601.DeliveryRuleRemoteAddressCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RemoteAddressMatchConditionParameters - Defines the parameters for RemoteAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestBody: - description: Storage version of v1api20210601.DeliveryRuleRequestBodyCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestBodyMatchConditionParameters - Defines the parameters for RequestBody match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestHeader: - description: Storage version of v1api20210601.DeliveryRuleRequestHeaderCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestHeaderMatchConditionParameters - Defines the parameters for RequestHeader match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestMethod: - description: Storage version of v1api20210601.DeliveryRuleRequestMethodCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestMethodMatchConditionParameters - Defines the parameters for RequestMethod match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestScheme: - description: Storage version of v1api20210601.DeliveryRuleRequestSchemeCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestSchemeMatchConditionParameters - Defines the parameters for RequestScheme match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestUri: - description: Storage version of v1api20210601.DeliveryRuleRequestUriCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestUriMatchConditionParameters - Defines the parameters for RequestUri match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - serverPort: - description: Storage version of v1api20210601.DeliveryRuleServerPortCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.ServerPortMatchConditionParameters - Defines the parameters for ServerPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - socketAddr: - description: Storage version of v1api20210601.DeliveryRuleSocketAddrCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.SocketAddrMatchConditionParameters - Defines the parameters for SocketAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - sslProtocol: - description: Storage version of v1api20210601.DeliveryRuleSslProtocolCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.SslProtocolMatchConditionParameters - Defines the parameters for SslProtocol match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileExtension: - description: Storage version of v1api20210601.DeliveryRuleUrlFileExtensionCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlFileExtensionMatchConditionParameters - Defines the parameters for UrlFileExtension match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileName: - description: Storage version of v1api20210601.DeliveryRuleUrlFileNameCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlFileNameMatchConditionParameters - Defines the parameters for UrlFilename match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlPath: - description: Storage version of v1api20210601.DeliveryRuleUrlPathCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlPathMatchConditionParameters - Defines the parameters for UrlPath match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - type: object - type: array + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + port: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + sslPort: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230801.RedisCreateProperties_RedisConfiguration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad-enabled: + type: string + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + notify-keyspace-events: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230801.Sku + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + staticIP: + type: string + subnetReference: + description: |- + SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + updateChannel: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230801.Redis_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + enableNonSslPort: + type: boolean + hostName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20230801.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230801.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + instances: + items: + description: |- + Storage version of v1api20230801.RedisInstanceDetails_STATUS + Details of single instance of redis. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + isMaster: + type: boolean + isPrimary: + type: boolean + nonSslPort: + type: integer + shardId: + type: integer + sslPort: + type: integer + zone: + type: string + type: object + type: array + linkedServers: + items: + description: |- + Storage version of v1api20230801.RedisLinkedServer_STATUS + Linked server Id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + port: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230801.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + redisConfiguration: + description: Storage version of v1api20230801.RedisProperties_RedisConfiguration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aad-enabled: + type: string + aof-backup-enabled: + type: string + aof-storage-connection-string-0: + type: string + aof-storage-connection-string-1: + type: string + authnotrequired: + type: string + maxclients: + type: string + maxfragmentationmemory-reserved: + type: string + maxmemory-delta: + type: string + maxmemory-policy: + type: string + maxmemory-reserved: + type: string + notify-keyspace-events: + type: string + preferred-data-archive-auth-method: + type: string + preferred-data-persistence-auth-method: + type: string + rdb-backup-enabled: + type: string + rdb-backup-frequency: + type: string + rdb-backup-max-snapshot-count: + type: string + rdb-storage-connection-string: + type: string + storage-subscription-id: + type: string + zonal-configuration: + type: string + type: object + redisVersion: + type: string + replicasPerMaster: + type: integer + replicasPerPrimary: + type: integer + shardCount: + type: integer + sku: + description: |- + Storage version of v1api20230801.Sku_STATUS + SKU parameters supplied to the create Redis operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + type: object + sslPort: + type: integer + staticIP: + type: string + subnetId: + type: string + tags: + additionalProperties: + type: string + type: object + tenantSettings: + additionalProperties: + type: string + type: object + type: + type: string + updateChannel: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: redisenterprisedatabases.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisEnterpriseDatabase + listKind: RedisEnterpriseDatabaseList + plural: redisenterprisedatabases + singular: redisenterprisedatabase + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + enum: + - Encrypted + - Plaintext + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + enum: + - EnterpriseCluster + - OSSCluster + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + enum: + - AllKeysLFU + - AllKeysLRU + - AllKeysRandom + - NoEviction + - VolatileLFU + - VolatileLRU + - VolatileRandom + - VolatileTTL + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.00 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + required: + - name + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + enum: + - 1s + - always + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + enum: + - 12h + - 1h + - 6h + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + required: + - owner + type: object + status: + properties: + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.00 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + version: + description: 'Version: The version of the module, e.g. ''1.0''.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + provisioningState: + description: 'ProvisioningState: Current provisioning status of the database' + type: string + resourceState: + description: 'ResourceState: Current resource status of the database' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210301.RedisEnterpriseDatabase + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210301.RedisEnterpriseDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + evictionPolicy: + type: string + modules: + items: + description: |- + Storage version of v1api20210301.Module + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20210301.RedisEnterpriseDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: |- + Storage version of v1api20210301.Persistence + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20210301.RedisEnterpriseDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientProtocol: + type: string + clusteringPolicy: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + type: string + id: + type: string + modules: + items: + description: |- + Storage version of v1api20210301.Module_STATUS + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + version: + type: string + type: object + type: array + name: + type: string + persistence: + description: |- + Storage version of v1api20210301.Persistence_STATUS + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + provisioningState: + type: string + resourceState: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + enum: + - Encrypted + - Plaintext + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + enum: + - EnterpriseCluster + - OSSCluster + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + enum: + - AllKeysLFU + - AllKeysLRU + - AllKeysRandom + - NoEviction + - VolatileLFU + - VolatileLRU + - VolatileRandom + - VolatileTTL + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + required: + - name + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + enum: + - 1s + - always + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + enum: + - 12h + - 1h + - 6h + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + required: + - owner + type: object + status: + properties: + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + type: string + clusteringPolicy: + description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + id: + description: 'Id: Resource ID of a database resource to link with this database.' + type: string + state: + description: 'State: State of the link between the database resources.' + type: string + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + version: + description: 'Version: The version of the module, e.g. ''1.0''.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled.' + type: boolean + aofFrequency: + description: 'AofFrequency: Sets the frequency at which data is written to disk.' + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + provisioningState: + description: 'ProvisioningState: Current provisioning status of the database' + type: string + resourceState: + description: 'ResourceState: Current resource status of the database' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.RedisEnterpriseDatabase + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.RedisEnterpriseDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20230701.DatabaseProperties_GeoReplication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20230701.LinkedDatabase + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + items: + description: |- + Storage version of v1api20230701.Module + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20230701.RedisEnterpriseDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: |- + Storage version of v1api20230701.Persistence + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20230701.RedisEnterpriseDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientProtocol: + type: string + clusteringPolicy: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20230701.DatabaseProperties_GeoReplication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20230701.LinkedDatabase_STATUS + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + state: + type: string + type: object + type: array + type: object + id: + type: string + modules: + items: + description: |- + Storage version of v1api20230701.Module_STATUS + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + version: + type: string + type: object + type: array + name: + type: string + persistence: + description: |- + Storage version of v1api20230701.Persistence_STATUS + Persistence-related configuration for the RedisEnterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + provisioningState: + type: string + resourceState: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + accessKeysAuthentication: + description: |- + AccessKeysAuthentication: This property can be Enabled/Disabled to allow or deny access with the current access keys. + Can be updated even after database is created. + enum: + - Disabled + - Enabled + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + enum: + - Encrypted + - Plaintext + type: string + clusteringPolicy: + description: |- + ClusteringPolicy: Clustering policy - default is OSSCluster. This property must be chosen at create time, and cannot be + changed without deleting the database. + enum: + - EnterpriseCluster + - OSSCluster + type: string + deferUpgrade: + description: |- + DeferUpgrade: Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: + https://aka.ms/redisversionupgrade + enum: + - Deferred + - NotDeferred + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + enum: + - AllKeysLFU + - AllKeysLRU + - AllKeysRandom + - NoEviction + - VolatileLFU + - VolatileLRU + - VolatileRandom + - VolatileTTL + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + required: + - name + type: object + type: array + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + aofFrequency: + description: |- + AofFrequency: Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that + the 'always' setting is deprecated, because of its performance impact. + enum: + - 1s + - always + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + enum: + - 12h + - 1h + - 6h + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + required: + - owner + type: object + status: + properties: + accessKeysAuthentication: + description: |- + AccessKeysAuthentication: This property can be Enabled/Disabled to allow or deny access with the current access keys. + Can be updated even after database is created. + type: string + clientProtocol: + description: |- + ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is + TLS-encrypted. + type: string + clusteringPolicy: + description: |- + ClusteringPolicy: Clustering policy - default is OSSCluster. This property must be chosen at create time, and cannot be + changed without deleting the database. + type: string + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deferUpgrade: + description: |- + DeferUpgrade: Option to defer upgrade when newest version is released - default is NotDeferred. Learn more: + https://aka.ms/redisversionupgrade + type: string + evictionPolicy: + description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + type: string + geoReplication: + description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' + properties: + groupNickname: + description: 'GroupNickname: Name for the group of linked database resources' + type: string + linkedDatabases: + description: 'LinkedDatabases: List of database resources to link with this database' + items: + description: Specifies details of a linked database resource. + properties: + id: + description: 'Id: Resource ID of a database resource to link with this database.' + type: string + state: + description: 'State: State of the link between the database resources.' + type: string + type: object + type: array + type: object + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + modules: + description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + items: + description: Specifies configuration of a redis module + properties: + args: + description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + type: string + name: + description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + type: string + version: + description: 'Version: The version of the module, e.g. ''1.0''.' + type: string + type: object + type: array + name: + description: 'Name: The name of the resource' + type: string + persistence: + description: 'Persistence: Persistence settings' + properties: + aofEnabled: + description: 'AofEnabled: Sets whether AOF is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + aofFrequency: + description: |- + AofFrequency: Sets the frequency at which data is written to disk. Defaults to '1s', meaning 'every second'. Note that + the 'always' setting is deprecated, because of its performance impact. + type: string + rdbEnabled: + description: 'RdbEnabled: Sets whether RDB is enabled. Note that at most one of AOF or RDB persistence may be enabled.' + type: boolean + rdbFrequency: + description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' + type: string + type: object + port: + description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' + type: integer + provisioningState: + description: 'ProvisioningState: Current provisioning status of the database' + type: string + redisVersion: + description: 'RedisVersion: Version of Redis the database is running on, e.g. ''6.0''' + type: string + resourceState: + description: 'ResourceState: Current resource status of the database' + type: string + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250401.RedisEnterpriseDatabase + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250401.RedisEnterpriseDatabase_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKeysAuthentication: + type: string + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + deferUpgrade: + type: string + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20250401.DatabaseProperties_GeoReplication + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20250401.LinkedDatabase + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of a database resource to link with this database.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + modules: + items: + description: |- + Storage version of v1api20250401.Module + Specifies configuration of a redis module + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + args: + type: string + name: + type: string + type: object + type: array + operatorSpec: + description: |- + Storage version of v1api20250401.RedisEnterpriseDatabaseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - order: - type: integer + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array type: object - geoFilters: + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/RedisEnterprise resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + persistence: + description: |- + Storage version of v1api20250401.Persistence + Persistence-related configuration for the Redis Enterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + required: + - owner + type: object + status: + description: Storage version of v1api20250401.RedisEnterpriseDatabase_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKeysAuthentication: + type: string + clientProtocol: + type: string + clusteringPolicy: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deferUpgrade: + type: string + evictionPolicy: + type: string + geoReplication: + description: Storage version of v1api20250401.DatabaseProperties_GeoReplication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupNickname: + type: string + linkedDatabases: + items: + description: |- + Storage version of v1api20250401.LinkedDatabase_STATUS + Specifies details of a linked database resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + state: + type: string + type: object + type: array + type: object + id: + type: string + modules: items: description: |- - Storage version of v1api20210601.GeoFilter - Rules defining user's geo access within a CDN endpoint. + Storage version of v1api20250401.Module_STATUS + Specifies configuration of a redis module properties: $propertyBag: additionalProperties: @@ -254313,37 +337580,752 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: + args: type: string - countryCodes: - items: + name: + type: string + version: + type: string + type: object + type: array + name: + type: string + persistence: + description: |- + Storage version of v1api20250401.Persistence_STATUS + Persistence-related configuration for the Redis Enterprise database + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aofEnabled: + type: boolean + aofFrequency: + type: string + rdbEnabled: + type: boolean + rdbFrequency: + type: string + type: object + port: + type: integer + provisioningState: + type: string + redisVersion: + type: string + resourceState: + type: string + systemData: + description: |- + Storage version of v1api20250401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: redisenterprises.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisEnterprise + listKind: RedisEnterpriseList + plural: redisenterprises + singular: redisenterprise + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + enum: + - EnterpriseFlash_F1500 + - EnterpriseFlash_F300 + - EnterpriseFlash_F700 + - Enterprise_E10 + - Enterprise_E100 + - Enterprise_E20 + - Enterprise_E50 + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + description: 'HostName: DNS name of the cluster endpoint' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified RedisEnterprise cluster' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Current provisioning status of the cluster' + type: string + redisVersion: + description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + type: string + resourceState: + description: 'ResourceState: Current resource status of the cluster' + type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210301.RedisEnterprise + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210301.RedisEnterprise_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20210301.RedisEnterpriseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20210301.Sku + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20210301.RedisEnterprise_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + type: string + id: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20210301.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: type: string - type: array - relativePath: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: array - isCompressionEnabled: - type: boolean - isHttpAllowed: - type: boolean - isHttpsAllowed: - type: boolean + provisioningState: + type: string + redisVersion: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20210301.Sku_STATUS + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + enum: + - "1.0" + - "1.1" + - "1.2" type: string operatorSpec: description: |- - Storage version of v1api20210601.ProfilesEndpointOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -254373,6 +338355,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -254402,210 +338385,11 @@ spec: type: object type: array type: object - optimizationType: - type: string - originGroups: - items: - description: |- - Storage version of v1api20210601.DeepCreatedOriginGroup - The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the - origin group based on origin health. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - healthProbeSettings: - description: |- - Storage version of v1api20210601.HealthProbeParameters - The JSON object that contains the properties to send health probes to origin. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - probeIntervalInSeconds: - type: integer - probePath: - type: string - probeProtocol: - type: string - probeRequestType: - type: string - type: object - name: - type: string - origins: - items: - description: |- - Storage version of v1api20210601.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - responseBasedOriginErrorDetectionSettings: - description: |- - Storage version of v1api20210601.ResponseBasedOriginErrorDetectionParameters - The JSON object that contains the properties to determine origin health using real requests/responses. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpErrorRanges: - items: - description: |- - Storage version of v1api20210601.HttpErrorRangeParameters - The JSON object that represents the range for http status codes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - begin: - type: integer - end: - type: integer - type: object - type: array - responseBasedDetectedErrorTypes: - type: string - responseBasedFailoverThresholdPercentage: - type: integer - type: object - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - type: integer - type: object - type: array - originHostHeader: - type: string - originPath: - type: string - originalVersion: - type: string - origins: - items: - description: |- - Storage version of v1api20210601.DeepCreatedOrigin - The main origin of CDN content which is added when creating a CDN endpoint. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - hostName: - type: string - httpPort: - type: integer - httpsPort: - type: integer - name: - type: string - originHostHeader: - type: string - priority: - type: integer - privateLinkAlias: - type: string - privateLinkApprovalMessage: - type: string - privateLinkLocationReference: - description: |- - PrivateLinkLocationReference: The location of the Private Link resource. Required only if 'privateLinkResourceId' is - populated - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - privateLinkResourceReference: - description: |- - PrivateLinkResourceReference: The Resource Id of the Private Link resource. Populating this optional field indicates - that this backend is 'Private' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - weight: - type: integer - type: object - type: array owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -254614,101 +338398,47 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - probePath: - type: string - queryStringCachingBehavior: - type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + enum: + - EnterpriseFlash_F1500 + - EnterpriseFlash_F300 + - EnterpriseFlash_F700 + - Enterprise_E10 + - Enterprise_E100 + - Enterprise_E20 + - Enterprise_E50 + type: string + required: + - name + type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags.' type: object - urlSigningKeys: + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' items: - description: |- - Storage version of v1api20210601.UrlSigningKey - Url signing key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyId: - type: string - keySourceParameters: - description: |- - Storage version of v1api20210601.KeyVaultSigningKeyParameters - Describes the parameters for using a user's KeyVault for URL Signing Key. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceGroupName: - type: string - secretName: - type: string - secretVersion: - type: string - subscriptionId: - type: string - typeName: - type: string - vaultName: - type: string - type: object - type: object + type: string type: array - webApplicationFirewallPolicyLink: - description: Storage version of v1api20210601.EndpointProperties_WebApplicationFirewallPolicyLink - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object required: + - location - owner + - sku type: object status: - description: Storage version of v1api20210601.ProfilesEndpoint_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -254751,35 +338481,137 @@ spec: - type type: object type: array - contentTypesToCompress: - items: - type: string - type: array - customDomains: + hostName: + description: 'HostName: DNS name of the cluster endpoint' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified RedisEnterprise cluster' items: - description: |- - Storage version of v1api20210601.DeepCreatedCustomDomain_STATUS - Custom domains created on the CDN endpoint. + description: The Private Endpoint Connection resource. properties: - $propertyBag: - additionalProperties: - type: string + id: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - hostName: - type: string - name: - type: string - validationData: + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string type: object type: array - defaultOriginGroup: + provisioningState: + description: 'ProvisioningState: Current provisioning status of the cluster' + type: string + redisVersion: + description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + type: string + resourceState: + description: 'ResourceState: Current resource status of the cluster' + type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) + for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. + type: integer + name: + description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230701storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230701.RedisEnterprise + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230701.RedisEnterprise_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20210601.ResourceReference_STATUS - Reference to another resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20230701.RedisEnterpriseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -254788,11 +338620,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - deliveryPolicy: - description: Storage version of v1api20210601.EndpointProperties_DeliveryPolicy_STATUS + sku: + description: |- + Storage version of v1api20230701.Sku + SKU parameters supplied to the create RedisEnterprise operation. properties: $propertyBag: additionalProperties: @@ -254801,1347 +338706,4822 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: + capacity: + type: integer + name: type: string - rules: - items: + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230701.RedisEnterprise_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - Storage version of v1api20210601.DeliveryRule_STATUS - A rule that specifies a set of actions and conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actions: - items: - description: |- - Storage version of v1api20210601.DeliveryRuleAction_STATUS - An action for the delivery rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheExpiration: - description: Storage version of v1api20210601.DeliveryRuleCacheExpirationAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.CacheExpirationActionParameters_STATUS - Defines the parameters for the cache expiration action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - cacheType: - type: string - typeName: - type: string - type: object - type: object - cacheKeyQueryString: - description: Storage version of v1api20210601.DeliveryRuleCacheKeyQueryStringAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.CacheKeyQueryStringActionParameters_STATUS - Defines the parameters for the cache-key query string action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - queryParameters: - type: string - queryStringBehavior: - type: string - typeName: - type: string - type: object - type: object - modifyRequestHeader: - description: Storage version of v1api20210601.DeliveryRuleRequestHeaderAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HeaderActionParameters_STATUS - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object - type: object - modifyResponseHeader: - description: Storage version of v1api20210601.DeliveryRuleResponseHeaderAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HeaderActionParameters_STATUS - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object - type: object - originGroupOverride: - description: Storage version of v1api20210601.OriginGroupOverrideAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.OriginGroupOverrideActionParameters_STATUS - Defines the parameters for the origin group override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - originGroup: - description: |- - Storage version of v1api20210601.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - typeName: - type: string - type: object - type: object - routeConfigurationOverride: - description: Storage version of v1api20210601.DeliveryRuleRouteConfigurationOverrideAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RouteConfigurationOverrideActionParameters_STATUS - Defines the parameters for the route configuration override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheConfiguration: - description: |- - Storage version of v1api20210601.CacheConfiguration_STATUS - Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - isCompressionEnabled: - type: string - queryParameters: - type: string - queryStringCachingBehavior: - type: string - type: object - originGroupOverride: - description: |- - Storage version of v1api20210601.OriginGroupOverride_STATUS - Defines the parameters for the origin group override configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forwardingProtocol: - type: string - originGroup: - description: |- - Storage version of v1api20210601.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - typeName: - type: string - type: object - type: object - urlRedirect: - description: Storage version of v1api20210601.UrlRedirectAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlRedirectActionParameters_STATUS - Defines the parameters for the url redirect action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customFragment: - type: string - customHostname: - type: string - customPath: - type: string - customQueryString: - type: string - destinationProtocol: - type: string - redirectType: - type: string - typeName: - type: string - type: object - type: object - urlRewrite: - description: Storage version of v1api20210601.UrlRewriteAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlRewriteActionParameters_STATUS - Defines the parameters for the url rewrite action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - destination: - type: string - preserveUnmatchedPath: - type: boolean - sourcePattern: - type: string - typeName: - type: string - type: object - type: object - urlSigning: - description: Storage version of v1api20210601.UrlSigningAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlSigningActionParameters_STATUS - Defines the parameters for the Url Signing action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - algorithm: - type: string - parameterNameOverride: - items: - description: |- - Storage version of v1api20210601.UrlSigningParamIdentifier_STATUS - Defines how to identify a parameter for a specific purpose e.g. expires - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paramIndicator: - type: string - paramName: - type: string - type: object - type: array - typeName: - type: string - type: object - type: object - type: object - type: array - conditions: - items: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + hostName: + type: string + id: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230701.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redisVersion: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20230701.Sku_STATUS + SKU parameters supplied to the create RedisEnterprise operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: 'Encryption: Encryption-at-rest configuration for the cluster.' + properties: + customerManagedKeyEncryption: + description: |- + CustomerManagedKeyEncryption: All Customer-managed key encryption properties for the resource. Set this to an empty + object to use Microsoft-managed key encryption. + properties: + keyEncryptionKeyIdentity: + description: |- + KeyEncryptionKeyIdentity: All identity configuration for Customer-managed key settings defining which identity should be + used to auth to Key Vault. + properties: + identityType: + description: 'IdentityType: Only userAssignedIdentity is supported in this API version; other types may be supported in the future' + enum: + - systemAssignedIdentity + - userAssignedIdentity + type: string + userAssignedIdentityResourceReference: description: |- - Storage version of v1api20210601.DeliveryRuleCondition_STATUS - A condition for the delivery rule. + UserAssignedIdentityResourceReference: User assigned identity to use for accessing key encryption key Url. Ex: + /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientPort: - description: Storage version of v1api20210601.DeliveryRuleClientPortCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.ClientPortMatchConditionParameters_STATUS - Defines the parameters for ClientPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - cookies: - description: Storage version of v1api20210601.DeliveryRuleCookiesCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.CookiesMatchConditionParameters_STATUS - Defines the parameters for Cookies match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - hostName: - description: Storage version of v1api20210601.DeliveryRuleHostNameCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HostNameMatchConditionParameters_STATUS - Defines the parameters for HostName match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - httpVersion: - description: Storage version of v1api20210601.DeliveryRuleHttpVersionCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.HttpVersionMatchConditionParameters_STATUS - Defines the parameters for HttpVersion match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - isDevice: - description: Storage version of v1api20210601.DeliveryRuleIsDeviceCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.IsDeviceMatchConditionParameters_STATUS - Defines the parameters for IsDevice match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - postArgs: - description: Storage version of v1api20210601.DeliveryRulePostArgsCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.PostArgsMatchConditionParameters_STATUS - Defines the parameters for PostArgs match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - queryString: - description: Storage version of v1api20210601.DeliveryRuleQueryStringCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.QueryStringMatchConditionParameters_STATUS - Defines the parameters for QueryString match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - remoteAddress: - description: Storage version of v1api20210601.DeliveryRuleRemoteAddressCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RemoteAddressMatchConditionParameters_STATUS - Defines the parameters for RemoteAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestBody: - description: Storage version of v1api20210601.DeliveryRuleRequestBodyCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestBodyMatchConditionParameters_STATUS - Defines the parameters for RequestBody match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestHeader: - description: Storage version of v1api20210601.DeliveryRuleRequestHeaderCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestHeaderMatchConditionParameters_STATUS - Defines the parameters for RequestHeader match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestMethod: - description: Storage version of v1api20210601.DeliveryRuleRequestMethodCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestMethodMatchConditionParameters_STATUS - Defines the parameters for RequestMethod match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestScheme: - description: Storage version of v1api20210601.DeliveryRuleRequestSchemeCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestSchemeMatchConditionParameters_STATUS - Defines the parameters for RequestScheme match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestUri: - description: Storage version of v1api20210601.DeliveryRuleRequestUriCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.RequestUriMatchConditionParameters_STATUS - Defines the parameters for RequestUri match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - serverPort: - description: Storage version of v1api20210601.DeliveryRuleServerPortCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.ServerPortMatchConditionParameters_STATUS - Defines the parameters for ServerPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - socketAddr: - description: Storage version of v1api20210601.DeliveryRuleSocketAddrCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.SocketAddrMatchConditionParameters_STATUS - Defines the parameters for SocketAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - sslProtocol: - description: Storage version of v1api20210601.DeliveryRuleSslProtocolCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.SslProtocolMatchConditionParameters_STATUS - Defines the parameters for SslProtocol match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileExtension: - description: Storage version of v1api20210601.DeliveryRuleUrlFileExtensionCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlFileExtensionMatchConditionParameters_STATUS - Defines the parameters for UrlFileExtension match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileName: - description: Storage version of v1api20210601.DeliveryRuleUrlFileNameCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlFileNameMatchConditionParameters_STATUS - Defines the parameters for UrlFilename match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlPath: - description: Storage version of v1api20210601.DeliveryRuleUrlPathCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20210601.UrlPathMatchConditionParameters_STATUS - Defines the parameters for UrlPath match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyEncryptionKeyUrl: + description: |- + KeyEncryptionKeyUrl: Key encryption key Url, versioned only. Ex: + https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 + type: string + type: object + type: object + highAvailability: + description: |- + HighAvailability: Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the + availability SLA, and increases the risk of data loss. + enum: + - Disabled + - Enabled + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: Distinguishes the kind of cluster. Read-only.' + enum: + - v1 + - v2 + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the + future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for + the sake of consistency with old API versions. + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid + values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs. + type: integer + name: + description: |- + Name: The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', + 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional + SKUs may become supported in the future. + enum: + - Balanced_B0 + - Balanced_B1 + - Balanced_B10 + - Balanced_B100 + - Balanced_B1000 + - Balanced_B150 + - Balanced_B20 + - Balanced_B250 + - Balanced_B3 + - Balanced_B350 + - Balanced_B5 + - Balanced_B50 + - Balanced_B500 + - Balanced_B700 + - ComputeOptimized_X10 + - ComputeOptimized_X100 + - ComputeOptimized_X150 + - ComputeOptimized_X20 + - ComputeOptimized_X250 + - ComputeOptimized_X3 + - ComputeOptimized_X350 + - ComputeOptimized_X5 + - ComputeOptimized_X50 + - ComputeOptimized_X500 + - ComputeOptimized_X700 + - EnterpriseFlash_F1500 + - EnterpriseFlash_F300 + - EnterpriseFlash_F700 + - Enterprise_E1 + - Enterprise_E10 + - Enterprise_E100 + - Enterprise_E20 + - Enterprise_E200 + - Enterprise_E400 + - Enterprise_E5 + - Enterprise_E50 + - FlashOptimized_A1000 + - FlashOptimized_A1500 + - FlashOptimized_A2000 + - FlashOptimized_A250 + - FlashOptimized_A4500 + - FlashOptimized_A500 + - FlashOptimized_A700 + - MemoryOptimized_M10 + - MemoryOptimized_M100 + - MemoryOptimized_M1000 + - MemoryOptimized_M150 + - MemoryOptimized_M1500 + - MemoryOptimized_M20 + - MemoryOptimized_M2000 + - MemoryOptimized_M250 + - MemoryOptimized_M350 + - MemoryOptimized_M50 + - MemoryOptimized_M500 + - MemoryOptimized_M700 + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + required: + - location + - owner + - sku + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryption: + description: 'Encryption: Encryption-at-rest configuration for the cluster.' + properties: + customerManagedKeyEncryption: + description: |- + CustomerManagedKeyEncryption: All Customer-managed key encryption properties for the resource. Set this to an empty + object to use Microsoft-managed key encryption. + properties: + keyEncryptionKeyIdentity: + description: |- + KeyEncryptionKeyIdentity: All identity configuration for Customer-managed key settings defining which identity should be + used to auth to Key Vault. + properties: + identityType: + description: 'IdentityType: Only userAssignedIdentity is supported in this API version; other types may be supported in the future' + type: string + userAssignedIdentityResourceId: + description: |- + UserAssignedIdentityResourceId: User assigned identity to use for accessing key encryption key Url. Ex: + /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. + type: string + type: object + keyEncryptionKeyUrl: + description: |- + KeyEncryptionKeyUrl: Key encryption key Url, versioned only. Ex: + https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 + type: string + type: object + type: object + highAvailability: + description: |- + HighAvailability: Enabled by default. If highAvailability is disabled, the data set is not replicated. This affects the + availability SLA, and increases the risk of data loss. + type: string + hostName: + description: 'HostName: DNS name of the cluster endpoint' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: Distinguishes the kind of cluster. Read-only.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + minimumTlsVersion: + description: |- + MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. '1.2'. Newer versions can be added in the + future. Note that TLS 1.0 and TLS 1.1 are now completely obsolete -- you cannot use them. They are mentioned only for + the sake of consistency with old API versions. + type: string + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified Redis Enterprise cluster' + items: + description: The Private Endpoint Connection resource. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Current provisioning status of the cluster' + type: string + redisVersion: + description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + type: string + redundancyMode: + description: 'RedundancyMode: Explains the current redundancy strategy of the cluster, which affects the expected SLA.' + type: string + resourceState: + description: 'ResourceState: Current resource status of the cluster' + type: string + sku: + description: 'Sku: The SKU to create, which affects price, performance, and features.' + properties: + capacity: + description: |- + Capacity: This property is only used with Enterprise and EnterpriseFlash SKUs. Determines the size of the cluster. Valid + values are (2, 4, 6, ...) for Enterprise SKUs and (3, 9, 15, ...) for EnterpriseFlash SKUs. + type: integer + name: + description: |- + Name: The level of Redis Enterprise cluster to deploy. Possible values: ('Balanced_B5', 'MemoryOptimized_M10', + 'ComputeOptimized_X5', etc.). For more information on SKUs see the latest pricing documentation. Note that additional + SKUs may become supported in the future. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + zones: + description: 'Zones: The Availability Zones where this cluster will be deployed.' + items: + type: string + type: array + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20250401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20250401.RedisEnterprise + Generator information: + - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2025-04-01/redisenterprise.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20250401.RedisEnterprise_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + encryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerManagedKeyEncryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyEncryptionKeyIdentity: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array + identityType: + type: string + userAssignedIdentityResourceReference: + description: |- + UserAssignedIdentityResourceReference: User assigned identity to use for accessing key encryption key Url. Ex: + /subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + keyEncryptionKeyUrl: + type: string + type: object + type: object + highAvailability: + type: string + identity: + description: |- + Storage version of v1api20250401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20250401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + minimumTlsVersion: + type: string + operatorSpec: + description: |- + Storage version of v1api20250401.RedisEnterpriseOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sku: + description: |- + Storage version of v1api20250401.Sku + SKU parameters supplied to the create Redis Enterprise cluster operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20250401.RedisEnterprise_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + encryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customerManagedKeyEncryption: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyEncryptionKeyIdentity: + description: Storage version of v1api20250401.ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityType: + type: string + userAssignedIdentityResourceId: + type: string + type: object + keyEncryptionKeyUrl: + type: string + type: object + type: object + highAvailability: + type: string + hostName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20250401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20250401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string + location: + type: string + minimumTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20250401.PrivateEndpointConnection_STATUS + The Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + redisVersion: + type: string + redundancyMode: + type: string + resourceState: + type: string + sku: + description: |- + Storage version of v1api20250401.Sku_STATUS + SKU parameters supplied to the create Redis Enterprise cluster operation. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + zones: + items: + type: string + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: redisfirewallrules.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisFirewallRule + listKind: RedisFirewallRuleList + plural: redisfirewallrules + singular: redisfirewallrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20201201.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20201201.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20230401.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230401.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + required: + - endIP + - owner + - startIP + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + description: 'EndIP: highest IP address included in the range' + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + name: + description: 'Name: The name of the resource' + type: string + startIP: + description: 'StartIP: lowest IP address included in the range' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230801.RedisFirewallRule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230801.RedisFirewallRule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIP: + type: string + operatorSpec: + description: |- + Storage version of v1api20230801.RedisFirewallRuleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + startIP: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20230801.RedisFirewallRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIP: + type: string + id: + type: string + name: + type: string + startIP: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: redislinkedservers.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisLinkedServer + listKind: RedisLinkedServerList + plural: redislinkedservers + singular: redislinkedserver + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20201201.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20201201.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + provisioningState: + type: string + serverRole: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + description: |- + GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the + linked redis caches for seamless Geo Failover experience. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + primaryHostName: + description: |- + PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches + before or after the Geo Failover. + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230401.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20230401.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + type: string + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + primaryHostName: + type: string + provisioningState: + type: string + serverRole: + type: string + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - order: - type: integer + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + description: 'ServerRole: Role of the linked server.' + enum: + - Primary + - Secondary + type: string + required: + - linkedRedisCacheLocation + - linkedRedisCacheReference + - owner + - serverRole + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + description: |- + GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the + linked redis caches for seamless Geo Failover experience. + type: string + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + linkedRedisCacheId: + description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' + type: string + linkedRedisCacheLocation: + description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + type: string + name: + description: 'Name: The name of the resource' + type: string + primaryHostName: + description: |- + PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches + before or after the Geo Failover. + type: string + provisioningState: + description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' + type: string + serverRole: + description: 'ServerRole: Role of the linked server.' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230801storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230801.RedisLinkedServer + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230801.RedisLinkedServer_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + linkedRedisCacheLocation: + type: string + linkedRedisCacheReference: + description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20230801.RedisLinkedServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + serverRole: + type: string + required: + - linkedRedisCacheReference + - owner + type: object + status: + description: Storage version of v1api20230801.Redis_LinkedServer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + geoReplicatedPrimaryHostName: + type: string + id: + type: string + linkedRedisCacheId: + type: string + linkedRedisCacheLocation: + type: string + name: + type: string + primaryHostName: + type: string + provisioningState: + type: string + serverRole: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: redispatchschedules.cache.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: cache.azure.com + names: + categories: + - azure + - cache + kind: RedisPatchSchedule + listKind: RedisPatchScheduleList + plural: redispatchschedules + singular: redispatchschedule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + required: + - dayOfWeek + - startHourUtc + type: object + type: array + required: + - owner + - scheduleEntries + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + name: + description: 'Name: The name of the resource' + type: string + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + items: + description: Patch schedule entry for a Premium Redis Cache. + properties: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20201201storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20201201.RedisPatchSchedule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20201201.RedisPatchSchedule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20201201.RedisPatchScheduleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: + items: + description: |- + Storage version of v1api20201201.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20201201.RedisPatchSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + scheduleEntries: + items: + description: |- + Storage version of v1api20201201.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: + type: integer + type: object + type: array + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - geoFilters: + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' items: - description: |- - Storage version of v1api20210601.GeoFilter_STATUS - Rules defining user's geo access within a CDN endpoint. + description: Patch schedule entry for a Premium Redis Cache. properties: - $propertyBag: - additionalProperties: - type: string + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + required: + - dayOfWeek + - startHourUtc + type: object + type: array + required: + - owner + - scheduleEntries + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - countryCodes: - items: - type: string - type: array - relativePath: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - hostName: - type: string id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - isCompressionEnabled: - type: boolean - isHttpAllowed: - type: boolean - isHttpsAllowed: - type: boolean location: + description: 'Location: The geo-location where the resource lives' type: string name: + description: 'Name: The name of the resource' type: string - optimizationType: - type: string - originGroups: + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' items: - description: |- - Storage version of v1api20210601.DeepCreatedOriginGroup_STATUS - The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the - origin group based on origin health. + description: Patch schedule entry for a Premium Redis Cache. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - healthProbeSettings: + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + type: string + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' + type: string + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' + type: integer + type: object + type: array + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230401.RedisPatchSchedule + Generator information: + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230401.RedisPatchSchedule_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20230401.RedisPatchScheduleOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - Storage version of v1api20210601.HealthProbeParameters_STATUS - The JSON object that contains the properties to send health probes to origin. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - probeIntervalInSeconds: - type: integer - probePath: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - probeProtocol: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - probeRequestType: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - name: - type: string - origins: - items: - description: |- - Storage version of v1api20210601.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - responseBasedOriginErrorDetectionSettings: + type: array + secretExpressions: + items: description: |- - Storage version of v1api20210601.ResponseBasedOriginErrorDetectionParameters_STATUS - The JSON object that contains the properties to determine origin health using real requests/responses. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - httpErrorRanges: - items: - description: |- - Storage version of v1api20210601.HttpErrorRangeParameters_STATUS - The JSON object that represents the range for http status codes - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - begin: - type: integer - end: - type: integer - type: object - type: array - responseBasedDetectedErrorTypes: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - responseBasedFailoverThresholdPercentage: - type: integer + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - trafficRestorationTimeToHealedOrNewEndpointsInMinutes: - type: integer - type: object - type: array - originHostHeader: - type: string - originPath: + type: array + type: object + originalVersion: type: string - origins: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cache.azure.com/Redis resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + scheduleEntries: items: description: |- - Storage version of v1api20210601.DeepCreatedOrigin_STATUS - The main origin of CDN content which is added when creating a CDN endpoint. + Storage version of v1api20230401.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. properties: $propertyBag: additionalProperties: @@ -256150,78 +343530,81 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - hostName: + dayOfWeek: type: string - httpPort: - type: integer - httpsPort: + maintenanceWindow: + type: string + startHourUtc: type: integer - name: + type: object + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230401.RedisPatchSchedule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - originHostHeader: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - priority: + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - privateEndpointStatus: - type: string - privateLinkAlias: + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - privateLinkApprovalMessage: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - privateLinkLocation: + status: + description: Status of the condition, one of True, False, or Unknown. type: string - privateLinkResourceId: + type: + description: Type of condition. type: string - weight: - type: integer + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - probePath: - type: string - provisioningState: - type: string - queryStringCachingBehavior: + id: type: string - resourceState: + location: type: string - systemData: - description: |- - Storage version of v1api20210601.SystemData_STATUS - Read only system data - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: + name: type: string - urlSigningKeys: + scheduleEntries: items: description: |- - Storage version of v1api20210601.UrlSigningKey_STATUS - Url signing key + Storage version of v1api20230401.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. properties: $propertyBag: additionalProperties: @@ -256230,86 +343613,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - keyId: + dayOfWeek: type: string - keySourceParameters: - description: |- - Storage version of v1api20210601.KeyVaultSigningKeyParameters_STATUS - Describes the parameters for using a user's KeyVault for URL Signing Key. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceGroupName: - type: string - secretName: - type: string - secretVersion: - type: string - subscriptionId: - type: string - typeName: - type: string - vaultName: - type: string - type: object + maintenanceWindow: + type: string + startHourUtc: + type: integer type: object type: array - webApplicationFirewallPolicyLink: - description: Storage version of v1api20210601.EndpointProperties_WebApplicationFirewallPolicyLink_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object + type: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: prometheusrulegroups.alertsmanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: alertsmanagement.azure.com - names: - kind: PrometheusRuleGroup - listKind: PrometheusRuleGroupList - plural: prometheusrulegroups - singular: prometheusrulegroup - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -256323,13 +343642,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230301 + name: v1api20230801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName} + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default properties: apiVersion: description: |- @@ -256350,29 +343669,6 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - pattern: ^[^:@/#{}%&+*<>?]+$ - type: string - clusterName: - description: 'ClusterName: Apply rule to data from a specific cluster.' - type: string - description: - description: 'Description: Rule group description.' - type: string - enabled: - description: 'Enabled: Enable/disable rule group.' - type: boolean - interval: - description: |- - Interval: The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be - between 1 and 15 minutes - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -256443,7 +343739,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a cache.azure.com/Redis resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -256452,131 +343748,41 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rules: - description: 'Rules: Defines the rules in the Prometheus rule group.' + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' items: - description: An Azure Prometheus alerting or recording rule. + description: Patch schedule entry for a Premium Redis Cache. properties: - actions: - description: 'Actions: Actions that are performed when the alert rule becomes active, and when an alert condition is resolved.' - items: - description: An alert action. Only relevant for alerts. - properties: - actionGroupReference: - description: 'ActionGroupReference: The resource id of the action group to use.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - actionProperties: - additionalProperties: - type: string - description: 'ActionProperties: The properties of an action group object.' - type: object - type: object - type: array - alert: - description: 'Alert: Alert rule name.' - type: string - annotations: - additionalProperties: - type: string - description: |- - Annotations: The annotations clause specifies a set of informational labels that can be used to store longer additional - information such as alert descriptions or runbook links. The annotation values can be templated. - type: object - enabled: - description: 'Enabled: Enable/disable rule.' - type: boolean - expression: - description: |- - Expression: The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated - periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given - by 'record'. - type: string - for: - description: 'For: The amount of time alert must be active before firing.' + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' + enum: + - Everyday + - Friday + - Monday + - Saturday + - Sunday + - Thursday + - Tuesday + - Wednesday + - Weekend type: string - labels: - additionalProperties: - type: string - description: 'Labels: Labels to add or overwrite before storing the result.' - type: object - record: - description: 'Record: Recorded metrics name.' + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' type: string - resolveConfiguration: - description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Only relevant for alerts.' - properties: - autoResolved: - description: 'AutoResolved: Enable alert auto-resolution.' - type: boolean - timeToResolve: - description: 'TimeToResolve: Alert auto-resolution timeout.' - type: string - type: object - severity: - description: 'Severity: The severity of the alerts fired by the rule. Must be between 0 and 4.' + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' type: integer required: - - expression - type: object - type: array - scopesReferences: - description: |- - ScopesReferences: Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with - one scope. This may change in future. - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + - dayOfWeek + - startHourUtc type: object type: array - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object required: - - location - owner - - rules - - scopesReferences + - scheduleEntries type: object status: properties: - clusterName: - description: 'ClusterName: Apply rule to data from a specific cluster.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -256621,127 +343827,33 @@ spec: - type type: object type: array - description: - description: 'Description: Rule group description.' - type: string - enabled: - description: 'Enabled: Enable/disable rule group.' - type: boolean id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - interval: - description: |- - Interval: The interval in which to run the Prometheus rule group represented in ISO 8601 duration format. Should be - between 1 and 15 minutes - type: string location: description: 'Location: The geo-location where the resource lives' type: string name: description: 'Name: The name of the resource' type: string - rules: - description: 'Rules: Defines the rules in the Prometheus rule group.' + scheduleEntries: + description: 'ScheduleEntries: List of patch schedules for a Redis cache.' items: - description: An Azure Prometheus alerting or recording rule. + description: Patch schedule entry for a Premium Redis Cache. properties: - actions: - description: 'Actions: Actions that are performed when the alert rule becomes active, and when an alert condition is resolved.' - items: - description: An alert action. Only relevant for alerts. - properties: - actionGroupId: - description: 'ActionGroupId: The resource id of the action group to use.' - type: string - actionProperties: - additionalProperties: - type: string - description: 'ActionProperties: The properties of an action group object.' - type: object - type: object - type: array - alert: - description: 'Alert: Alert rule name.' - type: string - annotations: - additionalProperties: - type: string - description: |- - Annotations: The annotations clause specifies a set of informational labels that can be used to store longer additional - information such as alert descriptions or runbook links. The annotation values can be templated. - type: object - enabled: - description: 'Enabled: Enable/disable rule.' - type: boolean - expression: - description: |- - Expression: The PromQL expression to evaluate. https://prometheus.io/docs/prometheus/latest/querying/basics/. Evaluated - periodically as given by 'interval', and the result recorded as a new set of time series with the metric name as given - by 'record'. - type: string - for: - description: 'For: The amount of time alert must be active before firing.' + dayOfWeek: + description: 'DayOfWeek: Day of the week when a cache can be patched.' type: string - labels: - additionalProperties: - type: string - description: 'Labels: Labels to add or overwrite before storing the result.' - type: object - record: - description: 'Record: Recorded metrics name.' + maintenanceWindow: + description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' type: string - resolveConfiguration: - description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Only relevant for alerts.' - properties: - autoResolved: - description: 'AutoResolved: Enable alert auto-resolution.' - type: boolean - timeToResolve: - description: 'TimeToResolve: Alert auto-resolution timeout.' - type: string - type: object - severity: - description: 'Severity: The severity of the alerts fired by the rule. Must be between 0 and 4.' + startHourUtc: + description: 'StartHourUtc: Start hour after which cache patching can start.' type: integer type: object type: array - scopes: - description: |- - Scopes: Target Azure Monitor workspaces resource ids. This api-version is currently limited to creating with one scope. - This may change in future. - items: - type: string - type: array - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -256764,14 +343876,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230301storage + name: v1api20230801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230301.PrometheusRuleGroup + Storage version of v1api20230801.RedisPatchSchedule Generator information: - - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2023-03-01/PrometheusRuleGroups.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName} + - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default properties: apiVersion: description: |- @@ -256791,7 +343903,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230301.PrometheusRuleGroup_Spec + description: Storage version of v1api20230801.RedisPatchSchedule_Spec properties: $propertyBag: additionalProperties: @@ -256800,24 +343912,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - clusterName: - type: string - description: - type: string - enabled: - type: boolean - interval: - type: string - location: - type: string operatorSpec: description: |- - Storage version of v1api20230301.PrometheusRuleGroupOperatorSpec + Storage version of v1api20230801.RedisPatchScheduleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -256892,7 +343989,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a cache.azure.com/Redis resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -256901,11 +343998,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - rules: + scheduleEntries: items: description: |- - Storage version of v1api20230301.PrometheusRule - An Azure Prometheus alerting or recording rule. + Storage version of v1api20230801.ScheduleEntry + Patch schedule entry for a Premium Redis Cache. properties: $propertyBag: additionalProperties: @@ -256914,115 +344011,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actions: - items: - description: |- - Storage version of v1api20230301.PrometheusRuleGroupAction - An alert action. Only relevant for alerts. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionGroupReference: - description: 'ActionGroupReference: The resource id of the action group to use.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - actionProperties: - additionalProperties: - type: string - type: object - type: object - type: array - alert: - type: string - annotations: - additionalProperties: - type: string - type: object - enabled: - type: boolean - expression: - type: string - for: + dayOfWeek: type: string - labels: - additionalProperties: - type: string - type: object - record: + maintenanceWindow: type: string - resolveConfiguration: - description: |- - Storage version of v1api20230301.PrometheusRuleResolveConfiguration - Specifies the Prometheus alert rule configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoResolved: - type: boolean - timeToResolve: - type: string - type: object - severity: + startHourUtc: type: integer type: object type: array - scopesReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - tags: - additionalProperties: - type: string - type: object required: - owner type: object status: - description: Storage version of v1api20230301.PrometheusRuleGroup_STATUS + description: Storage version of v1api20230801.RedisPatchSchedule_STATUS properties: $propertyBag: additionalProperties: @@ -257031,8 +344032,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clusterName: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -257069,131 +344068,40 @@ spec: type: description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - description: - type: string - enabled: - type: boolean - id: - type: string - interval: - type: string - location: - type: string - name: - type: string - rules: - items: - description: |- - Storage version of v1api20230301.PrometheusRule_STATUS - An Azure Prometheus alerting or recording rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actions: - items: - description: |- - Storage version of v1api20230301.PrometheusRuleGroupAction_STATUS - An alert action. Only relevant for alerts. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionGroupId: - type: string - actionProperties: - additionalProperties: - type: string - type: object - type: object - type: array - alert: - type: string - annotations: - additionalProperties: - type: string - type: object - enabled: - type: boolean - expression: - type: string - for: - type: string - labels: + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + scheduleEntries: + items: + description: |- + Storage version of v1api20230801.ScheduleEntry_STATUS + Patch schedule entry for a Premium Redis Cache. + properties: + $propertyBag: additionalProperties: type: string - type: object - record: - type: string - resolveConfiguration: description: |- - Storage version of v1api20230301.PrometheusRuleResolveConfiguration_STATUS - Specifies the Prometheus alert rule configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoResolved: - type: boolean - timeToResolve: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - severity: + dayOfWeek: + type: string + maintenanceWindow: + type: string + startHourUtc: type: integer type: object type: array - scopes: - items: - type: string - type: array - systemData: - description: |- - Storage version of v1api20230301.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object type: type: string type: object @@ -257208,11 +344116,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: publicipaddresses.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: registries.containerregistry.azure.com spec: conversion: strategy: Webhook @@ -257225,12 +344133,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: containerregistry.azure.com names: - kind: PublicIPAddress - listKind: PublicIPAddressList - plural: publicipaddresses - singular: publicipaddress + categories: + - azure + - containerregistry + kind: Registry + listKind: RegistryList + plural: registries + singular: registry preserveUnknownFields: false scope: Namespaced versions: @@ -257247,13 +344158,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101 + name: v1api20210901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/publicIpAddress.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} properties: apiVersion: description: |- @@ -257274,155 +344185,126 @@ spec: type: object spec: properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9]*$ type: string - ddosSettings: - description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of container registry.' properties: - ddosCustomPolicy: - description: 'DdosCustomPolicy: The DDoS custom policy associated with the public IP.' + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string type: object - protectedIP: - description: 'ProtectedIP: Enables DDoS protection on the public IP.' - type: boolean - protectionCoverage: - description: |- - ProtectionCoverage: The DDoS protection policy customizability of the public IP. Only standard coverage will have the - ability to be customized. + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' enum: - - Basic - - Standard + - disabled + - enabled type: string type: object - dnsSettings: - description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + identity: + description: 'Identity: The identity of the container registry.' properties: - domainNameLabel: - description: |- - DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up - the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS - record is created for the public IP in the Microsoft Azure DNS system. - type: string - fqdn: - description: |- - Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of - the domainNameLabel and the regionalized DNS zone. - type: string - reverseFqdn: - description: |- - ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If - the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain - to the reverse FQDN. + principalId: + description: 'PrincipalId: The principal ID of resource identity.' type: string - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' - properties: - name: - description: 'Name: The name of the extended location.' + tenantId: + description: 'TenantId: The tenant ID of resource.' type: string type: - description: 'Type: The type of the extended location.' + description: 'Type: The identity type.' enum: - - EdgeZone + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string - required: - - name - - type - type: object - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' - type: integer - ipAddress: - description: 'IpAddress: The IP address associated with the public IP address resource.' - type: string - ipTags: - description: 'IpTags: The list of tags associated with the public IP address.' - items: - description: Contains the IpTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' - type: string - type: object - type: array - linkedPublicIPAddress: - description: 'LinkedPublicIPAddress: The linked public IP address of the public IP address resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object location: - description: 'Location: Resource location.' + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' type: string - natGateway: - description: 'NatGateway: The NatGateway for the Public IP address.' + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + enum: + - AzureServices + - None + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + required: + - value + type: object + type: array + required: + - defaultAction type: object operatorSpec: description: |- @@ -257503,98 +344385,100 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - enum: - - IPv4 - - IPv6 - type: string - publicIPAllocationMethod: - description: 'PublicIPAllocationMethod: The public IP address allocation method.' - enum: - - Dynamic - - Static - type: string - publicIPPrefix: - description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + policies: + description: 'Policies: The policies for a container registry.' properties: - reference: - description: 'Reference: Resource ID.' + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string type: object - type: object - servicePublicIPAddress: - description: 'ServicePublicIPAddress: The service public IP address of the public IP address resource.' - properties: - reference: - description: 'Reference: Resource ID.' + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string - group: - description: Group is the Kubernetes group of the resource. + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string - name: - description: Name is the Kubernetes name of the resource. + type: + description: 'Type: The type of trust policy.' + enum: + - Notary type: string type: object type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' + enum: + - Disabled + - Enabled + type: string sku: - description: 'Sku: The public IP address SKU.' + description: 'Sku: The SKU of the container registry.' properties: name: - description: 'Name: Name of a public IP address SKU.' + description: 'Name: The SKU name of the container registry. Required for registry creation.' enum: - Basic + - Classic + - Premium - Standard type: string - tier: - description: 'Tier: Tier of a public IP address SKU.' - enum: - - Global - - Regional - type: string + required: + - name type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags of the resource.' type: object - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' + enum: + - Disabled + - Enabled + type: string required: + - location - owner + - sku type: object status: - description: Public IP address resource. + description: An object that represents a container registry. properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -257639,146 +344523,222 @@ spec: - type type: object type: array - ddosSettings: - description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + creationDate: + description: 'CreationDate: The creation date of the container registry in ISO8601 format.' + type: string + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + dataEndpointHostNames: + description: 'DataEndpointHostNames: List of host names that will serve data when dataEndpointEnabled is true.' + items: + type: string + type: array + encryption: + description: 'Encryption: The encryption settings of container registry.' properties: - ddosCustomPolicy: - description: 'DdosCustomPolicy: The DDoS custom policy associated with the public IP.' + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' properties: - id: - description: 'Id: Resource ID.' + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyRotationEnabled: + description: 'KeyRotationEnabled: Auto key rotation status for a CMK enabled registry.' + type: boolean + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of the last successful key rotation.' + type: string + versionedKeyIdentifier: + description: |- + VersionedKeyIdentifier: The fully qualified key identifier that includes the version of the key that is actually used + for encryption. type: string type: object - protectedIP: - description: 'ProtectedIP: Enables DDoS protection on the public IP.' - type: boolean - protectionCoverage: - description: |- - ProtectionCoverage: The DDoS protection policy customizability of the public IP. Only standard coverage will have the - ability to be customized. - type: string - type: object - dnsSettings: - description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' - properties: - domainNameLabel: - description: |- - DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up - the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS - record is created for the public IP in the Microsoft Azure DNS system. - type: string - fqdn: - description: |- - Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of - the domainNameLabel and the regionalized DNS zone. - type: string - reverseFqdn: - description: |- - ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If - the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain - to the reverse FQDN. + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' type: string type: object - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + id: + description: 'Id: The resource ID.' type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' + identity: + description: 'Identity: The identity of the container registry.' properties: - name: - description: 'Name: The name of the extended location.' + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' type: string type: - description: 'Type: The type of the extended location.' + description: 'Type: The identity type.' type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object type: object - id: - description: 'Id: Resource ID.' + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' - type: integer - ipAddress: - description: 'IpAddress: The IP address associated with the public IP address resource.' + loginServer: + description: 'LoginServer: The URL that can be used to log into the container registry.' type: string - ipConfiguration: - description: 'IpConfiguration: The IP configuration associated with the public IP address.' + name: + description: 'Name: The name of the resource.' + type: string + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' properties: - id: - description: 'Id: Resource ID.' + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array type: object - ipTags: - description: 'IpTags: The list of tags associated with the public IP address.' + policies: + description: 'Policies: The policies for a container registry.' + properties: + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + lastUpdatedTime: + description: 'LastUpdatedTime: The timestamp when the policy was last updated.' + type: string + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: + description: 'Type: The type of trust policy.' + type: string + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections for a container registry.' items: - description: Contains the IpTag associated with the object. + description: An object that represents a private endpoint connection for a container registry. properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + id: + description: 'Id: The resource ID.' type: string type: object type: array - location: - description: 'Location: Resource location.' - type: string - migrationPhase: - description: 'MigrationPhase: Migration phase of Public IP Address.' + provisioningState: + description: 'ProvisioningState: The provisioning state of the container registry at the time the operation was called.' type: string - name: - description: 'Name: Resource name.' + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' type: string - natGateway: - description: 'NatGateway: The NatGateway for the Public IP address.' + sku: + description: 'Sku: The SKU of the container registry.' properties: - id: - description: 'Id: Resource ID.' + name: + description: 'Name: The SKU name of the container registry. Required for registry creation.' + type: string + tier: + description: 'Tier: The SKU tier based on the SKU name.' type: string type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the public IP address resource.' - type: string - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - type: string - publicIPAllocationMethod: - description: 'PublicIPAllocationMethod: The public IP address allocation method.' - type: string - publicIPPrefix: - description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + status: + description: 'Status: The status of the container registry at the time the operation was called.' properties: - id: - description: 'Id: Resource ID.' + displayStatus: + description: 'DisplayStatus: The short label for the status.' + type: string + message: + description: 'Message: The detailed message for the status, including alerts and error messages.' + type: string + timestamp: + description: 'Timestamp: The timestamp when the status was changed to the current value.' type: string type: object - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the public IP address resource.' - type: string - sku: - description: 'Sku: The public IP address SKU.' + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: - name: - description: 'Name: Name of a public IP address SKU.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - tier: - description: 'Tier: Tier of a public IP address SKU.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags of the resource.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' type: string - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -257798,14 +344758,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101storage + name: v1api20210901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201101.PublicIPAddress + Storage version of v1api20210901.Registry Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/publicIpAddress.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} properties: apiVersion: description: |- @@ -257825,7 +344785,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201101.PublicIPAddress_Spec + description: Storage version of v1api20210901.Registry_Spec properties: $propertyBag: additionalProperties: @@ -257834,15 +344794,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + adminUserEnabled: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - ddosSettings: - description: |- - Storage version of v1api20201101.DdosSettings - Contains the DDoS protection settings of the public IP. + dataEndpointEnabled: + type: boolean + encryption: + description: Storage version of v1api20210901.EncryptionProperty properties: $propertyBag: additionalProperties: @@ -257851,10 +344813,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ddosCustomPolicy: - description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + keyVaultProperties: + description: Storage version of v1api20210901.KeyVaultProperties properties: $propertyBag: additionalProperties: @@ -257863,36 +344823,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + identity: + type: string + keyIdentifier: + type: string type: object - protectedIP: - type: boolean - protectionCoverage: + status: type: string type: object - dnsSettings: + identity: description: |- - Storage version of v1api20201101.PublicIPAddressDnsSettings - Contains FQDN of the DNS record associated with the public IP address. + Storage version of v1api20210901.IdentityProperties + Managed identity for the resource. properties: $propertyBag: additionalProperties: @@ -257901,92 +344843,56 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - domainNameLabel: - type: string - fqdn: - type: string - reverseFqdn: + principalId: type: string - type: object - extendedLocation: - description: |- - Storage version of v1api20201101.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + tenantId: type: string type: type: string - type: object - idleTimeoutInMinutes: - type: integer - ipAddress: - type: string - ipTags: - items: - description: |- - Storage version of v1api20201101.IpTag - Contains the IpTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string + userAssignedIdentities: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20210901.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - linkedPublicIPAddress: - description: |- - Storage version of v1api20201101.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: array type: object location: type: string - natGateway: + networkRuleBypassOptions: + type: string + networkRuleSet: description: |- - Storage version of v1api20201101.NatGatewaySpec_PublicIPAddress_SubResourceEmbedded - Nat Gateway resource. + Storage version of v1api20210901.NetworkRuleSet + The network rule set for a container registry. properties: $propertyBag: additionalProperties: @@ -257995,30 +344901,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20210901.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array type: object operatorSpec: description: |- - Storage version of v1api20201101.PublicIPAddressOperatorSpec + Storage version of v1api20210901.RegistryOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -258102,14 +345009,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIPAddressVersion: - type: string - publicIPAllocationMethod: - type: string - publicIPPrefix: + policies: description: |- - Storage version of v1api20201101.SubResource - Reference to another subresource. + Storage version of v1api20210901.Policies + The policies for a container registry. properties: $propertyBag: additionalProperties: @@ -258118,64 +345021,77 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + exportPolicy: + description: |- + Storage version of v1api20210901.ExportPolicy + The export policy for a container registry. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: type: string - name: - description: Name is the Kubernetes name of the resource. + type: object + quarantinePolicy: + description: |- + Storage version of v1api20210901.QuarantinePolicy + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: type: string type: object - type: object - servicePublicIPAddress: - description: |- - Storage version of v1api20201101.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string + retentionPolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20210901.RetentionPolicy + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + status: + type: string type: object - reference: - description: 'Reference: Resource ID.' + trustPolicy: + description: |- + Storage version of v1api20210901.TrustPolicy + The content trust policy for a container registry. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: type: string - name: - description: Name is the Kubernetes name of the resource. + type: type: string type: object type: object + publicNetworkAccess: + type: string sku: description: |- - Storage version of v1api20201101.PublicIPAddressSku - SKU of a public IP address. + Storage version of v1api20210901.Sku + The SKU of a container registry. properties: $propertyBag: additionalProperties: @@ -258186,24 +345102,20 @@ spec: type: object name: type: string - tier: - type: string type: object tags: additionalProperties: type: string type: object - zones: - items: - type: string - type: array + zoneRedundancy: + type: string required: - owner type: object status: description: |- - Storage version of v1api20201101.PublicIPAddress_STATUS - Public IP address resource. + Storage version of v1api20210901.Registry_STATUS + An object that represents a container registry. properties: $propertyBag: additionalProperties: @@ -258212,6 +345124,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + adminUserEnabled: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -258255,10 +345169,16 @@ spec: - type type: object type: array - ddosSettings: - description: |- - Storage version of v1api20201101.DdosSettings_STATUS - Contains the DDoS protection settings of the public IP. + creationDate: + type: string + dataEndpointEnabled: + type: boolean + dataEndpointHostNames: + items: + type: string + type: array + encryption: + description: Storage version of v1api20210901.EncryptionProperty_STATUS properties: $propertyBag: additionalProperties: @@ -258267,10 +345187,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ddosCustomPolicy: - description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + keyVaultProperties: + description: Storage version of v1api20210901.KeyVaultProperties_STATUS properties: $propertyBag: additionalProperties: @@ -258279,18 +345197,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + identity: + type: string + keyIdentifier: + type: string + keyRotationEnabled: + type: boolean + lastKeyRotationTimestamp: + type: string + versionedKeyIdentifier: type: string type: object - protectedIP: - type: boolean - protectionCoverage: + status: type: string type: object - dnsSettings: + id: + type: string + identity: description: |- - Storage version of v1api20201101.PublicIPAddressDnsSettings_STATUS - Contains FQDN of the DNS record associated with the public IP address. + Storage version of v1api20210901.IdentityProperties_STATUS + Managed identity for the resource. properties: $propertyBag: additionalProperties: @@ -258299,19 +345225,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - domainNameLabel: + principalId: type: string - fqdn: + tenantId: type: string - reverseFqdn: + type: type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20210901.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - etag: + location: type: string - extendedLocation: + loginServer: + type: string + name: + type: string + networkRuleBypassOptions: + type: string + networkRuleSet: description: |- - Storage version of v1api20201101.ExtendedLocation_STATUS - ExtendedLocation complex type. + Storage version of v1api20210901.NetworkRuleSet_STATUS + The network rule set for a container registry. properties: $propertyBag: additionalProperties: @@ -258320,21 +345269,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: + defaultAction: type: string + ipRules: + items: + description: |- + Storage version of v1api20210901.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array type: object - id: - type: string - idleTimeoutInMinutes: - type: integer - ipAddress: - type: string - ipConfiguration: + policies: description: |- - Storage version of v1api20201101.IPConfiguration_STATUS_PublicIPAddress_SubResourceEmbedded - IP configuration. + Storage version of v1api20210901.Policies_STATUS + The policies for a container registry. properties: $propertyBag: additionalProperties: @@ -258343,14 +345303,78 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + exportPolicy: + description: |- + Storage version of v1api20210901.ExportPolicy_STATUS + The export policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + quarantinePolicy: + description: |- + Storage version of v1api20210901.QuarantinePolicy_STATUS + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20210901.RetentionPolicy_STATUS + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + lastUpdatedTime: + type: string + status: + type: string + type: object + trustPolicy: + description: |- + Storage version of v1api20210901.TrustPolicy_STATUS + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: + type: string + type: object type: object - ipTags: + privateEndpointConnections: items: description: |- - Storage version of v1api20201101.IpTag_STATUS - Contains the IpTag associated with the object. + Storage version of v1api20210901.PrivateEndpointConnection_STATUS + An object that represents a private endpoint connection for a container registry. properties: $propertyBag: additionalProperties: @@ -258359,22 +345383,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: - type: string - tag: + id: type: string type: object type: array - location: - type: string - migrationPhase: + provisioningState: type: string - name: + publicNetworkAccess: type: string - natGateway: + sku: description: |- - Storage version of v1api20201101.NatGateway_STATUS_PublicIPAddress_SubResourceEmbedded - Nat Gateway resource. + Storage version of v1api20210901.Sku_STATUS + The SKU of a container registry. properties: $propertyBag: additionalProperties: @@ -258383,19 +345403,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + name: + type: string + tier: type: string type: object - provisioningState: - type: string - publicIPAddressVersion: - type: string - publicIPAllocationMethod: - type: string - publicIPPrefix: + status: description: |- - Storage version of v1api20201101.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20210901.Status_STATUS + The status of an Azure resource at the time the operation was called. properties: $propertyBag: additionalProperties: @@ -258404,15 +345420,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + displayStatus: + type: string + message: + type: string + timestamp: type: string type: object - resourceGuid: - type: string - sku: + systemData: description: |- - Storage version of v1api20201101.PublicIPAddressSku_STATUS - SKU of a public IP address. + Storage version of v1api20210901.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -258421,9 +345439,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + createdAt: type: string - tier: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object tags: @@ -258432,10 +345458,8 @@ spec: type: object type: type: string - zones: - items: - type: string - type: array + zoneRedundancy: + type: string type: object type: object served: true @@ -258455,13 +345479,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20230701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpAddress.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} properties: apiVersion: description: |- @@ -258482,164 +345506,135 @@ spec: type: object spec: properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9]*$ type: string - ddosSettings: - description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + encryption: + description: 'Encryption: The encryption settings of container registry.' properties: - ddosProtectionPlan: - description: 'DdosProtectionPlan: The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled' + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' properties: - reference: - description: 'Reference: Resource ID.' + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + identityFromConfig: + description: 'IdentityFromConfig: The client id of the identity which will be used to access key vault.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes configmap being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string + required: + - key + - name type: object + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string type: object - protectionMode: - description: 'ProtectionMode: The DDoS protection mode of the public IP' - enum: - - Disabled - - Enabled - - VirtualNetworkInherited - type: string - type: object - deleteOption: - description: 'DeleteOption: Specify what happens to the public IP address when the VM using it is deleted' - enum: - - Delete - - Detach - type: string - dnsSettings: - description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' - properties: - domainNameLabel: - description: |- - DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up - the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS - record is created for the public IP in the Microsoft Azure DNS system. - type: string - domainNameLabelScope: - description: |- - DomainNameLabelScope: The domain name label scope. If a domain name label and a domain name label scope are specified, - an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' enum: - - NoReuse - - ResourceGroupReuse - - SubscriptionReuse - - TenantReuse - type: string - fqdn: - description: |- - Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of - the domainNameLabel and the regionalized DNS zone. - type: string - reverseFqdn: - description: |- - ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If - the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain - to the reverse FQDN. + - disabled + - enabled type: string type: object - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' + identity: + description: 'Identity: The identity of the container registry.' properties: - name: - description: 'Name: The name of the extended location.' - type: string type: - description: 'Type: The type of the extended location.' + description: 'Type: The identity type.' enum: - - EdgeZone + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string - type: object - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' - type: integer - ipAddress: - description: 'IpAddress: The IP address associated with the public IP address resource.' - type: string - ipTags: - description: 'IpTags: The list of tags associated with the public IP address.' - items: - description: Contains the IpTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' - type: string - type: object - type: array - linkedPublicIPAddress: - description: 'LinkedPublicIPAddress: The linked public IP address of the public IP address resource.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object location: - description: 'Location: Resource location.' + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' type: string - natGateway: - description: 'NatGateway: The NatGateway for the Public IP address.' + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + enum: + - AzureServices + - None + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + enum: + - Allow + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + required: + - value + type: object + type: array + required: + - defaultAction type: object operatorSpec: description: |- @@ -258720,98 +345715,100 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - enum: - - IPv4 - - IPv6 - type: string - publicIPAllocationMethod: - description: 'PublicIPAllocationMethod: The public IP address allocation method.' - enum: - - Dynamic - - Static - type: string - publicIPPrefix: - description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + policies: + description: 'Policies: The policies for a container registry.' properties: - reference: - description: 'Reference: Resource ID.' + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string type: object - type: object - servicePublicIPAddress: - description: 'ServicePublicIPAddress: The service public IP address of the public IP address resource.' - properties: - reference: - description: 'Reference: Resource ID.' + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string - group: - description: Group is the Kubernetes group of the resource. + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + enum: + - disabled + - enabled type: string - name: - description: Name is the Kubernetes name of the resource. + type: + description: 'Type: The type of trust policy.' + enum: + - Notary type: string type: object type: object + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' + enum: + - Disabled + - Enabled + type: string sku: - description: 'Sku: The public IP address SKU.' + description: 'Sku: The SKU of the container registry.' properties: name: - description: 'Name: Name of a public IP address SKU.' + description: 'Name: The SKU name of the container registry. Required for registry creation.' enum: - Basic + - Classic + - Premium - Standard type: string - tier: - description: 'Tier: Tier of a public IP address SKU.' - enum: - - Global - - Regional - type: string + required: + - name type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags of the resource.' type: object - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' + enum: + - Disabled + - Enabled + type: string required: + - location - owner + - sku type: object status: - description: Public IP address resource. + description: An object that represents a container registry. properties: + adminUserEnabled: + description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -258856,149 +345853,222 @@ spec: - type type: object type: array - ddosSettings: - description: 'DdosSettings: The DDoS protection custom policy associated with the public IP address.' + creationDate: + description: 'CreationDate: The creation date of the container registry in ISO8601 format.' + type: string + dataEndpointEnabled: + description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' + type: boolean + dataEndpointHostNames: + description: 'DataEndpointHostNames: List of host names that will serve data when dataEndpointEnabled is true.' + items: + type: string + type: array + encryption: + description: 'Encryption: The encryption settings of container registry.' properties: - ddosProtectionPlan: - description: 'DdosProtectionPlan: The DDoS protection plan associated with the public IP. Can only be set if ProtectionMode is Enabled' + keyVaultProperties: + description: 'KeyVaultProperties: Key vault properties.' properties: - id: - description: 'Id: Resource ID.' + identity: + description: 'Identity: The client id of the identity which will be used to access key vault.' + type: string + keyIdentifier: + description: 'KeyIdentifier: Key vault uri to access the encryption key.' + type: string + keyRotationEnabled: + description: 'KeyRotationEnabled: Auto key rotation status for a CMK enabled registry.' + type: boolean + lastKeyRotationTimestamp: + description: 'LastKeyRotationTimestamp: Timestamp of the last successful key rotation.' + type: string + versionedKeyIdentifier: + description: |- + VersionedKeyIdentifier: The fully qualified key identifier that includes the version of the key that is actually used + for encryption. type: string type: object - protectionMode: - description: 'ProtectionMode: The DDoS protection mode of the public IP' + status: + description: 'Status: Indicates whether or not the encryption is enabled for container registry.' type: string type: object - deleteOption: - description: 'DeleteOption: Specify what happens to the public IP address when the VM using it is deleted' + id: + description: 'Id: The resource ID.' type: string - dnsSettings: - description: 'DnsSettings: The FQDN of the DNS record associated with the public IP address.' + identity: + description: 'Identity: The identity of the container registry.' properties: - domainNameLabel: - description: |- - DomainNameLabel: The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up - the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS - record is created for the public IP in the Microsoft Azure DNS system. + principalId: + description: 'PrincipalId: The principal ID of resource identity.' type: string - domainNameLabelScope: - description: |- - DomainNameLabelScope: The domain name label scope. If a domain name label and a domain name label scope are specified, - an A DNS record is created for the public IP in the Microsoft Azure DNS system with a hashed value includes in FQDN. + tenantId: + description: 'TenantId: The tenant ID of resource.' type: string - fqdn: - description: |- - Fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of - the domainNameLabel and the regionalized DNS zone. + type: + description: 'Type: The identity type.' type: string - reverseFqdn: + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object description: |- - ReverseFqdn: The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If - the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain - to the reverse FQDN. - type: string + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object type: object - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + location: + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - id: - description: 'Id: Resource ID.' + loginServer: + description: 'LoginServer: The URL that can be used to log into the container registry.' type: string - idleTimeoutInMinutes: - description: 'IdleTimeoutInMinutes: The idle timeout of the public IP address.' - type: integer - ipAddress: - description: 'IpAddress: The IP address associated with the public IP address resource.' + name: + description: 'Name: The name of the resource.' type: string - ipConfiguration: - description: 'IpConfiguration: The IP configuration associated with the public IP address.' + networkRuleBypassOptions: + description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' + type: string + networkRuleSet: + description: 'NetworkRuleSet: The network rule set for a container registry.' properties: - id: - description: 'Id: Resource ID.' + defaultAction: + description: 'DefaultAction: The default action of allow or deny when no other rules match.' type: string + ipRules: + description: 'IpRules: The IP ACL rules.' + items: + description: IP rule with specific IP or IP range in CIDR format. + properties: + action: + description: 'Action: The action of IP ACL rule.' + type: string + value: + description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + type: string + type: object + type: array type: object - ipTags: - description: 'IpTags: The list of tags associated with the public IP address.' + policies: + description: 'Policies: The policies for a container registry.' + properties: + exportPolicy: + description: 'ExportPolicy: The export policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + quarantinePolicy: + description: 'QuarantinePolicy: The quarantine policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + retentionPolicy: + description: 'RetentionPolicy: The retention policy for a container registry.' + properties: + days: + description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' + type: integer + lastUpdatedTime: + description: 'LastUpdatedTime: The timestamp when the policy was last updated.' + type: string + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: object + trustPolicy: + description: 'TrustPolicy: The content trust policy for a container registry.' + properties: + status: + description: 'Status: The value that indicates whether the policy is enabled or not.' + type: string + type: + description: 'Type: The type of trust policy.' + type: string + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections for a container registry.' items: - description: Contains the IpTag associated with the object. + description: An object that represents a private endpoint connection for a container registry. properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' + id: + description: 'Id: The resource ID.' type: string type: object type: array - location: - description: 'Location: Resource location.' - type: string - migrationPhase: - description: 'MigrationPhase: Migration phase of Public IP Address.' + provisioningState: + description: 'ProvisioningState: The provisioning state of the container registry at the time the operation was called.' type: string - name: - description: 'Name: Resource name.' + publicNetworkAccess: + description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' type: string - natGateway: - description: 'NatGateway: The NatGateway for the Public IP address.' + sku: + description: 'Sku: The SKU of the container registry.' properties: - id: - description: 'Id: Resource ID.' + name: + description: 'Name: The SKU name of the container registry. Required for registry creation.' + type: string + tier: + description: 'Tier: The SKU tier based on the SKU name.' type: string type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the public IP address resource.' - type: string - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - type: string - publicIPAllocationMethod: - description: 'PublicIPAllocationMethod: The public IP address allocation method.' - type: string - publicIPPrefix: - description: 'PublicIPPrefix: The Public IP Prefix this Public IP Address should be allocated from.' + status: + description: 'Status: The status of the container registry at the time the operation was called.' properties: - id: - description: 'Id: Resource ID.' + displayStatus: + description: 'DisplayStatus: The short label for the status.' + type: string + message: + description: 'Message: The detailed message for the status, including alerts and error messages.' + type: string + timestamp: + description: 'Timestamp: The timestamp when the status was changed to the current value.' type: string type: object - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the public IP address resource.' - type: string - sku: - description: 'Sku: The public IP address SKU.' + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: - name: - description: 'Name: Name of a public IP address SKU.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - tier: - description: 'Tier: Tier of a public IP address SKU.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags of the resource.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' type: string - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -259018,14 +346088,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20230701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.PublicIPAddress + Storage version of v1api20230701.Registry Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpAddress.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName} + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} properties: apiVersion: description: |- @@ -259045,7 +346115,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.PublicIPAddress_Spec + description: Storage version of v1api20230701.Registry_Spec properties: $propertyBag: additionalProperties: @@ -259054,15 +346124,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + adminUserEnabled: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - ddosSettings: - description: |- - Storage version of v1api20240301.DdosSettings - Contains the DDoS protection settings of the public IP. + dataEndpointEnabled: + type: boolean + encryption: + description: Storage version of v1api20230701.EncryptionProperty properties: $propertyBag: additionalProperties: @@ -259071,10 +346143,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ddosProtectionPlan: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + keyVaultProperties: + description: Storage version of v1api20230701.KeyVaultProperties properties: $propertyBag: additionalProperties: @@ -259083,57 +346153,35 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + identity: + type: string + identityFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes configmap being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - type: object - type: object - protectionMode: - type: string - type: object - deleteOption: - type: string - dnsSettings: - description: |- - Storage version of v1api20240301.PublicIPAddressDnsSettings - Contains FQDN of the DNS record associated with the public IP address. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - domainNameLabel: - type: string - domainNameLabelScope: - type: string - fqdn: - type: string - reverseFqdn: + required: + - key + - name + type: object + keyIdentifier: + type: string + type: object + status: type: string type: object - extendedLocation: + identity: description: |- - Storage version of v1api20240301.ExtendedLocation - ExtendedLocation complex type. + Storage version of v1api20230701.IdentityProperties + Managed identity for the resource. properties: $propertyBag: additionalProperties: @@ -259142,73 +346190,52 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string type: type: string - type: object - idleTimeoutInMinutes: - type: integer - ipAddress: - type: string - ipTags: - items: - description: |- - Storage version of v1api20240301.IpTag - Contains the IpTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string + userAssignedIdentities: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230701.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - linkedPublicIPAddress: - description: |- - Storage version of v1api20240301.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + type: array type: object location: type: string - natGateway: + networkRuleBypassOptions: + type: string + networkRuleSet: description: |- - Storage version of v1api20240301.NatGatewaySpec_PublicIPAddress_SubResourceEmbedded - Nat Gateway resource. + Storage version of v1api20230701.NetworkRuleSet + The network rule set for a container registry. properties: $propertyBag: additionalProperties: @@ -259217,30 +346244,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20230701.IPRule + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array type: object operatorSpec: description: |- - Storage version of v1api20240301.PublicIPAddressOperatorSpec + Storage version of v1api20230701.RegistryOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -259324,14 +346352,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIPAddressVersion: - type: string - publicIPAllocationMethod: - type: string - publicIPPrefix: + policies: description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. + Storage version of v1api20230701.Policies + The policies for a container registry. properties: $propertyBag: additionalProperties: @@ -259340,64 +346364,77 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + exportPolicy: + description: |- + Storage version of v1api20230701.ExportPolicy + The export policy for a container registry. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: type: string type: object - type: object - servicePublicIPAddress: - description: |- - Storage version of v1api20240301.PublicIPAddressSpec_PublicIPAddress_SubResourceEmbedded - Public IP address resource. - properties: - $propertyBag: - additionalProperties: - type: string + quarantinePolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' + Storage version of v1api20230701.QuarantinePolicy + The quarantine policy for a container registry. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: type: string - group: - description: Group is the Kubernetes group of the resource. + type: object + retentionPolicy: + description: |- + Storage version of v1api20230701.RetentionPolicy + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + status: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + trustPolicy: + description: |- + Storage version of v1api20230701.TrustPolicy + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: type: string - name: - description: Name is the Kubernetes name of the resource. + type: type: string type: object type: object + publicNetworkAccess: + type: string sku: description: |- - Storage version of v1api20240301.PublicIPAddressSku - SKU of a public IP address. + Storage version of v1api20230701.Sku + The SKU of a container registry. properties: $propertyBag: additionalProperties: @@ -259408,24 +346445,20 @@ spec: type: object name: type: string - tier: - type: string type: object tags: additionalProperties: type: string type: object - zones: - items: - type: string - type: array + zoneRedundancy: + type: string required: - owner type: object status: description: |- - Storage version of v1api20240301.PublicIPAddress_STATUS - Public IP address resource. + Storage version of v1api20230701.Registry_STATUS + An object that represents a container registry. properties: $propertyBag: additionalProperties: @@ -259434,6 +346467,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + adminUserEnabled: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -259477,10 +346512,16 @@ spec: - type type: object type: array - ddosSettings: - description: |- - Storage version of v1api20240301.DdosSettings_STATUS - Contains the DDoS protection settings of the public IP. + creationDate: + type: string + dataEndpointEnabled: + type: boolean + dataEndpointHostNames: + items: + type: string + type: array + encryption: + description: Storage version of v1api20230701.EncryptionProperty_STATUS properties: $propertyBag: additionalProperties: @@ -259489,10 +346530,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ddosProtectionPlan: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + keyVaultProperties: + description: Storage version of v1api20230701.KeyVaultProperties_STATUS properties: $propertyBag: additionalProperties: @@ -259501,18 +346540,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + identity: + type: string + keyIdentifier: + type: string + keyRotationEnabled: + type: boolean + lastKeyRotationTimestamp: + type: string + versionedKeyIdentifier: type: string type: object - protectionMode: + status: type: string type: object - deleteOption: + id: type: string - dnsSettings: + identity: description: |- - Storage version of v1api20240301.PublicIPAddressDnsSettings_STATUS - Contains FQDN of the DNS record associated with the public IP address. + Storage version of v1api20230701.IdentityProperties_STATUS + Managed identity for the resource. properties: $propertyBag: additionalProperties: @@ -259521,21 +346568,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - domainNameLabel: - type: string - domainNameLabelScope: + principalId: type: string - fqdn: + tenantId: type: string - reverseFqdn: + type: type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230701.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - etag: + location: type: string - extendedLocation: + loginServer: + type: string + name: + type: string + networkRuleBypassOptions: + type: string + networkRuleSet: description: |- - Storage version of v1api20240301.ExtendedLocation_STATUS - ExtendedLocation complex type. + Storage version of v1api20230701.NetworkRuleSet_STATUS + The network rule set for a container registry. properties: $propertyBag: additionalProperties: @@ -259544,21 +346612,32 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: + defaultAction: type: string + ipRules: + items: + description: |- + Storage version of v1api20230701.IPRule_STATUS + IP rule with specific IP or IP range in CIDR format. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array type: object - id: - type: string - idleTimeoutInMinutes: - type: integer - ipAddress: - type: string - ipConfiguration: + policies: description: |- - Storage version of v1api20240301.IPConfiguration_STATUS_PublicIPAddress_SubResourceEmbedded - IP configuration. + Storage version of v1api20230701.Policies_STATUS + The policies for a container registry. properties: $propertyBag: additionalProperties: @@ -259567,14 +346646,78 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + exportPolicy: + description: |- + Storage version of v1api20230701.ExportPolicy_STATUS + The export policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + quarantinePolicy: + description: |- + Storage version of v1api20230701.QuarantinePolicy_STATUS + The quarantine policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: object + retentionPolicy: + description: |- + Storage version of v1api20230701.RetentionPolicy_STATUS + The retention policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + days: + type: integer + lastUpdatedTime: + type: string + status: + type: string + type: object + trustPolicy: + description: |- + Storage version of v1api20230701.TrustPolicy_STATUS + The content trust policy for a container registry. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + status: + type: string + type: + type: string + type: object type: object - ipTags: + privateEndpointConnections: items: description: |- - Storage version of v1api20240301.IpTag_STATUS - Contains the IpTag associated with the object. + Storage version of v1api20230701.PrivateEndpointConnection_STATUS + An object that represents a private endpoint connection for a container registry. properties: $propertyBag: additionalProperties: @@ -259583,22 +346726,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: - type: string - tag: + id: type: string type: object type: array - location: - type: string - migrationPhase: + provisioningState: type: string - name: + publicNetworkAccess: type: string - natGateway: + sku: description: |- - Storage version of v1api20240301.NatGateway_STATUS_PublicIPAddress_SubResourceEmbedded - Nat Gateway resource. + Storage version of v1api20230701.Sku_STATUS + The SKU of a container registry. properties: $propertyBag: additionalProperties: @@ -259607,19 +346746,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + name: + type: string + tier: type: string type: object - provisioningState: - type: string - publicIPAddressVersion: - type: string - publicIPAllocationMethod: - type: string - publicIPPrefix: + status: description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. + Storage version of v1api20230701.Status_STATUS + The status of an Azure resource at the time the operation was called. properties: $propertyBag: additionalProperties: @@ -259628,15 +346763,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + displayStatus: + type: string + message: + type: string + timestamp: type: string type: object - resourceGuid: - type: string - sku: + systemData: description: |- - Storage version of v1api20240301.PublicIPAddressSku_STATUS - SKU of a public IP address. + Storage version of v1api20230701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -259645,9 +346782,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + createdAt: type: string - tier: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object tags: @@ -259656,10 +346801,8 @@ spec: type: object type: type: string - zones: - items: - type: string - type: array + zoneRedundancy: + type: string type: object type: object served: true @@ -259672,11 +346815,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: publicipprefixes.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: registries.machinelearningservices.azure.com spec: conversion: strategy: Webhook @@ -259689,12 +346832,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: machinelearningservices.azure.com names: - kind: PublicIPPrefix - listKind: PublicIPPrefixList - plural: publicipprefixes - singular: publicipprefix + categories: + - azure + - machinelearningservices + kind: Registry + listKind: RegistryList + plural: registries + singular: registry preserveUnknownFields: false scope: Namespaced versions: @@ -259711,13 +346857,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701 + name: v1api20240401 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/publicIpPrefix.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/registries.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName} properties: apiVersion: description: |- @@ -259742,64 +346888,69 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]{2,32}$ type: string - customIPPrefix: - description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' + discoveryUrl: + description: 'DiscoveryUrl: Discovery URL for the Registry' + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities)' properties: - name: - description: 'Name: The name of the extended location.' - type: string type: - description: 'Type: The type of the extended location.' + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' enum: - - EdgeZone + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned type: string + userAssignedIdentities: + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type type: object - ipTags: - description: 'IpTags: The list of tags associated with the public IP prefix.' - items: - description: Contains the IpTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' - type: string - type: object - type: array + intellectualPropertyPublisher: + description: 'IntellectualPropertyPublisher: IntellectualPropertyPublisher for the registry' + type: string + kind: + description: 'Kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.' + type: string location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string - natGateway: - description: 'NatGateway: NatGateway of Public IP Prefix.' + managedResourceGroup: + description: 'ManagedResourceGroup: ResourceId of the managed RG if the registry has system created resources' properties: - reference: - description: 'Reference: Resource ID.' + resourceReference: + description: |- + ResourceReference: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" properties: armId: description: |- @@ -259819,6 +346970,9 @@ spec: type: string type: object type: object + mlFlowRegistryUri: + description: 'MlFlowRegistryUri: MLFlow Registry URI for the Registry' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -259854,6 +347008,42 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + discoveryUrl: + description: 'DiscoveryUrl: indicates where the DiscoveryUrl config map should be placed. If omitted, no config map will be created.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + mlFlowRegistryUri: + description: |- + MlFlowRegistryUri: indicates where the MlFlowRegistryUri config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -259898,45 +347088,195 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - prefixLength: - description: 'PrefixLength: The Length of the Public IP Prefix.' - type: integer - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - enum: - - IPv4 - - IPv6 + publicNetworkAccess: + description: |- + PublicNetworkAccess: Is the Registry accessible from the internet? + Possible values: "Enabled" or "Disabled" type: string + regionDetails: + description: 'RegionDetails: Details of each region the registry is in' + items: + description: Details for each region the registry is in + properties: + acrDetails: + description: 'AcrDetails: List of ACR accounts' + items: + description: Details of ACR account to be used for the Registry + properties: + systemCreatedAcrAccount: + description: 'SystemCreatedAcrAccount: Details of system created ACR account to be used for the Registry' + properties: + acrAccountName: + description: 'AcrAccountName: Name of the ACR account' + type: string + acrAccountSku: + description: 'AcrAccountSku: SKU of the ACR account' + type: string + type: object + type: object + type: array + location: + description: 'Location: The location where the registry exists' + type: string + storageAccountDetails: + description: 'StorageAccountDetails: List of storage accounts' + items: + description: Details of storage account to be used for the Registry + properties: + systemCreatedStorageAccount: + description: 'SystemCreatedStorageAccount: Details of system created storage account to be used for the registry' + properties: + allowBlobPublicAccess: + description: 'AllowBlobPublicAccess: Public blob access allowed' + type: boolean + storageAccountHnsEnabled: + description: 'StorageAccountHnsEnabled: HNS enabled for storage account' + type: boolean + storageAccountName: + description: 'StorageAccountName: Name of the storage account' + type: string + storageAccountType: + description: |- + StorageAccountType: Allowed values: + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Standard_GZRS", + "Standard_RAGZRS", + "Premium_LRS", + "Premium_ZRS" + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + description: 'RegistryPrivateEndpointConnections: Private endpoint connections info used for pending connections in private link portal' + items: + description: Private endpoint connection definition. + properties: + groupIds: + description: 'GroupIds: The group ids' + items: + type: string + type: array + location: + description: 'Location: Same as workspace location.' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The PE network resource that is linked to this PE connection.' + properties: + subnetArmReference: + description: 'SubnetArmReference: The subnetId that the private endpoint is connected to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + provisioningState: + description: 'ProvisioningState: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it''s null.' + type: string + reference: + description: |- + Reference: This is the private endpoint connection name created on SRP + Full resource id: + /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + registryPrivateLinkServiceConnectionState: + description: 'RegistryPrivateLinkServiceConnectionState: The connection state.' + properties: + actionsRequired: + description: 'ActionsRequired: Some RP chose "None". Other RPs use this for region expansion.' + type: string + description: + description: 'Description: User-defined message that, per NRP doc, may be used for approval-related message.' + type: string + status: + description: 'Status: Connection status of the service consumer with the service provider' + enum: + - Approved + - Disconnected + - Pending + - Rejected + type: string + type: object + type: object + type: array sku: - description: 'Sku: The public IP prefix SKU.' + description: 'Sku: Sku details required for ARM contract for Autoscaling.' properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string name: - description: 'Name: Name of a public IP prefix SKU.' - enum: - - Standard + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. type: string tier: - description: 'Tier: Tier of a public IP prefix SKU.' + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. enum: - - Global - - Regional + - Basic + - Free + - Premium + - Standard type: string + required: + - name type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array required: + - location - owner type: object status: - description: Public IP prefix resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -259982,97 +347322,247 @@ spec: - type type: object type: array - customIPPrefix: - description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + discoveryUrl: + description: 'DiscoveryUrl: Discovery URL for the Registry' type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Managed service identity (system assigned and/or user assigned identities)' properties: - name: - description: 'Name: The name of the extended location.' + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. type: string type: - description: 'Type: The type of the extended location.' + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object type: object - id: - description: 'Id: Resource ID.' + intellectualPropertyPublisher: + description: 'IntellectualPropertyPublisher: IntellectualPropertyPublisher for the registry' type: string - ipPrefix: - description: 'IpPrefix: The allocated Prefix.' + kind: + description: 'Kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.' type: string - ipTags: - description: 'IpTags: The list of tags associated with the public IP prefix.' - items: - description: Contains the IpTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' - type: string - type: object - type: array - loadBalancerFrontendIpConfiguration: - description: |- - LoadBalancerFrontendIpConfiguration: The reference to load balancer frontend IP configuration associated with the public - IP prefix. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object location: - description: 'Location: Resource location.' - type: string - name: - description: 'Name: Resource name.' + description: 'Location: The geo-location where the resource lives' type: string - natGateway: - description: 'NatGateway: NatGateway of Public IP Prefix.' + managedResourceGroup: + description: 'ManagedResourceGroup: ResourceId of the managed RG if the registry has system created resources' properties: - id: - description: 'Id: Resource ID.' + resourceId: + description: |- + ResourceId: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" type: string type: object - prefixLength: - description: 'PrefixLength: The Length of the Public IP Prefix.' - type: integer - provisioningState: - description: 'ProvisioningState: The provisioning state of the public IP prefix resource.' + mlFlowRegistryUri: + description: 'MlFlowRegistryUri: MLFlow Registry URI for the Registry' type: string - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' + name: + description: 'Name: The name of the resource' type: string - publicIPAddresses: - description: 'PublicIPAddresses: The list of all referenced PublicIPAddresses.' + publicNetworkAccess: + description: |- + PublicNetworkAccess: Is the Registry accessible from the internet? + Possible values: "Enabled" or "Disabled" + type: string + regionDetails: + description: 'RegionDetails: Details of each region the registry is in' + items: + description: Details for each region the registry is in + properties: + acrDetails: + description: 'AcrDetails: List of ACR accounts' + items: + description: Details of ACR account to be used for the Registry + properties: + systemCreatedAcrAccount: + description: 'SystemCreatedAcrAccount: Details of system created ACR account to be used for the Registry' + properties: + acrAccountName: + description: 'AcrAccountName: Name of the ACR account' + type: string + acrAccountSku: + description: 'AcrAccountSku: SKU of the ACR account' + type: string + armResourceId: + description: 'ArmResourceId: This is populated once the ACR account is created.' + properties: + resourceId: + description: |- + ResourceId: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + type: string + type: object + type: object + type: object + type: array + location: + description: 'Location: The location where the registry exists' + type: string + storageAccountDetails: + description: 'StorageAccountDetails: List of storage accounts' + items: + description: Details of storage account to be used for the Registry + properties: + systemCreatedStorageAccount: + description: 'SystemCreatedStorageAccount: Details of system created storage account to be used for the registry' + properties: + allowBlobPublicAccess: + description: 'AllowBlobPublicAccess: Public blob access allowed' + type: boolean + armResourceId: + description: 'ArmResourceId: This is populated once the storage account is created.' + properties: + resourceId: + description: |- + ResourceId: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + type: string + type: object + storageAccountHnsEnabled: + description: 'StorageAccountHnsEnabled: HNS enabled for storage account' + type: boolean + storageAccountName: + description: 'StorageAccountName: Name of the storage account' + type: string + storageAccountType: + description: |- + StorageAccountType: Allowed values: + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Standard_GZRS", + "Standard_RAGZRS", + "Premium_LRS", + "Premium_ZRS" + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + description: 'RegistryPrivateEndpointConnections: Private endpoint connections info used for pending connections in private link portal' items: - description: Reference to a public IP address. + description: Private endpoint connection definition. properties: + groupIds: + description: 'GroupIds: The group ids' + items: + type: string + type: array id: - description: 'Id: The PublicIPAddress Reference.' + description: |- + Id: This is the private endpoint connection name created on SRP + Full resource id: + /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + type: string + location: + description: 'Location: Same as workspace location.' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The PE network resource that is linked to this PE connection.' + properties: + id: + description: 'Id: The ARM identifier for Private Endpoint' + type: string + subnetArmId: + description: 'SubnetArmId: The subnetId that the private endpoint is connected to.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it''s null.' type: string + registryPrivateLinkServiceConnectionState: + description: 'RegistryPrivateLinkServiceConnectionState: The connection state.' + properties: + actionsRequired: + description: 'ActionsRequired: Some RP chose "None". Other RPs use this for region expansion.' + type: string + description: + description: 'Description: User-defined message that, per NRP doc, may be used for approval-related message.' + type: string + status: + description: 'Status: Connection status of the service consumer with the service provider' + type: string + type: object type: object type: array - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the public IP prefix resource.' - type: string sku: - description: 'Sku: The public IP prefix SKU.' + description: 'Sku: Sku details required for ARM contract for Autoscaling.' properties: + capacity: + description: |- + Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible + for the resource this may be omitted. + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string name: - description: 'Name: Name of a public IP prefix SKU.' + description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' + type: string + size: + description: |- + Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone + code. type: string tier: - description: 'Tier: Tier of a public IP prefix SKU.' + description: |- + Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is + not required on a PUT. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: @@ -260081,13 +347571,8 @@ spec: description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -260107,14 +347592,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220701storage + name: v1api20240401storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220701.PublicIPPrefix + Storage version of v1api20240401.Registry Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2022-07-01/publicIpPrefix.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/registries.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName} properties: apiVersion: description: |- @@ -260134,7 +347619,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220701.PublicIPPrefix_Spec + description: Storage version of v1api20240401.Registry_Spec properties: $propertyBag: additionalProperties: @@ -260148,43 +347633,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - customIPPrefix: - description: |- - Storage version of v1api20220701.SubResource - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - extendedLocation: + discoveryUrl: + type: string + identity: description: |- - Storage version of v1api20220701.ExtendedLocation - ExtendedLocation complex type. + Storage version of v1api20240401.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -260193,36 +347647,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string type: type: string - type: object - ipTags: - items: - description: |- - Storage version of v1api20220701.IpTag - Contains the IpTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string + userAssignedIdentities: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240401.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array + type: array + type: object + intellectualPropertyPublisher: + type: string + kind: + type: string location: type: string - natGateway: + managedResourceGroup: description: |- - Storage version of v1api20220701.NatGatewaySpec_PublicIPPrefix_SubResourceEmbedded - Nat Gateway resource. + Storage version of v1api20240401.ArmResourceId + ARM ResourceId of a resource properties: $propertyBag: additionalProperties: @@ -260231,8 +347703,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID.' + resourceReference: + description: |- + ResourceReference: Arm ResourceId is in the format + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" + or + "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" properties: armId: description: |- @@ -260252,9 +347728,11 @@ spec: type: string type: object type: object + mlFlowRegistryUri: + type: string operatorSpec: description: |- - Storage version of v1api20220701.PublicIPPrefixOperatorSpec + Storage version of v1api20240401.RegistryOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -260293,6 +347771,53 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20240401.RegistryOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + discoveryUrl: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + mlFlowRegistryUri: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -260338,14 +347863,191 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - prefixLength: - type: integer - publicIPAddressVersion: + publicNetworkAccess: type: string + regionDetails: + items: + description: |- + Storage version of v1api20240401.RegistryRegionArmDetails + Details for each region the registry is in + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrDetails: + items: + description: |- + Storage version of v1api20240401.AcrDetails + Details of ACR account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedAcrAccount: + description: Storage version of v1api20240401.SystemCreatedAcrAccount + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrAccountName: + type: string + acrAccountSku: + type: string + type: object + type: object + type: array + location: + type: string + storageAccountDetails: + items: + description: |- + Storage version of v1api20240401.StorageAccountDetails + Details of storage account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedStorageAccount: + description: Storage version of v1api20240401.SystemCreatedStorageAccount + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowBlobPublicAccess: + type: boolean + storageAccountHnsEnabled: + type: boolean + storageAccountName: + type: string + storageAccountType: + type: string + type: object + type: object + type: array + type: object + type: array + registryPrivateEndpointConnections: + items: + description: |- + Storage version of v1api20240401.RegistryPrivateEndpointConnection + Private endpoint connection definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + location: + type: string + privateEndpoint: + description: |- + Storage version of v1api20240401.PrivateEndpointResource + The PE network resource that is linked to this PE connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetArmReference: + description: 'SubnetArmReference: The subnetId that the private endpoint is connected to.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + provisioningState: + type: string + reference: + description: |- + Reference: This is the private endpoint connection name created on SRP + Full resource id: + /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + registryPrivateLinkServiceConnectionState: + description: |- + Storage version of v1api20240401.RegistryPrivateLinkServiceConnectionState + The connection state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + type: object + type: array sku: description: |- - Storage version of v1api20220701.PublicIPPrefixSku - SKU of a public IP prefix. + Storage version of v1api20240401.Sku + The resource model definition representing SKU properties: $propertyBag: additionalProperties: @@ -260354,8 +348056,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + capacity: + type: integer + family: + type: string name: type: string + size: + type: string tier: type: string type: object @@ -260363,17 +348071,11 @@ spec: additionalProperties: type: string type: object - zones: - items: - type: string - type: array required: - owner type: object status: - description: |- - Storage version of v1api20220701.PublicIPPrefix_STATUS - Public IP prefix resource. + description: Storage version of v1api20240401.RegistryTrackedResource_STATUS properties: $propertyBag: additionalProperties: @@ -260425,10 +348127,14 @@ spec: - type type: object type: array - customIPPrefix: + discoveryUrl: + type: string + id: + type: string + identity: description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. + Storage version of v1api20240401.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -260437,15 +348143,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + principalId: + type: string + tenantId: type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240401.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - etag: + intellectualPropertyPublisher: type: string - extendedLocation: + kind: + type: string + location: + type: string + managedResourceGroup: description: |- - Storage version of v1api20220701.ExtendedLocation_STATUS - ExtendedLocation complex type. + Storage version of v1api20240401.ArmResourceId_STATUS + ARM ResourceId of a resource properties: $propertyBag: additionalProperties: @@ -260454,20 +348187,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - type: + resourceId: type: string type: object - id: + mlFlowRegistryUri: type: string - ipPrefix: + name: type: string - ipTags: + publicNetworkAccess: + type: string + regionDetails: items: description: |- - Storage version of v1api20220701.IpTag_STATUS - Contains the IpTag associated with the object. + Storage version of v1api20240401.RegistryRegionArmDetails_STATUS + Details for each region the registry is in properties: $propertyBag: additionalProperties: @@ -260476,57 +348209,109 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipTagType: - type: string - tag: + acrDetails: + items: + description: |- + Storage version of v1api20240401.AcrDetails_STATUS + Details of ACR account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedAcrAccount: + description: Storage version of v1api20240401.SystemCreatedAcrAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrAccountName: + type: string + acrAccountSku: + type: string + armResourceId: + description: |- + Storage version of v1api20240401.ArmResourceId_STATUS + ARM ResourceId of a resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + type: object + type: object + type: object + type: array + location: type: string + storageAccountDetails: + items: + description: |- + Storage version of v1api20240401.StorageAccountDetails_STATUS + Details of storage account to be used for the Registry + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + systemCreatedStorageAccount: + description: Storage version of v1api20240401.SystemCreatedStorageAccount_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowBlobPublicAccess: + type: boolean + armResourceId: + description: |- + Storage version of v1api20240401.ArmResourceId_STATUS + ARM ResourceId of a resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resourceId: + type: string + type: object + storageAccountHnsEnabled: + type: boolean + storageAccountName: + type: string + storageAccountType: + type: string + type: object + type: object + type: array type: object type: array - loadBalancerFrontendIpConfiguration: - description: |- - Storage version of v1api20220701.SubResource_STATUS - Reference to another ARM resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - location: - type: string - name: - type: string - natGateway: - description: |- - Storage version of v1api20220701.NatGateway_STATUS_PublicIPPrefix_SubResourceEmbedded - Nat Gateway resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - prefixLength: - type: integer - provisioningState: - type: string - publicIPAddressVersion: - type: string - publicIPAddresses: + registryPrivateEndpointConnections: items: description: |- - Storage version of v1api20220701.ReferencedPublicIpAddress_STATUS - Reference to a public IP address. + Storage version of v1api20240401.RegistryPrivateEndpointConnection_STATUS + Private endpoint connection definition. properties: $propertyBag: additionalProperties: @@ -260535,16 +348320,58 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + groupIds: + items: + type: string + type: array id: type: string + location: + type: string + privateEndpoint: + description: |- + Storage version of v1api20240401.PrivateEndpointResource_STATUS + The PE network resource that is linked to this PE connection. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + subnetArmId: + type: string + type: object + provisioningState: + type: string + registryPrivateLinkServiceConnectionState: + description: |- + Storage version of v1api20240401.RegistryPrivateLinkServiceConnectionState_STATUS + The connection state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object type: object type: array - resourceGuid: - type: string sku: description: |- - Storage version of v1api20220701.PublicIPPrefixSku_STATUS - SKU of a public IP prefix. + Storage version of v1api20240401.Sku_STATUS + The resource model definition representing SKU properties: $propertyBag: additionalProperties: @@ -260553,27 +348380,89 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + capacity: + type: integer + family: + type: string name: type: string + size: + type: string tier: type: string type: object + systemData: + description: |- + Storage version of v1api20240401.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object type: type: string - zones: - items: - type: string - type: array type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: registryreplications.containerregistry.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: containerregistry.azure.com + names: + categories: + - azure + - containerregistry + kind: RegistryReplication + listKind: RegistryReplicationList + plural: registryreplications + singular: registryreplication + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -260587,13 +348476,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20230701 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpPrefix.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} properties: apiVersion: description: |- @@ -260618,83 +348507,13 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 5 + pattern: ^[a-zA-Z0-9]*$ type: string - customIPPrefix: - description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - ipTags: - description: 'IpTags: The list of tags associated with the public IP prefix.' - items: - description: Contains the IpTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' - type: string - type: object - type: array location: - description: 'Location: Resource location.' + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' type: string - natGateway: - description: 'NatGateway: NatGateway of Public IP Prefix.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -260765,7 +348584,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerregistry.azure.com/Registry resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -260774,45 +348593,27 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - prefixLength: - description: 'PrefixLength: The Length of the Public IP Prefix.' - type: integer - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - enum: - - IPv4 - - IPv6 - type: string - sku: - description: 'Sku: The public IP prefix SKU.' - properties: - name: - description: 'Name: Name of a public IP prefix SKU.' - enum: - - Standard - type: string - tier: - description: 'Tier: Tier of a public IP prefix SKU.' - enum: - - Global - - Regional - type: string - type: object + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to + a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications. + type: boolean tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags of the resource.' type: object - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry replication' + enum: + - Disabled + - Enabled + type: string required: + - location - owner type: object status: - description: Public IP prefix resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -260858,112 +348659,69 @@ spec: - type type: object type: array - customIPPrefix: - description: 'CustomIPPrefix: The customIpPrefix that this prefix is associated with.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - extendedLocation: - description: 'ExtendedLocation: The extended location of the public ip address.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object id: - description: 'Id: Resource ID.' - type: string - ipPrefix: - description: 'IpPrefix: The allocated Prefix.' + description: 'Id: The resource ID.' type: string - ipTags: - description: 'IpTags: The list of tags associated with the public IP prefix.' - items: - description: Contains the IpTag associated with the object. - properties: - ipTagType: - description: 'IpTagType: The IP tag type. Example: FirstPartyUsage.' - type: string - tag: - description: 'Tag: The value of the IP tag associated with the public IP. Example: SQL.' - type: string - type: object - type: array - loadBalancerFrontendIpConfiguration: - description: |- - LoadBalancerFrontendIpConfiguration: The reference to load balancer frontend IP configuration associated with the public - IP prefix. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object location: - description: 'Location: Resource location.' + description: 'Location: The location of the resource. This cannot be changed after the resource is created.' type: string name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource.' type: string - natGateway: - description: 'NatGateway: NatGateway of Public IP Prefix.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - prefixLength: - description: 'PrefixLength: The Length of the Public IP Prefix.' - type: integer provisioningState: - description: 'ProvisioningState: The provisioning state of the public IP prefix resource.' - type: string - publicIPAddressVersion: - description: 'PublicIPAddressVersion: The public IP address version.' - type: string - publicIPAddresses: - description: 'PublicIPAddresses: The list of all referenced PublicIPAddresses.' - items: - description: Reference to a public IP address. - properties: - id: - description: 'Id: The PublicIPAddress Reference.' - type: string - type: object - type: array - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the public IP prefix resource.' + description: 'ProvisioningState: The provisioning state of the replication at the time the operation was called.' type: string - sku: - description: 'Sku: The public IP prefix SKU.' + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to + a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications. + type: boolean + status: + description: 'Status: The status of the replication at the time the operation was called.' + properties: + displayStatus: + description: 'DisplayStatus: The short label for the status.' + type: string + message: + description: 'Message: The detailed message for the status, including alerts and error messages.' + type: string + timestamp: + description: 'Timestamp: The timestamp when the status was changed to the current value.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' properties: - name: - description: 'Name: Name of a public IP prefix SKU.' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - tier: - description: 'Tier: Tier of a public IP prefix SKU.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource modification (UTC).' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The tags of the resource.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource.' + type: string + zoneRedundancy: + description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry replication' type: string - zones: - description: 'Zones: A list of availability zones denoting the IP allocated for the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -260983,14 +348741,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20230701storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.PublicIPPrefix + Storage version of v1api20230701.RegistryReplication Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/publicIpPrefix.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName} + - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2023-07-01/containerregistry.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName} properties: apiVersion: description: |- @@ -261010,7 +348768,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.PublicIPPrefix_Spec + description: Storage version of v1api20230701.RegistryReplication_Spec properties: $propertyBag: additionalProperties: @@ -261024,113 +348782,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - customIPPrefix: - description: |- - Storage version of v1api20240301.SubResource - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - extendedLocation: - description: |- - Storage version of v1api20240301.ExtendedLocation - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - ipTags: - items: - description: |- - Storage version of v1api20240301.IpTag - Contains the IpTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array location: type: string - natGateway: - description: |- - Storage version of v1api20240301.NatGatewaySpec_PublicIPPrefix_SubResourceEmbedded - Nat Gateway resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object operatorSpec: description: |- - Storage version of v1api20240301.PublicIPPrefixOperatorSpec + Storage version of v1api20230701.RegistryReplicationOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -261205,7 +348861,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a containerregistry.azure.com/Registry resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -261214,42 +348870,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - prefixLength: - type: integer - publicIPAddressVersion: - type: string - sku: - description: |- - Storage version of v1api20240301.PublicIPPrefixSku - SKU of a public IP prefix. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object + regionEndpointEnabled: + type: boolean tags: additionalProperties: type: string type: object - zones: - items: - type: string - type: array + zoneRedundancy: + type: string required: - owner type: object status: - description: |- - Storage version of v1api20240301.PublicIPPrefix_STATUS - Public IP prefix resource. + description: Storage version of v1api20230701.RegistryReplication_STATUS properties: $propertyBag: additionalProperties: @@ -261301,86 +348934,20 @@ spec: - type type: object type: array - customIPPrefix: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - etag: - type: string - extendedLocation: - description: |- - Storage version of v1api20240301.ExtendedLocation_STATUS - ExtendedLocation complex type. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object id: type: string - ipPrefix: - type: string - ipTags: - items: - description: |- - Storage version of v1api20240301.IpTag_STATUS - Contains the IpTag associated with the object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipTagType: - type: string - tag: - type: string - type: object - type: array - loadBalancerFrontendIpConfiguration: - description: |- - Storage version of v1api20240301.SubResource_STATUS - Reference to another subresource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object location: type: string name: type: string - natGateway: + provisioningState: + type: string + regionEndpointEnabled: + type: boolean + status: description: |- - Storage version of v1api20240301.NatGateway_STATUS_PublicIPPrefix_SubResourceEmbedded - Nat Gateway resource. + Storage version of v1api20230701.Status_STATUS + The status of an Azure resource at the time the operation was called. properties: $propertyBag: additionalProperties: @@ -261389,38 +348956,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + displayStatus: + type: string + message: + type: string + timestamp: type: string type: object - prefixLength: - type: integer - provisioningState: - type: string - publicIPAddressVersion: - type: string - publicIPAddresses: - items: - description: |- - Storage version of v1api20240301.ReferencedPublicIpAddress_STATUS - Reference to a public IP address. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - resourceGuid: - type: string - sku: + systemData: description: |- - Storage version of v1api20240301.PublicIPPrefixSku_STATUS - SKU of a public IP prefix. + Storage version of v1api20230701.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -261429,9 +348975,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + createdAt: type: string - tier: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object tags: @@ -261440,10 +348994,8 @@ spec: type: object type: type: string - zones: - items: - type: string - type: array + zoneRedundancy: + type: string type: object type: object served: true @@ -261456,11 +349008,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: redis.cache.azure.com + app.kubernetes.io/version: v2.15.0 + name: replicas.signalrservice.azure.com spec: conversion: strategy: Webhook @@ -261473,12 +349025,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cache.azure.com + group: signalrservice.azure.com names: - kind: Redis - listKind: RedisList - plural: redis - singular: redis + categories: + - azure + - signalrservice + kind: Replica + listKind: ReplicaList + plural: replicas + singular: replica preserveUnknownFields: false scope: Namespaced versions: @@ -261495,13 +349050,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201201 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName} properties: apiVersion: description: |- @@ -261526,22 +349081,13 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ type: string - enableNonSslPort: - description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' - type: boolean location: description: 'Location: The geo-location where the resource lives' type: string - minimumTlsVersion: - description: |- - MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', - '1.2') - enum: - - "1.0" - - "1.1" - - "1.2" - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -261607,95 +349153,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - hostName: - description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - port: - description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - sslPort: - description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a signalrservice.azure.com/SignalR resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -261704,148 +349167,54 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: + regionEndpointEnabled: description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed - in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is - 'Enabled' - enum: - - Disabled - - Enabled + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. type: string - redisConfiguration: - description: |- - RedisConfiguration: All Redis Settings. Few possible keys: - rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value - etc. - properties: - additionalProperties: - additionalProperties: - type: string - type: object - aof-backup-enabled: - description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' - type: string - aof-storage-connection-string-0: - description: 'AofStorageConnectionString0: First storage account connection string' - type: string - aof-storage-connection-string-1: - description: 'AofStorageConnectionString1: Second storage account connection string' - type: string - authnotrequired: - description: |- - Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from - security point of view. - type: string - maxfragmentationmemory-reserved: - description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' - type: string - maxmemory-delta: - description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - maxmemory-policy: - description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' - type: string - maxmemory-reserved: - description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - rdb-backup-enabled: - description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' - type: string - rdb-backup-frequency: - description: 'RdbBackupFrequency: Specifies the frequency for creating rdb backup' - type: string - rdb-backup-max-snapshot-count: - description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' - type: string - rdb-storage-connection-string: - description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' - type: string - type: object - redisVersion: + resourceStopped: description: |- - RedisVersion: Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value - 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in - a PUT/PATCH request. Supported versions: 4.0, 6.0. + ResourceStopped: Stop or start the resource. Default to "false". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. type: string - replicasPerMaster: - description: 'ReplicasPerMaster: The number of replicas to be created per primary.' - type: integer - replicasPerPrimary: - description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' - type: integer - shardCount: - description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' - type: integer sku: - description: 'Sku: The SKU of the Redis cache to deploy.' + description: 'Sku: The billing information of the resource.' properties: capacity: description: |- - Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for - P (Premium) family (1, 2, 3, 4). + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; type: integer - family: - description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' - enum: - - C - - P - type: string name: - description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. enum: - Basic + - Free - Premium - Standard type: string required: - - capacity - - family - name type: object - staticIP: - description: |- - StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual - Network; auto assigned by default. - pattern: ^\d+\.\d+\.\d+\.\d+$ - type: string - subnetReference: - description: |- - SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - tenantSettings: - additionalProperties: - type: string - description: 'TenantSettings: A dictionary of tenant settings' - type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array required: - location - owner @@ -261897,203 +349266,92 @@ spec: - type type: object type: array - enableNonSslPort: - description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' - type: boolean - hostName: - description: 'HostName: Redis host name.' - type: string id: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - instances: - description: 'Instances: List of the Redis instances associated with the cache' - items: - description: Details of single instance of redis. - properties: - isMaster: - description: 'IsMaster: Specifies whether the instance is a primary node.' - type: boolean - isPrimary: - description: 'IsPrimary: Specifies whether the instance is a primary node.' - type: boolean - nonSslPort: - description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' - type: integer - shardId: - description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' - type: integer - sslPort: - description: 'SslPort: Redis instance SSL port.' - type: integer - zone: - description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' - type: string - type: object - type: array - linkedServers: - description: 'LinkedServers: List of the linked servers associated with the cache' - items: - description: Linked server Id - properties: - id: - description: 'Id: Linked server Id.' - type: string - type: object - type: array location: description: 'Location: The geo-location where the resource lives' type: string - minimumTlsVersion: - description: |- - MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', - '1.2') - type: string name: description: 'Name: The name of the resource' type: string - port: - description: 'Port: Redis non-SSL port.' - type: integer - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' - items: - description: The Private Endpoint Connection resource. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array provisioningState: - description: 'ProvisioningState: Redis instance provisioning status.' + description: 'ProvisioningState: Provisioning state of the resource.' type: string - publicNetworkAccess: + regionEndpointEnabled: description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed - in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is - 'Enabled' + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. type: string - redisConfiguration: + resourceStopped: description: |- - RedisConfiguration: All Redis Settings. Few possible keys: - rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value - etc. + ResourceStopped: Stop or start the resource. Default to "false". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. + type: string + sku: + description: 'Sku: The billing information of the resource.' properties: - additionalProperties: - additionalProperties: - type: string - type: object - aof-backup-enabled: - description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' - type: string - aof-storage-connection-string-0: - description: 'AofStorageConnectionString0: First storage account connection string' - type: string - aof-storage-connection-string-1: - description: 'AofStorageConnectionString1: Second storage account connection string' - type: string - authnotrequired: + capacity: description: |- - Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from - security point of view. - type: string - maxclients: - description: 'Maxclients: The max clients config' - type: string - maxfragmentationmemory-reserved: - description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' - type: string - maxmemory-delta: - description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + family: + description: 'Family: Not used. Retained for future use.' type: string - maxmemory-policy: - description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 type: string - maxmemory-reserved: - description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' + size: + description: 'Size: Not used. Retained for future use.' type: string - rdb-backup-enabled: - description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. type: string - rdb-backup-frequency: - description: 'RdbBackupFrequency: Specifies the frequency for creating rdb backup' + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - rdb-backup-max-snapshot-count: - description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string - rdb-storage-connection-string: - description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string - zonal-configuration: - description: 'ZonalConfiguration: Zonal Configuration' + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string - type: object - redisVersion: - description: |- - RedisVersion: Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value - 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in - a PUT/PATCH request. Supported versions: 4.0, 6.0. - type: string - replicasPerMaster: - description: 'ReplicasPerMaster: The number of replicas to be created per primary.' - type: integer - replicasPerPrimary: - description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' - type: integer - shardCount: - description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' - type: integer - sku: - description: 'Sku: The SKU of the Redis cache to deploy.' - properties: - capacity: - description: |- - Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for - P (Premium) family (1, 2, 3, 4). - type: integer - family: - description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string - name: - description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - sslPort: - description: 'SslPort: Redis SSL port.' - type: integer - staticIP: - description: |- - StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual - Network; auto assigned by default. - type: string - subnetId: - description: |- - SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 - type: string tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - tenantSettings: - additionalProperties: - type: string - description: 'TenantSettings: A dictionary of tenant settings' - type: object type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -262113,14 +349371,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201201storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201201.Redis + Storage version of v1api20240301.Replica Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName} properties: apiVersion: description: |- @@ -262140,7 +349398,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201201.Redis_Spec + description: Storage version of v1api20240301.Replica_Spec properties: $propertyBag: additionalProperties: @@ -262154,15 +349412,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enableNonSslPort: - type: boolean location: type: string - minimumTlsVersion: - type: string operatorSpec: description: |- - Storage version of v1api20201201.RedisOperatorSpec + Storage version of v1api20240301.ReplicaOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -262230,107 +349484,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20201201.RedisOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - hostName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - port: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - sslPort: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -262338,7 +349491,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a signalrservice.azure.com/SignalR resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -262347,59 +349500,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: + regionEndpointEnabled: type: string - redisConfiguration: - description: Storage version of v1api20201201.RedisCreateProperties_RedisConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalProperties: - additionalProperties: - type: string - type: object - aof-backup-enabled: - type: string - aof-storage-connection-string-0: - type: string - aof-storage-connection-string-1: - type: string - authnotrequired: - type: string - maxfragmentationmemory-reserved: - type: string - maxmemory-delta: - type: string - maxmemory-policy: - type: string - maxmemory-reserved: - type: string - rdb-backup-enabled: - type: string - rdb-backup-frequency: - type: string - rdb-backup-max-snapshot-count: - type: string - rdb-storage-connection-string: - type: string - type: object - redisVersion: + resourceStopped: type: string - replicasPerMaster: - type: integer - replicasPerPrimary: - type: integer - shardCount: - type: integer sku: description: |- - Storage version of v1api20201201.Sku - SKU parameters supplied to the create Redis operation. + Storage version of v1api20240301.ResourceSku + The billing information of the resource. properties: $propertyBag: additionalProperties: @@ -262410,52 +349518,20 @@ spec: type: object capacity: type: integer - family: - type: string name: type: string - type: object - staticIP: - type: string - subnetReference: - description: |- - SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + tier: type: string type: object tags: additionalProperties: type: string type: object - tenantSettings: - additionalProperties: - type: string - type: object - zones: - items: - type: string - type: array required: - owner type: object status: - description: Storage version of v1api20201201.Redis_STATUS + description: Storage version of v1api20240301.Replica_STATUS properties: $propertyBag: additionalProperties: @@ -262507,87 +349583,22 @@ spec: - type type: object type: array - enableNonSslPort: - type: boolean - hostName: - type: string id: type: string - instances: - items: - description: |- - Storage version of v1api20201201.RedisInstanceDetails_STATUS - Details of single instance of redis. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isMaster: - type: boolean - isPrimary: - type: boolean - nonSslPort: - type: integer - shardId: - type: integer - sslPort: - type: integer - zone: - type: string - type: object - type: array - linkedServers: - items: - description: |- - Storage version of v1api20201201.RedisLinkedServer_STATUS - Linked server Id - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array location: type: string - minimumTlsVersion: - type: string name: type: string - port: - type: integer - privateEndpointConnections: - items: - description: |- - Storage version of v1api20201201.PrivateEndpointConnection_STATUS - The Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array provisioningState: type: string - publicNetworkAccess: + regionEndpointEnabled: type: string - redisConfiguration: - description: Storage version of v1api20201201.RedisProperties_RedisConfiguration_STATUS + resourceStopped: + type: string + sku: + description: |- + Storage version of v1api20240301.ResourceSku_STATUS + The billing information of the resource. properties: $propertyBag: additionalProperties: @@ -262596,51 +349607,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - additionalProperties: - additionalProperties: - type: string - type: object - aof-backup-enabled: - type: string - aof-storage-connection-string-0: - type: string - aof-storage-connection-string-1: - type: string - authnotrequired: - type: string - maxclients: - type: string - maxfragmentationmemory-reserved: - type: string - maxmemory-delta: - type: string - maxmemory-policy: - type: string - maxmemory-reserved: - type: string - rdb-backup-enabled: - type: string - rdb-backup-frequency: + capacity: + type: integer + family: type: string - rdb-backup-max-snapshot-count: + name: type: string - rdb-storage-connection-string: + size: type: string - zonal-configuration: + tier: type: string type: object - redisVersion: - type: string - replicasPerMaster: - type: integer - replicasPerPrimary: - type: integer - shardCount: - type: integer - sku: + systemData: description: |- - Storage version of v1api20201201.Sku_STATUS - SKU parameters supplied to the create Redis operation. + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -262649,39 +349630,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: - type: integer - family: + createdAt: type: string - name: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - sslPort: - type: integer - staticIP: - type: string - subnetId: - type: string tags: additionalProperties: type: string type: object - tenantSettings: - additionalProperties: - type: string - type: object type: type: string - zones: - items: - type: string - type: array type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: resourcegroups.resources.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: resources.azure.com + names: + categories: + - azure + - resources + kind: ResourceGroup + listKind: ResourceGroupList + plural: resourcegroups + singular: resourcegroup + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -262695,13 +349703,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230401 + name: v1api20200601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + - Generated from: /resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName} properties: apiVersion: description: |- @@ -262726,61 +349734,16 @@ spec: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 90 + minLength: 1 type: string - enableNonSslPort: - description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' - type: boolean - identity: - description: 'Identity: The identity of the resource.' - properties: - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type - type: object location: - description: 'Location: The geo-location where the resource lives' - type: string - minimumTlsVersion: description: |- - MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', - '1.2') - enum: - - "1.0" - - "1.1" - - "1.2" + Location: The location of the resource group. It cannot be changed after the resource group has been created. It must be + one of the supported Azure locations. + type: string + managedBy: + description: 'ManagedBy: The ID of the resource that manages this resource group.' type: string operatorSpec: description: |- @@ -262847,258 +349810,17 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - hostName: - description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - port: - description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - sslPort: - description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed - in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is - 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are - joined to, or injected into, a virtual network subnet. - enum: - - Disabled - - Enabled - type: string - redisConfiguration: - description: |- - RedisConfiguration: All Redis Settings. Few possible keys: - rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value - etc. - properties: - aof-backup-enabled: - description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' - type: string - aof-storage-connection-string-0: - description: 'AofStorageConnectionString0: First storage account connection string' - type: string - aof-storage-connection-string-1: - description: 'AofStorageConnectionString1: Second storage account connection string' - type: string - authnotrequired: - description: |- - Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from - security point of view. - type: string - maxfragmentationmemory-reserved: - description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' - type: string - maxmemory-delta: - description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - maxmemory-policy: - description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' - type: string - maxmemory-reserved: - description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - preferred-data-persistence-auth-method: - description: |- - PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, - specify SAS or ManagedIdentity, default value is SAS - type: string - rdb-backup-enabled: - description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' - type: string - rdb-backup-frequency: - description: |- - RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, - 1440) - type: string - rdb-backup-max-snapshot-count: - description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' - type: string - rdb-storage-connection-string: - description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' - type: string - storage-subscription-id: - description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' - type: string - type: object - redisVersion: - description: |- - RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' - which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value - is 'latest'. - type: string - replicasPerMaster: - description: 'ReplicasPerMaster: The number of replicas to be created per primary.' - type: integer - replicasPerPrimary: - description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' - type: integer - shardCount: - description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' - type: integer - sku: - description: 'Sku: The SKU of the Redis cache to deploy.' - properties: - capacity: - description: |- - Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for - P (Premium) family (1, 2, 3, 4). - type: integer - family: - description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' - enum: - - C - - P - type: string - name: - description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' - enum: - - Basic - - Premium - - Standard - type: string - required: - - capacity - - family - - name - type: object - staticIP: - description: |- - StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual - Network; auto assigned by default. - pattern: ^\d+\.\d+\.\d+\.\d+$ - type: string - subnetReference: - description: |- - SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' - type: object - tenantSettings: - additionalProperties: - type: string - description: 'TenantSettings: A dictionary of tenant settings' + description: 'Tags: The tags attached to the resource group.' type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array required: - location - - owner - - sku type: object status: + description: Resource group information. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -263144,244 +349866,35 @@ spec: - type type: object type: array - enableNonSslPort: - description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' - type: boolean - hostName: - description: 'HostName: Redis host name.' - type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: The ID of the resource group.' type: string - identity: - description: 'Identity: The identity of the resource.' - properties: - principalId: - description: |- - PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system - assigned identity. - type: string - tenantId: - description: |- - TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned - identity. - type: string - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - type: string - userAssignedIdentities: - additionalProperties: - description: User assigned identity properties - properties: - clientId: - description: 'ClientId: The client ID of the assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal ID of the assigned identity.' - type: string - type: object - type: object - type: object - instances: - description: 'Instances: List of the Redis instances associated with the cache' - items: - description: Details of single instance of redis. - properties: - isMaster: - description: 'IsMaster: Specifies whether the instance is a primary node.' - type: boolean - isPrimary: - description: 'IsPrimary: Specifies whether the instance is a primary node.' - type: boolean - nonSslPort: - description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' - type: integer - shardId: - description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' - type: integer - sslPort: - description: 'SslPort: Redis instance SSL port.' - type: integer - zone: - description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' - type: string - type: object - type: array - linkedServers: - description: 'LinkedServers: List of the linked servers associated with the cache' - items: - description: Linked server Id - properties: - id: - description: 'Id: Linked server Id.' - type: string - type: object - type: array location: - description: 'Location: The geo-location where the resource lives' - type: string - minimumTlsVersion: description: |- - MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', - '1.2') - type: string - name: - description: 'Name: The name of the resource' - type: string - port: - description: 'Port: Redis non-SSL port.' - type: integer - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' - items: - description: The Private Endpoint Connection resource. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Redis instance provisioning status.' + Location: The location of the resource group. It cannot be changed after the resource group has been created. It must be + one of the supported Azure locations. type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional, but if passed - in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is - 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are - joined to, or injected into, a virtual network subnet. + managedBy: + description: 'ManagedBy: The ID of the resource that manages this resource group.' type: string - redisConfiguration: - description: |- - RedisConfiguration: All Redis Settings. Few possible keys: - rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value - etc. - properties: - aof-backup-enabled: - description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' - type: string - aof-storage-connection-string-0: - description: 'AofStorageConnectionString0: First storage account connection string' - type: string - aof-storage-connection-string-1: - description: 'AofStorageConnectionString1: Second storage account connection string' - type: string - authnotrequired: - description: |- - Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from - security point of view. - type: string - maxclients: - description: 'Maxclients: The max clients config' - type: string - maxfragmentationmemory-reserved: - description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' - type: string - maxmemory-delta: - description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - maxmemory-policy: - description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' - type: string - maxmemory-reserved: - description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - preferred-data-archive-auth-method: - description: |- - PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify - SAS or ManagedIdentity, default value is SAS - type: string - preferred-data-persistence-auth-method: - description: |- - PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, - specify SAS or ManagedIdentity, default value is SAS - type: string - rdb-backup-enabled: - description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' - type: string - rdb-backup-frequency: - description: |- - RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, - 1440) - type: string - rdb-backup-max-snapshot-count: - description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' - type: string - rdb-storage-connection-string: - description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' - type: string - storage-subscription-id: - description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' - type: string - zonal-configuration: - description: 'ZonalConfiguration: Zonal Configuration' - type: string - type: object - redisVersion: - description: |- - RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' - which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value - is 'latest'. + name: + description: 'Name: The name of the resource group.' type: string - replicasPerMaster: - description: 'ReplicasPerMaster: The number of replicas to be created per primary.' - type: integer - replicasPerPrimary: - description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' - type: integer - shardCount: - description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' - type: integer - sku: - description: 'Sku: The SKU of the Redis cache to deploy.' + properties: + description: 'Properties: The resource group properties.' properties: - capacity: - description: |- - Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for - P (Premium) family (1, 2, 3, 4). - type: integer - family: - description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' - type: string - name: - description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' + provisioningState: + description: 'ProvisioningState: The provisioning state.' type: string type: object - sslPort: - description: 'SslPort: Redis SSL port.' - type: integer - staticIP: - description: |- - StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual - Network; auto assigned by default. - type: string - subnetId: - description: |- - SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 - type: string tags: additionalProperties: type: string - description: 'Tags: Resource tags.' - type: object - tenantSettings: - additionalProperties: - type: string - description: 'TenantSettings: A dictionary of tenant settings' + description: 'Tags: The tags attached to the resource group.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource group.' type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -263401,14 +349914,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230401storage + name: v1api20200601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230401.Redis + Storage version of v1api20200601.ResourceGroup Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + - Generated from: /resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json + - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName} properties: apiVersion: description: |- @@ -263428,7 +349941,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230401.Redis_Spec + description: Storage version of v1api20200601.ResourceGroup_Spec properties: $propertyBag: additionalProperties: @@ -263442,65 +349955,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enableNonSslPort: - type: boolean - identity: - description: |- - Storage version of v1api20230401.ManagedServiceIdentity - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20230401.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object location: type: string - minimumTlsVersion: + managedBy: type: string operatorSpec: description: |- - Storage version of v1api20230401.RedisOperatorSpec + Storage version of v1api20200601.ResourceGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -263568,232 +350029,18 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20230401.RedisOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - hostName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - port: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - sslPort: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - type: string - redisConfiguration: - description: Storage version of v1api20230401.RedisCreateProperties_RedisConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aof-backup-enabled: - type: string - aof-storage-connection-string-0: - type: string - aof-storage-connection-string-1: - type: string - authnotrequired: - type: string - maxfragmentationmemory-reserved: - type: string - maxmemory-delta: - type: string - maxmemory-policy: - type: string - maxmemory-reserved: - type: string - preferred-data-persistence-auth-method: - type: string - rdb-backup-enabled: - type: string - rdb-backup-frequency: - type: string - rdb-backup-max-snapshot-count: - type: string - rdb-storage-connection-string: - type: string - storage-subscription-id: - type: string - type: object - redisVersion: - type: string - replicasPerMaster: - type: integer - replicasPerPrimary: - type: integer - shardCount: - type: integer - sku: - description: |- - Storage version of v1api20230401.Sku - SKU parameters supplied to the create Redis operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - type: object - staticIP: - type: string - subnetReference: - description: |- - SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object tags: additionalProperties: type: string type: object - tenantSettings: - additionalProperties: - type: string - type: object - zones: - items: - type: string - type: array - required: - - owner type: object status: - description: Storage version of v1api20230401.Redis_STATUS + description: |- + Storage version of v1api20200601.ResourceGroup_STATUS + Resource group information. properties: $propertyBag: additionalProperties: @@ -263815,210 +350062,48 @@ spec: type: string observedGeneration: description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - enableNonSslPort: - type: boolean - hostName: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20230401.ManagedServiceIdentity_STATUS - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20230401.UserAssignedIdentity_STATUS - User assigned identity properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - instances: - items: - description: |- - Storage version of v1api20230401.RedisInstanceDetails_STATUS - Details of single instance of redis. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isMaster: - type: boolean - isPrimary: - type: boolean - nonSslPort: - type: integer - shardId: - type: integer - sslPort: + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 type: integer - zone: + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - type: object - type: array - linkedServers: - items: - description: |- - Storage version of v1api20230401.RedisLinkedServer_STATUS - Linked server Id - properties: - $propertyBag: - additionalProperties: - type: string + severity: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array + id: + type: string location: type: string - minimumTlsVersion: + managedBy: type: string name: type: string - port: - type: integer - privateEndpointConnections: - items: - description: |- - Storage version of v1api20230401.PrivateEndpointConnection_STATUS - The Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - publicNetworkAccess: - type: string - redisConfiguration: - description: Storage version of v1api20230401.RedisProperties_RedisConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aof-backup-enabled: - type: string - aof-storage-connection-string-0: - type: string - aof-storage-connection-string-1: - type: string - authnotrequired: - type: string - maxclients: - type: string - maxfragmentationmemory-reserved: - type: string - maxmemory-delta: - type: string - maxmemory-policy: - type: string - maxmemory-reserved: - type: string - preferred-data-archive-auth-method: - type: string - preferred-data-persistence-auth-method: - type: string - rdb-backup-enabled: - type: string - rdb-backup-frequency: - type: string - rdb-backup-max-snapshot-count: - type: string - rdb-storage-connection-string: - type: string - storage-subscription-id: - type: string - zonal-configuration: - type: string - type: object - redisVersion: - type: string - replicasPerMaster: - type: integer - replicasPerPrimary: - type: integer - shardCount: - type: integer - sku: + properties: description: |- - Storage version of v1api20230401.Sku_STATUS - SKU parameters supplied to the create Redis operation. + Storage version of v1api20200601.ResourceGroupProperties_STATUS + The resource group properties. properties: $propertyBag: additionalProperties: @@ -264027,39 +350112,56 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: - type: integer - family: - type: string - name: + provisioningState: type: string type: object - sslPort: - type: integer - staticIP: - type: string - subnetId: - type: string tags: additionalProperties: type: string type: object - tenantSettings: - additionalProperties: - type: string - type: object type: type: string - zones: - items: - type: string - type: array type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: roleassignments.authorization.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: authorization.azure.com + names: + categories: + - azure + - authorization + kind: RoleAssignment + listKind: RoleAssignmentList + plural: roleassignments + singular: roleassignment + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -264073,13 +350175,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230801 + name: v1api20200801preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + - Generated from: /authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} properties: apiVersion: description: |- @@ -264105,60 +350207,37 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enableNonSslPort: - description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' - type: boolean - identity: - description: 'Identity: The identity of the resource.' + condition: + description: |- + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' + type: string + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently accepted value is ''2.0''' + type: string + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' properties: - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - userAssignedIdentities: - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - minimumTlsVersion: - description: |- - MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', - '1.2') - enum: - - "1.0" - - "1.1" - - "1.2" + description: + description: 'Description: Description of role assignment' type: string operatorSpec: description: |- @@ -264195,6 +350274,14 @@ spec: - value type: object type: array + namingConvention: + description: |- + NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or + 'random'. + enum: + - random + - stable + type: string secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -264225,224 +350312,55 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - hostName: - description: 'HostName: indicates where the HostName secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - port: - description: 'Port: indicates where the Port secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - sslPort: - description: 'SSLPort: indicates where the SSLPort secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed - in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is - 'Enabled' - enum: - - Disabled - - Enabled - type: string - redisConfiguration: - description: |- - RedisConfiguration: All Redis Settings. Few possible keys: - rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value - etc. - properties: - aad-enabled: - description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' - type: string - aof-backup-enabled: - description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' - type: string - aof-storage-connection-string-0: - description: 'AofStorageConnectionString0: First storage account connection string' - type: string - aof-storage-connection-string-1: - description: 'AofStorageConnectionString1: Second storage account connection string' - type: string - authnotrequired: - description: |- - Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from - security point of view. - type: string - maxfragmentationmemory-reserved: - description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' - type: string - maxmemory-delta: - description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - maxmemory-policy: - description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' - type: string - maxmemory-reserved: - description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - notify-keyspace-events: - description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' - type: string - preferred-data-persistence-auth-method: - description: |- - PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, - specify SAS or ManagedIdentity, default value is SAS - type: string - rdb-backup-enabled: - description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' - type: string - rdb-backup-frequency: - description: |- - RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, - 1440) - type: string - rdb-backup-max-snapshot-count: - description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' + group: + description: Group is the Kubernetes group of the resource. type: string - rdb-storage-connection-string: - description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - storage-subscription-id: - description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - redisVersion: - description: |- - RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' - which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value - is 'latest'. + principalId: + description: 'PrincipalId: The principal ID.' type: string - replicasPerMaster: - description: 'ReplicasPerMaster: The number of replicas to be created per primary.' - type: integer - replicasPerPrimary: - description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' - type: integer - shardCount: - description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' - type: integer - sku: - description: 'Sku: The SKU of the Redis cache to deploy.' + principalIdFromConfig: + description: 'PrincipalIdFromConfig: The principal ID.' properties: - capacity: - description: |- - Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for - P (Premium) family (1, 2, 3, 4). - type: integer - family: - description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' - enum: - - C - - P + key: + description: Key is the key in the Kubernetes configmap being referenced type: string name: - description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' - enum: - - Basic - - Premium - - Standard + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string required: - - capacity - - family + - key - name type: object - staticIP: - description: |- - StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual - Network; auto assigned by default. - pattern: ^\d+\.\d+\.\d+\.\d+$ + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + enum: + - ForeignGroup + - Group + - ServicePrincipal + - User type: string - subnetReference: - description: |- - SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' properties: armId: description: |- @@ -264461,37 +350379,22 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - tenantSettings: - additionalProperties: - type: string - description: 'TenantSettings: A dictionary of tenant settings' - type: object - updateChannel: - description: |- - UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. - Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. - Default value is 'Stable'. - enum: - - Preview - - Stable - type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array required: - - location - owner - - sku + - roleDefinitionReference type: object status: + description: Role Assignments properties: + condition: + description: |- + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' + type: string + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently accepted value is ''2.0''' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -264536,255 +350439,45 @@ spec: - type type: object type: array - enableNonSslPort: - description: 'EnableNonSslPort: Specifies whether the non-ssl Redis server port (6379) is enabled.' - type: boolean - hostName: - description: 'HostName: Redis host name.' + createdBy: + description: 'CreatedBy: Id of the user who created the assignment' type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + createdOn: + description: 'CreatedOn: Time it was created' type: string - identity: - description: 'Identity: The identity of the resource.' - properties: - principalId: - description: |- - PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system - assigned identity. - type: string - tenantId: - description: |- - TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned - identity. - type: string - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - type: string - userAssignedIdentities: - additionalProperties: - description: User assigned identity properties - properties: - clientId: - description: 'ClientId: The client ID of the assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal ID of the assigned identity.' - type: string - type: object - type: object - type: object - instances: - description: 'Instances: List of the Redis instances associated with the cache' - items: - description: Details of single instance of redis. - properties: - isMaster: - description: 'IsMaster: Specifies whether the instance is a primary node.' - type: boolean - isPrimary: - description: 'IsPrimary: Specifies whether the instance is a primary node.' - type: boolean - nonSslPort: - description: 'NonSslPort: If enableNonSslPort is true, provides Redis instance Non-SSL port.' - type: integer - shardId: - description: 'ShardId: If clustering is enabled, the Shard ID of Redis Instance' - type: integer - sslPort: - description: 'SslPort: Redis instance SSL port.' - type: integer - zone: - description: 'Zone: If the Cache uses availability zones, specifies availability zone where this instance is located.' - type: string - type: object - type: array - linkedServers: - description: 'LinkedServers: List of the linked servers associated with the cache' - items: - description: Linked server Id - properties: - id: - description: 'Id: Linked server Id.' - type: string - type: object - type: array - location: - description: 'Location: The geo-location where the resource lives' + delegatedManagedIdentityResourceId: + description: 'DelegatedManagedIdentityResourceId: Id of the delegated managed identity resource' type: string - minimumTlsVersion: - description: |- - MinimumTlsVersion: Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', - '1.2') + description: + description: 'Description: Description of role assignment' type: string - name: - description: 'Name: The name of the resource' + id: + description: 'Id: The role assignment ID.' type: string - port: - description: 'Port: Redis non-SSL port.' - type: integer - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connection associated with the specified redis cache' - items: - description: The Private Endpoint Connection resource. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Redis instance provisioning status.' + name: + description: 'Name: The role assignment name.' type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this cache. Value is optional but if passed - in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is - 'Enabled' + principalId: + description: 'PrincipalId: The principal ID.' type: string - redisConfiguration: - description: |- - RedisConfiguration: All Redis Settings. Few possible keys: - rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value - etc. - properties: - aad-enabled: - description: 'AadEnabled: Specifies whether AAD based authentication has been enabled or disabled for the cache' - type: string - aof-backup-enabled: - description: 'AofBackupEnabled: Specifies whether the aof backup is enabled' - type: string - aof-storage-connection-string-0: - description: 'AofStorageConnectionString0: First storage account connection string' - type: string - aof-storage-connection-string-1: - description: 'AofStorageConnectionString1: Second storage account connection string' - type: string - authnotrequired: - description: |- - Authnotrequired: Specifies whether the authentication is disabled. Setting this property is highly discouraged from - security point of view. - type: string - maxclients: - description: 'Maxclients: The max clients config' - type: string - maxfragmentationmemory-reserved: - description: 'MaxfragmentationmemoryReserved: Value in megabytes reserved for fragmentation per shard' - type: string - maxmemory-delta: - description: 'MaxmemoryDelta: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - maxmemory-policy: - description: 'MaxmemoryPolicy: The eviction strategy used when your data won''t fit within its memory limit.' - type: string - maxmemory-reserved: - description: 'MaxmemoryReserved: Value in megabytes reserved for non-cache usage per shard e.g. failover.' - type: string - notify-keyspace-events: - description: 'NotifyKeyspaceEvents: The keyspace events which should be monitored.' - type: string - preferred-data-archive-auth-method: - description: |- - PreferredDataArchiveAuthMethod: Preferred auth method to communicate to storage account used for data archive, specify - SAS or ManagedIdentity, default value is SAS - type: string - preferred-data-persistence-auth-method: - description: |- - PreferredDataPersistenceAuthMethod: Preferred auth method to communicate to storage account used for data persistence, - specify SAS or ManagedIdentity, default value is SAS - type: string - rdb-backup-enabled: - description: 'RdbBackupEnabled: Specifies whether the rdb backup is enabled' - type: string - rdb-backup-frequency: - description: |- - RdbBackupFrequency: Specifies the frequency for creating rdb backup in minutes. Valid values: (15, 30, 60, 360, 720, - 1440) - type: string - rdb-backup-max-snapshot-count: - description: 'RdbBackupMaxSnapshotCount: Specifies the maximum number of snapshots for rdb backup' - type: string - rdb-storage-connection-string: - description: 'RdbStorageConnectionString: The storage account connection string for storing rdb file' - type: string - storage-subscription-id: - description: 'StorageSubscriptionId: SubscriptionId of the storage account for persistence (aof/rdb) using ManagedIdentity.' - type: string - zonal-configuration: - description: 'ZonalConfiguration: Zonal Configuration' - type: string - type: object - redisVersion: - description: |- - RedisVersion: Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' - which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value - is 'latest'. + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' type: string - replicasPerMaster: - description: 'ReplicasPerMaster: The number of replicas to be created per primary.' - type: integer - replicasPerPrimary: - description: 'ReplicasPerPrimary: The number of replicas to be created per primary.' - type: integer - shardCount: - description: 'ShardCount: The number of shards to be created on a Premium Cluster Cache.' - type: integer - sku: - description: 'Sku: The SKU of the Redis cache to deploy.' - properties: - capacity: - description: |- - Capacity: The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for - P (Premium) family (1, 2, 3, 4). - type: integer - family: - description: 'Family: The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium).' - type: string - name: - description: 'Name: The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium)' - type: string - type: object - sslPort: - description: 'SslPort: Redis SSL port.' - type: integer - staticIP: - description: |- - StaticIP: Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual - Network; auto assigned by default. + roleDefinitionId: + description: 'RoleDefinitionId: The role definition ID.' type: string - subnetId: - description: |- - SubnetId: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + scope: + description: 'Scope: The role assignment scope.' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - tenantSettings: - additionalProperties: - type: string - description: 'TenantSettings: A dictionary of tenant settings' - type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The role assignment type.' type: string - updateChannel: - description: |- - UpdateChannel: Optional: Specifies the update channel for the monthly Redis updates your Redis Cache will receive. - Caches using 'Preview' update channel get latest Redis updates at least 4 weeks ahead of 'Stable' channel caches. - Default value is 'Stable'. + updatedBy: + description: 'UpdatedBy: Id of the user who updated the assignment' + type: string + updatedOn: + description: 'UpdatedOn: Time it was updated' type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -264804,14 +350497,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230801storage + name: v1api20200801previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20230801.Redis + Storage version of v1api20200801preview.RoleAssignment Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name} + - Generated from: /authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} properties: apiVersion: description: |- @@ -264831,7 +350524,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230801.Redis_Spec + description: Storage version of v1api20200801preview.RoleAssignment_Spec properties: $propertyBag: additionalProperties: @@ -264845,65 +350538,35 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - enableNonSslPort: - type: boolean - identity: - description: |- - Storage version of v1api20230801.ManagedServiceIdentity - Managed service identity (system assigned and/or user assigned identities) + condition: + type: string + conditionVersion: + type: string + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20230801.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array type: object - location: - type: string - minimumTlsVersion: + description: type: string operatorSpec: description: |- - Storage version of v1api20230801.RedisOperatorSpec + Storage version of v1api20200801preview.RoleAssignmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -264942,230 +350605,83 @@ spec: - value type: object type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secrets: - description: Storage version of v1api20230801.RedisOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - hostName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - port: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - sslPort: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object + namingConvention: + type: string + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - type: string - redisConfiguration: - description: Storage version of v1api20230801.RedisCreateProperties_RedisConfiguration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aad-enabled: - type: string - aof-backup-enabled: - type: string - aof-storage-connection-string-0: - type: string - aof-storage-connection-string-1: - type: string - authnotrequired: - type: string - maxfragmentationmemory-reserved: - type: string - maxmemory-delta: - type: string - maxmemory-policy: - type: string - maxmemory-reserved: - type: string - notify-keyspace-events: - type: string - preferred-data-persistence-auth-method: - type: string - rdb-backup-enabled: - type: string - rdb-backup-frequency: - type: string - rdb-backup-max-snapshot-count: + group: + description: Group is the Kubernetes group of the resource. type: string - rdb-storage-connection-string: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - storage-subscription-id: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - redisVersion: + principalId: type: string - replicasPerMaster: - type: integer - replicasPerPrimary: - type: integer - shardCount: - type: integer - sku: + principalIdFromConfig: description: |- - Storage version of v1api20230801.Sku - SKU parameters supplied to the create Redis operation. + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: + key: + description: Key is the key in the Kubernetes configmap being referenced type: string name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string + required: + - key + - name type: object - staticIP: + principalType: type: string - subnetReference: - description: |- - SubnetReference: The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' properties: armId: description: |- @@ -265184,25 +350700,14 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - tags: - additionalProperties: - type: string - type: object - tenantSettings: - additionalProperties: - type: string - type: object - updateChannel: - type: string - zones: - items: - type: string - type: array required: - owner + - roleDefinitionReference type: object status: - description: Storage version of v1api20230801.Redis_STATUS + description: |- + Storage version of v1api20200801preview.RoleAssignment_STATUS + Role Assignments properties: $propertyBag: additionalProperties: @@ -265211,6 +350716,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + condition: + type: string + conditionVersion: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -265254,259 +350763,38 @@ spec: - type type: object type: array - enableNonSslPort: - type: boolean - hostName: + createdBy: type: string - id: + createdOn: type: string - identity: - description: |- - Storage version of v1api20230801.ManagedServiceIdentity_STATUS - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20230801.UserAssignedIdentity_STATUS - User assigned identity properties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - instances: - items: - description: |- - Storage version of v1api20230801.RedisInstanceDetails_STATUS - Details of single instance of redis. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - isMaster: - type: boolean - isPrimary: - type: boolean - nonSslPort: - type: integer - shardId: - type: integer - sslPort: - type: integer - zone: - type: string - type: object - type: array - linkedServers: - items: - description: |- - Storage version of v1api20230801.RedisLinkedServer_STATUS - Linked server Id - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - location: + delegatedManagedIdentityResourceId: type: string - minimumTlsVersion: + description: type: string - name: + id: type: string - port: - type: integer - privateEndpointConnections: - items: - description: |- - Storage version of v1api20230801.PrivateEndpointConnection_STATUS - The Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: + name: type: string - publicNetworkAccess: + principalId: type: string - redisConfiguration: - description: Storage version of v1api20230801.RedisProperties_RedisConfiguration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aad-enabled: - type: string - aof-backup-enabled: - type: string - aof-storage-connection-string-0: - type: string - aof-storage-connection-string-1: - type: string - authnotrequired: - type: string - maxclients: - type: string - maxfragmentationmemory-reserved: - type: string - maxmemory-delta: - type: string - maxmemory-policy: - type: string - maxmemory-reserved: - type: string - notify-keyspace-events: - type: string - preferred-data-archive-auth-method: - type: string - preferred-data-persistence-auth-method: - type: string - rdb-backup-enabled: - type: string - rdb-backup-frequency: - type: string - rdb-backup-max-snapshot-count: - type: string - rdb-storage-connection-string: - type: string - storage-subscription-id: - type: string - zonal-configuration: - type: string - type: object - redisVersion: + principalType: type: string - replicasPerMaster: - type: integer - replicasPerPrimary: - type: integer - shardCount: - type: integer - sku: - description: |- - Storage version of v1api20230801.Sku_STATUS - SKU parameters supplied to the create Redis operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - type: object - sslPort: - type: integer - staticIP: + roleDefinitionId: type: string - subnetId: + scope: type: string - tags: - additionalProperties: - type: string - type: object - tenantSettings: - additionalProperties: - type: string - type: object type: type: string - updateChannel: + updatedBy: + type: string + updatedOn: type: string - zones: - items: - type: string - type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: redisenterprisedatabases.cache.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cache.azure.com - names: - kind: RedisEnterpriseDatabase - listKind: RedisEnterpriseDatabaseList - plural: redisenterprisedatabases - singular: redisenterprisedatabase - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -265520,13 +350808,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210301 + name: v1api20220401 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} properties: apiVersion: description: |- @@ -265552,47 +350840,38 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clientProtocol: + condition: description: |- - ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is - TLS-encrypted. - enum: - - Encrypted - - Plaintext + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' type: string - clusteringPolicy: - description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' - enum: - - EnterpriseCluster - - OSSCluster + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently the only accepted value is ''2.0''' type: string - evictionPolicy: - description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' - enum: - - AllKeysLFU - - AllKeysLRU - - AllKeysRandom - - NoEviction - - VolatileLFU - - VolatileLRU - - VolatileRandom - - VolatileTTL + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: + description: 'Description: Description of role assignment' type: string - modules: - description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' - items: - description: Specifies configuration of a redis module - properties: - args: - description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.00 INITIAL_SIZE 400''.' - type: string - name: - description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' - type: string - required: - - name - type: object - type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -265628,6 +350907,14 @@ spec: - value type: object type: array + namingConvention: + description: |- + NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or + 'random'. + enum: + - random + - stable + type: string secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -265662,54 +350949,85 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/RedisEnterprise resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - persistence: - description: 'Persistence: Persistence settings' + principalId: + description: 'PrincipalId: The principal ID.' + type: string + principalIdFromConfig: + description: 'PrincipalIdFromConfig: The principal ID.' properties: - aofEnabled: - description: 'AofEnabled: Sets whether AOF is enabled.' - type: boolean - aofFrequency: - description: 'AofFrequency: Sets the frequency at which data is written to disk.' - enum: - - 1s - - always + key: + description: Key is the key in the Kubernetes configmap being referenced type: string - rdbEnabled: - description: 'RdbEnabled: Sets whether RDB is enabled.' - type: boolean - rdbFrequency: - description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' - enum: - - 12h - - 1h - - 6h + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + enum: + - Device + - ForeignGroup + - Group + - ServicePrincipal + - User + type: string + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - port: - description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' - type: integer required: - owner + - roleDefinitionReference type: object status: + description: Role Assignments properties: - clientProtocol: + condition: description: |- - ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is - TLS-encrypted. + Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: + @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase + 'foo_storage_container' type: string - clusteringPolicy: - description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' + conditionVersion: + description: 'ConditionVersion: Version of the condition. Currently the only accepted value is ''2.0''' type: string conditions: description: 'Conditions: The observed state of the resource' @@ -265755,60 +351073,44 @@ spec: - type type: object type: array - evictionPolicy: - description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + createdBy: + description: 'CreatedBy: Id of the user who created the assignment' + type: string + createdOn: + description: 'CreatedOn: Time it was created' + type: string + delegatedManagedIdentityResourceId: + description: 'DelegatedManagedIdentityResourceId: Id of the delegated managed identity resource' + type: string + description: + description: 'Description: Description of role assignment' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: The role assignment ID.' type: string - modules: - description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' - items: - description: Specifies configuration of a redis module - properties: - args: - description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.00 INITIAL_SIZE 400''.' - type: string - name: - description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' - type: string - version: - description: 'Version: The version of the module, e.g. ''1.0''.' - type: string - type: object - type: array name: - description: 'Name: The name of the resource' + description: 'Name: The role assignment name.' type: string - persistence: - description: 'Persistence: Persistence settings' - properties: - aofEnabled: - description: 'AofEnabled: Sets whether AOF is enabled.' - type: boolean - aofFrequency: - description: 'AofFrequency: Sets the frequency at which data is written to disk.' - type: string - rdbEnabled: - description: 'RdbEnabled: Sets whether RDB is enabled.' - type: boolean - rdbFrequency: - description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' - type: string - type: object - port: - description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' - type: integer - provisioningState: - description: 'ProvisioningState: Current provisioning status of the database' + principalId: + description: 'PrincipalId: The principal ID.' type: string - resourceState: - description: 'ResourceState: Current resource status of the database' + principalType: + description: 'PrincipalType: The principal type of the assigned principal ID.' + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The role definition ID.' + type: string + scope: + description: 'Scope: The role assignment scope.' type: string type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The role assignment type.' + type: string + updatedBy: + description: 'UpdatedBy: Id of the user who updated the assignment' + type: string + updatedOn: + description: 'UpdatedOn: Time it was updated' type: string type: object type: object @@ -265829,14 +351131,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210301storage + name: v1api20220401storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210301.RedisEnterpriseDatabase + Storage version of v1api20220401.RoleAssignment Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleAssignmentsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} properties: apiVersion: description: |- @@ -265856,7 +351158,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210301.RedisEnterpriseDatabase_Spec + description: Storage version of v1api20220401.RoleAssignment_Spec properties: $propertyBag: additionalProperties: @@ -265870,34 +351172,35 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clientProtocol: + condition: type: string - clusteringPolicy: + conditionVersion: type: string - evictionPolicy: + delegatedManagedIdentityResourceReference: + description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + description: type: string - modules: - items: - description: |- - Storage version of v1api20210301.Module - Specifies configuration of a redis module - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - args: - type: string - name: - type: string - type: object - type: array operatorSpec: description: |- - Storage version of v1api20210301.RedisEnterpriseDatabaseOperatorSpec + Storage version of v1api20220401.RoleAssignmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -265936,6 +351239,8 @@ spec: - value type: object type: array + namingConvention: + type: string secretExpressions: items: description: |- @@ -265971,44 +351276,72 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/RedisEnterprise resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - persistence: + principalId: + type: string + principalIdFromConfig: description: |- - Storage version of v1api20210301.Persistence - Persistence-related configuration for the RedisEnterprise database + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aofEnabled: - type: boolean - aofFrequency: + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource type: string - rdbEnabled: - type: boolean - rdbFrequency: + required: + - key + - name + type: object + principalType: + type: string + roleDefinitionReference: + description: 'RoleDefinitionReference: The role definition ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - port: - type: integer required: - owner + - roleDefinitionReference type: object status: - description: Storage version of v1api20210301.RedisEnterpriseDatabase_STATUS + description: |- + Storage version of v1api20220401.RoleAssignment_STATUS + Role Assignments properties: $propertyBag: additionalProperties: @@ -266017,9 +351350,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientProtocol: + condition: type: string - clusteringPolicy: + conditionVersion: type: string conditions: items: @@ -266064,68 +351397,73 @@ spec: - type type: object type: array - evictionPolicy: + createdBy: + type: string + createdOn: + type: string + delegatedManagedIdentityResourceId: + type: string + description: type: string id: type: string - modules: - items: - description: |- - Storage version of v1api20210301.Module_STATUS - Specifies configuration of a redis module - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - args: - type: string - name: - type: string - version: - type: string - type: object - type: array name: type: string - persistence: - description: |- - Storage version of v1api20210301.Persistence_STATUS - Persistence-related configuration for the RedisEnterprise database - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aofEnabled: - type: boolean - aofFrequency: - type: string - rdbEnabled: - type: boolean - rdbFrequency: - type: string - type: object - port: - type: integer - provisioningState: + principalId: type: string - resourceState: + principalType: + type: string + roleDefinitionId: + type: string + scope: type: string type: type: string + updatedBy: + type: string + updatedOn: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: roledefinitions.authorization.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: authorization.azure.com + names: + categories: + - azure + - authorization + kind: RoleDefinition + listKind: RoleDefinitionList + plural: roledefinitions + singular: roledefinition + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -266139,13 +351477,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230701 + name: v1api20220401 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleDefinitionsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} properties: apiVersion: description: |- @@ -266166,86 +351504,37 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - clientProtocol: - description: |- - ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is - TLS-encrypted. - enum: - - Encrypted - - Plaintext - type: string - clusteringPolicy: - description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' - enum: - - EnterpriseCluster - - OSSCluster - type: string - evictionPolicy: - description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' - enum: - - AllKeysLFU - - AllKeysLRU - - AllKeysRandom - - NoEviction - - VolatileLFU - - VolatileLRU - - VolatileRandom - - VolatileTTL - type: string - geoReplication: - description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' - properties: - groupNickname: - description: 'GroupNickname: Name for the group of linked database resources' - type: string - linkedDatabases: - description: 'LinkedDatabases: List of database resources to link with this database' - items: - description: Specifies details of a linked database resource. - properties: - reference: - description: 'Reference: Resource ID of a database resource to link with this database.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - modules: - description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + assignableScopesReferences: + description: 'AssignableScopesReferences: Role definition assignable scopes.' items: - description: Specifies configuration of a redis module + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - args: - description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' + description: Name is the Kubernetes name of the resource. type: string - required: - - name type: object type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: The role definition description.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -266281,6 +351570,14 @@ spec: - value type: object type: array + namingConvention: + description: |- + NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or + 'random'. + enum: + - random + - stable + type: string secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -266315,55 +351612,67 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/RedisEnterprise resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: This is the name of the Kubernetes resource to reference. + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - persistence: - description: 'Persistence: Persistence settings' - properties: - aofEnabled: - description: 'AofEnabled: Sets whether AOF is enabled.' - type: boolean - aofFrequency: - description: 'AofFrequency: Sets the frequency at which data is written to disk.' - enum: - - 1s - - always + kind: + description: Kind is the Kubernetes kind of the resource. type: string - rdbEnabled: - description: 'RdbEnabled: Sets whether RDB is enabled.' - type: boolean - rdbFrequency: - description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' - enum: - - 12h - - 1h - - 6h + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - port: - description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' - type: integer + permissions: + description: 'Permissions: Role definition permissions.' + items: + description: Role definition permissions. + properties: + actions: + description: 'Actions: Allowed actions.' + items: + type: string + type: array + dataActions: + description: 'DataActions: Allowed Data actions.' + items: + type: string + type: array + notActions: + description: 'NotActions: Denied actions.' + items: + type: string + type: array + notDataActions: + description: 'NotDataActions: Denied Data actions.' + items: + type: string + type: array + type: object + type: array + roleName: + description: 'RoleName: The role name.' + type: string + type: + description: 'Type: The role type.' + type: string required: - owner type: object status: + description: Role definition. properties: - clientProtocol: - description: |- - ClientProtocol: Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is - TLS-encrypted. - type: string - clusteringPolicy: - description: 'ClusteringPolicy: Clustering policy - default is OSSCluster. Specified at create time.' - type: string + assignableScopes: + description: 'AssignableScopes: Role definition assignable scopes.' + items: + type: string + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -266408,80 +351717,62 @@ spec: - type type: object type: array - evictionPolicy: - description: 'EvictionPolicy: Redis eviction policy - default is VolatileLRU' + createdBy: + description: 'CreatedBy: Id of the user who created the assignment' + type: string + createdOn: + description: 'CreatedOn: Time it was created' + type: string + description: + description: 'Description: The role definition description.' type: string - geoReplication: - description: 'GeoReplication: Optional set of properties to configure geo replication for this database.' - properties: - groupNickname: - description: 'GroupNickname: Name for the group of linked database resources' - type: string - linkedDatabases: - description: 'LinkedDatabases: List of database resources to link with this database' - items: - description: Specifies details of a linked database resource. - properties: - id: - description: 'Id: Resource ID of a database resource to link with this database.' - type: string - state: - description: 'State: State of the link between the database resources.' - type: string - type: object - type: array - type: object id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: The role definition ID.' type: string - modules: - description: 'Modules: Optional set of redis modules to enable in this database - modules can only be added at creation time.' + name: + description: 'Name: The role definition name.' + type: string + permissions: + description: 'Permissions: Role definition permissions.' items: - description: Specifies configuration of a redis module + description: Role definition permissions. properties: - args: - description: 'Args: Configuration options for the module, e.g. ''ERROR_RATE 0.01 INITIAL_SIZE 400''.' - type: string - name: - description: 'Name: The name of the module, e.g. ''RedisBloom'', ''RediSearch'', ''RedisTimeSeries''' - type: string - version: - description: 'Version: The version of the module, e.g. ''1.0''.' - type: string + actions: + description: 'Actions: Allowed actions.' + items: + type: string + type: array + dataActions: + description: 'DataActions: Allowed Data actions.' + items: + type: string + type: array + notActions: + description: 'NotActions: Denied actions.' + items: + type: string + type: array + notDataActions: + description: 'NotDataActions: Denied Data actions.' + items: + type: string + type: array type: object type: array - name: - description: 'Name: The name of the resource' - type: string - persistence: - description: 'Persistence: Persistence settings' - properties: - aofEnabled: - description: 'AofEnabled: Sets whether AOF is enabled.' - type: boolean - aofFrequency: - description: 'AofFrequency: Sets the frequency at which data is written to disk.' - type: string - rdbEnabled: - description: 'RdbEnabled: Sets whether RDB is enabled.' - type: boolean - rdbFrequency: - description: 'RdbFrequency: Sets the frequency at which a snapshot of the database is created.' - type: string - type: object - port: - description: 'Port: TCP port of the database endpoint. Specified at create time. Defaults to an available port.' - type: integer - provisioningState: - description: 'ProvisioningState: Current provisioning status of the database' + properties_type: + description: 'PropertiesType: The role type.' type: string - resourceState: - description: 'ResourceState: Current resource status of the database' + roleName: + description: 'RoleName: The role name.' type: string type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The role definition type.' + type: string + updatedBy: + description: 'UpdatedBy: Id of the user who updated the assignment' + type: string + updatedOn: + description: 'UpdatedOn: Time it was updated' type: string type: object type: object @@ -266502,14 +351793,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230701storage + name: v1api20220401storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230701.RedisEnterpriseDatabase + Storage version of v1api20220401.RoleDefinition Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName}/databases/{databaseName} + - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleDefinitionsCalls.json + - ARM URI: /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} properties: apiVersion: description: |- @@ -266529,7 +351820,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230701.RedisEnterpriseDatabase_Spec + description: Storage version of v1api20220401.RoleDefinition_Spec properties: $propertyBag: additionalProperties: @@ -266538,87 +351829,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - clientProtocol: - type: string - clusteringPolicy: - type: string - evictionPolicy: - type: string - geoReplication: - description: Storage version of v1api20230701.DatabaseProperties_GeoReplication - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupNickname: - type: string - linkedDatabases: - items: - description: |- - Storage version of v1api20230701.LinkedDatabase - Specifies details of a linked database resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID of a database resource to link with this database.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - modules: + assignableScopesReferences: items: - description: |- - Storage version of v1api20230701.Module - Specifies configuration of a redis module + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - args: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: + description: Name is the Kubernetes name of the resource. type: string type: object type: array + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + type: string operatorSpec: description: |- - Storage version of v1api20230701.RedisEnterpriseDatabaseOperatorSpec + Storage version of v1api20220401.RoleDefinitionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -266657,6 +351899,8 @@ spec: - value type: object type: array + namingConvention: + type: string secretExpressions: items: description: |- @@ -266692,44 +351936,65 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/RedisEnterprise resource + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an + extension resource, which means that any other Azure resource can be its owner. properties: armId: + description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: This is the name of the Kubernetes resource to reference. + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - persistence: - description: |- - Storage version of v1api20230701.Persistence - Persistence-related configuration for the RedisEnterprise database - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aofEnabled: - type: boolean - aofFrequency: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - rdbEnabled: - type: boolean - rdbFrequency: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - port: - type: integer + permissions: + items: + description: |- + Storage version of v1api20220401.Permission + Role definition permissions. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + items: + type: string + type: array + dataActions: + items: + type: string + type: array + notActions: + items: + type: string + type: array + notDataActions: + items: + type: string + type: array + type: object + type: array + roleName: + type: string + type: + type: string required: - owner type: object status: - description: Storage version of v1api20230701.RedisEnterpriseDatabase_STATUS + description: |- + Storage version of v1api20220401.RoleDefinition_STATUS + Role definition. properties: $propertyBag: additionalProperties: @@ -266738,10 +352003,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientProtocol: - type: string - clusteringPolicy: - type: string + assignableScopes: + items: + type: string + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -266785,47 +352050,21 @@ spec: - type type: object type: array - evictionPolicy: + createdBy: + type: string + createdOn: + type: string + description: type: string - geoReplication: - description: Storage version of v1api20230701.DatabaseProperties_GeoReplication_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupNickname: - type: string - linkedDatabases: - items: - description: |- - Storage version of v1api20230701.LinkedDatabase_STATUS - Specifies details of a linked database resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - state: - type: string - type: object - type: array - type: object id: type: string - modules: + name: + type: string + permissions: items: description: |- - Storage version of v1api20230701.Module_STATUS - Specifies configuration of a redis module + Storage version of v1api20220401.Permission_STATUS + Role definition permissions. properties: $propertyBag: additionalProperties: @@ -266834,45 +352073,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - args: - type: string - name: - type: string - version: - type: string + actions: + items: + type: string + type: array + dataActions: + items: + type: string + type: array + notActions: + items: + type: string + type: array + notDataActions: + items: + type: string + type: array type: object type: array - name: - type: string - persistence: - description: |- - Storage version of v1api20230701.Persistence_STATUS - Persistence-related configuration for the RedisEnterprise database - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aofEnabled: - type: boolean - aofFrequency: - type: string - rdbEnabled: - type: boolean - rdbFrequency: - type: string - type: object - port: - type: integer - provisioningState: + properties_type: type: string - resourceState: + roleName: type: string type: type: string + updatedBy: + type: string + updatedOn: + type: string type: object type: object served: true @@ -266885,11 +352113,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: redisenterprises.cache.azure.com + app.kubernetes.io/version: v2.15.0 + name: routes.cdn.azure.com spec: conversion: strategy: Webhook @@ -266902,12 +352130,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cache.azure.com + group: cdn.azure.com names: - kind: RedisEnterprise - listKind: RedisEnterpriseList - plural: redisenterprises - singular: redisenterprise + categories: + - azure + - cdn + kind: Route + listKind: RouteList + plural: routes + singular: route preserveUnknownFields: false scope: Namespaced versions: @@ -266924,13 +352155,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210301 + name: v1api20230501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} properties: apiVersion: description: |- @@ -266956,15 +352187,94 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - location: - description: 'Location: The geo-location where the resource lives' + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration for this route. To disable caching, do not provide a cacheConfiguration + object. + properties: + compressionSettings: + description: 'CompressionSettings: compression settings.' + properties: + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If + compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be + compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. + type: boolean + type: object + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + enum: + - IgnoreQueryString + - IgnoreSpecifiedQueryStrings + - IncludeSpecifiedQueryStrings + - UseQueryString + type: string + type: object + customDomains: + description: 'CustomDomains: Domains referenced by this endpoint.' + items: + description: Reference to another resource along with its state. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + enum: + - Disabled + - Enabled type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' enum: - - "1.0" - - "1.1" - - "1.2" + - HttpOnly + - HttpsOnly + - MatchRequest + type: string + httpsRedirect: + description: |- + HttpsRedirect: Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up + this rule and it will be the first rule that gets executed. + enum: + - Disabled + - Enabled + type: string + linkToDefaultDomain: + description: 'LinkToDefaultDomain: whether this route will be linked to the default endpoint domain.' + enum: + - Disabled + - Enabled type: string operatorSpec: description: |- @@ -267032,11 +352342,40 @@ spec: type: object type: array type: object + originGroup: + description: 'OriginGroup: A reference to the origin group.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + originPath: + description: |- + OriginPath: A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a cdn.azure.com/AfdEndpoint resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -267045,45 +352384,82 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: 'Sku: The SKU to create, which affects price, performance, and features.' - properties: - capacity: - description: |- - Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) - for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. - type: integer - name: - description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' - enum: - - EnterpriseFlash_F1500 - - EnterpriseFlash_F300 - - EnterpriseFlash_F700 - - Enterprise_E10 - - Enterprise_E100 - - Enterprise_E20 - - Enterprise_E50 - type: string - required: - - name - type: object - tags: - additionalProperties: + patternsToMatch: + description: 'PatternsToMatch: The route patterns of the rule.' + items: type: string - description: 'Tags: Resource tags.' - type: object - zones: - description: 'Zones: The Availability Zones where this cluster will be deployed.' + type: array + ruleSets: + description: 'RuleSets: rule sets referenced by this endpoint.' + items: + description: Reference to another resource. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + supportedProtocols: + description: 'SupportedProtocols: List of supported protocols for this route.' items: + description: Supported protocols for the customer's endpoint. + enum: + - Http + - Https type: string type: array required: - - location - owner - - sku type: object status: properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration for this route. To disable caching, do not provide a cacheConfiguration + object. + properties: + compressionSettings: + description: 'CompressionSettings: compression settings.' + properties: + contentTypesToCompress: + description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' + items: + type: string + type: array + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If + compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be + compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. + type: boolean + type: object + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + type: string + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -267128,69 +352504,102 @@ spec: - type type: object type: array - hostName: - description: 'HostName: DNS name of the cluster endpoint' + customDomains: + description: 'CustomDomains: Domains referenced by this endpoint.' + items: + description: Reference to another resource along with its state. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: array + deploymentStatus: type: string - id: + enabledState: + description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + type: string + endpointName: + description: 'EndpointName: The name of the endpoint which holds the route.' + type: string + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + type: string + httpsRedirect: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + HttpsRedirect: Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up + this rule and it will be the first rule that gets executed. type: string - location: - description: 'Location: The geo-location where the resource lives' + id: + description: 'Id: Resource ID.' type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + linkToDefaultDomain: + description: 'LinkToDefaultDomain: whether this route will be linked to the default endpoint domain.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified RedisEnterprise cluster' + originGroup: + description: 'OriginGroup: A reference to the origin group.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + originPath: + description: |- + OriginPath: A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. + contoso.cloudapp.net/originpath. + type: string + patternsToMatch: + description: 'PatternsToMatch: The route patterns of the rule.' items: - description: The Private Endpoint Connection resource. + type: string + type: array + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + ruleSets: + description: 'RuleSets: rule sets referenced by this endpoint.' + items: + description: Reference to another resource. properties: id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string type: object type: array - provisioningState: - description: 'ProvisioningState: Current provisioning status of the cluster' - type: string - redisVersion: - description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' - type: string - resourceState: - description: 'ResourceState: Current resource status of the cluster' - type: string - sku: - description: 'Sku: The SKU to create, which affects price, performance, and features.' + supportedProtocols: + description: 'SupportedProtocols: List of supported protocols for this route.' + items: + description: Supported protocols for the customer's endpoint. + type: string + type: array + systemData: + description: 'SystemData: Read only system data' properties: - capacity: - description: |- - Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) - for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. - type: integer - name: - description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string - zones: - description: 'Zones: The Availability Zones where this cluster will be deployed.' - items: - type: string - type: array type: object type: object served: true @@ -267210,14 +352619,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210301storage + name: v1api20230501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210301.RedisEnterprise + Storage version of v1api20230501.Route Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2021-03-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} properties: apiVersion: description: |- @@ -267237,7 +352646,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210301.RedisEnterprise_Spec + description: Storage version of v1api20230501.Route_Spec properties: $propertyBag: additionalProperties: @@ -267251,13 +352660,88 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - location: + cacheConfiguration: + description: |- + Storage version of v1api20230501.AfdRouteCacheConfiguration + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compressionSettings: + description: |- + Storage version of v1api20230501.CompressionSettings + settings for compression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentTypesToCompress: + items: + type: string + type: array + isCompressionEnabled: + type: boolean + type: object + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + customDomains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + enabledState: type: string - minimumTlsVersion: + forwardingProtocol: + type: string + httpsRedirect: + type: string + linkToDefaultDomain: type: string operatorSpec: description: |- - Storage version of v1api20210301.RedisEnterpriseOperatorSpec + Storage version of v1api20230501.RouteOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -267326,13 +352810,48 @@ spec: type: object type: array type: object + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + originPath: + type: string originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a cdn.azure.com/AfdEndpoint resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -267341,28 +352860,46 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: |- - Storage version of v1api20210301.Sku - SKU parameters supplied to the create RedisEnterprise operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - tags: - additionalProperties: + patternsToMatch: + items: type: string - type: object - zones: + type: array + ruleSets: + items: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + supportedProtocols: items: type: string type: array @@ -267370,7 +352907,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210301.RedisEnterprise_STATUS + description: Storage version of v1api20230501.Route_STATUS properties: $propertyBag: additionalProperties: @@ -267379,6 +352916,42 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + cacheConfiguration: + description: |- + Storage version of v1api20230501.AfdRouteCacheConfiguration_STATUS + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + compressionSettings: + description: |- + Storage version of v1api20230501.CompressionSettings_STATUS + settings for compression. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + contentTypesToCompress: + items: + type: string + type: array + isCompressionEnabled: + type: boolean + type: object + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -267422,21 +352995,11 @@ spec: - type type: object type: array - hostName: - type: string - id: - type: string - location: - type: string - minimumTlsVersion: - type: string - name: - type: string - privateEndpointConnections: + customDomains: items: description: |- - Storage version of v1api20210301.PrivateEndpointConnection_STATUS - The Private Endpoint Connection resource. + Storage version of v1api20230501.ActivatedResourceReference_STATUS_Profiles_AfdEndpoints_Route_SubResourceEmbedded + Reference to another resource along with its state. properties: $propertyBag: additionalProperties: @@ -267449,16 +353012,26 @@ spec: type: string type: object type: array - provisioningState: + deploymentStatus: type: string - redisVersion: + enabledState: type: string - resourceState: + endpointName: type: string - sku: + forwardingProtocol: + type: string + httpsRedirect: + type: string + id: + type: string + linkToDefaultDomain: + type: string + name: + type: string + originGroup: description: |- - Storage version of v1api20210301.Sku_STATUS - SKU parameters supplied to the create RedisEnterprise operation. + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. properties: $propertyBag: additionalProperties: @@ -267467,27 +353040,106 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: - type: integer - name: + id: type: string type: object - tags: - additionalProperties: + originPath: + type: string + patternsToMatch: + items: type: string - type: object - type: + type: array + provisioningState: type: string - zones: + ruleSets: + items: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + supportedProtocols: items: type: string type: array + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: routetables.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: RouteTable + listKind: RouteTableList + plural: routetables + singular: routetable + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -267501,13 +353153,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230701 + name: v1api20201101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} properties: apiVersion: description: |- @@ -267533,15 +353185,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean location: - description: 'Location: The geo-location where the resource lives' - type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' - enum: - - "1.0" - - "1.1" - - "1.2" + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -267622,44 +353270,16 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: 'Sku: The SKU to create, which affects price, performance, and features.' - properties: - capacity: - description: |- - Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) - for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. - type: integer - name: - description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' - enum: - - EnterpriseFlash_F1500 - - EnterpriseFlash_F300 - - EnterpriseFlash_F700 - - Enterprise_E10 - - Enterprise_E100 - - Enterprise_E20 - - Enterprise_E50 - type: string - required: - - name - type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object - zones: - description: 'Zones: The Availability Zones where this cluster will be deployed.' - items: - type: string - type: array required: - - location - owner - - sku type: object status: + description: Route table resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -267705,69 +353325,35 @@ spec: - type type: object type: array - hostName: - description: 'HostName: DNS name of the cluster endpoint' + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string location: - description: 'Location: The geo-location where the resource lives' - type: string - minimumTlsVersion: - description: 'MinimumTlsVersion: The minimum TLS version for the cluster to support, e.g. ''1.2''' + description: 'Location: Resource location.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections associated with the specified RedisEnterprise cluster' - items: - description: The Private Endpoint Connection resource. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array provisioningState: - description: 'ProvisioningState: Current provisioning status of the cluster' - type: string - redisVersion: - description: 'RedisVersion: Version of redis the cluster supports, e.g. ''6''' + description: 'ProvisioningState: The provisioning state of the route table resource.' type: string - resourceState: - description: 'ResourceState: Current resource status of the cluster' + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the route table.' type: string - sku: - description: 'Sku: The SKU to create, which affects price, performance, and features.' - properties: - capacity: - description: |- - Capacity: The size of the RedisEnterprise cluster. Defaults to 2 or 3 depending on SKU. Valid values are (2, 4, 6, ...) - for Enterprise SKUs and (3, 9, 15, ...) for Flash SKUs. - type: integer - name: - description: 'Name: The type of RedisEnterprise cluster to deploy. Possible values: (Enterprise_E10, EnterpriseFlash_F300 etc.)' - type: string - type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string - zones: - description: 'Zones: The Availability Zones where this cluster will be deployed.' - items: - type: string - type: array type: object type: object served: true @@ -267787,14 +353373,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230701storage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230701.RedisEnterprise + Storage version of v1api20201101.RouteTable Generator information: - - Generated from: /redisenterprise/resource-manager/Microsoft.Cache/stable/2023-07-01/redisenterprise.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redisEnterprise/{clusterName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} properties: apiVersion: description: |- @@ -267814,7 +353400,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230701.RedisEnterprise_Spec + description: Storage version of v1api20201101.RouteTable_Spec properties: $propertyBag: additionalProperties: @@ -267828,13 +353414,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + disableBgpRoutePropagation: + type: boolean location: type: string - minimumTlsVersion: - type: string operatorSpec: description: |- - Storage version of v1api20230701.RedisEnterpriseOperatorSpec + Storage version of v1api20201101.RouteTableOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -267918,36 +353504,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sku: - description: |- - Storage version of v1api20230701.Sku - SKU parameters supplied to the create RedisEnterprise operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object tags: additionalProperties: type: string type: object - zones: - items: - type: string - type: array required: - owner type: object status: - description: Storage version of v1api20230701.RedisEnterprise_STATUS + description: |- + Storage version of v1api20201101.RouteTable_STATUS + Route table resource. properties: $propertyBag: additionalProperties: @@ -267999,104 +353566,32 @@ spec: - type type: object type: array - hostName: + disableBgpRoutePropagation: + type: boolean + etag: type: string id: type: string location: type: string - minimumTlsVersion: - type: string name: type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20230701.PrivateEndpointConnection_STATUS - The Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array provisioningState: type: string - redisVersion: - type: string - resourceState: + resourceGuid: type: string - sku: - description: |- - Storage version of v1api20230701.Sku_STATUS - SKU parameters supplied to the create RedisEnterprise operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object tags: additionalProperties: type: string type: object type: type: string - zones: - items: - type: string - type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: redisfirewallrules.cache.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cache.azure.com - names: - kind: RedisFirewallRule - listKind: RedisFirewallRuleList - plural: redisfirewallrules - singular: redisfirewallrule - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -268110,13 +353605,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201201 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} properties: apiVersion: description: |- @@ -268142,8 +353637,11 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIP: - description: 'EndIP: highest IP address included in the range' + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + location: + description: 'Location: Resource location.' type: string operatorSpec: description: |- @@ -268215,7 +353713,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -268224,15 +353722,16 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIP: - description: 'StartIP: lowest IP address included in the range' - type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - - endIP - owner - - startIP type: object status: + description: Route table resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -268278,22 +353777,34 @@ spec: - type type: object type: array - endIP: - description: 'EndIP: highest IP address included in the range' + disableBgpRoutePropagation: + description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + type: boolean + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' + type: string + location: + description: 'Location: Resource location.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - startIP: - description: 'StartIP: lowest IP address included in the range' + provisioningState: + description: 'ProvisioningState: The provisioning state of the route table resource.' + type: string + resourceGuid: + description: 'ResourceGuid: The resource GUID property of the route table.' type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string type: object type: object @@ -268314,14 +353825,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201201storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201201.RedisFirewallRule + Storage version of v1api20240301.RouteTable Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} properties: apiVersion: description: |- @@ -268341,7 +353852,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201201.RedisFirewallRule_Spec + description: Storage version of v1api20240301.RouteTable_Spec properties: $propertyBag: additionalProperties: @@ -268355,11 +353866,13 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIP: + disableBgpRoutePropagation: + type: boolean + location: type: string operatorSpec: description: |- - Storage version of v1api20201201.RedisFirewallRuleOperatorSpec + Storage version of v1api20240301.RouteTableOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -268434,7 +353947,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -268443,13 +353956,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIP: - type: string + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20201201.RedisFirewallRule_STATUS + description: |- + Storage version of v1api20240301.RouteTable_STATUS + Route table resource. properties: $propertyBag: additionalProperties: @@ -268501,22 +354018,67 @@ spec: - type type: object type: array - endIP: + disableBgpRoutePropagation: + type: boolean + etag: type: string id: type: string + location: + type: string name: type: string - startIP: + provisioningState: + type: string + resourceGuid: type: string + tags: + additionalProperties: + type: string + type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: routetablesroutes.network.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: network.azure.com + names: + categories: + - azure + - network + kind: RouteTablesRoute + listKind: RouteTablesRouteList + plural: routetablesroutes + singular: routetablesroute + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -268530,13 +354092,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230401 + name: v1api20201101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} properties: apiVersion: description: |- @@ -268557,13 +354119,27 @@ spec: type: object spec: properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIP: - description: 'EndIP: highest IP address included in the range' + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + enum: + - Internet + - None + - VirtualAppliance + - VirtualNetworkGateway + - VnetLocal type: string operatorSpec: description: |- @@ -268635,7 +354211,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a network.azure.com/RouteTable resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -268644,16 +354220,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIP: - description: 'StartIP: lowest IP address included in the range' - type: string required: - - endIP + - nextHopType - owner - - startIP type: object status: properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -268698,22 +354273,31 @@ spec: - type type: object type: array - endIP: - description: 'EndIP: highest IP address included in the range' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + hasBgpOverride: + description: 'HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.' + type: boolean id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' type: string - startIP: - description: 'StartIP: lowest IP address included in the range' + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the route resource.' type: string type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource.' type: string type: object type: object @@ -268734,14 +354318,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230401storage + name: v1api20201101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230401.RedisFirewallRule + Storage version of v1api20201101.RouteTablesRoute Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} properties: apiVersion: description: |- @@ -268761,7 +354345,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230401.RedisFirewallRule_Spec + description: Storage version of v1api20201101.RouteTablesRoute_Spec properties: $propertyBag: additionalProperties: @@ -268770,16 +354354,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + addressPrefix: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIP: + nextHopIpAddress: + type: string + nextHopType: type: string operatorSpec: description: |- - Storage version of v1api20230401.RedisFirewallRuleOperatorSpec + Storage version of v1api20201101.RouteTablesRouteOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -268854,7 +354442,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a network.azure.com/RouteTable resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -268863,13 +354451,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIP: - type: string required: - owner type: object status: - description: Storage version of v1api20230401.RedisFirewallRule_STATUS + description: Storage version of v1api20201101.RouteTablesRoute_STATUS properties: $propertyBag: additionalProperties: @@ -268878,6 +354464,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + addressPrefix: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -268921,13 +354509,19 @@ spec: - type type: object type: array - endIP: + etag: type: string + hasBgpOverride: + type: boolean id: type: string name: type: string - startIP: + nextHopIpAddress: + type: string + nextHopType: + type: string + provisioningState: type: string type: type: string @@ -268950,13 +354544,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230801 + name: v1api20240301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} properties: apiVersion: description: |- @@ -268977,13 +354571,27 @@ spec: type: object spec: properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIP: - description: 'EndIP: highest IP address included in the range' + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + enum: + - Internet + - None + - VirtualAppliance + - VirtualNetworkGateway + - VnetLocal type: string operatorSpec: description: |- @@ -269055,7 +354663,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a network.azure.com/RouteTable resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -269064,16 +354672,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIP: - description: 'StartIP: lowest IP address included in the range' - type: string required: - - endIP + - nextHopType - owner - - startIP type: object status: properties: + addressPrefix: + description: 'AddressPrefix: The destination CIDR to which the route applies.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -269118,22 +354725,31 @@ spec: - type type: object type: array - endIP: - description: 'EndIP: highest IP address included in the range' + etag: + description: 'Etag: A unique read-only string that changes whenever the resource is updated.' type: string + hasBgpOverride: + description: 'HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.' + type: boolean id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource' + description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' type: string - startIP: - description: 'StartIP: lowest IP address included in the range' + nextHopIpAddress: + description: |- + NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the + next hop type is VirtualAppliance. + type: string + nextHopType: + description: 'NextHopType: The type of Azure hop the packet should be sent to.' + type: string + provisioningState: + description: 'ProvisioningState: The provisioning state of the route resource.' type: string type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource.' type: string type: object type: object @@ -269154,14 +354770,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230801storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230801.RedisFirewallRule + Storage version of v1api20240301.RouteTablesRoute Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName} + - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} properties: apiVersion: description: |- @@ -269181,7 +354797,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230801.RedisFirewallRule_Spec + description: Storage version of v1api20240301.RouteTablesRoute_Spec properties: $propertyBag: additionalProperties: @@ -269190,16 +354806,20 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + addressPrefix: + type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIP: + nextHopIpAddress: + type: string + nextHopType: type: string operatorSpec: description: |- - Storage version of v1api20230801.RedisFirewallRuleOperatorSpec + Storage version of v1api20240301.RouteTablesRouteOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -269274,7 +354894,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a network.azure.com/RouteTable resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -269282,14 +354902,12 @@ spec: name: description: This is the name of the Kubernetes resource to reference. type: string - type: object - startIP: - type: string + type: object required: - owner type: object status: - description: Storage version of v1api20230801.RedisFirewallRule_STATUS + description: Storage version of v1api20240301.RouteTablesRoute_STATUS properties: $propertyBag: additionalProperties: @@ -269298,6 +354916,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + addressPrefix: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -269341,13 +354961,19 @@ spec: - type type: object type: array - endIP: + etag: type: string + hasBgpOverride: + type: boolean id: type: string name: type: string - startIP: + nextHopIpAddress: + type: string + nextHopType: + type: string + provisioningState: type: string type: type: string @@ -269363,11 +354989,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: redislinkedservers.cache.azure.com + app.kubernetes.io/version: v2.15.0 + name: rules.cdn.azure.com spec: conversion: strategy: Webhook @@ -269380,12 +355006,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cache.azure.com + group: cdn.azure.com names: - kind: RedisLinkedServer - listKind: RedisLinkedServerList - plural: redislinkedservers - singular: redislinkedserver + categories: + - azure + - cdn + kind: Rule + listKind: RuleList + plural: rules + singular: rule preserveUnknownFields: false scope: Namespaced versions: @@ -269402,13 +355031,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201201 + name: v1api20230501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} properties: apiVersion: description: |- @@ -269429,34 +355058,457 @@ spec: type: object spec: properties: + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + items: + description: An action for the delivery rule. + properties: + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheExpiration + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - BypassCache + - Override + - SetIfMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + enum: + - All + type: string + typeName: + enum: + - DeliveryRuleCacheExpirationActionParameters + type: string + required: + - cacheBehavior + - cacheType + - typeName + type: object + required: + - name + - parameters + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - CacheKeyQueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + enum: + - Exclude + - ExcludeAll + - Include + - IncludeAll + type: string + typeName: + enum: + - DeliveryRuleCacheKeyQueryStringBehaviorActionParameters + type: string + required: + - queryStringBehavior + - typeName + type: object + required: + - name + - parameters + type: object + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyRequestHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - ModifyResponseHeader + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + enum: + - Append + - Delete + - Overwrite + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + enum: + - DeliveryRuleHeaderActionParameters + type: string + value: + description: 'Value: Value for the specified action' + type: string + required: + - headerAction + - headerName + - typeName + type: object + required: + - name + - parameters + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - OriginGroupOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + enum: + - DeliveryRuleOriginGroupOverrideActionParameters + type: string + required: + - originGroup + - typeName + type: object + required: + - name + - parameters + type: object + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - RouteConfigurationOverride + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + enum: + - HonorOrigin + - OverrideAlways + - OverrideIfOriginMissing + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + enum: + - Disabled + - Enabled + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + enum: + - IgnoreQueryString + - IgnoreSpecifiedQueryStrings + - IncludeSpecifiedQueryStrings + - UseQueryString + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + enum: + - HttpOnly + - HttpsOnly + - MatchRequest + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + enum: + - DeliveryRuleRouteConfigurationOverrideActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRedirect + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + enum: + - Http + - Https + - MatchRequest + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + enum: + - Found + - Moved + - PermanentRedirect + - TemporaryRedirect + type: string + typeName: + enum: + - DeliveryRuleUrlRedirectActionParameters + type: string + required: + - redirectType + - typeName + type: object + required: + - name + - parameters + type: object + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlRewrite + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + enum: + - DeliveryRuleUrlRewriteActionParameters + type: string + required: + - destination + - sourcePattern + - typeName + type: object + required: + - name + - parameters + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + enum: + - UrlSigning + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + enum: + - SHA256 + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + enum: + - Expires + - KeyId + - Signature + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + required: + - paramIndicator + - paramName + type: object + type: array + typeName: + enum: + - DeliveryRuleUrlSigningActionParameters + type: string + required: + - typeName + type: object + required: + - name + - parameters + type: object + type: object + type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - linkedRedisCacheLocation: - description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' + matchProcessingBehavior: + description: |- + MatchProcessingBehavior: If this rule is a match should the rules engine continue running the remaining rules or stop. + If not present, defaults to Continue. + enum: + - Continue + - Stop type: string - linkedRedisCacheReference: - description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -269489,1545 +355541,1403 @@ spec: type: string required: - name - - value + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + order: + description: |- + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/RuleSet resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + ruleconditions: + description: 'RuleConditions: A list of conditions that must be matched for the actions to be executed' + items: + description: A condition for the delivery rule. + properties: + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ClientPort + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleClientPortConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - Cookies + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleCookiesConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HostName + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHostNameConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - HttpVersion + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleHttpVersionConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - IsDevice + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - Desktop + - Mobile + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleIsDeviceConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - PostArgs + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRulePostArgsConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - QueryString + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleQueryStringConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RemoteAddress + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - GeoMatch + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRemoteAddressConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestBody + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestBodyConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestHeader type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestHeaderConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - serverRole: - description: 'ServerRole: Role of the linked server.' - enum: - - Primary - - Secondary - type: string - required: - - linkedRedisCacheLocation - - linkedRedisCacheReference - - owner - - serverRole - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - linkedRedisCacheId: - description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' - type: string - linkedRedisCacheLocation: - description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' - type: string - name: - description: 'Name: The name of the resource' - type: string - provisioningState: - description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' - type: string - serverRole: - description: 'ServerRole: Role of the linked server.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201201storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20201201.RedisLinkedServer - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20201201.RedisLinkedServer_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - linkedRedisCacheLocation: - type: string - linkedRedisCacheReference: - description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operatorSpec: - description: |- - Storage version of v1api20201201.RedisLinkedServerOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestMethod type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - DELETE + - GET + - HEAD + - OPTIONS + - POST + - PUT + - TRACE + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestMethodConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestScheme type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + enum: + - HTTP + - HTTPS + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestSchemeConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - serverRole: - type: string - required: - - linkedRedisCacheReference - - owner - type: object - status: - description: Storage version of v1api20201201.Redis_LinkedServer_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - linkedRedisCacheId: - type: string - linkedRedisCacheLocation: - type: string - name: - type: string - provisioningState: - type: string - serverRole: - type: string - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230401 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - linkedRedisCacheLocation: - description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' - type: string - linkedRedisCacheReference: - description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - RequestUri type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleRequestUriConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - ServerPort type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleServerPortConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - serverRole: - description: 'ServerRole: Role of the linked server.' - enum: - - Primary - - Secondary - type: string - required: - - linkedRedisCacheLocation - - linkedRedisCacheReference - - owner - - serverRole - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - geoReplicatedPrimaryHostName: - description: |- - GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the - linked redis caches for seamless Geo Failover experience. - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - linkedRedisCacheId: - description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' - type: string - linkedRedisCacheLocation: - description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' - type: string - name: - description: 'Name: The name of the resource' - type: string - primaryHostName: - description: |- - PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches - before or after the Geo Failover. - type: string - provisioningState: - description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' - type: string - serverRole: - description: 'ServerRole: Role of the linked server.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230401storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230401.RedisLinkedServer - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230401.RedisLinkedServer_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - linkedRedisCacheLocation: - type: string - linkedRedisCacheReference: - description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operatorSpec: - description: |- - Storage version of v1api20230401.RedisLinkedServerOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SocketAddr + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - IPMatch + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSocketAddrConditionParameters + type: string + required: + - operator + - typeName + type: object + required: + - name + - parameters + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - SslProtocol type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + enum: + - TLSv1 + - TLSv1.1 + - TLSv1.2 + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Equal + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleSslProtocolConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileExtension type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFileExtensionMatchConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - serverRole: - type: string - required: - - linkedRedisCacheReference - - owner - type: object - status: - description: Storage version of v1api20230401.Redis_LinkedServer_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - geoReplicatedPrimaryHostName: - type: string - id: - type: string - linkedRedisCacheId: - type: string - linkedRedisCacheLocation: - type: string - name: - type: string - primaryHostName: - type: string - provisioningState: - type: string - serverRole: - type: string - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230801 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - linkedRedisCacheLocation: - description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' - type: string - linkedRedisCacheReference: - description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlFileName type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlFilenameConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' + enum: + - UrlPath type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + enum: + - Any + - BeginsWith + - Contains + - EndsWith + - Equal + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + - RegEx + - Wildcard + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + enum: + - Lowercase + - RemoveNulls + - Trim + - Uppercase + - UrlDecode + - UrlEncode + type: string + type: array + typeName: + enum: + - DeliveryRuleUrlPathMatchConditionParameters + type: string + required: + - operator + - typeName + type: object required: - name - - value + - parameters type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - serverRole: - description: 'ServerRole: Role of the linked server.' - enum: - - Primary - - Secondary - type: string + type: object + type: array required: - - linkedRedisCacheLocation - - linkedRedisCacheReference - owner - - serverRole type: object status: properties: - conditions: - description: 'Conditions: The observed state of the resource' + actions: + description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' items: - description: Condition defines an extension to status (an observation) of a resource + description: An action for the delivery rule. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - geoReplicatedPrimaryHostName: - description: |- - GeoReplicatedPrimaryHostName: The unchanging DNS name which will always point to current geo-primary cache among the - linked redis caches for seamless Geo Failover experience. - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - linkedRedisCacheId: - description: 'LinkedRedisCacheId: Fully qualified resourceId of the linked redis cache.' - type: string - linkedRedisCacheLocation: - description: 'LinkedRedisCacheLocation: Location of the linked redis cache.' - type: string - name: - description: 'Name: The name of the resource' - type: string - primaryHostName: - description: |- - PrimaryHostName: The changing DNS name that resolves to the current geo-primary cache among the linked redis caches - before or after the Geo Failover. - type: string - provisioningState: - description: 'ProvisioningState: Terminal state of the link between primary and secondary redis cache.' - type: string - serverRole: - description: 'ServerRole: Role of the linked server.' - type: string - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230801storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230801.RedisLinkedServer - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230801.RedisLinkedServer_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - linkedRedisCacheLocation: - type: string - linkedRedisCacheReference: - description: 'LinkedRedisCacheReference: Fully qualified resourceId of the linked redis cache.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - operatorSpec: - description: |- - Storage version of v1api20230801.RedisLinkedServerOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + cacheExpiration: + description: 'CacheExpiration: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: The name of the action for the delivery rule.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + cacheType: + description: 'CacheType: The level at which the content needs to be cached.' + type: string + typeName: + type: string + type: object + type: object + cacheKeyQueryString: + description: 'CacheKeyQueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringBehavior: + description: 'QueryStringBehavior: Caching behavior for the requests' + type: string + typeName: + type: string + type: object type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + modifyRequestHeader: + description: 'ModifyRequestHeader: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + name: + description: 'Name: The name of the action for the delivery rule.' type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + modifyResponseHeader: + description: 'ModifyResponseHeader: Mutually exclusive with all other properties' + properties: name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: The name of the action for the delivery rule.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + headerAction: + description: 'HeaderAction: Action to perform' + type: string + headerName: + description: 'HeaderName: Name of the header to modify' + type: string + typeName: + type: string + value: + description: 'Value: Value for the specified action' + type: string + type: object + type: object + originGroupOverride: + description: 'OriginGroupOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + typeName: + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - serverRole: - type: string - required: - - linkedRedisCacheReference - - owner - type: object - status: - description: Storage version of v1api20230801.Redis_LinkedServer_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - geoReplicatedPrimaryHostName: - type: string - id: - type: string - linkedRedisCacheId: - type: string - linkedRedisCacheLocation: - type: string - name: - type: string - primaryHostName: - type: string - provisioningState: - type: string - serverRole: - type: string - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: redispatchschedules.cache.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cache.azure.com - names: - kind: RedisPatchSchedule - listKind: RedisPatchScheduleList - plural: redispatchschedules - singular: redispatchschedule - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201201 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + routeConfigurationOverride: + description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + cacheConfiguration: + description: |- + CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a + cacheConfiguration object. + properties: + cacheBehavior: + description: 'CacheBehavior: Caching behavior for the requests' + type: string + cacheDuration: + description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' + type: string + isCompressionEnabled: + description: |- + IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be + served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when + requested content is smaller than 1 byte or larger than 1 MB. + type: string + queryParameters: + description: 'QueryParameters: query parameters to include or exclude (comma separated).' + type: string + queryStringCachingBehavior: + description: |- + QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query + strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query + strings. + type: string + type: object + originGroupOverride: + description: |- + OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group + on route. + properties: + forwardingProtocol: + description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + type: string + originGroup: + description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: 'UrlRedirect: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the action for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + customFragment: + description: |- + CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include + the #. + type: string + customHostname: + description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' + type: string + customPath: + description: |- + CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path + as destination path. + type: string + customQueryString: + description: |- + CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any + existing query string; leave empty to preserve the incoming query string. Query string must be in = format. + ? and & will be added automatically so do not include them. + type: string + destinationProtocol: + description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' + type: string + redirectType: + description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' + type: string + typeName: + type: string + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlRewrite: + description: 'UrlRewrite: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: The name of the action for the delivery rule.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + destination: + description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' + type: string + preserveUnmatchedPath: + description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' + type: boolean + sourcePattern: + description: |- + SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is + blank, all strings are matched. + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: 'UrlSigning: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the action for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the action.' + properties: + algorithm: + description: 'Algorithm: Algorithm to use for URL signing' + type: string + parameterNameOverride: + description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' + items: + description: Defines how to identify a parameter for a specific purpose e.g. expires + properties: + paramIndicator: + description: 'ParamIndicator: Indicates the purpose of the parameter' + type: string + paramName: + description: 'ParamName: Parameter name' + type: string + type: object + type: array + typeName: + type: string + type: object type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - scheduleEntries: - description: 'ScheduleEntries: List of patch schedules for a Redis cache.' - items: - description: Patch schedule entry for a Premium Redis Cache. - properties: - dayOfWeek: - description: 'DayOfWeek: Day of the week when a cache can be patched.' - enum: - - Everyday - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - - Weekend - type: string - maintenanceWindow: - description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' - type: string - startHourUtc: - description: 'StartHourUtc: Start hour after which cache patching can start.' - type: integer - required: - - dayOfWeek - - startHourUtc type: object type: array - required: - - owner - - scheduleEntries - type: object - status: - properties: conditions: description: 'Conditions: The observed state of the resource' items: @@ -271072,516 +356982,644 @@ spec: - type type: object type: array + deploymentStatus: + type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string - location: - description: 'Location: The geo-location where the resource lives' + matchProcessingBehavior: + description: |- + MatchProcessingBehavior: If this rule is a match should the rules engine continue running the remaining rules or stop. + If not present, defaults to Continue. type: string name: - description: 'Name: The name of the resource' + description: 'Name: Resource name.' type: string - scheduleEntries: - description: 'ScheduleEntries: List of patch schedules for a Redis cache.' + order: + description: |- + Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a + lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not + require any condition and actions listed in it will always be applied. + type: integer + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + ruleSetName: + description: 'RuleSetName: The name of the rule set containing the rule.' + type: string + ruleconditions: + description: 'RuleConditions: A list of conditions that must be matched for the actions to be executed' items: - description: Patch schedule entry for a Premium Redis Cache. + description: A condition for the delivery rule. properties: - dayOfWeek: - description: 'DayOfWeek: Day of the week when a cache can be patched.' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' - type: string - startHourUtc: - description: 'StartHourUtc: Start hour after which cache patching can start.' - type: integer - type: object - type: array - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20201201storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20201201.RedisPatchSchedule - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20201201.RedisPatchSchedule_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - operatorSpec: - description: |- - Storage version of v1api20201201.RedisPatchScheduleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + clientPort: + description: 'ClientPort: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + name: + description: 'Name: The name of the condition for the delivery rule.' type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + cookies: + description: 'Cookies: Mutually exclusive with all other properties' + properties: name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: The name of the condition for the delivery rule.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Cookies to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + hostName: + description: 'HostName: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + httpVersion: + description: 'HttpVersion: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + name: + description: 'Name: The name of the condition for the delivery rule.' type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + isDevice: + description: 'IsDevice: Mutually exclusive with all other properties' + properties: name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: The name of the condition for the delivery rule.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + postArgs: + description: 'PostArgs: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of PostArg to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - scheduleEntries: - items: - description: |- - Storage version of v1api20201201.ScheduleEntry - Patch schedule entry for a Premium Redis Cache. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + queryString: + description: 'QueryString: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object type: object - dayOfWeek: - type: string - maintenanceWindow: - type: string - startHourUtc: - type: integer - type: object - type: array - required: - - owner - type: object - status: - description: Storage version of v1api20201201.RedisPatchSchedule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - location: - type: string - name: - type: string - scheduleEntries: - items: - description: |- - Storage version of v1api20201201.ScheduleEntry_STATUS - Patch schedule entry for a Premium Redis Cache. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + remoteAddress: + description: 'RemoteAddress: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: |- + MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of + them match the variable with the given operator this match condition is considered a match. + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object type: object - dayOfWeek: - type: string - maintenanceWindow: - type: string - startHourUtc: - type: integer - type: object - type: array - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230401 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + requestBody: + description: 'RequestBody: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: 'RequestHeader: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + selector: + description: 'Selector: Name of Header to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestMethod: + description: 'RequestMethod: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: 'RequestScheme: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: 'RequestUri: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + serverPort: + description: 'ServerPort: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: 'SocketAddr: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + sslProtocol: + description: 'SslProtocol: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + description: The protocol of an established TLS connection. + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileExtension: + description: 'UrlFileExtension: Mutually exclusive with all other properties' + properties: + name: + description: 'Name: The name of the condition for the delivery rule.' + type: string + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object + type: object + urlFileName: + description: 'UrlFileName: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlPath: + description: 'UrlPath: Mutually exclusive with all other properties' properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Name: The name of the condition for the delivery rule.' type: string - required: - - name - - value + parameters: + description: 'Parameters: Defines the parameters for the condition.' + properties: + matchValues: + description: 'MatchValues: The match value for the condition of the delivery rule' + items: + type: string + type: array + negateCondition: + description: 'NegateCondition: Describes if this is negate condition or not' + type: boolean + operator: + description: 'Operator: Describes operator to be matched' + type: string + transforms: + description: 'Transforms: List of transforms' + items: + description: Describes what transforms are applied before matching + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + type: object + type: array + systemData: + description: 'SystemData: Read only system data' properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' type: string - name: - description: This is the name of the Kubernetes resource to reference. + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' type: string type: object - scheduleEntries: - description: 'ScheduleEntries: List of patch schedules for a Redis cache.' - items: - description: Patch schedule entry for a Premium Redis Cache. - properties: - dayOfWeek: - description: 'DayOfWeek: Day of the week when a cache can be patched.' - enum: - - Everyday - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - - Weekend - type: string - maintenanceWindow: - description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' - type: string - startHourUtc: - description: 'StartHourUtc: Start hour after which cache patching can start.' - type: integer - required: - - dayOfWeek - - startHourUtc - type: object - type: array - required: - - owner - - scheduleEntries - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - name: - description: 'Name: The name of the resource' - type: string - scheduleEntries: - description: 'ScheduleEntries: List of patch schedules for a Redis cache.' - items: - description: Patch schedule entry for a Premium Redis Cache. - properties: - dayOfWeek: - description: 'DayOfWeek: Day of the week when a cache can be patched.' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' - type: string - startHourUtc: - description: 'StartHourUtc: Start hour after which cache patching can start.' - type: integer - type: object - type: array type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string type: object type: object @@ -271602,14 +357640,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230401storage + name: v1api20230501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230401.RedisPatchSchedule + Storage version of v1api20230501.Rule Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-04-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} properties: apiVersion: description: |- @@ -271629,7 +357667,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230401.RedisPatchSchedule_Spec + description: Storage version of v1api20230501.Rule_Spec properties: $propertyBag: additionalProperties: @@ -271638,490 +357676,448 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - operatorSpec: - description: |- - Storage version of v1api20230401.RedisPatchScheduleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: + actions: + items: + description: |- + Storage version of v1api20230501.DeliveryRuleAction + An action for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20230501.DeliveryRuleCacheExpirationAction properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.CacheExpirationActionParameters + Defines the parameters for the cache expiration action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + cacheType: + type: string + typeName: + type: string + type: object type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + cacheKeyQueryString: + description: Storage version of v1api20230501.DeliveryRuleCacheKeyQueryStringAction properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - scheduleEntries: - items: - description: |- - Storage version of v1api20230401.ScheduleEntry - Patch schedule entry for a Premium Redis Cache. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dayOfWeek: - type: string - maintenanceWindow: - type: string - startHourUtc: - type: integer - type: object - type: array - required: - - owner - type: object - status: - description: Storage version of v1api20230401.RedisPatchSchedule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - location: - type: string - name: - type: string - scheduleEntries: - items: - description: |- - Storage version of v1api20230401.ScheduleEntry_STATUS - Patch schedule entry for a Premium Redis Cache. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20230501.CacheKeyQueryStringActionParameters + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object type: object - dayOfWeek: - type: string - maintenanceWindow: - type: string - startHourUtc: - type: integer - type: object - type: array - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230801 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + modifyRequestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderAction properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Storage version of v1api20230501.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + modifyResponseHeader: + description: Storage version of v1api20230501.DeliveryRuleResponseHeaderAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - required: - - name - - value + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + originGroupOverride: + description: Storage version of v1api20230501.OriginGroupOverrideAction properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string + parameters: + description: |- + Storage version of v1api20230501.OriginGroupOverrideActionParameters + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20230501.DeliveryRuleRouteConfigurationOverrideAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: + type: string + parameters: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + Storage version of v1api20230501.RouteConfigurationOverrideActionParameters + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20230501.CacheConfiguration + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20230501.OriginGroupOverride + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20230501.UrlRedirectAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Storage version of v1api20230501.UrlRedirectActionParameters + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20230501.UrlRewriteAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - required: - - name - - value + parameters: + description: |- + Storage version of v1api20230501.UrlRewriteActionParameters + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20230501.UrlSigningAction + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlSigningActionParameters + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20230501.UrlSigningParamIdentifier + Defines how to identify a parameter for a specific purpose e.g. expires + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: + type: string + type: object + type: array + typeName: + type: string + type: object type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - scheduleEntries: - description: 'ScheduleEntries: List of patch schedules for a Redis cache.' - items: - description: Patch schedule entry for a Premium Redis Cache. - properties: - dayOfWeek: - description: 'DayOfWeek: Day of the week when a cache can be patched.' - enum: - - Everyday - - Friday - - Monday - - Saturday - - Sunday - - Thursday - - Tuesday - - Wednesday - - Weekend - type: string - maintenanceWindow: - description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' - type: string - startHourUtc: - description: 'StartHourUtc: Start hour after which cache patching can start.' - type: integer - required: - - dayOfWeek - - startHourUtc - type: object - type: array - required: - - owner - - scheduleEntries - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: + azureName: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - name: - description: 'Name: The name of the resource' + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - scheduleEntries: - description: 'ScheduleEntries: List of patch schedules for a Redis cache.' - items: - description: Patch schedule entry for a Premium Redis Cache. - properties: - dayOfWeek: - description: 'DayOfWeek: Day of the week when a cache can be patched.' - type: string - maintenanceWindow: - description: 'MaintenanceWindow: ISO8601 timespan specifying how much time cache patching can take.' - type: string - startHourUtc: - description: 'StartHourUtc: Start hour after which cache patching can start.' - type: integer - type: object - type: array - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + matchProcessingBehavior: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20230801storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20230801.RedisPatchSchedule - Generator information: - - Generated from: /redis/resource-manager/Microsoft.Cache/stable/2023-08-01/redis.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20230801.RedisPatchSchedule_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object operatorSpec: description: |- - Storage version of v1api20230801.RedisPatchScheduleOperatorSpec + Storage version of v1api20230501.RuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -272190,13 +358186,15 @@ spec: type: object type: array type: object + order: + type: integer originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cache.azure.com/Redis resource + reference to a cdn.azure.com/RuleSet resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -272205,94 +358203,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scheduleEntries: - items: - description: |- - Storage version of v1api20230801.ScheduleEntry - Patch schedule entry for a Premium Redis Cache. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dayOfWeek: - type: string - maintenanceWindow: - type: string - startHourUtc: - type: integer - type: object - type: array - required: - - owner - type: object - status: - description: Storage version of v1api20230801.RedisPatchSchedule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - location: - type: string - name: - type: string - scheduleEntries: + ruleconditions: items: description: |- - Storage version of v1api20230801.ScheduleEntry_STATUS - Patch schedule entry for a Premium Redis Cache. + Storage version of v1api20230501.DeliveryRuleCondition + A condition for the delivery rule. properties: $propertyBag: additionalProperties: @@ -272301,763 +358216,130 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dayOfWeek: - type: string - maintenanceWindow: - type: string - startHourUtc: - type: integer - type: object - type: array - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: registries.containerregistry.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: containerregistry.azure.com - names: - kind: Registry - listKind: RegistryList - plural: registries - singular: registry - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210901 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - adminUserEnabled: - description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 50 - minLength: 5 - pattern: ^[a-zA-Z0-9]*$ - type: string - dataEndpointEnabled: - description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' - type: boolean - encryption: - description: 'Encryption: The encryption settings of container registry.' - properties: - keyVaultProperties: - description: 'KeyVaultProperties: Key vault properties.' - properties: - identity: - description: 'Identity: The client id of the identity which will be used to access key vault.' - type: string - keyIdentifier: - description: 'KeyIdentifier: Key vault uri to access the encryption key.' - type: string - type: object - status: - description: 'Status: Indicates whether or not the encryption is enabled for container registry.' - enum: - - disabled - - enabled - type: string - type: object - identity: - description: 'Identity: The identity of the container registry.' - properties: - principalId: - description: 'PrincipalId: The principal ID of resource identity.' - type: string - tenantId: - description: 'TenantId: The tenant ID of resource.' - type: string - type: - description: 'Type: The identity type.' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with the resource. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource + clientPort: + description: Storage version of v1api20230501.DeliveryRuleClientPortCondition properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ClientPortMatchConditionParameters + Defines the parameters for ClientPort match conditions properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - name: - description: Name is the Kubernetes name of the resource. + transforms: + items: + type: string + type: array + typeName: type: string type: object type: object - type: array - type: object - location: - description: 'Location: The location of the resource. This cannot be changed after the resource is created.' - type: string - networkRuleBypassOptions: - description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' - enum: - - AzureServices - - None - type: string - networkRuleSet: - description: 'NetworkRuleSet: The network rule set for a container registry.' - properties: - defaultAction: - description: 'DefaultAction: The default action of allow or deny when no other rules match.' - enum: - - Allow - - Deny - type: string - ipRules: - description: 'IpRules: The IP ACL rules.' - items: - description: IP rule with specific IP or IP range in CIDR format. - properties: - action: - description: 'Action: The action of IP ACL rule.' - enum: - - Allow - type: string - value: - description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' - type: string - required: - - value - type: object - type: array - required: - - defaultAction - type: object - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + cookies: + description: Storage version of v1api20230501.DeliveryRuleCookiesCondition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.CookiesMatchConditionParameters + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + hostName: + description: Storage version of v1api20230501.DeliveryRuleHostNameCondition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - policies: - description: 'Policies: The policies for a container registry.' - properties: - exportPolicy: - description: 'ExportPolicy: The export policy for a container registry.' - properties: - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - enum: - - disabled - - enabled - type: string - type: object - quarantinePolicy: - description: 'QuarantinePolicy: The quarantine policy for a container registry.' - properties: - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - enum: - - disabled - - enabled - type: string - type: object - retentionPolicy: - description: 'RetentionPolicy: The retention policy for a container registry.' - properties: - days: - description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' - type: integer - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - enum: - - disabled - - enabled - type: string - type: object - trustPolicy: - description: 'TrustPolicy: The content trust policy for a container registry.' - properties: - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - enum: - - disabled - - enabled - type: string - type: - description: 'Type: The type of trust policy.' - enum: - - Notary - type: string - type: object - type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' - enum: - - Disabled - - Enabled - type: string - sku: - description: 'Sku: The SKU of the container registry.' - properties: - name: - description: 'Name: The SKU name of the container registry. Required for registry creation.' - enum: - - Basic - - Classic - - Premium - - Standard - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: The tags of the resource.' - type: object - zoneRedundancy: - description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' - enum: - - Disabled - - Enabled - type: string - required: - - location - - owner - - sku - type: object - status: - description: An object that represents a container registry. - properties: - adminUserEnabled: - description: 'AdminUserEnabled: The value that indicates whether the admin user is enabled.' - type: boolean - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationDate: - description: 'CreationDate: The creation date of the container registry in ISO8601 format.' - type: string - dataEndpointEnabled: - description: 'DataEndpointEnabled: Enable a single data endpoint per region for serving data.' - type: boolean - dataEndpointHostNames: - description: 'DataEndpointHostNames: List of host names that will serve data when dataEndpointEnabled is true.' - items: - type: string - type: array - encryption: - description: 'Encryption: The encryption settings of container registry.' - properties: - keyVaultProperties: - description: 'KeyVaultProperties: Key vault properties.' - properties: - identity: - description: 'Identity: The client id of the identity which will be used to access key vault.' - type: string - keyIdentifier: - description: 'KeyIdentifier: Key vault uri to access the encryption key.' - type: string - keyRotationEnabled: - description: 'KeyRotationEnabled: Auto key rotation status for a CMK enabled registry.' - type: boolean - lastKeyRotationTimestamp: - description: 'LastKeyRotationTimestamp: Timestamp of the last successful key rotation.' - type: string - versionedKeyIdentifier: - description: |- - VersionedKeyIdentifier: The fully qualified key identifier that includes the version of the key that is actually used - for encryption. - type: string - type: object - status: - description: 'Status: Indicates whether or not the encryption is enabled for container registry.' - type: string - type: object - id: - description: 'Id: The resource ID.' - type: string - identity: - description: 'Identity: The identity of the container registry.' - properties: - principalId: - description: 'PrincipalId: The principal ID of resource identity.' - type: string - tenantId: - description: 'TenantId: The tenant ID of resource.' - type: string - type: - description: 'Type: The identity type.' - type: string - userAssignedIdentities: - additionalProperties: - properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' - type: string - type: object - description: |- - UserAssignedIdentities: The list of user identities associated with the resource. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - type: object - type: object - location: - description: 'Location: The location of the resource. This cannot be changed after the resource is created.' - type: string - loginServer: - description: 'LoginServer: The URL that can be used to log into the container registry.' - type: string - name: - description: 'Name: The name of the resource.' - type: string - networkRuleBypassOptions: - description: 'NetworkRuleBypassOptions: Whether to allow trusted Azure services to access a network restricted registry.' - type: string - networkRuleSet: - description: 'NetworkRuleSet: The network rule set for a container registry.' - properties: - defaultAction: - description: 'DefaultAction: The default action of allow or deny when no other rules match.' - type: string - ipRules: - description: 'IpRules: The IP ACL rules.' - items: - description: IP rule with specific IP or IP range in CIDR format. - properties: - action: - description: 'Action: The action of IP ACL rule.' - type: string - value: - description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' - type: string - type: object - type: array - type: object - policies: - description: 'Policies: The policies for a container registry.' - properties: - exportPolicy: - description: 'ExportPolicy: The export policy for a container registry.' - properties: - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - type: string - type: object - quarantinePolicy: - description: 'QuarantinePolicy: The quarantine policy for a container registry.' - properties: - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - type: string - type: object - retentionPolicy: - description: 'RetentionPolicy: The retention policy for a container registry.' - properties: - days: - description: 'Days: The number of days to retain an untagged manifest after which it gets purged.' - type: integer - lastUpdatedTime: - description: 'LastUpdatedTime: The timestamp when the policy was last updated.' - type: string - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - type: string - type: object - trustPolicy: - description: 'TrustPolicy: The content trust policy for a container registry.' - properties: - status: - description: 'Status: The value that indicates whether the policy is enabled or not.' - type: string - type: - description: 'Type: The type of trust policy.' - type: string - type: object - type: object - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections for a container registry.' - items: - description: An object that represents a private endpoint connection for a container registry. - properties: - id: - description: 'Id: The resource ID.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: The provisioning state of the container registry at the time the operation was called.' - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Whether or not public network access is allowed for the container registry.' - type: string - sku: - description: 'Sku: The SKU of the container registry.' - properties: - name: - description: 'Name: The SKU name of the container registry. Required for registry creation.' - type: string - tier: - description: 'Tier: The SKU tier based on the SKU name.' - type: string - type: object - status: - description: 'Status: The status of the container registry at the time the operation was called.' - properties: - displayStatus: - description: 'DisplayStatus: The short label for the status.' - type: string - message: - description: 'Message: The detailed message for the status, including alerts and error messages.' - type: string - timestamp: - description: 'Timestamp: The timestamp when the status was changed to the current value.' - type: string - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource modification (UTC).' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: The tags of the resource.' - type: object - type: - description: 'Type: The type of the resource.' - type: string - zoneRedundancy: - description: 'ZoneRedundancy: Whether or not zone redundancy is enabled for this container registry' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20210901storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20210901.Registry - Generator information: - - Generated from: /containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20210901.Registry_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUserEnabled: - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - dataEndpointEnabled: - type: boolean - encryption: - description: Storage version of v1api20210901.EncryptionProperty - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyVaultProperties: - description: Storage version of v1api20210901.KeyVaultProperties - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - type: string - keyIdentifier: - type: string - type: object - status: - type: string - type: object - identity: - description: |- - Storage version of v1api20210901.IdentityProperties - Managed identity for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20210901.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + Storage version of v1api20230501.HostNameMatchConditionParameters + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + httpVersion: + description: Storage version of v1api20230501.DeliveryRuleHttpVersionCondition properties: $propertyBag: additionalProperties: @@ -273066,52 +358348,78 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.HttpVersionMatchConditionParameters + Defines the parameters for HttpVersion match conditions properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - group: - description: Group is the Kubernetes group of the resource. + transforms: + items: + type: string + type: array + typeName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + type: object + isDevice: + description: Storage version of v1api20230501.DeliveryRuleIsDeviceCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.IsDeviceMatchConditionParameters + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - name: - description: Name is the Kubernetes name of the resource. + transforms: + items: + type: string + type: array + typeName: type: string type: object type: object - type: array - type: object - location: - type: string - networkRuleBypassOptions: - type: string - networkRuleSet: - description: |- - Storage version of v1api20210901.NetworkRuleSet - The network rule set for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultAction: - type: string - ipRules: - items: - description: |- - Storage version of v1api20210901.IPRule - IP rule with specific IP or IP range in CIDR format. + postArgs: + description: Storage version of v1api20230501.DeliveryRulePostArgsCondition properties: $propertyBag: additionalProperties: @@ -273120,324 +358428,120 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - type: string - value: + name: type: string + parameters: + description: |- + Storage version of v1api20230501.PostArgsMatchConditionParameters + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - operatorSpec: - description: |- - Storage version of v1api20210901.RegistryOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + queryString: + description: Storage version of v1api20230501.DeliveryRuleQueryStringCondition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.QueryStringMatchConditionParameters + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + remoteAddress: + description: Storage version of v1api20230501.DeliveryRuleRemoteAddressCondition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.RemoteAddressMatchConditionParameters + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - policies: - description: |- - Storage version of v1api20210901.Policies - The policies for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exportPolicy: - description: |- - Storage version of v1api20210901.ExportPolicy - The export policy for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - type: string - type: object - quarantinePolicy: - description: |- - Storage version of v1api20210901.QuarantinePolicy - The quarantine policy for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - type: string - type: object - retentionPolicy: - description: |- - Storage version of v1api20210901.RetentionPolicy - The retention policy for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - type: integer - status: - type: string - type: object - trustPolicy: - description: |- - Storage version of v1api20210901.TrustPolicy - The content trust policy for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - type: string - type: - type: string - type: object - type: object - publicNetworkAccess: - type: string - sku: - description: |- - Storage version of v1api20210901.Sku - The SKU of a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundancy: - type: string - required: - - owner - type: object - status: - description: |- - Storage version of v1api20210901.Registry_STATUS - An object that represents a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminUserEnabled: - type: boolean - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationDate: - type: string - dataEndpointEnabled: - type: boolean - dataEndpointHostNames: - items: - type: string - type: array - encryption: - description: Storage version of v1api20210901.EncryptionProperty_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyVaultProperties: - description: Storage version of v1api20210901.KeyVaultProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - identity: - type: string - keyIdentifier: - type: string - keyRotationEnabled: - type: boolean - lastKeyRotationTimestamp: - type: string - versionedKeyIdentifier: - type: string - type: object - status: - type: string - type: object - id: - type: string - identity: - description: |- - Storage version of v1api20210901.IdentityProperties_STATUS - Managed identity for the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20210901.UserIdentityProperties_STATUS + requestBody: + description: Storage version of v1api20230501.DeliveryRuleRequestBodyCondition properties: $propertyBag: additionalProperties: @@ -273446,40 +358550,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: - type: string - principalId: + name: type: string + parameters: + description: |- + Storage version of v1api20230501.RequestBodyMatchConditionParameters + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: object - type: object - location: - type: string - loginServer: - type: string - name: - type: string - networkRuleBypassOptions: - type: string - networkRuleSet: - description: |- - Storage version of v1api20210901.NetworkRuleSet_STATUS - The network rule set for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultAction: - type: string - ipRules: - items: - description: |- - Storage version of v1api20210901.IPRule_STATUS - IP rule with specific IP or IP range in CIDR format. + requestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderCondition properties: $propertyBag: additionalProperties: @@ -273488,1124 +358590,881 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - type: string - value: + name: type: string + parameters: + description: |- + Storage version of v1api20230501.RequestHeaderMatchConditionParameters + Defines the parameters for RequestHeader match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + selector: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - policies: - description: |- - Storage version of v1api20210901.Policies_STATUS - The policies for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exportPolicy: - description: |- - Storage version of v1api20210901.ExportPolicy_STATUS - The export policy for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - type: string - type: object - quarantinePolicy: - description: |- - Storage version of v1api20210901.QuarantinePolicy_STATUS - The quarantine policy for a container registry. - properties: - $propertyBag: - additionalProperties: + requestMethod: + description: Storage version of v1api20230501.DeliveryRuleRequestMethodCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - type: string - type: object - retentionPolicy: - description: |- - Storage version of v1api20210901.RetentionPolicy_STATUS - The retention policy for a container registry. - properties: - $propertyBag: - additionalProperties: + parameters: + description: |- + Storage version of v1api20230501.RequestMethodMatchConditionParameters + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestScheme: + description: Storage version of v1api20230501.DeliveryRuleRequestSchemeCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - days: - type: integer - lastUpdatedTime: - type: string - status: - type: string - type: object - trustPolicy: - description: |- - Storage version of v1api20210901.TrustPolicy_STATUS - The content trust policy for a container registry. - properties: - $propertyBag: - additionalProperties: + parameters: + description: |- + Storage version of v1api20230501.RequestSchemeMatchConditionParameters + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestUri: + description: Storage version of v1api20230501.DeliveryRuleRequestUriCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - status: - type: string - type: - type: string - type: object - type: object - privateEndpointConnections: - items: - description: |- - Storage version of v1api20210901.PrivateEndpointConnection_STATUS - An object that represents a private endpoint connection for a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + parameters: + description: |- + Storage version of v1api20230501.RequestUriMatchConditionParameters + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - id: - type: string - type: object - type: array - provisioningState: - type: string - publicNetworkAccess: - type: string - sku: - description: |- - Storage version of v1api20210901.Sku_STATUS - The SKU of a container registry. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - tier: - type: string - type: object - status: - description: |- - Storage version of v1api20210901.Status_STATUS - The status of an Azure resource at the time the operation was called. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - displayStatus: - type: string - message: - type: string - timestamp: - type: string - type: object - systemData: - description: |- - Storage version of v1api20210901.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - zoneRedundancy: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: registries.machinelearningservices.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: machinelearningservices.azure.com - names: - kind: Registry - listKind: RegistryList - plural: registries - singular: registry - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240401 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/registries.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]{2,32}$ - type: string - discoveryUrl: - description: 'DiscoveryUrl: Discovery URL for the Registry' - type: string - identity: - description: 'Identity: Managed service identity (system assigned and/or user assigned identities)' - properties: - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - enum: - - None - - SystemAssigned - - SystemAssigned,UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - items: - description: Information about the user assigned identity for the resource + serverPort: + description: Storage version of v1api20230501.DeliveryRuleServerPortCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ServerPortMatchConditionParameters + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + socketAddr: + description: Storage version of v1api20230501.DeliveryRuleSocketAddrCondition properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.SocketAddrMatchConditionParameters + Defines the parameters for SocketAddress match conditions properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - group: - description: Group is the Kubernetes group of the resource. + transforms: + items: + type: string + type: array + typeName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + type: object + sslProtocol: + description: Storage version of v1api20230501.DeliveryRuleSslProtocolCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.SslProtocolMatchConditionParameters + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - name: - description: Name is the Kubernetes name of the resource. + transforms: + items: + type: string + type: array + typeName: type: string type: object type: object - type: array - required: - - type - type: object - intellectualPropertyPublisher: - description: 'IntellectualPropertyPublisher: IntellectualPropertyPublisher for the registry' - type: string - kind: - description: 'Kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.' - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - managedResourceGroup: - description: 'ManagedResourceGroup: ResourceId of the managed RG if the registry has system created resources' - properties: - resourceReference: - description: |- - ResourceReference: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - mlFlowRegistryUri: - description: 'MlFlowRegistryUri: MLFlow Registry URI for the Registry' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlFileExtension: + description: Storage version of v1api20230501.DeliveryRuleUrlFileExtensionCondition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.UrlFileExtensionMatchConditionParameters + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - discoveryUrl: - description: 'DiscoveryUrl: indicates where the DiscoveryUrl config map should be placed. If omitted, no config map will be created.' - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - mlFlowRegistryUri: - description: |- - MlFlowRegistryUri: indicates where the MlFlowRegistryUri config map should be placed. If omitted, no config map will be - created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlFileName: + description: Storage version of v1api20230501.DeliveryRuleUrlFileNameCondition properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Is the Registry accessible from the internet? - Possible values: "Enabled" or "Disabled" - type: string - regionDetails: - description: 'RegionDetails: Details of each region the registry is in' - items: - description: Details for each region the registry is in - properties: - acrDetails: - description: 'AcrDetails: List of ACR accounts' - items: - description: Details of ACR account to be used for the Registry - properties: - systemCreatedAcrAccount: - description: 'SystemCreatedAcrAccount: Details of system created ACR account to be used for the Registry' - properties: - acrAccountName: - description: 'AcrAccountName: Name of the ACR account' + Storage version of v1api20230501.UrlFileNameMatchConditionParameters + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: type: string - acrAccountSku: - description: 'AcrAccountSku: SKU of the ACR account' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: type: string - type: object - userCreatedAcrAccount: - description: 'UserCreatedAcrAccount: Details of user created ACR account to be used for the Registry' - properties: - armResourceId: - description: 'ArmResourceId: ARM ResourceId of a resource' - properties: - resourceReference: - description: |- - ResourceReference: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: object - type: array - location: - description: 'Location: The location where the registry exists' - type: string - storageAccountDetails: - description: 'StorageAccountDetails: List of storage accounts' - items: - description: Details of storage account to be used for the Registry - properties: - systemCreatedStorageAccount: - description: 'SystemCreatedStorageAccount: Details of system created storage account to be used for the registry' - properties: - allowBlobPublicAccess: - description: 'AllowBlobPublicAccess: Public blob access allowed' - type: boolean - storageAccountHnsEnabled: - description: 'StorageAccountHnsEnabled: HNS enabled for storage account' - type: boolean - storageAccountName: - description: 'StorageAccountName: Name of the storage account' + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: type: string - storageAccountType: - description: |- - StorageAccountType: Allowed values: - "Standard_LRS", - "Standard_GRS", - "Standard_RAGRS", - "Standard_ZRS", - "Standard_GZRS", - "Standard_RAGZRS", - "Premium_LRS", - "Premium_ZRS" + type: array + typeName: + type: string + type: object + type: object + urlPath: + description: Storage version of v1api20230501.DeliveryRuleUrlPathCondition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlPathMatchConditionParameters + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: type: string - type: object - userCreatedStorageAccount: - description: 'UserCreatedStorageAccount: Details of user created storage account to be used for the registry' - properties: - armResourceId: - description: 'ArmResourceId: ARM ResourceId of a resource' - properties: - resourceReference: - description: |- - ResourceReference: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object type: object type: array - registryPrivateEndpointConnections: - description: 'RegistryPrivateEndpointConnections: Private endpoint connections info used for pending connections in private link portal' + required: + - owner + type: object + status: + description: Storage version of v1api20230501.Rule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: items: - description: Private endpoint connection definition. + description: |- + Storage version of v1api20230501.DeliveryRuleAction_STATUS + An action for the delivery rule. properties: - groupIds: - description: 'GroupIds: The group ids' - items: + $propertyBag: + additionalProperties: type: string - type: array - location: - description: 'Location: Same as workspace location.' - type: string - privateEndpoint: - description: 'PrivateEndpoint: The PE network resource that is linked to this PE connection.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheExpiration: + description: Storage version of v1api20230501.DeliveryRuleCacheExpirationAction_STATUS properties: - subnetArmReference: - description: 'SubnetArmReference: The subnetId that the private endpoint is connected to.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CacheExpirationActionParameters_STATUS + Defines the parameters for the cache expiration action. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: type: string - group: - description: Group is the Kubernetes group of the resource. + cacheDuration: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + cacheType: type: string - name: - description: Name is the Kubernetes name of the resource. + typeName: type: string type: object type: object - provisioningState: - description: 'ProvisioningState: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it''s null.' - type: string - reference: - description: |- - Reference: This is the private endpoint connection name created on SRP - Full resource id: - /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + cacheKeyQueryString: + description: Storage version of v1api20230501.DeliveryRuleCacheKeyQueryStringAction_STATUS properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: Name is the Kubernetes name of the resource. type: string + parameters: + description: |- + Storage version of v1api20230501.CacheKeyQueryStringActionParameters_STATUS + Defines the parameters for the cache-key query string action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + queryParameters: + type: string + queryStringBehavior: + type: string + typeName: + type: string + type: object type: object - registryPrivateLinkServiceConnectionState: - description: 'RegistryPrivateLinkServiceConnectionState: The connection state.' + modifyRequestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderAction_STATUS properties: - actionsRequired: - description: 'ActionsRequired: Some RP chose "None". Other RPs use this for region expansion.' - type: string - description: - description: 'Description: User-defined message that, per NRP doc, may be used for approval-related message.' - type: string - status: - description: 'Status: Connection status of the service consumer with the service provider' - enum: - - Approved - - Disconnected - - Pending - - Rejected + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters_STATUS + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object type: object - type: object - type: array - sku: - description: 'Sku: Sku details required for ARM contract for Autoscaling.' - properties: - capacity: - description: |- - Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible - for the resource this may be omitted. - type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' - type: string - name: - description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' - type: string - size: - description: |- - Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone - code. - type: string - tier: - description: |- - Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is - not required on a PUT. - enum: - - Basic - - Free - - Premium - - Standard - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - required: - - location - - owner - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - discoveryUrl: - description: 'DiscoveryUrl: Discovery URL for the Registry' - type: string - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - identity: - description: 'Identity: Managed service identity (system assigned and/or user assigned identities)' - properties: - principalId: - description: |- - PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system - assigned identity. - type: string - tenantId: - description: |- - TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned - identity. - type: string - type: - description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' - type: string - userAssignedIdentities: - additionalProperties: - description: User assigned identity properties + modifyResponseHeader: + description: Storage version of v1api20230501.DeliveryRuleResponseHeaderAction_STATUS properties: - clientId: - description: 'ClientId: The client ID of the assigned identity.' - type: string - principalId: - description: 'PrincipalId: The principal ID of the assigned identity.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - type: object - type: object - type: object - intellectualPropertyPublisher: - description: 'IntellectualPropertyPublisher: IntellectualPropertyPublisher for the registry' - type: string - kind: - description: 'Kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type.' - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - managedResourceGroup: - description: 'ManagedResourceGroup: ResourceId of the managed RG if the registry has system created resources' - properties: - resourceId: - description: |- - ResourceId: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - type: string - type: object - mlFlowRegistryUri: - description: 'MlFlowRegistryUri: MLFlow Registry URI for the Registry' - type: string - name: - description: 'Name: The name of the resource' - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Is the Registry accessible from the internet? - Possible values: "Enabled" or "Disabled" - type: string - regionDetails: - description: 'RegionDetails: Details of each region the registry is in' - items: - description: Details for each region the registry is in - properties: - acrDetails: - description: 'AcrDetails: List of ACR accounts' - items: - description: Details of ACR account to be used for the Registry - properties: - systemCreatedAcrAccount: - description: 'SystemCreatedAcrAccount: Details of system created ACR account to be used for the Registry' - properties: - acrAccountName: - description: 'AcrAccountName: Name of the ACR account' + parameters: + description: |- + Storage version of v1api20230501.HeaderActionParameters_STATUS + Defines the parameters for the request header action. + properties: + $propertyBag: + additionalProperties: type: string - acrAccountSku: - description: 'AcrAccountSku: SKU of the ACR account' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + headerAction: + type: string + headerName: + type: string + typeName: + type: string + value: + type: string + type: object + type: object + originGroupOverride: + description: Storage version of v1api20230501.OriginGroupOverrideAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.OriginGroupOverrideActionParameters_STATUS + Defines the parameters for the origin group override action. + properties: + $propertyBag: + additionalProperties: type: string - armResourceId: - description: 'ArmResourceId: This is populated once the ACR account is created.' - properties: - resourceId: - description: |- - ResourceId: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - userCreatedAcrAccount: - description: 'UserCreatedAcrAccount: Details of user created ACR account to be used for the Registry' - properties: - armResourceId: - description: 'ArmResourceId: ARM ResourceId of a resource' - properties: - resourceId: - description: |- - ResourceId: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + typeName: + type: string + type: object + type: object + routeConfigurationOverride: + description: Storage version of v1api20230501.DeliveryRuleRouteConfigurationOverrideAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RouteConfigurationOverrideActionParameters_STATUS + Defines the parameters for the route configuration override action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheConfiguration: + description: |- + Storage version of v1api20230501.CacheConfiguration_STATUS + Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - type: object - type: array - location: - description: 'Location: The location where the registry exists' - type: string - storageAccountDetails: - description: 'StorageAccountDetails: List of storage accounts' - items: - description: Details of storage account to be used for the Registry - properties: - systemCreatedStorageAccount: - description: 'SystemCreatedStorageAccount: Details of system created storage account to be used for the registry' - properties: - allowBlobPublicAccess: - description: 'AllowBlobPublicAccess: Public blob access allowed' - type: boolean - armResourceId: - description: 'ArmResourceId: This is populated once the storage account is created.' - properties: - resourceId: - description: |- - ResourceId: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + cacheBehavior: + type: string + cacheDuration: + type: string + isCompressionEnabled: + type: string + queryParameters: + type: string + queryStringCachingBehavior: + type: string + type: object + originGroupOverride: + description: |- + Storage version of v1api20230501.OriginGroupOverride_STATUS + Defines the parameters for the origin group override configuration. + properties: + $propertyBag: + additionalProperties: type: string - type: object - storageAccountHnsEnabled: - description: 'StorageAccountHnsEnabled: HNS enabled for storage account' - type: boolean - storageAccountName: - description: 'StorageAccountName: Name of the storage account' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + forwardingProtocol: + type: string + originGroup: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + typeName: + type: string + type: object + type: object + urlRedirect: + description: Storage version of v1api20230501.UrlRedirectAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlRedirectActionParameters_STATUS + Defines the parameters for the url redirect action. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customFragment: + type: string + customHostname: + type: string + customPath: + type: string + customQueryString: + type: string + destinationProtocol: + type: string + redirectType: + type: string + typeName: + type: string + type: object + type: object + urlRewrite: + description: Storage version of v1api20230501.UrlRewriteAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlRewriteActionParameters_STATUS + Defines the parameters for the url rewrite action. + properties: + $propertyBag: + additionalProperties: type: string - storageAccountType: - description: |- - StorageAccountType: Allowed values: - "Standard_LRS", - "Standard_GRS", - "Standard_RAGRS", - "Standard_ZRS", - "Standard_GZRS", - "Standard_RAGZRS", - "Premium_LRS", - "Premium_ZRS" + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destination: + type: string + preserveUnmatchedPath: + type: boolean + sourcePattern: + type: string + typeName: + type: string + type: object + type: object + urlSigning: + description: Storage version of v1api20230501.UrlSigningAction_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.UrlSigningActionParameters_STATUS + Defines the parameters for the Url Signing action. + properties: + $propertyBag: + additionalProperties: type: string - type: object - userCreatedStorageAccount: - description: 'UserCreatedStorageAccount: Details of user created storage account to be used for the registry' - properties: - armResourceId: - description: 'ArmResourceId: ARM ResourceId of a resource' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + algorithm: + type: string + parameterNameOverride: + items: + description: |- + Storage version of v1api20230501.UrlSigningParamIdentifier_STATUS + Defines how to identify a parameter for a specific purpose e.g. expires properties: - resourceId: + $propertyBag: + additionalProperties: + type: string description: |- - ResourceId: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paramIndicator: + type: string + paramName: type: string type: object - type: object - type: object - type: array + type: array + typeName: + type: string + type: object + type: object type: object type: array - registryPrivateEndpointConnections: - description: 'RegistryPrivateEndpointConnections: Private endpoint connections info used for pending connections in private link portal' + conditions: items: - description: Private endpoint connection definition. + description: Condition defines an extension to status (an observation) of a resource properties: - groupIds: - description: 'GroupIds: The group ids' - items: - type: string - type: array - id: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - Id: This is the private endpoint connection name created on SRP - Full resource id: - /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - location: - description: 'Location: Same as workspace location.' + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - privateEndpoint: - description: 'PrivateEndpoint: The PE network resource that is linked to this PE connection.' - properties: - id: - description: 'Id: The ARM identifier for Private Endpoint' - type: string - subnetArmId: - description: 'SubnetArmId: The subnetId that the private endpoint is connected to.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: One of null, "Succeeded", "Provisioning", "Failed". While not approved, it''s null.' + status: + description: Status of the condition, one of True, False, or Unknown. type: string - registryPrivateLinkServiceConnectionState: - description: 'RegistryPrivateLinkServiceConnectionState: The connection state.' - properties: - actionsRequired: - description: 'ActionsRequired: Some RP chose "None". Other RPs use this for region expansion.' - type: string - description: - description: 'Description: User-defined message that, per NRP doc, may be used for approval-related message.' - type: string - status: - description: 'Status: Connection status of the service consumer with the service provider' - type: string - type: object + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - sku: - description: 'Sku: Sku details required for ARM contract for Autoscaling.' - properties: - capacity: - description: |- - Capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible - for the resource this may be omitted. - type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' - type: string - name: - description: 'Name: The name of the SKU. Ex - P3. It is typically a letter+number code' - type: string - size: - description: |- - Size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone - code. - type: string - tier: - description: |- - Tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is - not required on a PUT. - type: string - type: object - systemData: - description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + deploymentStatus: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240401storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20240401.Registry - Generator information: - - Generated from: /machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/registries.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/registries/{registryName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20240401.Registry_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + id: type: string - discoveryUrl: + matchProcessingBehavior: type: string - identity: - description: |- - Storage version of v1api20240401.ManagedServiceIdentity - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: + name: + type: string + order: + type: integer + provisioningState: + type: string + ruleSetName: + type: string + ruleconditions: + items: + description: |- + Storage version of v1api20230501.DeliveryRuleCondition_STATUS + A condition for the delivery rule. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240401.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientPort: + description: Storage version of v1api20230501.DeliveryRuleClientPortCondition_STATUS properties: $propertyBag: additionalProperties: @@ -274614,409 +359473,362 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.ClientPortMatchConditionParameters_STATUS + Defines the parameters for ClientPort match conditions properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - group: - description: Group is the Kubernetes group of the resource. + transforms: + items: + type: string + type: array + typeName: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + type: object + cookies: + description: Storage version of v1api20230501.DeliveryRuleCookiesCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.CookiesMatchConditionParameters_STATUS + Defines the parameters for Cookies match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - name: - description: Name is the Kubernetes name of the resource. + selector: + type: string + transforms: + items: + type: string + type: array + typeName: type: string type: object type: object - type: array - type: object - intellectualPropertyPublisher: - type: string - kind: - type: string - location: - type: string - managedResourceGroup: - description: |- - Storage version of v1api20240401.ArmResourceId - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceReference: - description: |- - ResourceReference: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - mlFlowRegistryUri: - type: string - operatorSpec: - description: |- - Storage version of v1api20240401.RegistryOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + hostName: + description: Storage version of v1api20230501.DeliveryRuleHostNameCondition_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.HostNameMatchConditionParameters_STATUS + Defines the parameters for HostName match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - configMaps: - description: Storage version of v1api20240401.RegistryOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - discoveryUrl: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - mlFlowRegistryUri: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + httpVersion: + description: Storage version of v1api20230501.DeliveryRuleHttpVersionCondition_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.HttpVersionMatchConditionParameters_STATUS + Defines the parameters for HttpVersion match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - type: string - regionDetails: - items: - description: |- - Storage version of v1api20240401.RegistryRegionArmDetails - Details for each region the registry is in - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + isDevice: + description: Storage version of v1api20230501.DeliveryRuleIsDeviceCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.IsDeviceMatchConditionParameters_STATUS + Defines the parameters for IsDevice match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - acrDetails: - items: - description: |- - Storage version of v1api20240401.AcrDetails - Details of ACR account to be used for the Registry - properties: - $propertyBag: - additionalProperties: + postArgs: + description: Storage version of v1api20230501.DeliveryRulePostArgsCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.PostArgsMatchConditionParameters_STATUS + Defines the parameters for PostArgs match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - systemCreatedAcrAccount: - description: Storage version of v1api20240401.SystemCreatedAcrAccount - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - acrAccountName: + selector: + type: string + transforms: + items: type: string - acrAccountSku: + type: array + typeName: + type: string + type: object + type: object + queryString: + description: Storage version of v1api20230501.DeliveryRuleQueryStringCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.QueryStringMatchConditionParameters_STATUS + Defines the parameters for QueryString match conditions + properties: + $propertyBag: + additionalProperties: type: string - type: object - userCreatedAcrAccount: - description: Storage version of v1api20240401.UserCreatedAcrAccount - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - armResourceId: - description: |- - Storage version of v1api20240401.ArmResourceId - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceReference: - description: |- - ResourceReference: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: object - type: array - location: - type: string - storageAccountDetails: - items: - description: |- - Storage version of v1api20240401.StorageAccountDetails - Details of storage account to be used for the Registry - properties: - $propertyBag: - additionalProperties: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - systemCreatedStorageAccount: - description: Storage version of v1api20240401.SystemCreatedStorageAccount - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowBlobPublicAccess: - type: boolean - storageAccountHnsEnabled: - type: boolean - storageAccountName: + transforms: + items: type: string - storageAccountType: + type: array + typeName: + type: string + type: object + type: object + remoteAddress: + description: Storage version of v1api20230501.DeliveryRuleRemoteAddressCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RemoteAddressMatchConditionParameters_STATUS + Defines the parameters for RemoteAddress match conditions + properties: + $propertyBag: + additionalProperties: type: string - type: object - userCreatedStorageAccount: - description: Storage version of v1api20240401.UserCreatedStorageAccount - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - armResourceId: - description: |- - Storage version of v1api20240401.ArmResourceId - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceReference: - description: |- - ResourceReference: Arm ResourceId is in the format - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Storage/storageAccounts/{StorageAccountName}" - or - "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{AcrName}" - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: object - type: array - type: object - type: array - registryPrivateEndpointConnections: - items: - description: |- - Storage version of v1api20240401.RegistryPrivateEndpointConnection - Private endpoint connection definition. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - groupIds: - items: - type: string - type: array - location: - type: string - privateEndpoint: - description: |- - Storage version of v1api20240401.PrivateEndpointResource - The PE network resource that is linked to this PE connection. + requestBody: + description: Storage version of v1api20230501.DeliveryRuleRequestBodyCondition_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestBodyMatchConditionParameters_STATUS + Defines the parameters for RequestBody match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object + type: object + requestHeader: + description: Storage version of v1api20230501.DeliveryRuleRequestHeaderCondition_STATUS properties: $propertyBag: additionalProperties: @@ -275025,56 +359837,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - subnetArmReference: - description: 'SubnetArmReference: The subnetId that the private endpoint is connected to.' + name: + type: string + parameters: + description: |- + Storage version of v1api20230501.RequestHeaderMatchConditionParameters_STATUS + Defines the parameters for RequestHeader match conditions properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + selector: type: string - name: - description: Name is the Kubernetes name of the resource. + transforms: + items: + type: string + type: array + typeName: type: string type: object type: object - provisioningState: - type: string - reference: - description: |- - Reference: This is the private endpoint connection name created on SRP - Full resource id: - /subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.MachineLearningServices/{resourceType}/{resourceName}/registryPrivateEndpointConnections/{peConnectionName} + requestMethod: + description: Storage version of v1api20230501.DeliveryRuleRequestMethodCondition_STATUS properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: Name is the Kubernetes name of the resource. type: string + parameters: + description: |- + Storage version of v1api20230501.RequestMethodMatchConditionParameters_STATUS + Defines the parameters for RequestMethod match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - registryPrivateLinkServiceConnectionState: - description: |- - Storage version of v1api20240401.RegistryPrivateLinkServiceConnectionState - The connection state. + requestScheme: + description: Storage version of v1api20230501.DeliveryRuleRequestSchemeCondition_STATUS properties: $propertyBag: additionalProperties: @@ -275083,125 +359919,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionsRequired: - type: string - description: - type: string - status: + name: type: string + parameters: + description: |- + Storage version of v1api20230501.RequestSchemeMatchConditionParameters_STATUS + Defines the parameters for RequestScheme match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: object - type: array - sku: - description: |- - Storage version of v1api20240401.Sku - The resource model definition representing SKU - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20240401.RegistryTrackedResource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - discoveryUrl: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20240401.ManagedServiceIdentity_STATUS - Managed service identity (system assigned and/or user assigned identities) - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20240401.UserAssignedIdentity_STATUS - User assigned identity properties + requestUri: + description: Storage version of v1api20230501.DeliveryRuleRequestUriCondition_STATUS properties: $propertyBag: additionalProperties: @@ -275210,228 +359959,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - clientId: - type: string - principalId: + name: type: string - type: object - type: object - type: object - intellectualPropertyPublisher: - type: string - kind: - type: string - location: - type: string - managedResourceGroup: - description: |- - Storage version of v1api20240401.ArmResourceId_STATUS - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceId: - type: string - type: object - mlFlowRegistryUri: - type: string - name: - type: string - publicNetworkAccess: - type: string - regionDetails: - items: - description: |- - Storage version of v1api20240401.RegistryRegionArmDetails_STATUS - Details for each region the registry is in - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - acrDetails: - items: - description: |- - Storage version of v1api20240401.AcrDetails_STATUS - Details of ACR account to be used for the Registry - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - systemCreatedAcrAccount: - description: Storage version of v1api20240401.SystemCreatedAcrAccount_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - acrAccountName: + parameters: + description: |- + Storage version of v1api20230501.RequestUriMatchConditionParameters_STATUS + Defines the parameters for RequestUri match conditions + properties: + $propertyBag: + additionalProperties: type: string - acrAccountSku: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: type: string - armResourceId: - description: |- - Storage version of v1api20240401.ArmResourceId_STATUS - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceId: - type: string - type: object - type: object - userCreatedAcrAccount: - description: Storage version of v1api20240401.UserCreatedAcrAccount_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - armResourceId: - description: |- - Storage version of v1api20240401.ArmResourceId_STATUS - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceId: - type: string - type: object - type: object - type: object - type: array - location: - type: string - storageAccountDetails: - items: - description: |- - Storage version of v1api20240401.StorageAccountDetails_STATUS - Details of storage account to be used for the Registry - properties: - $propertyBag: - additionalProperties: + type: array + negateCondition: + type: boolean + operator: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - systemCreatedStorageAccount: - description: Storage version of v1api20240401.SystemCreatedStorageAccount_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowBlobPublicAccess: - type: boolean - armResourceId: - description: |- - Storage version of v1api20240401.ArmResourceId_STATUS - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceId: - type: string - type: object - storageAccountHnsEnabled: - type: boolean - storageAccountName: - type: string - storageAccountType: + transforms: + items: type: string - type: object - userCreatedStorageAccount: - description: Storage version of v1api20240401.UserCreatedStorageAccount_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - armResourceId: - description: |- - Storage version of v1api20240401.ArmResourceId_STATUS - ARM ResourceId of a resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resourceId: - type: string - type: object - type: object - type: object - type: array - type: object - type: array - registryPrivateEndpointConnections: - items: - description: |- - Storage version of v1api20240401.RegistryPrivateEndpointConnection_STATUS - Private endpoint connection definition. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: array + typeName: + type: string + type: object type: object - groupIds: - items: - type: string - type: array - id: - type: string - location: - type: string - privateEndpoint: - description: |- - Storage version of v1api20240401.PrivateEndpointResource_STATUS - The PE network resource that is linked to this PE connection. + serverPort: + description: Storage version of v1api20230501.DeliveryRuleServerPortCondition_STATUS properties: $propertyBag: additionalProperties: @@ -275440,17 +359999,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string - subnetArmId: + name: type: string + parameters: + description: |- + Storage version of v1api20230501.ServerPortMatchConditionParameters_STATUS + Defines the parameters for ServerPort match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - provisioningState: - type: string - registryPrivateLinkServiceConnectionState: - description: |- - Storage version of v1api20240401.RegistryPrivateLinkServiceConnectionState_STATUS - The connection state. + socketAddr: + description: Storage version of v1api20230501.DeliveryRuleSocketAddrCondition_STATUS properties: $propertyBag: additionalProperties: @@ -275459,521 +360039,202 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionsRequired: - type: string - description: - type: string - status: + name: type: string + parameters: + description: |- + Storage version of v1api20230501.SocketAddrMatchConditionParameters_STATUS + Defines the parameters for SocketAddress match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: object - type: array - sku: - description: |- - Storage version of v1api20240401.Sku_STATUS - The resource model definition representing SKU - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: - type: string - type: object - systemData: - description: |- - Storage version of v1api20240401.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: resourcegroups.resources.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: resources.azure.com - names: - kind: ResourceGroup - listKind: ResourceGroupList - plural: resourcegroups - singular: resourcegroup - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20200601 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json - - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 90 - minLength: 1 - type: string - location: - description: |- - Location: The location of the resource group. It cannot be changed after the resource group has been created. It must be - one of the supported Azure locations. - type: string - managedBy: - description: 'ManagedBy: The ID of the resource that manages this resource group.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + sslProtocol: + description: Storage version of v1api20230501.DeliveryRuleSslProtocolCondition_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.SslProtocolMatchConditionParameters_STATUS + Defines the parameters for SslProtocol match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlFileExtension: + description: Storage version of v1api20230501.DeliveryRuleUrlFileExtensionCondition_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.UrlFileExtensionMatchConditionParameters_STATUS + Defines the parameters for UrlFileExtension match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - tags: - additionalProperties: - type: string - description: 'Tags: The tags attached to the resource group.' - type: object - required: - - location - type: object - status: - description: Resource group information. - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: 'Id: The ID of the resource group.' - type: string - location: - description: |- - Location: The location of the resource group. It cannot be changed after the resource group has been created. It must be - one of the supported Azure locations. - type: string - managedBy: - description: 'ManagedBy: The ID of the resource that manages this resource group.' - type: string - name: - description: 'Name: The name of the resource group.' - type: string - properties: - description: 'Properties: The resource group properties.' - properties: - provisioningState: - description: 'ProvisioningState: The provisioning state.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: The tags attached to the resource group.' - type: object - type: - description: 'Type: The type of the resource group.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20200601storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20200601.ResourceGroup - Generator information: - - Generated from: /resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json - - ARM URI: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20200601.ResourceGroup_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - location: - type: string - managedBy: - type: string - operatorSpec: - description: |- - Storage version of v1api20200601.ResourceGroupOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlFileName: + description: Storage version of v1api20230501.DeliveryRuleUrlFileNameCondition_STATUS properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - required: - - name - - value + parameters: + description: |- + Storage version of v1api20230501.UrlFileNameMatchConditionParameters_STATUS + Defines the parameters for UrlFilename match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + urlPath: + description: Storage version of v1api20230501.DeliveryRuleUrlPathCondition_STATUS properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + parameters: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value + Storage version of v1api20230501.UrlPathMatchConditionParameters_STATUS + Defines the parameters for UrlPath match conditions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + matchValues: + items: + type: string + type: array + negateCondition: + type: boolean + operator: + type: string + transforms: + items: + type: string + type: array + typeName: + type: string + type: object type: object - type: array - type: object - originalVersion: - type: string - tags: - additionalProperties: - type: string - type: object - type: object - status: - description: |- - Storage version of v1api20200601.ResourceGroup_STATUS - Resource group information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - type: string - location: - type: string - managedBy: - type: string - name: - type: string - properties: + systemData: description: |- - Storage version of v1api20200601.ResourceGroupProperties_STATUS - The resource group properties. + Storage version of v1api20230501.SystemData_STATUS + Read only system data properties: $propertyBag: additionalProperties: @@ -275982,12 +360243,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - provisioningState: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - type: object - tags: - additionalProperties: - type: string type: object type: type: string @@ -276003,11 +360270,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: roleassignments.authorization.azure.com + app.kubernetes.io/version: v2.15.0 + name: rulesets.cdn.azure.com spec: conversion: strategy: Webhook @@ -276020,12 +360287,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: authorization.azure.com + group: cdn.azure.com names: - kind: RoleAssignment - listKind: RoleAssignmentList - plural: roleassignments - singular: roleassignment + categories: + - azure + - cdn + kind: RuleSet + listKind: RuleSetList + plural: rulesets + singular: ruleset preserveUnknownFields: false scope: Namespaced versions: @@ -276042,13 +360312,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200801preview + name: v1api20230501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json - - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} properties: apiVersion: description: |- @@ -276074,38 +360344,6 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - condition: - description: |- - Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: - @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase - 'foo_storage_container' - type: string - conditionVersion: - description: 'ConditionVersion: Version of the condition. Currently accepted value is ''2.0''' - type: string - delegatedManagedIdentityResourceReference: - description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - description: - description: 'Description: Description of role assignment' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -276141,14 +360379,6 @@ spec: - value type: object type: array - namingConvention: - description: |- - NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or - 'random'. - enum: - - random - - stable - type: string secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -276183,85 +360413,21 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - principalId: - description: 'PrincipalId: The principal ID.' - type: string - principalIdFromConfig: - description: 'PrincipalIdFromConfig: The principal ID.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - principalType: - description: 'PrincipalType: The principal type of the assigned principal ID.' - enum: - - ForeignGroup - - Group - - ServicePrincipal - - User - type: string - roleDefinitionReference: - description: 'RoleDefinitionReference: The role definition ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object required: - owner - - roleDefinitionReference type: object status: - description: Role Assignments properties: - condition: - description: |- - Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: - @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase - 'foo_storage_container' - type: string - conditionVersion: - description: 'ConditionVersion: Version of the condition. Currently accepted value is ''2.0''' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -276306,678 +360472,44 @@ spec: - type type: object type: array - createdBy: - description: 'CreatedBy: Id of the user who created the assignment' - type: string - createdOn: - description: 'CreatedOn: Time it was created' - type: string - delegatedManagedIdentityResourceId: - description: 'DelegatedManagedIdentityResourceId: Id of the delegated managed identity resource' - type: string - description: - description: 'Description: Description of role assignment' - type: string - id: - description: 'Id: The role assignment ID.' - type: string - name: - description: 'Name: The role assignment name.' - type: string - principalId: - description: 'PrincipalId: The principal ID.' - type: string - principalType: - description: 'PrincipalType: The principal type of the assigned principal ID.' - type: string - roleDefinitionId: - description: 'RoleDefinitionId: The role definition ID.' - type: string - scope: - description: 'Scope: The role assignment scope.' - type: string - type: - description: 'Type: The role assignment type.' - type: string - updatedBy: - description: 'UpdatedBy: Id of the user who updated the assignment' - type: string - updatedOn: - description: 'UpdatedOn: Time it was updated' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20200801previewstorage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20200801preview.RoleAssignment - Generator information: - - Generated from: /authorization/resource-manager/Microsoft.Authorization/preview/2020-08-01-preview/authorization-RoleAssignmentsCalls.json - - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20200801preview.RoleAssignment_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - condition: - type: string - conditionVersion: - type: string - delegatedManagedIdentityResourceReference: - description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - description: - type: string - operatorSpec: - description: |- - Storage version of v1api20200801preview.RoleAssignmentOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - namingConvention: - type: string - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. - properties: - armId: - description: Ownership across namespaces is not supported. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - principalId: - type: string - principalIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - principalType: - type: string - roleDefinitionReference: - description: 'RoleDefinitionReference: The role definition ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - owner - - roleDefinitionReference - type: object - status: - description: |- - Storage version of v1api20200801preview.RoleAssignment_STATUS - Role Assignments - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - condition: - type: string - conditionVersion: - type: string - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createdBy: - type: string - createdOn: - type: string - delegatedManagedIdentityResourceId: - type: string - description: + deploymentStatus: type: string id: + description: 'Id: Resource ID.' type: string name: + description: 'Name: Resource name.' type: string - principalId: - type: string - principalType: - type: string - roleDefinitionId: - type: string - scope: - type: string - type: - type: string - updatedBy: - type: string - updatedOn: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220401 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleAssignmentsCalls.json - - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - condition: - description: |- - Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: - @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase - 'foo_storage_container' - type: string - conditionVersion: - description: 'ConditionVersion: Version of the condition. Currently the only accepted value is ''2.0''' - type: string - delegatedManagedIdentityResourceReference: - description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - description: - description: 'Description: Description of role assignment' + profileName: + description: 'ProfileName: The name of the profile which holds the rule set.' type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - namingConvention: - description: |- - NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or - 'random'. - enum: - - random - - stable - type: string - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. - properties: - armId: - description: Ownership across namespaces is not supported. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - principalId: - description: 'PrincipalId: The principal ID.' + provisioningState: + description: 'ProvisioningState: Provisioning status' type: string - principalIdFromConfig: - description: 'PrincipalIdFromConfig: The principal ID.' + systemData: + description: 'SystemData: Read only system data' properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' type: string - required: - - key - - name - type: object - principalType: - description: 'PrincipalType: The principal type of the assigned principal ID.' - enum: - - Device - - ForeignGroup - - Group - - ServicePrincipal - - User - type: string - roleDefinitionReference: - description: 'RoleDefinitionReference: The role definition ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + createdByType: + description: 'CreatedByType: The type of identity that created the resource' type: string - group: - description: Group is the Kubernetes group of the resource. + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' type: string - name: - description: Name is the Kubernetes name of the resource. + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' type: string type: object - required: - - owner - - roleDefinitionReference - type: object - status: - description: Role Assignments - properties: - condition: - description: |- - Condition: The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: - @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase - 'foo_storage_container' - type: string - conditionVersion: - description: 'ConditionVersion: Version of the condition. Currently the only accepted value is ''2.0''' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createdBy: - description: 'CreatedBy: Id of the user who created the assignment' - type: string - createdOn: - description: 'CreatedOn: Time it was created' - type: string - delegatedManagedIdentityResourceId: - description: 'DelegatedManagedIdentityResourceId: Id of the delegated managed identity resource' - type: string - description: - description: 'Description: Description of role assignment' - type: string - id: - description: 'Id: The role assignment ID.' - type: string - name: - description: 'Name: The role assignment name.' - type: string - principalId: - description: 'PrincipalId: The principal ID.' - type: string - principalType: - description: 'PrincipalType: The principal type of the assigned principal ID.' - type: string - roleDefinitionId: - description: 'RoleDefinitionId: The role definition ID.' - type: string - scope: - description: 'Scope: The role assignment scope.' - type: string type: - description: 'Type: The role assignment type.' - type: string - updatedBy: - description: 'UpdatedBy: Id of the user who updated the assignment' - type: string - updatedOn: - description: 'UpdatedOn: Time it was updated' + description: 'Type: Resource type.' type: string type: object type: object @@ -276998,14 +360530,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220401storage + name: v1api20230501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220401.RoleAssignment + Storage version of v1api20230501.RuleSet Generator information: - - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleAssignmentsCalls.json - - ARM URI: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} properties: apiVersion: description: |- @@ -277025,7 +360557,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220401.RoleAssignment_Spec + description: Storage version of v1api20230501.RuleSet_Spec properties: $propertyBag: additionalProperties: @@ -277035,39 +360567,13 @@ spec: resources, allowing for full fidelity round trip conversions type: object azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - condition: - type: string - conditionVersion: - type: string - delegatedManagedIdentityResourceReference: - description: 'DelegatedManagedIdentityResourceReference: Id of the delegated managed identity resource' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - description: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- - Storage version of v1api20220401.RoleAssignmentOperatorSpec + Storage version of v1api20230501.RuleSetOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -277106,8 +360612,6 @@ spec: - value type: object type: array - namingConvention: - type: string secretExpressions: items: description: |- @@ -277143,72 +360647,21 @@ spec: owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - principalId: - type: string - principalIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - principalType: - type: string - roleDefinitionReference: - description: 'RoleDefinitionReference: The role definition ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object required: - owner - - roleDefinitionReference type: object status: - description: |- - Storage version of v1api20220401.RoleAssignment_STATUS - Role Assignments + description: Storage version of v1api20230501.RuleSet_STATUS properties: $propertyBag: additionalProperties: @@ -277217,10 +360670,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - condition: - type: string - conditionVersion: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -277264,32 +360713,43 @@ spec: - type type: object type: array - createdBy: - type: string - createdOn: - type: string - delegatedManagedIdentityResourceId: - type: string - description: + deploymentStatus: type: string id: type: string name: type: string - principalId: - type: string - principalType: - type: string - roleDefinitionId: + profileName: type: string - scope: + provisioningState: type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object type: type: string - updatedBy: - type: string - updatedOn: - type: string type: object type: object served: true @@ -277302,11 +360762,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: roledefinitions.authorization.azure.com + app.kubernetes.io/version: v2.15.0 + name: scheduledqueryrules.insights.azure.com spec: conversion: strategy: Webhook @@ -277319,12 +360779,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: authorization.azure.com + group: insights.azure.com names: - kind: RoleDefinition - listKind: RoleDefinitionList - plural: roledefinitions - singular: roledefinition + categories: + - azure + - insights + kind: ScheduledQueryRule + listKind: ScheduledQueryRuleList + plural: scheduledqueryrules + singular: scheduledqueryrule preserveUnknownFields: false scope: Namespaced versions: @@ -277341,13 +360804,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220401 + name: v1api20220615 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleDefinitionsCalls.json - - ARM URI: /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-06-15/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} properties: apiVersion: description: |- @@ -277368,36 +360831,187 @@ spec: type: object spec: properties: - assignableScopesReferences: - description: 'AssignableScopesReferences: Role definition assignable scopes.' - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + actions: + description: 'Actions: Actions to invoke when the alert fires.' + properties: + actionGroupsReferences: + description: 'ActionGroupsReferences: Action Group resource Ids to invoke when the alert fires.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + customProperties: + additionalProperties: type: string - type: object - type: array + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + pattern: ^[^#<>%&:\?/{}*]{1,260}$ type: string + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + enum: + - Exclude + - Include + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + enum: + - Equals + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for rules of the kind + LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + type: object + type: array + type: object description: - description: 'Description: The role definition description.' + description: 'Description: The description of the scheduled query rule.' + type: string + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + evaluationFrequency: + description: |- + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. + type: string + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + enum: + - LogAlert + - LogToMetric + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. type: string operatorSpec: description: |- @@ -277434,14 +361048,6 @@ spec: - value type: object type: array - namingConvention: - description: |- - NamingConvention: The uuid generation technique to use for any role without an explicit AzureName. One of 'stable' or - 'random'. - enum: - - random - - stable - type: string secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -277473,70 +361079,112 @@ spec: type: object type: array type: object + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - permissions: - description: 'Permissions: Role definition permissions.' + scopesReferences: + description: 'ScopesReferences: The list of resource id''s that this scheduled query rule is scoped to.' items: - description: Role definition permissions. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - actions: - description: 'Actions: Allowed actions.' - items: - type: string - type: array - dataActions: - description: 'DataActions: Allowed Data actions.' - items: - type: string - type: array - notActions: - description: 'NotActions: Denied actions.' - items: - type: string - type: array - notDataActions: - description: 'NotDataActions: Denied Data actions.' - items: - type: string - type: array + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: array - roleName: - description: 'RoleName: The role name.' - type: string - type: - description: 'Type: The role type.' + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string + type: array + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. type: string required: + - location - owner type: object status: - description: Role definition. properties: - assignableScopes: - description: 'AssignableScopes: Role definition assignable scopes.' - items: - type: string - type: array + actions: + description: 'Actions: Actions to invoke when the alert fires.' + properties: + actionGroups: + description: 'ActionGroups: Action Group resource Ids to invoke when the alert fires.' + items: + type: string + type: array + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -277581,62 +361229,190 @@ spec: - type type: object type: array - createdBy: - description: 'CreatedBy: Id of the user who created the assignment' - type: string - createdOn: - description: 'CreatedOn: Time it was created' + createdWithApiVersion: + description: 'CreatedWithApiVersion: The api-version used when creating this alert rule' type: string + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumn: + description: |- + ResourceIdColumn: The column containing the resource id. The content of the column must be a uri formatted as resource + id. Relevant only for rules of the kind LogAlert. + type: string + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for rules of the kind + LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + type: string + type: object + type: array + type: object description: - description: 'Description: The role definition description.' + description: 'Description: The description of the scheduled query rule.' + type: string + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + etag: + description: |- + Etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per + the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. + HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and + If-Range (section 14.27) header fields. + type: string + evaluationFrequency: + description: |- + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. type: string id: - description: 'Id: The role definition ID.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + isLegacyLogAnalyticsRule: + description: 'IsLegacyLogAnalyticsRule: True if alert rule is legacy Log Analytic rule' + type: boolean + isWorkspaceAlertsStorageConfigured: + description: |- + IsWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule has been configured to be + stored in the customer's storage. The default is false. + type: boolean + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. type: string name: - description: 'Name: The role definition name.' + description: 'Name: The name of the resource' type: string - permissions: - description: 'Permissions: Role definition permissions.' + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string + scopes: + description: 'Scopes: The list of resource id''s that this scheduled query rule is scoped to.' items: - description: Role definition permissions. - properties: - actions: - description: 'Actions: Allowed actions.' - items: - type: string - type: array - dataActions: - description: 'DataActions: Allowed Data actions.' - items: - type: string - type: array - notActions: - description: 'NotActions: Denied actions.' - items: - type: string - type: array - notDataActions: - description: 'NotDataActions: Denied Data actions.' - items: - type: string - type: array - type: object + type: string + type: array + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + systemData: + description: 'SystemData: SystemData of ScheduledQueryRule.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string type: array - properties_type: - description: 'PropertiesType: The role type.' - type: string - roleName: - description: 'RoleName: The role name.' - type: string type: - description: 'Type: The role definition type.' - type: string - updatedBy: - description: 'UpdatedBy: Id of the user who updated the assignment' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string - updatedOn: - description: 'UpdatedOn: Time it was updated' + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. type: string type: object type: object @@ -277657,14 +361433,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220401storage + name: v1api20220615storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220401.RoleDefinition + Storage version of v1api20220615.ScheduledQueryRule Generator information: - - Generated from: /authorization/resource-manager/Microsoft.Authorization/stable/2022-04-01/authorization-RoleDefinitionsCalls.json - - ARM URI: /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} + - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-06-15/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} properties: apiVersion: description: |- @@ -277684,7 +361460,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220401.RoleDefinition_Spec + description: Storage version of v1api20220615.ScheduledQueryRule_Spec properties: $propertyBag: additionalProperties: @@ -277693,38 +361469,171 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - assignableScopesReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + actions: + description: |- + Storage version of v1api20220615.Actions + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: type: string - name: - description: Name is the Kubernetes name of the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + customProperties: + additionalProperties: type: string - type: object - type: array + type: object + type: object + autoMitigate: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + checkWorkspaceAlertsStorageConfigured: + type: boolean + criteria: + description: |- + Storage version of v1api20220615.ScheduledQueryRuleCriteria + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20220615.Condition + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20220615.Dimension + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20220615.Condition_FailingPeriods + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object description: type: string + displayName: + type: string + enabled: + type: boolean + evaluationFrequency: + type: string + kind: + type: string + location: + type: string + muteActionsDuration: + type: string operatorSpec: description: |- - Storage version of v1api20220401.RoleDefinitionOperatorSpec + Storage version of v1api20220615.ScheduledQueryRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -277763,8 +361672,6 @@ spec: - value type: object type: array - namingConvention: - type: string secretExpressions: items: description: |- @@ -277797,68 +361704,62 @@ spec: type: object originalVersion: type: string + overrideQueryTimeRange: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. This resource is an - extension resource, which means that any other Azure resource can be its owner. + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: Ownership across namespaces is not supported. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: description: This is the name of the Kubernetes resource to reference. type: string type: object - permissions: + scopesReferences: items: - description: |- - Storage version of v1api20220401.Permission - Role definition permissions. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actions: - items: - type: string - type: array - dataActions: - items: - type: string - type: array - notActions: - items: - type: string - type: array - notDataActions: - items: - type: string - type: array + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: array - roleName: - type: string - type: + severity: + type: integer + skipQueryValidation: + type: boolean + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string + type: array + windowSize: type: string required: - owner type: object status: - description: |- - Storage version of v1api20220401.RoleDefinition_STATUS - Role definition. + description: Storage version of v1api20220615.ScheduledQueryRule_STATUS properties: $propertyBag: additionalProperties: @@ -277867,10 +361768,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - assignableScopes: - items: - type: string - type: array + actions: + description: |- + Storage version of v1api20220615.Actions_STATUS + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + items: + type: string + type: array + customProperties: + additionalProperties: + type: string + type: object + type: object + autoMitigate: + type: boolean + checkWorkspaceAlertsStorageConfigured: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -277914,56 +361836,158 @@ spec: - type type: object type: array - createdBy: + createdWithApiVersion: + type: string + criteria: + description: |- + Storage version of v1api20220615.ScheduledQueryRuleCriteria_STATUS + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: + description: |- + Storage version of v1api20220615.Condition_STATUS + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dimensions: + items: + description: |- + Storage version of v1api20220615.Dimension_STATUS + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20220615.Condition_FailingPeriods_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumn: + type: string + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object + description: type: string - createdOn: + displayName: type: string - description: + enabled: + type: boolean + etag: + type: string + evaluationFrequency: type: string id: type: string + isLegacyLogAnalyticsRule: + type: boolean + isWorkspaceAlertsStorageConfigured: + type: boolean + kind: + type: string + location: + type: string + muteActionsDuration: + type: string name: type: string - permissions: + overrideQueryTimeRange: + type: string + scopes: items: - description: |- - Storage version of v1api20220401.Permission_STATUS - Role definition permissions. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actions: - items: - type: string - type: array - dataActions: - items: - type: string - type: array - notActions: - items: - type: string - type: array - notDataActions: - items: - type: string - type: array - type: object + type: string + type: array + severity: + type: integer + skipQueryValidation: + type: boolean + systemData: + description: |- + Storage version of v1api20220615.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string type: array - properties_type: - type: string - roleName: - type: string type: type: string - updatedBy: - type: string - updatedOn: + windowSize: type: string type: object type: object @@ -277971,38 +361995,6 @@ spec: storage: true subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: routes.cdn.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: cdn.azure.com - names: - kind: Route - listKind: RouteList - plural: routes - singular: route - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -278016,13 +362008,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20240101preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2024-01-01-preview/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} properties: apiVersion: description: |- @@ -278043,53 +362035,13 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - cacheConfiguration: - description: |- - CacheConfiguration: The caching configuration for this route. To disable caching, do not provide a cacheConfiguration - object. + actions: + description: 'Actions: Actions to invoke when the alert fires.' properties: - compressionSettings: - description: 'CompressionSettings: compression settings.' - properties: - contentTypesToCompress: - description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' - items: - type: string - type: array - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If - compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be - compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. - type: boolean - type: object - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringCachingBehavior: - description: |- - QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query - strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query - strings. - enum: - - IgnoreQueryString - - IgnoreSpecifiedQueryStrings - - IncludeSpecifiedQueryStrings - - UseQueryString - type: string - type: object - customDomains: - description: 'CustomDomains: Domains referenced by this endpoint.' - items: - description: Reference to another resource along with its state. - properties: - reference: - description: 'Reference: Resource ID.' + actionGroupsReferences: + description: 'ActionGroupsReferences: Action Group resource Ids to invoke when the alert fires.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: armId: description: |- @@ -278108,34 +362060,229 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - type: object - type: array - enabledState: - description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' - enum: - - Disabled - - Enabled + type: array + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action properties.' + type: object + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' + type: object + type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + pattern: ^[^#<>%&:\?/{}*]{1,260}$ type: string - forwardingProtocol: - description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' - enum: - - HttpOnly - - HttpsOnly - - MatchRequest + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. Allowed values are 'Low', 'Medium' and 'High'. + This will affect how tight the threshold is to the metric series pattern. Relevant and required only for dynamic + threshold rules of the kind LogAlert. + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + enum: + - DynamicThresholdCriterion + - StaticThresholdCriterion + type: string + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + enum: + - Exclude + - Include + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + required: + - name + - operator + - values + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format). Relevant only for dynamic threshold rules of the kind LogAlert. + type: string + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + enum: + - Equals + - GreaterOrLessThan + - GreaterThan + - GreaterThanOrEqual + - LessThan + - LessThanOrEqual + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for static threshold rules + of the kind LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + enum: + - Average + - Count + - Maximum + - Minimum + - Total + type: string + type: object + type: array + type: object + description: + description: 'Description: The description of the scheduled query rule.' type: string - httpsRedirect: + displayName: + description: 'DisplayName: The display name of the alert rule' + type: string + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + evaluationFrequency: description: |- - HttpsRedirect: Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up - this rule and it will be the first rule that gets executed. - enum: - - Disabled - - Enabled + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. type: string - linkToDefaultDomain: - description: 'LinkToDefaultDomain: whether this route will be linked to the default endpoint domain.' + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' enum: - - Disabled - - Enabled + - EventLogAlert + - LogAlert + - LogToMetric + type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. type: string operatorSpec: description: |- @@ -278203,40 +362350,16 @@ spec: type: object type: array type: object - originGroup: - description: 'OriginGroup: A reference to the origin group.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - originPath: + overrideQueryTimeRange: description: |- - OriginPath: A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. - contoso.cloudapp.net/originpath. + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/AfdEndpoint resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -278245,82 +362368,111 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - patternsToMatch: - description: 'PatternsToMatch: The route patterns of the rule.' - items: - type: string - type: array - ruleSets: - description: 'RuleSets: rule sets referenced by this endpoint.' + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Relevant only for rules of the kind LogAlert.' + properties: + autoResolved: + description: 'AutoResolved: The flag that indicates whether or not to auto resolve a fired alert.' + type: boolean + timeToResolve: + description: |- + TimeToResolve: The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented + in ISO 8601 duration format. + type: string + type: object + scopesReferences: + description: 'ScopesReferences: The list of resource id''s that this scheduled query rule is scoped to.' items: - description: Reference to another resource. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: array - supportedProtocols: - description: 'SupportedProtocols: List of supported protocols for this route.' + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert items: - description: Supported protocols for the customer's endpoint. - enum: - - Http - - Https type: string type: array + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. + type: string required: + - location - owner type: object status: properties: - cacheConfiguration: - description: |- - CacheConfiguration: The caching configuration for this route. To disable caching, do not provide a cacheConfiguration - object. + actions: + description: 'Actions: Actions to invoke when the alert fires.' properties: - compressionSettings: - description: 'CompressionSettings: compression settings.' - properties: - contentTypesToCompress: - description: 'ContentTypesToCompress: List of content types on which compression applies. The value should be a valid MIME type.' - items: - type: string - type: array - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If - compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be - compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB. - type: boolean + actionGroups: + description: 'ActionGroups: Action Group resource Ids to invoke when the alert fires.' + items: + type: string + type: array + actionProperties: + additionalProperties: + type: string + description: 'ActionProperties: The properties of an action properties.' + type: object + customProperties: + additionalProperties: + type: string + description: 'CustomProperties: The properties of an alert payload.' type: object - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringCachingBehavior: - description: |- - QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query - strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query - strings. - type: string type: object + autoMitigate: + description: |- + AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. + Relevant only for rules of the kind LogAlert. + type: boolean + checkWorkspaceAlertsStorageConfigured: + description: |- + CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in + the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -278365,101 +362517,245 @@ spec: - type type: object type: array - customDomains: - description: 'CustomDomains: Domains referenced by this endpoint.' - items: - description: Reference to another resource along with its state. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - deploymentStatus: + createdWithApiVersion: + description: 'CreatedWithApiVersion: The api-version used when creating this alert rule' type: string - enabledState: - description: 'EnabledState: Whether to enable use of this rule. Permitted values are ''Enabled'' or ''Disabled''' + criteria: + description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + properties: + allOf: + description: 'AllOf: A list of conditions to evaluate against the specified scopes' + items: + description: A condition of the scheduled query rule. + properties: + alertSensitivity: + description: |- + AlertSensitivity: The extent of deviation required to trigger an alert. Allowed values are 'Low', 'Medium' and 'High'. + This will affect how tight the threshold is to the metric series pattern. Relevant and required only for dynamic + threshold rules of the kind LogAlert. + type: string + criterionType: + description: 'CriterionType: Specifies the type of threshold criteria' + type: string + dimensions: + description: 'Dimensions: List of Dimensions conditions' + items: + description: Dimension splitting and filtering definition + properties: + name: + description: 'Name: Name of the dimension' + type: string + operator: + description: 'Operator: Operator for dimension values' + type: string + values: + description: 'Values: List of dimension values' + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: |- + FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an + alert. Relevant only for rules of the kind LogAlert. + properties: + minFailingPeriodsToAlert: + description: |- + MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to + numberOfEvaluationPeriods. Default value is 1 + type: integer + numberOfEvaluationPeriods: + description: |- + NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the + aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 + type: integer + type: object + ignoreDataBefore: + description: |- + IgnoreDataBefore: Use this option to set the date from which to start learning the metric historical data and calculate + the dynamic thresholds (in ISO8601 format). Relevant only for dynamic threshold rules of the kind LogAlert. + type: string + metricMeasureColumn: + description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + type: string + metricName: + description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + type: string + operator: + description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' + type: string + query: + description: 'Query: Log query alert' + type: string + resourceIdColumn: + description: |- + ResourceIdColumn: The column containing the resource id. The content of the column must be a uri formatted as resource + id. Relevant only for rules of the kind LogAlert. + type: string + threshold: + description: |- + Threshold: the criteria threshold value that activates the alert. Relevant and required only for static threshold rules + of the kind LogAlert. + type: number + timeAggregation: + description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' + type: string + type: object + type: array + type: object + description: + description: 'Description: The description of the scheduled query rule.' type: string - endpointName: - description: 'EndpointName: The name of the endpoint which holds the route.' + displayName: + description: 'DisplayName: The display name of the alert rule' type: string - forwardingProtocol: - description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' + enabled: + description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' + type: boolean + etag: + description: |- + Etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per + the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. + HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and + If-Range (section 14.27) header fields. type: string - httpsRedirect: + evaluationFrequency: description: |- - HttpsRedirect: Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up - this rule and it will be the first rule that gets executed. + EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant + and required only for rules of the kind LogAlert. type: string id: - description: 'Id: Resource ID.' - type: string - linkToDefaultDomain: - description: 'LinkToDefaultDomain: whether this route will be linked to the default endpoint domain.' - type: string - name: - description: 'Name: Resource name.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - originGroup: - description: 'OriginGroup: A reference to the origin group.' + identity: + description: 'Identity: The identity of the resource.' properties: - id: - description: 'Id: Resource ID.' + principalId: + description: 'PrincipalId: The principal ID of resource identity.' + type: string + tenantId: + description: 'TenantId: The tenant ID of resource.' + type: string + type: + description: 'Type: Type of managed service identity.' type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties. + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object type: object - originPath: + isLegacyLogAnalyticsRule: + description: 'IsLegacyLogAnalyticsRule: True if alert rule is legacy Log Analytic rule' + type: boolean + isWorkspaceAlertsStorageConfigured: description: |- - OriginPath: A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. - contoso.cloudapp.net/originpath. + IsWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule has been configured to be + stored in the customer's storage. The default is false. + type: boolean + kind: + description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' type: string - patternsToMatch: - description: 'PatternsToMatch: The route patterns of the rule.' - items: - type: string - type: array - provisioningState: - description: 'ProvisioningState: Provisioning status' + location: + description: 'Location: The geo-location where the resource lives' type: string - ruleSets: - description: 'RuleSets: rule sets referenced by this endpoint.' - items: - description: Reference to another resource. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - supportedProtocols: - description: 'SupportedProtocols: List of supported protocols for this route.' + muteActionsDuration: + description: |- + MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. + Relevant only for rules of the kind LogAlert. + type: string + name: + description: 'Name: The name of the resource' + type: string + overrideQueryTimeRange: + description: |- + OverrideQueryTimeRange: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + type: string + resolveConfiguration: + description: 'ResolveConfiguration: Defines the configuration for resolving fired alerts. Relevant only for rules of the kind LogAlert.' + properties: + autoResolved: + description: 'AutoResolved: The flag that indicates whether or not to auto resolve a fired alert.' + type: boolean + timeToResolve: + description: |- + TimeToResolve: The duration a rule must evaluate as healthy before the fired alert is automatically resolved represented + in ISO 8601 duration format. + type: string + type: object + scopes: + description: 'Scopes: The list of resource id''s that this scheduled query rule is scoped to.' items: - description: Supported protocols for the customer's endpoint. type: string type: array + severity: + description: |- + Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only + for rules of the kind LogAlert. + type: integer + skipQueryValidation: + description: |- + SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is + false. Relevant only for rules of the kind LogAlert. + type: boolean systemData: - description: 'SystemData: Read only system data' + description: 'SystemData: SystemData of ScheduledQueryRule.' properties: createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: - description: 'CreatedByType: The type of identity that created the resource' + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetResourceTypes: + description: |- + TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example + if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert + will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of + the kind LogAlert + items: + type: string + type: array type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + windowSize: + description: |- + WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). + Relevant and required only for rules of the kind LogAlert. type: string type: object type: object @@ -278480,14 +362776,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20240101previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.Route + Storage version of v1api20240101preview.ScheduledQueryRule Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName} + - Generated from: /monitor/resource-manager/Microsoft.Insights/preview/2024-01-01-preview/scheduledQueryRule_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} properties: apiVersion: description: |- @@ -278507,7 +362803,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.Route_Spec + description: Storage version of v1api20240101preview.ScheduledQueryRule_Spec properties: $propertyBag: additionalProperties: @@ -278516,15 +362812,62 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + actions: + description: |- + Storage version of v1api20240101preview.Actions + Actions to invoke when the alert fires. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroupsReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + actionProperties: + additionalProperties: + type: string + type: object + customProperties: + additionalProperties: + type: string + type: object + type: object + autoMitigate: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cacheConfiguration: + checkWorkspaceAlertsStorageConfigured: + type: boolean + criteria: description: |- - Storage version of v1api20230501.AfdRouteCacheConfiguration - Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + Storage version of v1api20240101preview.ScheduledQueryRuleCriteria + The rule criteria that defines the conditions of the scheduled query rule. properties: $propertyBag: additionalProperties: @@ -278533,76 +362876,167 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - compressionSettings: - description: |- - Storage version of v1api20230501.CompressionSettings - settings for compression. - properties: - $propertyBag: - additionalProperties: + allOf: + items: + description: |- + Storage version of v1api20240101preview.Condition + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertSensitivity: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - contentTypesToCompress: - items: + criterionType: type: string - type: array - isCompressionEnabled: - type: boolean + dimensions: + items: + description: |- + Storage version of v1api20240101preview.Dimension + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20240101preview.Condition_FailingPeriods + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + ignoreDataBefore: + type: string + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumnReference: + description: |- + ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as + resource id. Relevant only for rules of the kind LogAlert. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + threshold: + type: number + timeAggregation: + type: string + type: object + type: array + type: object + description: + type: string + displayName: + type: string + enabled: + type: boolean + evaluationFrequency: + type: string + identity: + description: |- + Storage version of v1api20240101preview.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - queryParameters: - type: string - queryStringCachingBehavior: + type: type: string - type: object - customDomains: - items: - description: |- - Storage version of v1api20230501.ActivatedResourceReference - Reference to another resource along with its state. - properties: - $propertyBag: - additionalProperties: - type: string + userAssignedIdentities: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' + Storage version of v1api20240101preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - type: object - type: array - enabledState: - type: string - forwardingProtocol: + type: array + type: object + kind: type: string - httpsRedirect: + location: type: string - linkToDefaultDomain: + muteActionsDuration: type: string operatorSpec: description: |- - Storage version of v1api20230501.RouteOperatorSpec + Storage version of v1api20240101preview.ScheduledQueryRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -278671,48 +363105,15 @@ spec: type: object type: array type: object - originGroup: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - originPath: - type: string originalVersion: type: string + overrideQueryTimeRange: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/AfdEndpoint resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -278721,54 +363122,64 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - patternsToMatch: - items: - type: string - type: array - ruleSets: + resolveConfiguration: + description: |- + Storage version of v1api20240101preview.RuleResolveConfiguration + TBD. Relevant only for rules of the kind LogAlert. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + scopesReferences: items: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: array - supportedProtocols: + severity: + type: integer + skipQueryValidation: + type: boolean + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: items: type: string type: array + windowSize: + type: string required: - owner type: object status: - description: Storage version of v1api20230501.Route_STATUS + description: Storage version of v1api20240101preview.ScheduledQueryRule_STATUS properties: $propertyBag: additionalProperties: @@ -278777,10 +363188,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cacheConfiguration: + actions: description: |- - Storage version of v1api20230501.AfdRouteCacheConfiguration_STATUS - Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. + Storage version of v1api20240101preview.Actions_STATUS + Actions to invoke when the alert fires. properties: $propertyBag: additionalProperties: @@ -278789,30 +363200,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - compressionSettings: - description: |- - Storage version of v1api20230501.CompressionSettings_STATUS - settings for compression. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - contentTypesToCompress: - items: - type: string - type: array - isCompressionEnabled: - type: boolean + actionGroups: + items: + type: string + type: array + actionProperties: + additionalProperties: + type: string + type: object + customProperties: + additionalProperties: + type: string type: object - queryParameters: - type: string - queryStringCachingBehavior: - type: string type: object + autoMitigate: + type: boolean + checkWorkspaceAlertsStorageConfigured: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -278856,43 +363260,110 @@ spec: - type type: object type: array - customDomains: - items: - description: |- - Storage version of v1api20230501.ActivatedResourceReference_STATUS_Profiles_AfdEndpoints_Route_SubResourceEmbedded - Reference to another resource along with its state. - properties: - $propertyBag: - additionalProperties: - type: string + createdWithApiVersion: + type: string + criteria: + description: |- + Storage version of v1api20240101preview.ScheduledQueryRuleCriteria_STATUS + The rule criteria that defines the conditions of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allOf: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20240101preview.Condition_STATUS + A condition of the scheduled query rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + alertSensitivity: + type: string + criterionType: + type: string + dimensions: + items: + description: |- + Storage version of v1api20240101preview.Dimension_STATUS + Dimension splitting and filtering definition + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + failingPeriods: + description: Storage version of v1api20240101preview.Condition_FailingPeriods_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minFailingPeriodsToAlert: + type: integer + numberOfEvaluationPeriods: + type: integer + type: object + ignoreDataBefore: + type: string + metricMeasureColumn: + type: string + metricName: + type: string + operator: + type: string + query: + type: string + resourceIdColumn: + type: string + threshold: + type: number + timeAggregation: + type: string type: object - id: - type: string - type: object - type: array - deploymentStatus: - type: string - enabledState: + type: array + type: object + description: type: string - endpointName: + displayName: type: string - forwardingProtocol: + enabled: + type: boolean + etag: type: string - httpsRedirect: + evaluationFrequency: type: string id: type: string - linkToDefaultDomain: - type: string - name: - type: string - originGroup: + identity: description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. + Storage version of v1api20240101preview.Identity_STATUS + Identity for the resource. properties: $propertyBag: additionalProperties: @@ -278901,42 +363372,75 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: + principalId: + type: string + tenantId: + type: string + type: type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240101preview.UserIdentityProperties_STATUS + User assigned identity properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object - originPath: + isLegacyLogAnalyticsRule: + type: boolean + isWorkspaceAlertsStorageConfigured: + type: boolean + kind: type: string - patternsToMatch: - items: - type: string - type: array - provisioningState: + location: type: string - ruleSets: - items: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: + muteActionsDuration: + type: string + name: + type: string + overrideQueryTimeRange: + type: string + resolveConfiguration: + description: |- + Storage version of v1api20240101preview.RuleResolveConfiguration_STATUS + TBD. Relevant only for rules of the kind LogAlert. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - supportedProtocols: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoResolved: + type: boolean + timeToResolve: + type: string + type: object + scopes: items: type: string type: array + severity: + type: integer + skipQueryValidation: + type: boolean systemData: description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data + Storage version of v1api20240101preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -278958,12 +363462,22 @@ spec: lastModifiedByType: type: string type: object + tags: + additionalProperties: + type: string + type: object + targetResourceTypes: + items: + type: string + type: array type: type: string + windowSize: + type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} --- @@ -278972,11 +363486,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: routetables.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: searchservices.search.azure.com spec: conversion: strategy: Webhook @@ -278989,12 +363503,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: search.azure.com names: - kind: RouteTable - listKind: RouteTableList - plural: routetables - singular: routetable + categories: + - azure + - search + kind: SearchService + listKind: SearchServiceList + plural: searchservices + singular: searchservice preserveUnknownFields: false scope: Namespaced versions: @@ -279011,13 +363528,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101 + name: v1api20220901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + - Generated from: /search/resource-manager/Microsoft.Search/stable/2022-09-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} properties: apiVersion: description: |- @@ -279038,17 +363555,93 @@ spec: type: object spec: properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from Azure Active Directory can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a Search service would send for requests that failed + authentication. + enum: + - http401WithBearerChallenge + - http403 + type: string + type: object + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableBgpRoutePropagation: - description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. type: boolean + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non customer encrypted resources.' + enum: + - Disabled + - Enabled + - Unspecified + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + enum: + - default + - highDensity + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + type: string + required: + - type + type: object location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string + networkRuleSet: + description: 'NetworkRuleSet: Network specific rules that determine how the Azure Cognitive Search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service + endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied + only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not + allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. + items: + description: The IP restriction rule of the Azure Cognitive Search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) + to be allowed. + type: string + type: object + type: array + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -279084,6 +363677,44 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + identityPrincipalId: + description: |- + IdentityPrincipalId: indicates where the IdentityPrincipalId config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + IdentityTenantId: indicates where the IdentityTenantId config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -279114,6 +363745,59 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminPrimaryKey: + description: |- + AdminPrimaryKey: indicates where the AdminPrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + AdminSecondaryKey: indicates where the AdminSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: 'QueryKey: indicates where the QueryKey secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -279128,17 +363812,87 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + maximum: 12 + minimum: 1 + type: integer + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + enum: + - disabled + - enabled + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + maximum: 12 + minimum: 1 + type: integer + sku: + description: |- + Sku: The SKU of the Search Service, which determines price tier and capacity limits. This property is required when + creating a new Search Service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + enum: + - basic + - free + - standard + - standard2 + - standard3 + - storage_optimized_l1 + - storage_optimized_l2 + type: string + type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object required: + - location - owner type: object status: - description: Route table resource. + description: Describes an Azure Cognitive Search service and its current state. properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from Azure Active Directory can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a Search service would send for requests that failed + authentication. + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ApiKeyOnly: Indicates that only the API key needs to be used for authentication.' + type: object + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -279183,26 +363937,154 @@ spec: - type type: object type: array - disableBgpRoutePropagation: - description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + encryptionComplianceStatus: + description: |- + EncryptionComplianceStatus: Describes whether the search service is compliant or not with respect to having non customer + encrypted resources. If a service has more than one non customer encrypted resource and 'Enforcement' is 'enabled' then + the service will be marked as 'nonCompliant'. + type: string + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non customer encrypted resources.' + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. type: string id: - description: 'Id: Resource ID.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of the system-assigned identity of the search service.' + type: string + tenantId: + description: 'TenantId: The tenant ID of the system-assigned identity of the search service.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource' type: string + networkRuleSet: + description: 'NetworkRuleSet: Network specific rules that determine how the Azure Cognitive Search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service + endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied + only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not + allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. + items: + description: The IP restriction rule of the Azure Cognitive Search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) + to be allowed. + type: string + type: object + type: array + type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections to the Azure Cognitive Search service.' + items: + description: Describes an existing Private Endpoint connection to the Azure Cognitive Search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the route table resource.' + description: |- + ProvisioningState: The state of the last provisioning operation performed on the search service. Provisioning is an + intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState + changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling + interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is + completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to + Create search service. This is because the free service uses capacity that is already set up. type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the route table.' + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + type: integer + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources managed by the Azure Cognitive Search service.' + items: + description: Describes a Shared Private Link Resource managed by the Azure Cognitive Search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + sku: + description: |- + Sku: The SKU of the Search Service, which determines price tier and capacity limits. This property is required when + creating a new Search Service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + type: string + type: object + status: + description: |- + Status: The status of the search service. Possible values include: 'running': The search service is running and no + provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. + 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the + underlying search units are not healthy. The search service is most likely operational, but performance might be slow + and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject + all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or + error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated + services in these states are still chargeable based on the number of search units provisioned. + type: string + statusDetails: + description: 'StatusDetails: The details of the search service status.' type: string tags: additionalProperties: @@ -279210,7 +364092,7 @@ spec: description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -279231,14 +364113,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101storage + name: v1api20220901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201101.RouteTable + Storage version of v1api20220901.SearchService Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + - Generated from: /search/resource-manager/Microsoft.Search/stable/2022-09-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} properties: apiVersion: description: |- @@ -279258,7 +364140,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201101.RouteTable_Spec + description: Storage version of v1api20220901.SearchService_Spec properties: $propertyBag: additionalProperties: @@ -279267,18 +364149,110 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + authOptions: + description: |- + Storage version of v1api20220901.DataPlaneAuthOptions + Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20220901.DataPlaneAadOrApiKeyAuthOption + Indicates that either the API key or an access token from Azure Active Directory can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableBgpRoutePropagation: + disableLocalAuth: type: boolean + encryptionWithCmk: + description: |- + Storage version of v1api20220901.EncryptionWithCmk + Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed + Keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enforcement: + type: string + type: object + hostingMode: + type: string + identity: + description: |- + Storage version of v1api20220901.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object location: type: string + networkRuleSet: + description: |- + Storage version of v1api20220901.NetworkRuleSet + Network specific rules that determine how the Azure Cognitive Search service may be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20220901.IpRule + The IP restriction rule of the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object operatorSpec: description: |- - Storage version of v1api20201101.RouteTableOperatorSpec + Storage version of v1api20220901.SearchServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -279288,35 +364262,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + configMaps: + description: Storage version of v1api20220901.SearchServiceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityPrincipalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -279346,6 +364367,71 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20220901.SearchServiceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -279362,6 +364448,27 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + partitionCount: + type: integer + publicNetworkAccess: + type: string + replicaCount: + type: integer + sku: + description: |- + Storage version of v1api20220901.Sku + Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object tags: additionalProperties: type: string @@ -279371,8 +364478,8 @@ spec: type: object status: description: |- - Storage version of v1api20201101.RouteTable_STATUS - Route table resource. + Storage version of v1api20220901.SearchService_STATUS + Describes an Azure Cognitive Search service and its current state. properties: $propertyBag: additionalProperties: @@ -279381,6 +364488,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + authOptions: + description: |- + Storage version of v1api20220901.DataPlaneAuthOptions_STATUS + Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20220901.DataPlaneAadOrApiKeyAuthOption_STATUS + Indicates that either the API key or an access token from Azure Active Directory can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -279424,19 +364564,143 @@ spec: - type type: object type: array - disableBgpRoutePropagation: + disableLocalAuth: type: boolean - etag: + encryptionWithCmk: + description: |- + Storage version of v1api20220901.EncryptionWithCmk_STATUS + Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed + Keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionComplianceStatus: + type: string + enforcement: + type: string + type: object + hostingMode: type: string id: type: string + identity: + description: |- + Storage version of v1api20220901.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object location: type: string name: type: string + networkRuleSet: + description: |- + Storage version of v1api20220901.NetworkRuleSet_STATUS + Network specific rules that determine how the Azure Cognitive Search service may be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20220901.IpRule_STATUS + The IP restriction rule of the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object + partitionCount: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220901.PrivateEndpointConnection_STATUS + Describes an existing Private Endpoint connection to the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array provisioningState: type: string - resourceGuid: + publicNetworkAccess: + type: string + replicaCount: + type: integer + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20220901.SharedPrivateLinkResource_STATUS + Describes a Shared Private Link Resource managed by the Azure Cognitive Search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20220901.Sku_STATUS + Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + status: + type: string + statusDetails: type: string tags: additionalProperties: @@ -279463,13 +364727,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301 + name: v1api20231101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + - Generated from: /search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} properties: apiVersion: description: |- @@ -279490,17 +364754,91 @@ spec: type: object spec: properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a search service would send for requests that failed + authentication. + enum: + - http401WithBearerChallenge + - http403 + type: string + type: object + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableBgpRoutePropagation: - description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. type: boolean + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non-customer-encrypted resources.' + enum: + - Disabled + - Enabled + - Unspecified + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + enum: + - default + - highDensity + type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + type: + description: 'Type: The identity type.' + enum: + - None + - SystemAssigned + type: string + required: + - type + type: object location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string + networkRuleSet: + description: 'NetworkRuleSet: Network-specific rules that determine how the search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the + firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + items: + description: The IP restriction rule of the search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, + 123.1.2.3/24) to be allowed. + type: string + type: object + type: array + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -279536,6 +364874,44 @@ spec: - value type: object type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + identityPrincipalId: + description: |- + IdentityPrincipalId: indicates where the IdentityPrincipalId config map should be placed. If omitted, no config map will + be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + IdentityTenantId: indicates where the IdentityTenantId config map should be placed. If omitted, no config map will be + created. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -279566,6 +364942,59 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + adminPrimaryKey: + description: |- + AdminPrimaryKey: indicates where the AdminPrimaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + AdminSecondaryKey: indicates where the AdminSecondaryKey secret should be placed. If omitted, the secret will not be + retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: 'QueryKey: indicates where the QueryKey secret should be placed. If omitted, the secret will not be retrieved from Azure.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- @@ -279580,17 +365009,96 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + maximum: 12 + minimum: 1 + type: integer + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + enum: + - disabled + - enabled + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + maximum: 12 + minimum: 1 + type: integer + semanticSearch: + description: |- + SemanticSearch: Sets options that control the availability of semantic search. This configuration is only possible for + certain search SKUs in certain locations. + enum: + - disabled + - free + - standard + type: string + sku: + description: |- + Sku: The SKU of the search service, which determines billing rate and capacity limits. This property is required when + creating a new search service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + enum: + - basic + - free + - standard + - standard2 + - standard3 + - storage_optimized_l1 + - storage_optimized_l2 + type: string + type: object tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object required: + - location - owner type: object status: - description: Route table resource. + description: Describes a search service and its current state. properties: + authOptions: + description: |- + AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be + set if 'disableLocalAuth' is set to true. + properties: + aadOrApiKey: + description: |- + AadOrApiKey: Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for + authentication. + properties: + aadAuthFailureMode: + description: |- + AadAuthFailureMode: Describes what response the data plane API of a search service would send for requests that failed + authentication. + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'ApiKeyOnly: Indicates that only the API key can be used for authentication.' + type: object + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -279635,26 +365143,157 @@ spec: - type type: object type: array - disableBgpRoutePropagation: - description: 'DisableBgpRoutePropagation: Whether to disable the routes learned by BGP on that route table. True means disable.' + disableLocalAuth: + description: |- + DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for + authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. type: boolean - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + encryptionWithCmk: + description: |- + EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys + within a search service. + properties: + encryptionComplianceStatus: + description: |- + EncryptionComplianceStatus: Describes whether the search service is compliant or not with respect to having + non-customer-encrypted resources. If a service has more than one non-customer-encrypted resource and 'Enforcement' is + 'enabled' then the service will be marked as 'nonCompliant'. + type: string + enforcement: + description: 'Enforcement: Describes how a search service should enforce having one or more non-customer-encrypted resources.' + type: string + type: object + hostingMode: + description: |- + HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions + that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the + standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. type: string id: - description: 'Id: Resource ID.' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + identity: + description: 'Identity: The identity of the resource.' + properties: + principalId: + description: 'PrincipalId: The principal ID of the system-assigned identity of the search service.' + type: string + tenantId: + description: 'TenantId: The tenant ID of the system-assigned identity of the search service.' + type: string + type: + description: 'Type: The identity type.' + type: string + type: object location: - description: 'Location: Resource location.' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource' type: string + networkRuleSet: + description: 'NetworkRuleSet: Network-specific rules that determine how the search service may be reached.' + properties: + ipRules: + description: |- + IpRules: A list of IP restriction rules used for an IP firewall. Any IPs that do not match the rules are blocked by the + firewall. These rules are only applied when the 'publicNetworkAccess' of the search service is 'enabled'. + items: + description: The IP restriction rule of the search service. + properties: + value: + description: |- + Value: Value corresponding to a single IPv4 address (for example, 123.1.2.3) or an IP range in CIDR format (for example, + 123.1.2.3/24) to be allowed. + type: string + type: object + type: array + type: object + partitionCount: + description: |- + PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values + greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the + allowed values are between 1 and 3. + type: integer + privateEndpointConnections: + description: 'PrivateEndpointConnections: The list of private endpoint connections to the search service.' + items: + description: Describes an existing private endpoint connection to the search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array provisioningState: - description: 'ProvisioningState: The provisioning state of the route table resource.' + description: |- + ProvisioningState: The state of the last provisioning operation performed on the search service. Provisioning is an + intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState + changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling + interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is + completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to + Create search service. This is because the free service uses capacity that is already set up. type: string - resourceGuid: - description: 'ResourceGuid: The resource GUID property of the route table.' + publicNetworkAccess: + description: |- + PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and + templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be + the exclusive access method. + type: string + replicaCount: + description: |- + ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive + for standard SKUs or between 1 and 3 inclusive for basic SKU. + type: integer + semanticSearch: + description: |- + SemanticSearch: Sets options that control the availability of semantic search. This configuration is only possible for + certain search SKUs in certain locations. + type: string + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources managed by the search service.' + items: + description: Describes a Shared Private Link Resource managed by the search service. + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + type: object + type: array + sku: + description: |- + Sku: The SKU of the search service, which determines billing rate and capacity limits. This property is required when + creating a new search service. + properties: + name: + description: |- + Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to + 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, + but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 + replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). + 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per + partition, up to 12 partitions.' + type: string + type: object + status: + description: |- + Status: The status of the search service. Possible values include: 'running': The search service is running and no + provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. + 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the + underlying search units are not healthy. The search service is most likely operational, but performance might be slow + and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject + all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or + error states, Microsoft is actively investigating the underlying issue. Dedicated services in these states are still + chargeable based on the number of search units provisioned. + type: string + statusDetails: + description: 'StatusDetails: The details of the search service status.' type: string tags: additionalProperties: @@ -279662,7 +365301,7 @@ spec: description: 'Tags: Resource tags.' type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string type: object type: object @@ -279683,14 +365322,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240301storage + name: v1api20231101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240301.RouteTable + Storage version of v1api20231101.SearchService Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName} + - Generated from: /search/resource-manager/Microsoft.Search/stable/2023-11-01/search.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} properties: apiVersion: description: |- @@ -279710,7 +365349,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240301.RouteTable_Spec + description: Storage version of v1api20231101.SearchService_Spec properties: $propertyBag: additionalProperties: @@ -279719,18 +365358,110 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + authOptions: + description: |- + Storage version of v1api20231101.DataPlaneAuthOptions + Defines the options for how the search service authenticates a data plane request. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20231101.DataPlaneAadOrApiKeyAuthOption + Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableBgpRoutePropagation: + disableLocalAuth: type: boolean + encryptionWithCmk: + description: |- + Storage version of v1api20231101.EncryptionWithCmk + Describes a policy that determines how resources within the search service are to be encrypted with customer=managed + keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enforcement: + type: string + type: object + hostingMode: + type: string + identity: + description: |- + Storage version of v1api20231101.Identity + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object location: type: string + networkRuleSet: + description: |- + Storage version of v1api20231101.NetworkRuleSet + Network-specific rules that determine how the search service can be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20231101.IpRule + The IP restriction rule of the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object operatorSpec: description: |- - Storage version of v1api20240301.RouteTableOperatorSpec + Storage version of v1api20231101.SearchServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -279769,6 +365500,53 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20231101.SearchServiceOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + identityPrincipalId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + identityTenantId: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -279798,6 +365576,71 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20231101.SearchServiceOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + adminPrimaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + adminSecondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + queryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -279814,6 +365657,29 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + partitionCount: + type: integer + publicNetworkAccess: + type: string + replicaCount: + type: integer + semanticSearch: + type: string + sku: + description: |- + Storage version of v1api20231101.Sku + Defines the SKU of a search service, which determines billing rate and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object tags: additionalProperties: type: string @@ -279823,8 +365689,8 @@ spec: type: object status: description: |- - Storage version of v1api20240301.RouteTable_STATUS - Route table resource. + Storage version of v1api20231101.SearchService_STATUS + Describes a search service and its current state. properties: $propertyBag: additionalProperties: @@ -279833,6 +365699,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + authOptions: + description: |- + Storage version of v1api20231101.DataPlaneAuthOptions_STATUS + Defines the options for how the search service authenticates a data plane request. This cannot be set if + 'disableLocalAuth' is set to true. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadOrApiKey: + description: |- + Storage version of v1api20231101.DataPlaneAadOrApiKeyAuthOption_STATUS + Indicates that either the API key or an access token from a Microsoft Entra ID tenant can be used for authentication. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + aadAuthFailureMode: + type: string + type: object + apiKeyOnly: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -279876,19 +365775,145 @@ spec: - type type: object type: array - disableBgpRoutePropagation: + disableLocalAuth: type: boolean - etag: + encryptionWithCmk: + description: |- + Storage version of v1api20231101.EncryptionWithCmk_STATUS + Describes a policy that determines how resources within the search service are to be encrypted with customer=managed + keys. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + encryptionComplianceStatus: + type: string + enforcement: + type: string + type: object + hostingMode: type: string id: type: string + identity: + description: |- + Storage version of v1api20231101.Identity_STATUS + Identity for the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + type: object location: type: string name: type: string + networkRuleSet: + description: |- + Storage version of v1api20231101.NetworkRuleSet_STATUS + Network-specific rules that determine how the search service can be reached. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ipRules: + items: + description: |- + Storage version of v1api20231101.IpRule_STATUS + The IP restriction rule of the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + value: + type: string + type: object + type: array + type: object + partitionCount: + type: integer + privateEndpointConnections: + items: + description: |- + Storage version of v1api20231101.PrivateEndpointConnection_STATUS + Describes an existing private endpoint connection to the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array provisioningState: type: string - resourceGuid: + publicNetworkAccess: + type: string + replicaCount: + type: integer + semanticSearch: + type: string + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20231101.SharedPrivateLinkResource_STATUS + Describes a Shared Private Link Resource managed by the search service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + sku: + description: |- + Storage version of v1api20231101.Sku_STATUS + Defines the SKU of a search service, which determines billing rate and capacity limits. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + status: + type: string + statusDetails: type: string tags: additionalProperties: @@ -279908,11 +365933,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: routetablesroutes.network.azure.com + app.kubernetes.io/version: v2.15.0 + name: secrets.cdn.azure.com spec: conversion: strategy: Webhook @@ -279925,12 +365950,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: network.azure.com + group: cdn.azure.com names: - kind: RouteTablesRoute - listKind: RouteTablesRouteList - plural: routetablesroutes - singular: routetablesroute + categories: + - azure + - cdn + kind: Secret + listKind: SecretList + plural: secrets + singular: secret preserveUnknownFields: false scope: Namespaced versions: @@ -279947,13 +365975,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101 + name: v1api20230501 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} properties: apiVersion: description: |- @@ -279974,28 +366002,11 @@ spec: type: object spec: properties: - addressPrefix: - description: 'AddressPrefix: The destination CIDR to which the route applies.' - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - nextHopIpAddress: - description: |- - NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the - next hop type is VirtualAppliance. - type: string - nextHopType: - description: 'NextHopType: The type of Azure hop the packet should be sent to.' - enum: - - Internet - - None - - VirtualAppliance - - VirtualNetworkGateway - - VnetLocal - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -280066,7 +366077,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/RouteTable resource + reference to a cdn.azure.com/Profile resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -280075,15 +366086,134 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + parameters: + description: 'Parameters: object which contains secret parameters' + properties: + azureFirstPartyManagedCertificate: + description: 'AzureFirstPartyManagedCertificate: Mutually exclusive with all other properties' + properties: + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + type: + enum: + - AzureFirstPartyManagedCertificate + type: string + required: + - type + type: object + customerCertificate: + description: 'CustomerCertificate: Mutually exclusive with all other properties' + properties: + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + type: + enum: + - CustomerCertificate + type: string + useLatestVersion: + description: 'UseLatestVersion: Whether to use the latest version for the certificate' + type: boolean + required: + - secretSource + - type + type: object + managedCertificate: + description: 'ManagedCertificate: Mutually exclusive with all other properties' + properties: + type: + enum: + - ManagedCertificate + type: string + required: + - type + type: object + urlSigningKey: + description: 'UrlSigningKey: Mutually exclusive with all other properties' + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault secret. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + type: + enum: + - UrlSigningKey + type: string + required: + - keyId + - secretSource + - type + type: object + type: object required: - - nextHopType - owner type: object status: properties: - addressPrefix: - description: 'AddressPrefix: The destination CIDR to which the route applies.' - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -280128,31 +366258,153 @@ spec: - type type: object type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' + deploymentStatus: type: string - hasBgpOverride: - description: 'HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.' - type: boolean id: description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - nextHopIpAddress: - description: |- - NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the - next hop type is VirtualAppliance. + description: 'Name: Resource name.' type: string - nextHopType: - description: 'NextHopType: The type of Azure hop the packet should be sent to.' + parameters: + description: 'Parameters: object which contains secret parameters' + properties: + azureFirstPartyManagedCertificate: + description: 'AzureFirstPartyManagedCertificate: Mutually exclusive with all other properties' + properties: + certificateAuthority: + description: 'CertificateAuthority: Certificate issuing authority.' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + subject: + description: 'Subject: Subject name in the certificate.' + type: string + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: + type: string + type: object + customerCertificate: + description: 'CustomerCertificate: Mutually exclusive with all other properties' + properties: + certificateAuthority: + description: 'CertificateAuthority: Certificate issuing authority.' + type: string + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + subject: + description: 'Subject: Subject name in the certificate.' + type: string + subjectAlternativeNames: + description: 'SubjectAlternativeNames: The list of SANs.' + items: + type: string + type: array + thumbprint: + description: 'Thumbprint: Certificate thumbprint.' + type: string + type: + type: string + useLatestVersion: + description: 'UseLatestVersion: Whether to use the latest version for the certificate' + type: boolean + type: object + managedCertificate: + description: 'ManagedCertificate: Mutually exclusive with all other properties' + properties: + expirationDate: + description: 'ExpirationDate: Certificate expiration date.' + type: string + subject: + description: 'Subject: Subject name in the certificate.' + type: string + type: + type: string + type: object + urlSigningKey: + description: 'UrlSigningKey: Mutually exclusive with all other properties' + properties: + keyId: + description: |- + KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form + the hash. + type: string + secretSource: + description: |- + SecretSource: Resource reference to the Azure Key Vault secret. Expected to be in format of + /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + secretVersion: + description: 'SecretVersion: Version of the secret to be used' + type: string + type: + type: string + type: object + type: object + profileName: + description: 'ProfileName: The name of the profile which holds the secret.' type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the route resource.' + description: 'ProvisioningState: Provisioning status' type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object type: - description: 'Type: The type of the resource.' + description: 'Type: Resource type.' type: string type: object type: object @@ -280173,14 +366425,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20201101storage + name: v1api20230501storage schema: openAPIV3Schema: description: |- - Storage version of v1api20201101.RouteTablesRoute + Storage version of v1api20230501.Secret Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2020-11-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} properties: apiVersion: description: |- @@ -280200,7 +366452,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20201101.RouteTablesRoute_Spec + description: Storage version of v1api20230501.Secret_Spec properties: $propertyBag: additionalProperties: @@ -280209,20 +366461,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - addressPrefix: - type: string azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - nextHopIpAddress: - type: string - nextHopType: - type: string operatorSpec: description: |- - Storage version of v1api20201101.RouteTablesRouteOperatorSpec + Storage version of v1api20230501.SecretOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -280297,7 +366543,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/RouteTable resource + reference to a cdn.azure.com/Profile resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -280306,11 +366552,156 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + parameters: + description: Storage version of v1api20230501.SecretParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFirstPartyManagedCertificate: + description: Storage version of v1api20230501.AzureFirstPartyManagedCertificateParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subjectAlternativeNames: + items: + type: string + type: array + type: + type: string + type: object + customerCertificate: + description: Storage version of v1api20230501.CustomerCertificateParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + type: string + subjectAlternativeNames: + items: + type: string + type: array + type: + type: string + useLatestVersion: + type: boolean + type: object + managedCertificate: + description: Storage version of v1api20230501.ManagedCertificateParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + type: object + urlSigningKey: + description: Storage version of v1api20230501.UrlSigningKeyParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + secretVersion: + type: string + type: + type: string + type: object + type: object required: - owner type: object status: - description: Storage version of v1api20201101.RouteTablesRoute_STATUS + description: Storage version of v1api20230501.Secret_STATUS properties: $propertyBag: additionalProperties: @@ -280319,8 +366710,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - addressPrefix: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -280364,318 +366753,164 @@ spec: - type type: object type: array - etag: + deploymentStatus: type: string - hasBgpOverride: - type: boolean id: type: string name: type: string - nextHopIpAddress: - type: string - nextHopType: - type: string - provisioningState: - type: string - type: - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240301 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - addressPrefix: - description: 'AddressPrefix: The destination CIDR to which the route applies.' - type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - nextHopIpAddress: - description: |- - NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the - next hop type is VirtualAppliance. - type: string - nextHopType: - description: 'NextHopType: The type of Azure hop the packet should be sent to.' - enum: - - Internet - - None - - VirtualAppliance - - VirtualNetworkGateway - - VnetLocal - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + parameters: + description: Storage version of v1api20230501.SecretParameters_STATUS properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureFirstPartyManagedCertificate: + description: Storage version of v1api20230501.AzureFirstPartyManagedCertificateParameters_STATUS + properties: + $propertyBag: + additionalProperties: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + type: string + expirationDate: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + subject: + type: string + subjectAlternativeNames: + items: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: array + thumbprint: + type: string + type: + type: string + type: object + customerCertificate: + description: Storage version of v1api20230501.CustomerCertificateParameters_STATUS + properties: + $propertyBag: + additionalProperties: type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificateAuthority: + type: string + expirationDate: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + secretVersion: + type: string + subject: + type: string + subjectAlternativeNames: + items: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + type: array + thumbprint: + type: string + type: + type: string + useLatestVersion: + type: boolean + type: object + managedCertificate: + description: Storage version of v1api20230501.ManagedCertificateParameters_STATUS + properties: + $propertyBag: + additionalProperties: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expirationDate: + type: string + subject: + type: string + type: + type: string + type: object + urlSigningKey: + description: Storage version of v1api20230501.UrlSigningKeyParameters_STATUS + properties: + $propertyBag: + additionalProperties: type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/RouteTable resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyId: + type: string + secretSource: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + secretVersion: + type: string + type: + type: string + type: object type: object - required: - - nextHopType - - owner - type: object - status: - properties: - addressPrefix: - description: 'AddressPrefix: The destination CIDR to which the route applies.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - etag: - description: 'Etag: A unique read-only string that changes whenever the resource is updated.' - type: string - hasBgpOverride: - description: 'HasBgpOverride: A value indicating whether this route overrides overlapping BGP routes regardless of LPM.' - type: boolean - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: The name of the resource that is unique within a resource group. This name can be used to access the resource.' - type: string - nextHopIpAddress: - description: |- - NextHopIpAddress: The IP address packets should be forwarded to. Next hop values are only allowed in routes where the - next hop type is VirtualAppliance. - type: string - nextHopType: - description: 'NextHopType: The type of Azure hop the packet should be sent to.' + profileName: type: string provisioningState: - description: 'ProvisioningState: The provisioning state of the route resource.' - type: string - type: - description: 'Type: The type of the resource.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20240301storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20240301.RouteTablesRoute - Generator information: - - Generated from: /network/resource-manager/Microsoft.Network/stable/2024-03-01/routeTable.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20240301.RouteTablesRoute_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - addressPrefix: - type: string - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - nextHopIpAddress: - type: string - nextHopType: type: string - operatorSpec: + systemData: description: |- - Storage version of v1api20240301.RouteTablesRouteOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20230501.SystemData_STATUS + Read only system data properties: $propertyBag: additionalProperties: @@ -280684,96 +366919,164 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string type: object - originalVersion: + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: securitygroups.entra.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: entra.azure.com + names: + categories: + - azure + - entra + - aad + kind: SecurityGroup + listKind: SecurityGroupList + plural: securitygroups + singular: securitygroup + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1 + schema: + openAPIV3Schema: + description: SecurityGroup is an Entra Security Group. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + description: + description: 'Description: The description of the group.' type: string - owner: + displayName: + description: 'DisplayName: The display name of the group.' + type: string + isAssignableToRole: + description: 'IsAssignableToRole: Indicates whether the group can be assigned to a role.' + type: boolean + mailNickname: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a network.azure.com/RouteTable resource + MailNickname: The email address of the group, specified either as a mail nickname (`mygroup`) + or as a full email address (`mygroup@mydomain.com`). + type: string + membershipType: + description: 'MembershipType: The membership type of the group.' + enum: + - assigned + - enabled + - assignedm365 + - enabledm365 + type: string + operatorSpec: + description: 'OperatorSpec: The operator specific configuration for the resource.' properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. + configmaps: + description: ConfigMaps specifies any config maps that should be created by the operator. + properties: + entraID: + description: 'EntraID: The Entra ID of the group.' + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + creationMode: + description: |- + CreationMode: Specifies how ASO will try to create the resource. + Specify "AlwaysCreate" to always create a new security group when first reconciled. + Or specify "AdoptOrCreate" to first try to adopt an existing security group with the same display name. + If multiple security groups with the same display name are found, the resource condition will show an error. + If not specified, defaults to "AdoptOrCreate". + enum: + - AdoptOrCreate + - AlwaysCreate type: string type: object required: - - owner + - displayName + - mailNickname type: object status: - description: Storage version of v1api20240301.RouteTablesRoute_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - addressPrefix: - type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -280816,22 +367119,20 @@ spec: - type type: object type: array - etag: - type: string - hasBgpOverride: - type: boolean - id: - type: string - name: - type: string - nextHopIpAddress: + description: + description: 'Description: The description of the group.' type: string - nextHopType: + displayName: + description: 'DisplayName: The display name of the group.' type: string - provisioningState: + entraID: + description: 'EntraID: The GUID identifing the resource in Entra' type: string - type: + groupEmailAddress: + description: 'MailNickname: The email address of the group.' type: string + required: + - groupEmailAddress type: object type: object served: true @@ -280844,11 +367145,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: rules.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: securitypolicies.cdn.azure.com spec: conversion: strategy: Webhook @@ -280863,10 +367164,13 @@ spec: - v1 group: cdn.azure.com names: - kind: Rule - listKind: RuleList - plural: rules - singular: rule + categories: + - azure + - cdn + kind: SecurityPolicy + listKind: SecurityPolicyList + plural: securitypolicies + singular: securitypolicy preserveUnknownFields: false scope: Namespaced versions: @@ -280889,7 +367193,7 @@ spec: description: |- Generator information: - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} properties: apiVersion: description: |- @@ -280910,457 +367214,11 @@ spec: type: object spec: properties: - actions: - description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' - items: - description: An action for the delivery rule. - properties: - cacheExpiration: - description: 'CacheExpiration: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - CacheExpiration - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - enum: - - BypassCache - - Override - - SetIfMissing - type: string - cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' - type: string - cacheType: - description: 'CacheType: The level at which the content needs to be cached.' - enum: - - All - type: string - typeName: - enum: - - DeliveryRuleCacheExpirationActionParameters - type: string - required: - - cacheBehavior - - cacheType - - typeName - type: object - required: - - name - - parameters - type: object - cacheKeyQueryString: - description: 'CacheKeyQueryString: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - CacheKeyQueryString - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringBehavior: - description: 'QueryStringBehavior: Caching behavior for the requests' - enum: - - Exclude - - ExcludeAll - - Include - - IncludeAll - type: string - typeName: - enum: - - DeliveryRuleCacheKeyQueryStringBehaviorActionParameters - type: string - required: - - queryStringBehavior - - typeName - type: object - required: - - name - - parameters - type: object - modifyRequestHeader: - description: 'ModifyRequestHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - ModifyRequestHeader - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - headerAction: - description: 'HeaderAction: Action to perform' - enum: - - Append - - Delete - - Overwrite - type: string - headerName: - description: 'HeaderName: Name of the header to modify' - type: string - typeName: - enum: - - DeliveryRuleHeaderActionParameters - type: string - value: - description: 'Value: Value for the specified action' - type: string - required: - - headerAction - - headerName - - typeName - type: object - required: - - name - - parameters - type: object - modifyResponseHeader: - description: 'ModifyResponseHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - ModifyResponseHeader - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - headerAction: - description: 'HeaderAction: Action to perform' - enum: - - Append - - Delete - - Overwrite - type: string - headerName: - description: 'HeaderName: Name of the header to modify' - type: string - typeName: - enum: - - DeliveryRuleHeaderActionParameters - type: string - value: - description: 'Value: Value for the specified action' - type: string - required: - - headerAction - - headerName - - typeName - type: object - required: - - name - - parameters - type: object - originGroupOverride: - description: 'OriginGroupOverride: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - OriginGroupOverride - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - typeName: - enum: - - DeliveryRuleOriginGroupOverrideActionParameters - type: string - required: - - originGroup - - typeName - type: object - required: - - name - - parameters - type: object - routeConfigurationOverride: - description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - RouteConfigurationOverride - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - cacheConfiguration: - description: |- - CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a - cacheConfiguration object. - properties: - cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - enum: - - HonorOrigin - - OverrideAlways - - OverrideIfOriginMissing - type: string - cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' - type: string - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be - served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when - requested content is smaller than 1 byte or larger than 1 MB. - enum: - - Disabled - - Enabled - type: string - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringCachingBehavior: - description: |- - QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query - strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query - strings. - enum: - - IgnoreQueryString - - IgnoreSpecifiedQueryStrings - - IncludeSpecifiedQueryStrings - - UseQueryString - type: string - type: object - originGroupOverride: - description: |- - OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group - on route. - properties: - forwardingProtocol: - description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' - enum: - - HttpOnly - - HttpsOnly - - MatchRequest - type: string - originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - typeName: - enum: - - DeliveryRuleRouteConfigurationOverrideActionParameters - type: string - required: - - typeName - type: object - required: - - name - - parameters - type: object - urlRedirect: - description: 'UrlRedirect: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - UrlRedirect - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - customFragment: - description: |- - CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include - the #. - type: string - customHostname: - description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' - type: string - customPath: - description: |- - CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path - as destination path. - type: string - customQueryString: - description: |- - CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any - existing query string; leave empty to preserve the incoming query string. Query string must be in = format. - ? and & will be added automatically so do not include them. - type: string - destinationProtocol: - description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' - enum: - - Http - - Https - - MatchRequest - type: string - redirectType: - description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' - enum: - - Found - - Moved - - PermanentRedirect - - TemporaryRedirect - type: string - typeName: - enum: - - DeliveryRuleUrlRedirectActionParameters - type: string - required: - - redirectType - - typeName - type: object - required: - - name - - parameters - type: object - urlRewrite: - description: 'UrlRewrite: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - UrlRewrite - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - destination: - description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' - type: string - preserveUnmatchedPath: - description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' - type: boolean - sourcePattern: - description: |- - SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is - blank, all strings are matched. - type: string - typeName: - enum: - - DeliveryRuleUrlRewriteActionParameters - type: string - required: - - destination - - sourcePattern - - typeName - type: object - required: - - name - - parameters - type: object - urlSigning: - description: 'UrlSigning: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' - enum: - - UrlSigning - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - algorithm: - description: 'Algorithm: Algorithm to use for URL signing' - enum: - - SHA256 - type: string - parameterNameOverride: - description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' - items: - description: Defines how to identify a parameter for a specific purpose e.g. expires - properties: - paramIndicator: - description: 'ParamIndicator: Indicates the purpose of the parameter' - enum: - - Expires - - KeyId - - Signature - type: string - paramName: - description: 'ParamName: Parameter name' - type: string - required: - - paramIndicator - - paramName - type: object - type: array - typeName: - enum: - - DeliveryRuleUrlSigningActionParameters - type: string - required: - - typeName - type: object - required: - - name - - parameters - type: object - type: object - type: array azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - matchProcessingBehavior: - description: |- - MatchProcessingBehavior: If this rule is a match should the rules engine continue running the remaining rules or stop. - If not present, defaults to Continue. - enum: - - Continue - - Stop - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -281383,1413 +367241,2352 @@ spec: type: string name: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - order: - description: |- - Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a - lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not - require any condition and actions listed in it will always be applied. - type: integer - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/RuleSet resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - ruleconditions: - description: 'RuleConditions: A list of conditions that must be matched for the actions to be executed' - items: - description: A condition for the delivery rule. - properties: - clientPort: - description: 'ClientPort: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - ClientPort - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleClientPortConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters - type: object - cookies: - description: 'Cookies: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - Cookies - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - selector: - description: 'Selector: Name of Cookies to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleCookiesConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters - type: object - hostName: - description: 'HostName: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - HostName - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleHostNameConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters - type: object - httpVersion: - description: 'HttpVersion: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - HttpVersion - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleHttpVersionConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters - type: object - isDevice: - description: 'IsDevice: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - IsDevice - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - enum: - - Desktop - - Mobile - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleIsDeviceConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters - type: object - postArgs: - description: 'PostArgs: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - PostArgs - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - selector: - description: 'Selector: Name of PostArg to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRulePostArgsConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters - type: object - queryString: - description: 'QueryString: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - QueryString - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleQueryStringConditionParameters - type: string - required: - - operator - - typeName - type: object + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string required: - name - - parameters + - value type: object - remoteAddress: - description: 'RemoteAddress: Mutually exclusive with all other properties' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RemoteAddress + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: 'Parameters: object which contains security policy parameters' + properties: + webApplicationFirewall: + description: 'WebApplicationFirewall: Mutually exclusive with all other properties' + properties: + associations: + description: 'Associations: Waf associations' + items: + description: settings for security policy patterns to match properties: - matchValues: - description: |- - MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of - them match the variable with the given operator this match condition is considered a match. + domains: + description: 'Domains: List of domains.' items: - type: string + description: Reference to another resource along with its state. + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - GeoMatch - - IPMatch - type: string - transforms: - description: 'Transforms: List of transforms' + patternsToMatch: + description: 'PatternsToMatch: List of paths' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array - typeName: - enum: - - DeliveryRuleRemoteAddressConditionParameters - type: string - required: - - operator - - typeName type: object - required: - - name - - parameters - type: object - requestBody: - description: 'RequestBody: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestBody - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + type: array + type: + description: 'Type: The type of the Security policy to create.' + enum: + - WebApplicationFirewall + type: string + wafPolicy: + description: 'WafPolicy: Resource ID.' + properties: + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - type + type: object + type: object + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + parameters: + description: 'Parameters: object which contains security policy parameters' + properties: + webApplicationFirewall: + description: 'WebApplicationFirewall: Mutually exclusive with all other properties' + properties: + associations: + description: 'Associations: Waf associations' + items: + description: settings for security policy patterns to match properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' + domains: + description: 'Domains: List of domains.' items: - type: string + description: Reference to another resource along with its state. + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' + patternsToMatch: + description: 'PatternsToMatch: List of paths' items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array - typeName: - enum: - - DeliveryRuleRequestBodyConditionParameters - type: string - required: - - operator - - typeName type: object + type: array + type: + description: 'Type: The type of the Security policy to create.' + type: string + wafPolicy: + description: 'WafPolicy: Resource ID.' + properties: + id: + description: 'Id: Resource ID.' + type: string + type: object + type: object + type: object + profileName: + description: 'ProfileName: The name of the profile which holds the security policy.' + type: string + provisioningState: + description: 'ProvisioningState: Provisioning status' + type: string + systemData: + description: 'SystemData: Read only system data' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC)' + type: string + createdBy: + description: 'CreatedBy: An identifier for the identity that created the resource' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource' + type: string + type: object + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20230501storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20230501.SecurityPolicy + Generator information: + - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20230501.SecurityPolicy_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + operatorSpec: + description: |- + Storage version of v1api20230501.SecurityPolicyOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string required: - name - - parameters + - value type: object - requestHeader: - description: 'RequestHeader: Mutually exclusive with all other properties' + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestHeader + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - selector: - description: 'Selector: Name of Header to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleRequestHeaderConditionParameters - type: string - required: - - operator - - typeName - type: object required: - name - - parameters + - value type: object - requestMethod: - description: 'RequestMethod: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestMethod + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a cdn.azure.com/Profile resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + parameters: + description: Storage version of v1api20230501.SecurityPolicyPropertiesParameters + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webApplicationFirewall: + description: Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallParameters + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + associations: + items: + description: |- + Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallAssociation + settings for security policy patterns to match properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - enum: - - DELETE - - GET - - HEAD - - OPTIONS - - POST - - PUT - - TRACE + $propertyBag: + additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal - type: string - transforms: - description: 'Transforms: List of transforms' + patternsToMatch: items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array - typeName: - enum: - - DeliveryRuleRequestMethodConditionParameters - type: string - required: - - operator - - typeName type: object - required: - - name - - parameters - type: object - requestScheme: - description: 'RequestScheme: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestScheme + type: array + type: + type: string + wafPolicy: + description: |- + Storage version of v1api20230501.ResourceReference + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20230501.SecurityPolicy_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentStatus: + type: string + id: + type: string + name: + type: string + parameters: + description: Storage version of v1api20230501.SecurityPolicyPropertiesParameters_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + webApplicationFirewall: + description: Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallParameters_STATUS + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + associations: + items: + description: |- + Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallAssociation_STATUS + settings for security policy patterns to match properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - enum: - - HTTP - - HTTPS + $propertyBag: + additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + domains: + items: + description: |- + Storage version of v1api20230501.ActivatedResourceReference_STATUS_Profiles_SecurityPolicy_SubResourceEmbedded + Reference to another resource along with its state. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal - type: string - transforms: - description: 'Transforms: List of transforms' + patternsToMatch: items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode type: string type: array - typeName: - enum: - - DeliveryRuleRequestSchemeConditionParameters - type: string - required: - - operator - - typeName type: object - required: - - name - - parameters - type: object - requestUri: - description: 'RequestUri: Mutually exclusive with all other properties' + type: array + type: + type: string + wafPolicy: + description: |- + Storage version of v1api20230501.ResourceReference_STATUS + Reference to another resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + type: object + profileName: + type: string + provisioningState: + type: string + systemData: + description: |- + Storage version of v1api20230501.SystemData_STATUS + Read only system data + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: serverfarms.web.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: web.azure.com + names: + categories: + - azure + - web + kind: ServerFarm + listKind: ServerFarmList + plural: serverfarms + singular: serverfarm + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/AppServicePlans.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + elasticScaleEnabled: + description: |- + ElasticScaleEnabled: ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was + ElasticPremium sku + type: boolean + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: object + freeOfferExpirationTime: + description: 'FreeOfferExpirationTime: The time when the server farm free offer expires.' + type: string + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: Specification for the App Service Environment to use for the App Service plan.' + properties: + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hyperV: + description: 'HyperV: If Hyper-V container app service plan true, false otherwise.' + type: boolean + isSpot: + description: 'IsSpot: If true, this App Service Plan owns spot instances.' + type: boolean + isXenon: + description: 'IsXenon: Obsolete: If Hyper-V container app service plan true, false otherwise.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + kubeEnvironmentProfile: + description: 'KubeEnvironmentProfile: Specification for the Kubernetes Environment to use for the App Service plan.' + properties: + reference: + description: 'Reference: Resource ID of the Kubernetes Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + description: 'Location: Resource Location.' + type: string + maximumElasticWorkerCount: + description: 'MaximumElasticWorkerCount: Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan' + type: integer + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - RequestUri + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleRequestUriConditionParameters - type: string - required: - - operator - - typeName - type: object required: - name - - parameters + - value type: object - serverPort: - description: 'ServerPort: Mutually exclusive with all other properties' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - ServerPort + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleServerPortConditionParameters - type: string - required: - - operator - - typeName - type: object required: - name - - parameters + - value type: object - socketAddr: - description: 'SocketAddr: Mutually exclusive with all other properties' + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + perSiteScaling: + description: |- + PerSiteScaling: If true, apps assigned to this App Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale to all instances of the plan. + type: boolean + reserved: + description: 'Reserved: If Linux app service plan true, false otherwise.' + type: boolean + sku: + description: 'Sku: Description of a SKU for a scalable resource.' + properties: + capabilities: + description: 'Capabilities: Capabilities of the SKU, e.g., is traffic manager enabled?' + items: + description: Describes the capabilities/features allowed for a specific SKU. properties: name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - SocketAddr + description: 'Name: Name of the SKU capability.' + type: string + reason: + description: 'Reason: Reason of the SKU capability.' + type: string + value: + description: 'Value: Value of the SKU capability.' type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - IPMatch - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleSocketAddrConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters type: object - sslProtocol: - description: 'SslProtocol: Mutually exclusive with all other properties' + type: array + capacity: + description: 'Capacity: Current number of instances assigned to the resource.' + type: integer + family: + description: 'Family: Family code of the resource SKU.' + type: string + locations: + description: 'Locations: Locations of the SKU.' + items: + type: string + type: array + name: + description: 'Name: Name of the resource SKU.' + type: string + size: + description: 'Size: Size specifier of the resource SKU.' + type: string + skuCapacity: + description: 'SkuCapacity: Min, max, and default scale values of the SKU.' + properties: + default: + description: 'Default: Default number of workers for this App Service plan SKU.' + type: integer + elasticMaximum: + description: 'ElasticMaximum: Maximum number of Elastic workers for this App Service plan SKU.' + type: integer + maximum: + description: 'Maximum: Maximum number of workers for this App Service plan SKU.' + type: integer + minimum: + description: 'Minimum: Minimum number of workers for this App Service plan SKU.' + type: integer + scaleType: + description: 'ScaleType: Available scale configurations for an App Service plan.' + type: string + type: object + tier: + description: 'Tier: Service tier of the resource SKU.' + type: string + type: object + spotExpirationTime: + description: 'SpotExpirationTime: The time when the server farm expires. Valid only if it is a spot server farm.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetWorkerCount: + description: 'TargetWorkerCount: Scaling worker count.' + type: integer + targetWorkerSizeId: + description: 'TargetWorkerSizeId: Scaling worker size ID.' + type: integer + workerTierName: + description: 'WorkerTierName: Target worker tier assigned to the App Service plan.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: If true, this App Service Plan will perform availability zone balancing. + If false, this App Service Plan will not perform availability zone balancing. + type: boolean + required: + - location + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + elasticScaleEnabled: + description: |- + ElasticScaleEnabled: ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was + ElasticPremium sku + type: boolean + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: + description: 'Type: Type of extended location.' + type: string + type: object + freeOfferExpirationTime: + description: 'FreeOfferExpirationTime: The time when the server farm free offer expires.' + type: string + geoRegion: + description: 'GeoRegion: Geographical location for the App Service plan.' + type: string + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: Specification for the App Service Environment to use for the App Service plan.' + properties: + id: + description: 'Id: Resource ID of the App Service Environment.' + type: string + name: + description: 'Name: Name of the App Service Environment.' + type: string + type: + description: 'Type: Resource type of the App Service Environment.' + type: string + type: object + hyperV: + description: 'HyperV: If Hyper-V container app service plan true, false otherwise.' + type: boolean + id: + description: 'Id: Resource Id.' + type: string + isSpot: + description: 'IsSpot: If true, this App Service Plan owns spot instances.' + type: boolean + isXenon: + description: 'IsXenon: Obsolete: If Hyper-V container app service plan true, false otherwise.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + kubeEnvironmentProfile: + description: 'KubeEnvironmentProfile: Specification for the Kubernetes Environment to use for the App Service plan.' + properties: + id: + description: 'Id: Resource ID of the Kubernetes Environment.' + type: string + name: + description: 'Name: Name of the Kubernetes Environment.' + type: string + type: + description: 'Type: Resource type of the Kubernetes Environment.' + type: string + type: object + location: + description: 'Location: Resource Location.' + type: string + maximumElasticWorkerCount: + description: 'MaximumElasticWorkerCount: Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan' + type: integer + maximumNumberOfWorkers: + description: 'MaximumNumberOfWorkers: Maximum number of instances that can be assigned to this App Service plan.' + type: integer + name: + description: 'Name: Resource Name.' + type: string + numberOfSites: + description: 'NumberOfSites: Number of apps assigned to this App Service plan.' + type: integer + numberOfWorkers: + description: 'NumberOfWorkers: The number of instances that are assigned to this App Service plan.' + type: integer + perSiteScaling: + description: |- + PerSiteScaling: If true, apps assigned to this App Service plan can be scaled independently. + If false, apps assigned to this App Service plan will scale to all instances of the plan. + type: boolean + provisioningState: + description: 'ProvisioningState: Provisioning state of the App Service Plan.' + type: string + reserved: + description: 'Reserved: If Linux app service plan true, false otherwise.' + type: boolean + resourceGroup: + description: 'ResourceGroup: Resource group of the App Service plan.' + type: string + sku: + description: 'Sku: Description of a SKU for a scalable resource.' + properties: + capabilities: + description: 'Capabilities: Capabilities of the SKU, e.g., is traffic manager enabled?' + items: + description: Describes the capabilities/features allowed for a specific SKU. properties: name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - SslProtocol + description: 'Name: Name of the SKU capability.' + type: string + reason: + description: 'Reason: Reason of the SKU capability.' + type: string + value: + description: 'Value: Value of the SKU capability.' type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - description: The protocol of an established TLS connection. - enum: - - TLSv1 - - TLSv1.1 - - TLSv1.2 - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Equal - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleSslProtocolConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters type: object - urlFileExtension: - description: 'UrlFileExtension: Mutually exclusive with all other properties' + type: array + capacity: + description: 'Capacity: Current number of instances assigned to the resource.' + type: integer + family: + description: 'Family: Family code of the resource SKU.' + type: string + locations: + description: 'Locations: Locations of the SKU.' + items: + type: string + type: array + name: + description: 'Name: Name of the resource SKU.' + type: string + size: + description: 'Size: Size specifier of the resource SKU.' + type: string + skuCapacity: + description: 'SkuCapacity: Min, max, and default scale values of the SKU.' + properties: + default: + description: 'Default: Default number of workers for this App Service plan SKU.' + type: integer + elasticMaximum: + description: 'ElasticMaximum: Maximum number of Elastic workers for this App Service plan SKU.' + type: integer + maximum: + description: 'Maximum: Maximum number of workers for this App Service plan SKU.' + type: integer + minimum: + description: 'Minimum: Minimum number of workers for this App Service plan SKU.' + type: integer + scaleType: + description: 'ScaleType: Available scale configurations for an App Service plan.' + type: string + type: object + tier: + description: 'Tier: Service tier of the resource SKU.' + type: string + type: object + spotExpirationTime: + description: 'SpotExpirationTime: The time when the server farm expires. Valid only if it is a spot server farm.' + type: string + status: + description: 'Status: App Service plan status.' + type: string + subscription: + description: 'Subscription: App Service plan subscription.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetWorkerCount: + description: 'TargetWorkerCount: Scaling worker count.' + type: integer + targetWorkerSizeId: + description: 'TargetWorkerSizeId: Scaling worker size ID.' + type: integer + type: + description: 'Type: Resource type.' + type: string + workerTierName: + description: 'WorkerTierName: Target worker tier assigned to the App Service plan.' + type: string + zoneRedundant: + description: |- + ZoneRedundant: If true, this App Service Plan will perform availability zone balancing. + If false, this App Service Plan will not perform availability zone balancing. + type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220301storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20220301.ServerFarm + Generator information: + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/AppServicePlans.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20220301.ServerFarm_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + elasticScaleEnabled: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + freeOfferExpirationTime: + type: string + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + hyperV: + type: boolean + isSpot: + type: boolean + isXenon: + type: boolean + kind: + type: string + kubeEnvironmentProfile: + description: |- + Storage version of v1api20220301.KubeEnvironmentProfile + Specification for a Kubernetes Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource ID of the Kubernetes Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + location: + type: string + maximumElasticWorkerCount: + type: integer + operatorSpec: + description: |- + Storage version of v1api20220301.ServerFarmOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - UrlFileExtension + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleUrlFileExtensionMatchConditionParameters - type: string - required: - - operator - - typeName - type: object required: - name - - parameters + - value type: object - urlFileName: - description: 'UrlFileName: Mutually exclusive with all other properties' + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - UrlFileName + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleUrlFilenameConditionParameters - type: string - required: - - operator - - typeName - type: object required: - name - - parameters + - value type: object - urlPath: - description: 'UrlPath: Mutually exclusive with all other properties' + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + perSiteScaling: + type: boolean + reserved: + type: boolean + sku: + description: |- + Storage version of v1api20220301.SkuDescription + Description of a SKU for a scalable resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capabilities: + items: + description: |- + Storage version of v1api20220301.Capability + Describes the capabilities/features allowed for a specific SKU. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: 'Name: The name of the condition for the delivery rule.' - enum: - - UrlPath type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - enum: - - Any - - BeginsWith - - Contains - - EndsWith - - Equal - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual - - RegEx - - Wildcard - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - enum: - - Lowercase - - RemoveNulls - - Trim - - Uppercase - - UrlDecode - - UrlEncode - type: string - type: array - typeName: - enum: - - DeliveryRuleUrlPathMatchConditionParameters - type: string - required: - - operator - - typeName - type: object - required: - - name - - parameters + reason: + type: string + value: + type: string type: object - type: object - type: array + type: array + capacity: + type: integer + family: + type: string + locations: + items: + type: string + type: array + name: + type: string + size: + type: string + skuCapacity: + description: |- + Storage version of v1api20220301.SkuCapacity + Description of the App Service plan scale options. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: integer + elasticMaximum: + type: integer + maximum: + type: integer + minimum: + type: integer + scaleType: + type: string + type: object + tier: + type: string + type: object + spotExpirationTime: + type: string + tags: + additionalProperties: + type: string + type: object + targetWorkerCount: + type: integer + targetWorkerSizeId: + type: integer + workerTierName: + type: string + zoneRedundant: + type: boolean required: - owner type: object status: + description: Storage version of v1api20220301.ServerFarm_STATUS properties: - actions: - description: 'Actions: A list of actions that are executed when all the conditions of a rule are satisfied.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: An action for the delivery rule. + description: Condition defines an extension to status (an observation) of a resource properties: - cacheExpiration: - description: 'CacheExpiration: Mutually exclusive with all other properties' + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + elasticScaleEnabled: + type: boolean + extendedLocation: + description: |- + Storage version of v1api20220301.ExtendedLocation_STATUS + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + freeOfferExpirationTime: + type: string + geoRegion: + type: string + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile_STATUS + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + hyperV: + type: boolean + id: + type: string + isSpot: + type: boolean + isXenon: + type: boolean + kind: + type: string + kubeEnvironmentProfile: + description: |- + Storage version of v1api20220301.KubeEnvironmentProfile_STATUS + Specification for a Kubernetes Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + location: + type: string + maximumElasticWorkerCount: + type: integer + maximumNumberOfWorkers: + type: integer + name: + type: string + numberOfSites: + type: integer + numberOfWorkers: + type: integer + perSiteScaling: + type: boolean + provisioningState: + type: string + reserved: + type: boolean + resourceGroup: + type: string + sku: + description: |- + Storage version of v1api20220301.SkuDescription_STATUS + Description of a SKU for a scalable resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capabilities: + items: + description: |- + Storage version of v1api20220301.Capability_STATUS + Describes the capabilities/features allowed for a specific SKU. properties: - name: - description: 'Name: The name of the action for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - type: string - cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' - type: string - cacheType: - description: 'CacheType: The level at which the content needs to be cached.' - type: string - typeName: - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - cacheKeyQueryString: - description: 'CacheKeyQueryString: Mutually exclusive with all other properties' - properties: name: - description: 'Name: The name of the action for the delivery rule.' type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringBehavior: - description: 'QueryStringBehavior: Caching behavior for the requests' - type: string - typeName: - type: string - type: object - type: object - modifyRequestHeader: - description: 'ModifyRequestHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' + reason: type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - headerAction: - description: 'HeaderAction: Action to perform' - type: string - headerName: - description: 'HeaderName: Name of the header to modify' - type: string - typeName: - type: string - value: - description: 'Value: Value for the specified action' - type: string - type: object - type: object - modifyResponseHeader: - description: 'ModifyResponseHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' + value: type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - headerAction: - description: 'HeaderAction: Action to perform' - type: string - headerName: - description: 'HeaderName: Name of the header to modify' - type: string - typeName: - type: string - value: - description: 'Value: Value for the specified action' - type: string - type: object type: object - originGroupOverride: - description: 'OriginGroupOverride: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' + type: array + capacity: + type: integer + family: + type: string + locations: + items: + type: string + type: array + name: + type: string + size: + type: string + skuCapacity: + description: |- + Storage version of v1api20220301.SkuCapacity_STATUS + Description of the App Service plan scale options. + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - typeName: - type: string - type: object - type: object - routeConfigurationOverride: - description: 'RouteConfigurationOverride: Mutually exclusive with all other properties' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + type: integer + elasticMaximum: + type: integer + maximum: + type: integer + minimum: + type: integer + scaleType: + type: string + type: object + tier: + type: string + type: object + spotExpirationTime: + type: string + status: + type: string + subscription: + type: string + tags: + additionalProperties: + type: string + type: object + targetWorkerCount: + type: integer + targetWorkerSizeId: + type: integer + type: + type: string + workerTierName: + type: string + zoneRedundant: + type: boolean + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: servers.dbformariadb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: dbformariadb.azure.com + names: + categories: + - azure + - dbformariadb + kind: Server + listKind: ServerList + plural: servers + singular: server + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location the resource resides in.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - name: - description: 'Name: The name of the action for the delivery rule.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - cacheConfiguration: - description: |- - CacheConfiguration: The caching configuration associated with this rule. To disable caching, do not provide a - cacheConfiguration object. - properties: - cacheBehavior: - description: 'CacheBehavior: Caching behavior for the requests' - type: string - cacheDuration: - description: 'CacheDuration: The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss' - type: string - isCompressionEnabled: - description: |- - IsCompressionEnabled: Indicates whether content compression is enabled. If compression is enabled, content will be - served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when - requested content is smaller than 1 byte or larger than 1 MB. - type: string - queryParameters: - description: 'QueryParameters: query parameters to include or exclude (comma separated).' - type: string - queryStringCachingBehavior: - description: |- - QueryStringCachingBehavior: Defines how Frontdoor caches requests that include query strings. You can ignore any query - strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query - strings. - type: string - type: object - originGroupOverride: - description: |- - OriginGroupOverride: A reference to the origin group override configuration. Leave empty to use the default origin group - on route. - properties: - forwardingProtocol: - description: 'ForwardingProtocol: Protocol this rule will use when forwarding traffic to backends.' - type: string - originGroup: - description: 'OriginGroup: defines the OriginGroup that would override the DefaultOriginGroup on route.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: object - typeName: - type: string - type: object - type: object - urlRedirect: - description: 'UrlRedirect: Mutually exclusive with all other properties' - properties: name: - description: 'Name: The name of the action for the delivery rule.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - customFragment: - description: |- - CustomFragment: Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include - the #. - type: string - customHostname: - description: 'CustomHostname: Host to redirect. Leave empty to use the incoming host as the destination host.' - type: string - customPath: - description: |- - CustomPath: The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path - as destination path. - type: string - customQueryString: - description: |- - CustomQueryString: The set of query strings to be placed in the redirect URL. Setting this value would replace any - existing query string; leave empty to preserve the incoming query string. Query string must be in = format. - ? and & will be added automatically so do not include them. - type: string - destinationProtocol: - description: 'DestinationProtocol: Protocol to use for the redirect. The default value is MatchRequest' - type: string - redirectType: - description: 'RedirectType: The redirect type the rule will use when redirecting traffic.' - type: string - typeName: - type: string - type: object - type: object - urlRewrite: - description: 'UrlRewrite: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the action for the delivery rule.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - destination: - description: 'Destination: Define the relative URL to which the above requests will be rewritten by.' - type: string - preserveUnmatchedPath: - description: 'PreserveUnmatchedPath: Whether to preserve unmatched path. Default value is true.' - type: boolean - sourcePattern: - description: |- - SourcePattern: define a request URI pattern that identifies the type of requests that may be rewritten. If value is - blank, all strings are matched. - type: string - typeName: - type: string - type: object + required: + - name + - value type: object - urlSigning: - description: 'UrlSigning: Mutually exclusive with all other properties' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: The name of the action for the delivery rule.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: - description: 'Parameters: Defines the parameters for the action.' - properties: - algorithm: - description: 'Algorithm: Algorithm to use for URL signing' - type: string - parameterNameOverride: - description: 'ParameterNameOverride: Defines which query string parameters in the url to be considered for expires, key id etc.' - items: - description: Defines how to identify a parameter for a specific purpose e.g. expires - properties: - paramIndicator: - description: 'ParamIndicator: Indicates the purpose of the parameter' - type: string - paramName: - description: 'ParamName: Parameter name' - type: string - type: object - type: array - typeName: - type: string - type: object + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - type: object - type: array + type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: 'Properties: Properties of the server.' + properties: + default: + description: 'Default: Mutually exclusive with all other properties' + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The password of the administrator login.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - Default + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - administratorLogin + - administratorLoginPassword + - createMode + type: object + geoRestore: + description: 'GeoRestore: Mutually exclusive with all other properties' + properties: + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - GeoRestore + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sourceServerId: + description: 'SourceServerId: The source server id to restore from.' + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - createMode + - sourceServerId + type: object + pointInTimeRestore: + description: 'PointInTimeRestore: Mutually exclusive with all other properties' + properties: + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - PointInTimeRestore + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + restorePointInTime: + description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' + type: string + sourceServerId: + description: 'SourceServerId: The source server id to restore from.' + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - createMode + - restorePointInTime + - sourceServerId + type: object + replica: + description: 'Replica: Mutually exclusive with all other properties' + properties: + createMode: + description: 'CreateMode: The mode to create a new server.' + enum: + - Replica + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + enum: + - TLS1_0 + - TLS1_1 + - TLS1_2 + - TLSEnforcementDisabled + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + sourceServerId: + description: 'SourceServerId: The master server id to create replica from.' + type: string + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + enum: + - Disabled + - Enabled + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + enum: + - Disabled + - Enabled + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + enum: + - Disabled + - Enabled + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + version: + description: 'Version: Server version.' + enum: + - "10.2" + - "10.3" + type: string + required: + - createMode + - sourceServerId + type: object + type: object + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + capacity: + description: 'Capacity: The scale up/out capacity, representing server''s compute units.' + minimum: 0 + type: integer + family: + description: 'Family: The family of hardware.' + type: string + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.' + type: string + size: + description: 'Size: The size code, to be interpreted by resource as appropriate.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Basic.' + enum: + - Basic + - GeneralPurpose + - MemoryOptimized + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Application-specific metadata in the form of key-value pairs.' + type: object + required: + - location + - owner + - properties + type: object + status: + description: Represents a server. + properties: + administratorLogin: + description: |- + AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + (and is required for creation). + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -282834,651 +369631,778 @@ spec: - type type: object type: array - deploymentStatus: + earliestRestoreDate: + description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' type: string - id: - description: 'Id: Resource ID.' + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' type: string - matchProcessingBehavior: + id: description: |- - MatchProcessingBehavior: If this rule is a match should the rules engine continue running the remaining rules or stop. - If not present, defaults to Continue. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - name: - description: 'Name: Resource name.' + location: + description: 'Location: The geo-location where the resource lives' type: string - order: - description: |- - Order: The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a - lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not - require any condition and actions listed in it will always be applied. - type: integer - provisioningState: - description: 'ProvisioningState: Provisioning status' + masterServerId: + description: 'MasterServerId: The master server id of a replica server.' type: string - ruleSetName: - description: 'RuleSetName: The name of the rule set containing the rule.' + minimalTlsVersion: + description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' type: string - ruleconditions: - description: 'RuleConditions: A list of conditions that must be matched for the actions to be executed' + name: + description: 'Name: The name of the resource' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections on a server' items: - description: A condition for the delivery rule. + description: A private endpoint connection under a server properties: - clientPort: - description: 'ClientPort: Mutually exclusive with all other properties' + id: + description: 'Id: Resource Id of the private endpoint connection.' + type: string + properties: + description: 'Properties: Private endpoint connection properties' properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + privateEndpoint: + description: 'PrivateEndpoint: Private endpoint which the connection belongs to.' properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + id: + description: 'Id: Resource id of the private endpoint.' type: string type: object - type: object - cookies: - description: 'Cookies: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + privateLinkServiceConnectionState: + description: 'PrivateLinkServiceConnectionState: Connection state of the private endpoint connection.' properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - selector: - description: 'Selector: Name of Cookies to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + actionsRequired: + description: 'ActionsRequired: The actions required for private link service connection.' type: string - type: object - type: object - hostName: - description: 'HostName: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' + description: + description: 'Description: The private link service connection description.' type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + status: + description: 'Status: The private link service connection status.' type: string type: object - type: object - httpVersion: - description: 'HttpVersion: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + provisioningState: + description: 'ProvisioningState: State of the private endpoint connection.' type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object type: object - isDevice: - description: 'IsDevice: Mutually exclusive with all other properties' + type: object + type: array + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + type: string + replicaCapacity: + description: 'ReplicaCapacity: The maximum number of replicas that a master server can have.' + type: integer + replicationRole: + description: 'ReplicationRole: The replication role of the server.' + type: string + sku: + description: 'Sku: The SKU (pricing tier) of the server.' + properties: + capacity: + description: 'Capacity: The scale up/out capacity, representing server''s compute units.' + type: integer + family: + description: 'Family: The family of hardware.' + type: string + name: + description: 'Name: The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.' + type: string + size: + description: 'Size: The size code, to be interpreted by resource as appropriate.' + type: string + tier: + description: 'Tier: The tier of the particular SKU, e.g. Basic.' + type: string + type: object + sslEnforcement: + description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' + type: string + storageProfile: + description: 'StorageProfile: Storage profile of a server.' + properties: + backupRetentionDays: + description: 'BackupRetentionDays: Backup retention days for the server.' + type: integer + geoRedundantBackup: + description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' + type: string + storageAutogrow: + description: 'StorageAutogrow: Enable Storage Auto Grow.' + type: string + storageMB: + description: 'StorageMB: Max storage allowed for a server.' + type: integer + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + userVisibleState: + description: 'UserVisibleState: A state of a server that is visible to user.' + type: string + version: + description: 'Version: Server version.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20180601storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180601.Server + Generator information: + - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180601.Server_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180601.ServerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - postArgs: - description: 'PostArgs: Mutually exclusive with all other properties' - properties: name: - description: 'Name: The name of the condition for the delivery rule.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - selector: - description: 'Selector: Name of PostArg to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - queryString: - description: 'QueryString: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object + required: + - name + - value type: object - remoteAddress: - description: 'RemoteAddress: Mutually exclusive with all other properties' + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: |- - MatchValues: Match values to match against. The operator will apply to each value in here with OR semantics. If any of - them match the variable with the given operator this match condition is considered a match. - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestBody: - description: 'RequestBody: Mutually exclusive with all other properties' - properties: name: - description: 'Name: The name of the condition for the delivery rule.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestHeader: - description: 'RequestHeader: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - selector: - description: 'Selector: Name of Header to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object + required: + - name + - value type: object - requestMethod: - description: 'RequestMethod: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + type: array + secrets: + description: Storage version of v1api20180601.ServerOperatorSecrets + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string - type: object - type: object - requestScheme: - description: 'RequestScheme: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + properties: + description: Storage version of v1api20180601.ServerPropertiesForCreate + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + default: + description: Storage version of v1api20180601.ServerPropertiesForDefaultCreate + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - requestUri: - description: 'RequestUri: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + geoRestore: + description: Storage version of v1api20180601.ServerPropertiesForGeoRestore + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + sourceServerId: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - serverPort: - description: 'ServerPort: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + pointInTimeRestore: + description: Storage version of v1api20180601.ServerPropertiesForRestore + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + restorePointInTime: + type: string + sourceServerId: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: object - socketAddr: - description: 'SocketAddr: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + replica: + description: Storage version of v1api20180601.ServerPropertiesForReplica + properties: + $propertyBag: + additionalProperties: type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createMode: + type: string + minimalTlsVersion: + type: string + publicNetworkAccess: + type: string + sourceServerId: + type: string + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: type: string - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: + type: string + storageAutogrow: + type: string + storageMB: + type: integer + type: object + version: + type: string + type: object + type: object + sku: + description: |- + Storage version of v1api20180601.Sku + Billing information related properties of a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20180601.Server_STATUS + Represents a server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + earliestRestoreDate: + type: string + fullyQualifiedDomainName: + type: string + id: + type: string + location: + type: string + masterServerId: + type: string + minimalTlsVersion: + type: string + name: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20180601.ServerPrivateEndpointConnection_STATUS + A private endpoint connection under a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - sslProtocol: - description: 'SslProtocol: Mutually exclusive with all other properties' + id: + type: string + properties: + description: |- + Storage version of v1api20180601.ServerPrivateEndpointConnectionProperties_STATUS + Properties of a private endpoint connection. properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - description: The protocol of an established TLS connection. - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: object - urlFileExtension: - description: 'UrlFileExtension: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + privateEndpoint: + description: Storage version of v1api20180601.PrivateEndpointProperty_STATUS properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching + $propertyBag: + additionalProperties: type: string - type: array - typeName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object - type: object - urlFileName: - description: 'UrlFileName: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' + privateLinkServiceConnectionState: + description: Storage version of v1api20180601.ServerPrivateLinkServiceConnectionStateProperty_STATUS properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' - type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching + $propertyBag: + additionalProperties: type: string - type: array - typeName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: type: string - type: object - type: object - urlPath: - description: 'UrlPath: Mutually exclusive with all other properties' - properties: - name: - description: 'Name: The name of the condition for the delivery rule.' - type: string - parameters: - description: 'Parameters: Defines the parameters for the condition.' - properties: - matchValues: - description: 'MatchValues: The match value for the condition of the delivery rule' - items: - type: string - type: array - negateCondition: - description: 'NegateCondition: Describes if this is negate condition or not' - type: boolean - operator: - description: 'Operator: Describes operator to be matched' + description: type: string - transforms: - description: 'Transforms: List of transforms' - items: - description: Describes what transforms are applied before matching - type: string - type: array - typeName: + status: type: string type: object + provisioningState: + type: string type: object type: object type: array - systemData: - description: 'SystemData: Read only system data' + publicNetworkAccess: + type: string + replicaCapacity: + type: integer + replicationRole: + type: string + sku: + description: |- + Storage version of v1api20180601.Sku_STATUS + Billing information related properties of a server. properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + name: type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' + size: type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + tier: type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + type: object + sslEnforcement: + type: string + storageProfile: + description: |- + Storage version of v1api20180601.StorageProfile_STATUS + Storage Profile properties of a server + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + backupRetentionDays: + type: integer + geoRedundantBackup: type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + storageAutogrow: type: string + storageMB: + type: integer + type: object + tags: + additionalProperties: + type: string type: object type: - description: 'Type: Resource type.' + type: string + userVisibleState: + type: string + version: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: servers.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: Server + listKind: ServerList + plural: servers + singular: server + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -283492,14 +370416,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20211101 schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.Rule Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Servers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName} properties: apiVersion: description: |- @@ -283519,364 +370442,583 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.Rule_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + administratorLogin: + description: 'AdministratorLogin: Administrator username for the server. Once created it cannot be changed.' + type: string + administratorLoginPassword: + description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object - actions: - items: - description: |- - Storage version of v1api20230501.DeliveryRuleAction - An action for the delivery rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheExpiration: - description: Storage version of v1api20230501.DeliveryRuleCacheExpirationAction + administrators: + description: 'Administrators: The Azure Active Directory administrator of the server.' + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + login: + description: 'Login: Login name of the server administrator.' + type: string + principalType: + description: 'PrincipalType: Principal Type of the sever administrator.' + enum: + - Application + - Group + - User + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant CMK scenario' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + identity: + description: 'Identity: The Azure Active Directory identity of the server.' + properties: + type: + description: |- + Type: The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active + Directory principal for the resource. + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + items: + description: Information about the user assigned identity for the resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.CacheExpirationActionParameters - Defines the parameters for the cache expiration action. + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - cacheDuration: + group: + description: Group is the Kubernetes group of the resource. type: string - cacheType: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - typeName: + name: + description: Name is the Kubernetes name of the resource. type: string type: object type: object - cacheKeyQueryString: - description: Storage version of v1api20230501.DeliveryRuleCacheKeyQueryStringAction + type: array + type: object + keyId: + description: 'KeyId: A CMK URI of the key to use for encryption.' + type: string + location: + description: 'Location: Resource location.' + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Minimal TLS version. Allowed values: ''1.0'', ''1.1'', ''1.2''' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - parameters: - description: |- - Storage version of v1api20230501.CacheKeyQueryStringActionParameters - Defines the parameters for the cache-key query string action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - queryParameters: - type: string - queryStringBehavior: - type: string - typeName: - type: string - type: object - type: object - modifyRequestHeader: - description: Storage version of v1api20230501.DeliveryRuleRequestHeaderAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.HeaderActionParameters - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - modifyResponseHeader: - description: Storage version of v1api20230501.DeliveryRuleResponseHeaderAction - properties: - $propertyBag: - additionalProperties: + type: array + configMaps: + description: 'ConfigMaps: configures where to place operator written ConfigMaps.' + properties: + fullyQualifiedDomainName: + description: |- + FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + config map will be created. + properties: + key: + description: Key is the key in the ConfigMap being referenced type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.HeaderActionParameters - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - originGroupOverride: - description: Storage version of v1api20230501.OriginGroupOverrideAction + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The resource id of a user assigned identity to be used by default.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access for this server. Value is optional + but if passed in, must be 'Enabled' or 'Disabled' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + version: + description: 'Version: The version of the server.' + type: string + required: + - location + - owner + type: object + status: + description: An Azure SQL Database server. + properties: + administratorLogin: + description: 'AdministratorLogin: Administrator username for the server. Once created it cannot be changed.' + type: string + administrators: + description: 'Administrators: The Azure Active Directory administrator of the server.' + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + login: + description: 'Login: Login name of the server administrator.' + type: string + principalType: + description: 'PrincipalType: Principal Type of the sever administrator.' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant CMK scenario' + type: string + fullyQualifiedDomainName: + description: 'FullyQualifiedDomainName: The fully qualified domain name of the server.' + type: string + id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: The Azure Active Directory identity of the server.' + properties: + principalId: + description: 'PrincipalId: The Azure Active Directory principal id.' + type: string + tenantId: + description: 'TenantId: The Azure Active Directory tenant id.' + type: string + type: + description: |- + Type: The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active + Directory principal for the resource. + type: string + userAssignedIdentities: + additionalProperties: + description: Azure Active Directory identity configuration for a resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + clientId: + description: 'ClientId: The Azure Active Directory client id.' + type: string + principalId: + description: 'PrincipalId: The Azure Active Directory principal id.' type: string - parameters: - description: |- - Storage version of v1api20230501.OriginGroupOverrideActionParameters - Defines the parameters for the origin group override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - originGroup: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - typeName: - type: string - type: object type: object - routeConfigurationOverride: - description: Storage version of v1api20230501.DeliveryRuleRouteConfigurationOverrideAction + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + type: object + type: object + keyId: + description: 'KeyId: A CMK URI of the key to use for encryption.' + type: string + kind: + description: 'Kind: Kind of sql server. This is metadata used for the Azure portal experience.' + type: string + location: + description: 'Location: Resource location.' + type: string + minimalTlsVersion: + description: 'MinimalTlsVersion: Minimal TLS version. Allowed values: ''1.0'', ''1.1'', ''1.2''' + type: string + name: + description: 'Name: Resource name.' + type: string + primaryUserAssignedIdentityId: + description: 'PrimaryUserAssignedIdentityId: The resource id of a user assigned identity to be used by default.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of private endpoint connections on a server' + items: + description: A private endpoint connection under a server + properties: + id: + description: 'Id: Resource ID.' + type: string + properties: + description: 'Properties: Private endpoint connection properties' properties: - $propertyBag: - additionalProperties: + groupIds: + description: 'GroupIds: Group IDs.' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RouteConfigurationOverrideActionParameters - Defines the parameters for the route configuration override action. + type: array + privateEndpoint: + description: 'PrivateEndpoint: Private endpoint which the connection belongs to.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheConfiguration: - description: |- - Storage version of v1api20230501.CacheConfiguration - Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - isCompressionEnabled: - type: string - queryParameters: - type: string - queryStringCachingBehavior: - type: string - type: object - originGroupOverride: - description: |- - Storage version of v1api20230501.OriginGroupOverride - Defines the parameters for the origin group override configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forwardingProtocol: - type: string - originGroup: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - typeName: + id: + description: 'Id: Resource id of the private endpoint.' type: string type: object - type: object - urlRedirect: - description: Storage version of v1api20230501.UrlRedirectAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.UrlRedirectActionParameters - Defines the parameters for the url redirect action. + privateLinkServiceConnectionState: + description: 'PrivateLinkServiceConnectionState: Connection state of the private endpoint connection.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customFragment: - type: string - customHostname: - type: string - customPath: - type: string - customQueryString: - type: string - destinationProtocol: + actionsRequired: + description: 'ActionsRequired: The actions required for private link service connection.' type: string - redirectType: + description: + description: 'Description: The private link service connection description.' type: string - typeName: + status: + description: 'Status: The private link service connection status.' type: string type: object + provisioningState: + description: 'ProvisioningState: State of the private endpoint connection.' + type: string type: object - urlRewrite: - description: Storage version of v1api20230501.UrlRewriteAction + type: object + type: array + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this server. Value is optional but if passed + in, must be 'Enabled' or 'Disabled' + type: string + restrictOutboundNetworkAccess: + description: |- + RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access for this server. Value is optional + but if passed in, must be 'Enabled' or 'Disabled' + type: string + state: + description: 'State: The state of the server.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + type: + description: 'Type: Resource type.' + type: string + version: + description: 'Version: The version of the server.' + type: string + workspaceFeature: + description: 'WorkspaceFeature: Whether or not existing server has a workspace created and if it allows connection from workspace' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.Server + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Servers.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.Server_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administratorLoginPassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + administrators: + description: |- + Storage version of v1api20211101.ServerExternalAdministrator + Properties of a active directory administrator. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + azureADOnlyAuthentication: + type: boolean + login: + type: string + principalType: + type: string + sid: + type: string + tenantId: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + federatedClientId: + type: string + identity: + description: |- + Storage version of v1api20211101.ResourceIdentity + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -283885,91 +371027,38 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.UrlRewriteActionParameters - Defines the parameters for the url rewrite action. + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - destination: - type: string - preserveUnmatchedPath: - type: boolean - sourcePattern: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - typeName: + group: + description: Group is the Kubernetes group of the resource. type: string - type: object - type: object - urlSigning: - description: Storage version of v1api20230501.UrlSigningAction - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.UrlSigningActionParameters - Defines the parameters for the Url Signing action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - algorithm: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - parameterNameOverride: - items: - description: |- - Storage version of v1api20230501.UrlSigningParamIdentifier - Defines how to identify a parameter for a specific purpose e.g. expires - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paramIndicator: - type: string - paramName: - type: string - type: object - type: array - typeName: + name: + description: Name is the Kubernetes name of the resource. type: string type: object type: object - type: object - type: array - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + type: array + type: object + keyId: type: string - matchProcessingBehavior: + location: + type: string + minimalTlsVersion: type: string operatorSpec: description: |- - Storage version of v1api20230501.RuleOperatorSpec + Storage version of v1api20211101.ServerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -284008,6 +371097,35 @@ spec: - value type: object type: array + configMaps: + description: Storage version of v1api20211101.ServerOperatorConfigMaps + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + fullyQualifiedDomainName: + description: |- + ConfigMapDestination describes the location to store a single configmap value + Note: This is similar to: SecretDestination in secrets.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the ConfigMap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes ConfigMap to write to. + The ConfigMap will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object secretExpressions: items: description: |- @@ -284038,15 +371156,13 @@ spec: type: object type: array type: object - order: - type: integer originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/RuleSet resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -284055,707 +371171,150 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ruleconditions: + primaryUserAssignedIdentityReference: + description: 'PrimaryUserAssignedIdentityReference: The resource id of a user assigned identity to be used by default.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + tags: + additionalProperties: + type: string + type: object + version: + type: string + required: + - owner + type: object + status: + description: |- + Storage version of v1api20211101.Server_STATUS + An Azure SQL Database server. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorLogin: + type: string + administrators: + description: |- + Storage version of v1api20211101.ServerExternalAdministrator_STATUS + Properties of a active directory administrator. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + azureADOnlyAuthentication: + type: boolean + login: + type: string + principalType: + type: string + sid: + type: string + tenantId: + type: string + type: object + conditions: items: - description: |- - Storage version of v1api20230501.DeliveryRuleCondition - A condition for the delivery rule. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientPort: - description: Storage version of v1api20230501.DeliveryRuleClientPortCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.ClientPortMatchConditionParameters - Defines the parameters for ClientPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - cookies: - description: Storage version of v1api20230501.DeliveryRuleCookiesCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.CookiesMatchConditionParameters - Defines the parameters for Cookies match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - hostName: - description: Storage version of v1api20230501.DeliveryRuleHostNameCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.HostNameMatchConditionParameters - Defines the parameters for HostName match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - httpVersion: - description: Storage version of v1api20230501.DeliveryRuleHttpVersionCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.HttpVersionMatchConditionParameters - Defines the parameters for HttpVersion match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - isDevice: - description: Storage version of v1api20230501.DeliveryRuleIsDeviceCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.IsDeviceMatchConditionParameters - Defines the parameters for IsDevice match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - postArgs: - description: Storage version of v1api20230501.DeliveryRulePostArgsCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.PostArgsMatchConditionParameters - Defines the parameters for PostArgs match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - queryString: - description: Storage version of v1api20230501.DeliveryRuleQueryStringCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.QueryStringMatchConditionParameters - Defines the parameters for QueryString match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - remoteAddress: - description: Storage version of v1api20230501.DeliveryRuleRemoteAddressCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RemoteAddressMatchConditionParameters - Defines the parameters for RemoteAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestBody: - description: Storage version of v1api20230501.DeliveryRuleRequestBodyCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestBodyMatchConditionParameters - Defines the parameters for RequestBody match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestHeader: - description: Storage version of v1api20230501.DeliveryRuleRequestHeaderCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestHeaderMatchConditionParameters - Defines the parameters for RequestHeader match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestMethod: - description: Storage version of v1api20230501.DeliveryRuleRequestMethodCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestMethodMatchConditionParameters - Defines the parameters for RequestMethod match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestScheme: - description: Storage version of v1api20230501.DeliveryRuleRequestSchemeCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestSchemeMatchConditionParameters - Defines the parameters for RequestScheme match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestUri: - description: Storage version of v1api20230501.DeliveryRuleRequestUriCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestUriMatchConditionParameters - Defines the parameters for RequestUri match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - serverPort: - description: Storage version of v1api20230501.DeliveryRuleServerPortCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.ServerPortMatchConditionParameters - Defines the parameters for ServerPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - socketAddr: - description: Storage version of v1api20230501.DeliveryRuleSocketAddrCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.SocketAddrMatchConditionParameters - Defines the parameters for SocketAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - sslProtocol: - description: Storage version of v1api20230501.DeliveryRuleSslProtocolCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.SslProtocolMatchConditionParameters - Defines the parameters for SslProtocol match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileExtension: - description: Storage version of v1api20230501.DeliveryRuleUrlFileExtensionCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.UrlFileExtensionMatchConditionParameters - Defines the parameters for UrlFileExtension match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileName: - description: Storage version of v1api20230501.DeliveryRuleUrlFileNameCondition + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + federatedClientId: + type: string + fullyQualifiedDomainName: + type: string + id: + type: string + identity: + description: |- + Storage version of v1api20211101.ResourceIdentity_STATUS + Azure Active Directory identity configuration for a resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211101.UserIdentity_STATUS + Azure Active Directory identity configuration for a resource. properties: $propertyBag: additionalProperties: @@ -284764,96 +371323,30 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + clientId: type: string - parameters: - description: |- - Storage version of v1api20230501.UrlFileNameMatchConditionParameters - Defines the parameters for UrlFilename match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlPath: - description: Storage version of v1api20230501.DeliveryRuleUrlPathCondition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + principalId: type: string - parameters: - description: |- - Storage version of v1api20230501.UrlPathMatchConditionParameters - Defines the parameters for UrlPath match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object type: object - type: object - type: array - required: - - owner - type: object - status: - description: Storage version of v1api20230501.Rule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: object type: object - actions: + keyId: + type: string + kind: + type: string + location: + type: string + minimalTlsVersion: + type: string + name: + type: string + primaryUserAssignedIdentityId: + type: string + privateEndpointConnections: items: description: |- - Storage version of v1api20230501.DeliveryRuleAction_STATUS - An action for the delivery rule. + Storage version of v1api20211101.ServerPrivateEndpointConnection_STATUS + A private endpoint connection under a server properties: $propertyBag: additionalProperties: @@ -284862,8 +371355,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cacheExpiration: - description: Storage version of v1api20230501.DeliveryRuleCacheExpirationAction_STATUS + id: + type: string + properties: + description: |- + Storage version of v1api20211101.PrivateEndpointConnectionProperties_STATUS + Properties of a private endpoint connection. properties: $propertyBag: additionalProperties: @@ -284872,46 +371369,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.CacheExpirationActionParameters_STATUS - Defines the parameters for the cache expiration action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - cacheType: - type: string - typeName: - type: string - type: object - type: object - cacheKeyQueryString: - description: Storage version of v1api20230501.DeliveryRuleCacheKeyQueryStringAction_STATUS - properties: - $propertyBag: - additionalProperties: + groupIds: + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.CacheKeyQueryStringActionParameters_STATUS - Defines the parameters for the cache-key query string action. + type: array + privateEndpoint: + description: Storage version of v1api20211101.PrivateEndpointProperty_STATUS properties: $propertyBag: additionalProperties: @@ -284920,30 +371383,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - queryParameters: - type: string - queryStringBehavior: - type: string - typeName: + id: type: string type: object - type: object - modifyRequestHeader: - description: Storage version of v1api20230501.DeliveryRuleRequestHeaderAction_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.HeaderActionParameters_STATUS - Defines the parameters for the request header action. + privateLinkServiceConnectionState: + description: Storage version of v1api20211101.PrivateLinkServiceConnectionStateProperty_STATUS properties: $propertyBag: additionalProperties: @@ -284952,300 +371396,747 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - headerAction: - type: string - headerName: + actionsRequired: type: string - typeName: + description: type: string - value: + status: type: string type: object + provisioningState: + type: string type: object - modifyResponseHeader: - description: Storage version of v1api20230501.DeliveryRuleResponseHeaderAction_STATUS + type: object + type: array + publicNetworkAccess: + type: string + restrictOutboundNetworkAccess: + type: string + state: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + version: + type: string + workspaceFeature: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: serversadministrators.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersAdministrator + listKind: ServersAdministratorList + plural: serversadministrators + singular: serversadministrator + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADAdministrators.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + enum: + - ActiveDirectory + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.HeaderActionParameters_STATUS - Defines the parameters for the request header action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - headerAction: - type: string - headerName: - type: string - typeName: - type: string - value: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - originGroupOverride: - description: Storage version of v1api20230501.OriginGroupOverrideAction_STATUS + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.OriginGroupOverrideActionParameters_STATUS - Defines the parameters for the origin group override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - originGroup: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - typeName: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - routeConfigurationOverride: - description: Storage version of v1api20230501.DeliveryRuleRouteConfigurationOverrideAction_STATUS + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + description: 'Sid: SID (object ID) of the server administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + sidFromConfig: + description: 'SidFromConfig: SID (object ID) of the server administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + tenantIdFromConfig: + description: 'TenantIdFromConfig: Tenant ID of the administrator.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - administratorType + - login + - owner + type: object + status: + properties: + administratorType: + description: 'AdministratorType: Type of the sever administrator.' + type: string + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' + type: string + login: + description: 'Login: Login name of the server administrator.' + type: string + name: + description: 'Name: Resource name.' + type: string + sid: + description: 'Sid: SID (object ID) of the server administrator.' + type: string + tenantId: + description: 'TenantId: Tenant ID of the administrator.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAdministrator + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADAdministrators.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAdministrator_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + login: + type: string + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAdministratorOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.RouteConfigurationOverrideActionParameters_STATUS - Defines the parameters for the route configuration override action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheConfiguration: - description: |- - Storage version of v1api20230501.CacheConfiguration_STATUS - Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - cacheBehavior: - type: string - cacheDuration: - type: string - isCompressionEnabled: - type: string - queryParameters: - type: string - queryStringCachingBehavior: - type: string - type: object - originGroupOverride: - description: |- - Storage version of v1api20230501.OriginGroupOverride_STATUS - Defines the parameters for the origin group override configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - forwardingProtocol: - type: string - originGroup: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - typeName: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - urlRedirect: - description: Storage version of v1api20230501.UrlRedirectAction_STATUS + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.UrlRedirectActionParameters_STATUS - Defines the parameters for the url redirect action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customFragment: - type: string - customHostname: - type: string - customPath: - type: string - customQueryString: - type: string - destinationProtocol: - type: string - redirectType: - type: string - typeName: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - urlRewrite: - description: Storage version of v1api20230501.UrlRewriteAction_STATUS + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + sid: + type: string + sidFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + tenantId: + type: string + tenantIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAdministrator_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + administratorType: + type: string + azureADOnlyAuthentication: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + login: + type: string + name: + type: string + sid: + type: string + tenantId: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: serversadvancedthreatprotectionsettings.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersAdvancedThreatProtectionSetting + listKind: ServersAdvancedThreatProtectionSettingList + plural: serversadvancedthreatprotectionsettings + singular: serversadvancedthreatprotectionsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.UrlRewriteActionParameters_STATUS - Defines the parameters for the url rewrite action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - destination: - type: string - preserveUnmatchedPath: - type: boolean - sourcePattern: - type: string - typeName: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - urlSigning: - description: Storage version of v1api20230501.UrlSigningAction_STATUS + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: + value: description: |- - Storage version of v1api20230501.UrlSigningActionParameters_STATUS - Defines the parameters for the Url Signing action. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - algorithm: - type: string - parameterNameOverride: - items: - description: |- - Storage version of v1api20230501.UrlSigningParamIdentifier_STATUS - Defines how to identify a parameter for a specific purpose e.g. expires - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paramIndicator: - type: string - paramName: - type: string - type: object - type: array - typeName: - type: string - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object - type: object - type: array + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. + enum: + - Disabled + - Enabled + - New + type: string + required: + - owner + - state + type: object + status: + properties: conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -285288,805 +372179,256 @@ spec: - type type: object type: array - deploymentStatus: + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' type: string id: - type: string - matchProcessingBehavior: + description: 'Id: Resource ID.' type: string name: + description: 'Name: Resource name.' type: string - order: - type: integer - provisioningState: + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. type: string - ruleSetName: + systemData: + description: 'SystemData: SystemData of AdvancedThreatProtectionResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + type: + description: 'Type: Resource type.' type: string - ruleconditions: - items: - description: |- - Storage version of v1api20230501.DeliveryRuleCondition_STATUS - A condition for the delivery rule. - properties: - $propertyBag: - additionalProperties: - type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advancedThreatProtectionSettings/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAdvancedThreatProtectionSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientPort: - description: Storage version of v1api20230501.DeliveryRuleClientPortCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.ClientPortMatchConditionParameters_STATUS - Defines the parameters for ClientPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - cookies: - description: Storage version of v1api20230501.DeliveryRuleCookiesCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.CookiesMatchConditionParameters_STATUS - Defines the parameters for Cookies match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - hostName: - description: Storage version of v1api20230501.DeliveryRuleHostNameCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.HostNameMatchConditionParameters_STATUS - Defines the parameters for HostName match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - httpVersion: - description: Storage version of v1api20230501.DeliveryRuleHttpVersionCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.HttpVersionMatchConditionParameters_STATUS - Defines the parameters for HttpVersion match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - isDevice: - description: Storage version of v1api20230501.DeliveryRuleIsDeviceCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.IsDeviceMatchConditionParameters_STATUS - Defines the parameters for IsDevice match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - postArgs: - description: Storage version of v1api20230501.DeliveryRulePostArgsCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.PostArgsMatchConditionParameters_STATUS - Defines the parameters for PostArgs match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - queryString: - description: Storage version of v1api20230501.DeliveryRuleQueryStringCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.QueryStringMatchConditionParameters_STATUS - Defines the parameters for QueryString match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - remoteAddress: - description: Storage version of v1api20230501.DeliveryRuleRemoteAddressCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RemoteAddressMatchConditionParameters_STATUS - Defines the parameters for RemoteAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestBody: - description: Storage version of v1api20230501.DeliveryRuleRequestBodyCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestBodyMatchConditionParameters_STATUS - Defines the parameters for RequestBody match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestHeader: - description: Storage version of v1api20230501.DeliveryRuleRequestHeaderCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestHeaderMatchConditionParameters_STATUS - Defines the parameters for RequestHeader match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - selector: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestMethod: - description: Storage version of v1api20230501.DeliveryRuleRequestMethodCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestMethodMatchConditionParameters_STATUS - Defines the parameters for RequestMethod match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestScheme: - description: Storage version of v1api20230501.DeliveryRuleRequestSchemeCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestSchemeMatchConditionParameters_STATUS - Defines the parameters for RequestScheme match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - requestUri: - description: Storage version of v1api20230501.DeliveryRuleRequestUriCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.RequestUriMatchConditionParameters_STATUS - Defines the parameters for RequestUri match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - serverPort: - description: Storage version of v1api20230501.DeliveryRuleServerPortCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.ServerPortMatchConditionParameters_STATUS - Defines the parameters for ServerPort match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - socketAddr: - description: Storage version of v1api20230501.DeliveryRuleSocketAddrCondition_STATUS + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - parameters: - description: |- - Storage version of v1api20230501.SocketAddrMatchConditionParameters_STATUS - Defines the parameters for SocketAddress match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - sslProtocol: - description: Storage version of v1api20230501.DeliveryRuleSslProtocolCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object name: - type: string - parameters: - description: |- - Storage version of v1api20230501.SslProtocolMatchConditionParameters_STATUS - Defines the parameters for SslProtocol match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileExtension: - description: Storage version of v1api20230501.DeliveryRuleUrlFileExtensionCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - parameters: - description: |- - Storage version of v1api20230501.UrlFileExtensionMatchConditionParameters_STATUS - Defines the parameters for UrlFileExtension match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object - type: object - urlFileName: - description: Storage version of v1api20230501.DeliveryRuleUrlFileNameCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string + value: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - parameters: - description: |- - Storage version of v1api20230501.UrlFileNameMatchConditionParameters_STATUS - Defines the parameters for UrlFilename match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object + required: + - name + - value type: object - urlPath: - description: Storage version of v1api20230501.DeliveryRuleUrlPathCondition_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - parameters: - description: |- - Storage version of v1api20230501.UrlPathMatchConditionParameters_STATUS - Defines the parameters for UrlPath match conditions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - matchValues: - items: - type: string - type: array - negateCondition: - type: boolean - operator: - type: string - transforms: - items: - type: string - type: array - typeName: - type: string - type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + state: + type: string + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array + creationTime: + type: string + id: + type: string + name: + type: string + state: + type: string systemData: description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -286122,11 +372464,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: rulesets.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversauditingsettings.sql.azure.com spec: conversion: strategy: Webhook @@ -286139,12 +372481,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cdn.azure.com + group: sql.azure.com names: - kind: RuleSet - listKind: RuleSetList - plural: rulesets - singular: ruleset + categories: + - azure + - sql + kind: ServersAuditingSetting + listKind: ServersAuditingSettingList + plural: serversauditingsettings + singular: serversauditingsetting preserveUnknownFields: false scope: Namespaced versions: @@ -286161,13 +372506,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default properties: apiVersion: description: |- @@ -286188,11 +372533,100 @@ spec: type: object spec: properties: - azureName: + auditActionsAndGroups: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isDevopsAuditEnabled: + description: |- + IsDevopsAuditEnabled: Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure + Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and + 'IsDevopsAuditEnabled' as true + When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on + the master database should also be created. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -286263,7 +372697,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -286272,11 +372706,123 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. + enum: + - Disabled + - Enabled + type: string + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the auditing storage account. + If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server + system-assigned managed identity to access the storage. + Prerequisites for using managed identity authentication: + 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the + server identity. + For more information, see [Auditing to storage using Managed Identity + authentication](https://go.microsoft.com/fwlink/?linkid=2114355) + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + type: string required: - owner + - state type: object status: properties: + auditActionsAndGroups: + description: |- + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -286321,42 +372867,67 @@ spec: - type type: object type: array - deploymentStatus: - type: string id: description: 'Id: Resource ID.' type: string + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isDevopsAuditEnabled: + description: |- + IsDevopsAuditEnabled: Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure + Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and + 'IsDevopsAuditEnabled' as true + When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on + the master database should also be created. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean name: description: 'Name: Resource name.' type: string - profileName: - description: 'ProfileName: The name of the profile which holds the rule set.' + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. type: string - provisioningState: - description: 'ProvisioningState: Provisioning status' + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. type: string - systemData: - description: 'SystemData: Read only system data' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' - type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' - type: string - type: object type: description: 'Type: Resource type.' type: string @@ -286379,14 +372950,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.RuleSet + Storage version of v1api20211101.ServersAuditingSetting Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default properties: apiVersion: description: |- @@ -286406,7 +372977,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.RuleSet_Spec + description: Storage version of v1api20211101.ServersAuditingSetting_Spec properties: $propertyBag: additionalProperties: @@ -286415,14 +372986,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + auditActionsAndGroups: + items: + type: string + type: array + isAzureMonitorTargetEnabled: + type: boolean + isDevopsAuditEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean operatorSpec: description: |- - Storage version of v1api20230501.RuleSetOperatorSpec + Storage version of v1api20211101.ServersAuditingSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -286497,7 +373075,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -286506,11 +373084,38 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + queueDelayMs: + type: integer + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageAccountSubscriptionId: + type: string + storageEndpoint: + type: string required: - owner type: object status: - description: Storage version of v1api20230501.RuleSet_STATUS + description: Storage version of v1api20211101.ServersAuditingSetting_STATUS properties: $propertyBag: additionalProperties: @@ -286519,6 +373124,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + auditActionsAndGroups: + items: + type: string + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -286562,41 +373171,28 @@ spec: - type type: object type: array - deploymentStatus: - type: string id: type: string + isAzureMonitorTargetEnabled: + type: boolean + isDevopsAuditEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean name: type: string - profileName: + queueDelayMs: + type: integer + retentionDays: + type: integer + state: type: string - provisioningState: + storageAccountSubscriptionId: + type: string + storageEndpoint: type: string - systemData: - description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object type: type: string type: object @@ -286611,11 +373207,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: scheduledqueryrules.insights.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversazureadonlyauthentications.sql.azure.com spec: conversion: strategy: Webhook @@ -286628,12 +373224,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: insights.azure.com + group: sql.azure.com names: - kind: ScheduledQueryRule - listKind: ScheduledQueryRuleList - plural: scheduledqueryrules - singular: scheduledqueryrule + categories: + - azure + - sql + kind: ServersAzureADOnlyAuthentication + listKind: ServersAzureADOnlyAuthenticationList + plural: serversazureadonlyauthentications + singular: serversazureadonlyauthentication preserveUnknownFields: false scope: Namespaced versions: @@ -286650,13 +373249,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220615 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-06-15/scheduledQueryRule_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADOnlyAuthentications.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/Default properties: apiVersion: description: |- @@ -286677,187 +373276,444 @@ spec: type: object spec: properties: - actions: - description: 'Actions: Actions to invoke when the alert fires.' + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' + type: boolean + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - actionGroupsReferences: - description: 'ActionGroupsReferences: Action Group resource Ids to invoke when the alert fires.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - armId: + key: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - group: - description: Group is the Kubernetes group of the resource. + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - kind: - description: Kind is the Kubernetes kind of the resource. + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - customProperties: - additionalProperties: - type: string - description: 'CustomProperties: The properties of an alert payload.' - type: object type: object - autoMitigate: + owner: description: |- - AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. - Relevant only for rules of the kind LogAlert. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - azureADOnlyAuthentication + - owner + type: object + status: + properties: + azureADOnlyAuthentication: + description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - pattern: ^[^#<>%&:\?/{}*]{1,260}$ + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Resource ID.' type: string - checkWorkspaceAlertsStorageConfigured: + name: + description: 'Name: Resource name.' + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20211101.ServersAzureADOnlyAuthentication + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADOnlyAuthentications.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/Default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20211101.ServersAzureADOnlyAuthentication_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in - the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureADOnlyAuthentication: type: boolean - criteria: - description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' + operatorSpec: + description: |- + Storage version of v1api20211101.ServersAzureADOnlyAuthenticationOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - allOf: - description: 'AllOf: A list of conditions to evaluate against the specified scopes' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: - description: A condition of the scheduled query rule. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - dimensions: - description: 'Dimensions: List of Dimensions conditions' - items: - description: Dimension splitting and filtering definition - properties: - name: - description: 'Name: Name of the dimension' - type: string - operator: - description: 'Operator: Operator for dimension values' - enum: - - Exclude - - Include - type: string - values: - description: 'Values: List of dimension values' - items: - type: string - type: array - required: - - name - - operator - - values - type: object - type: array - failingPeriods: + key: description: |- - FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an - alert. Relevant only for rules of the kind LogAlert. - properties: - minFailingPeriodsToAlert: - description: |- - MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to - numberOfEvaluationPeriods. Default value is 1 - type: integer - numberOfEvaluationPeriods: - description: |- - NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the - aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 - type: integer - type: object - metricMeasureColumn: - description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - metricName: - description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - operator: - description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' - enum: - - Equals - - GreaterThan - - GreaterThanOrEqual - - LessThan - - LessThanOrEqual + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - query: - description: 'Query: Log query alert' + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - resourceIdColumnReference: + name: description: |- - ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as - resource id. Relevant only for rules of the kind LogAlert. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - threshold: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - Threshold: the criteria threshold value that activates the alert. Relevant and required only for rules of the kind - LogAlert. - type: number - timeAggregation: - description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' - enum: - - Average - - Count - - Maximum - - Minimum - - Total + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array type: object - description: - description: 'Description: The description of the scheduled query rule.' - type: string - displayName: - description: 'DisplayName: The display name of the alert rule' + originalVersion: type: string - enabled: - description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' - type: boolean - evaluationFrequency: + owner: description: |- - EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant - and required only for rules of the kind LogAlert. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20211101.ServersAzureADOnlyAuthentication_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureADOnlyAuthentication: + type: boolean + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: type: string - kind: - description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: serversconnectionpolicies.sql.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: sql.azure.com + names: + categories: + - azure + - sql + kind: ServersConnectionPolicy + listKind: ServersConnectionPolicyList + plural: serversconnectionpolicies + singular: serversconnectionpolicy + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20211101 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerConnectionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + connectionType: + description: 'ConnectionType: The server connection type.' enum: - - LogAlert - - LogToMetric - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - muteActionsDuration: - description: |- - MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. - Relevant only for rules of the kind LogAlert. + - Default + - Proxy + - Redirect type: string operatorSpec: description: |- @@ -286925,16 +373781,11 @@ spec: type: object type: array type: object - overrideQueryTimeRange: - description: |- - OverrideQueryTimeRange: If specified then overrides the query time range (default is - WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -286943,94 +373794,12 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scopesReferences: - description: 'ScopesReferences: The list of resource id''s that this scheduled query rule is scoped to.' - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - severity: - description: |- - Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only - for rules of the kind LogAlert. - enum: - - 0 - - 1 - - 2 - - 3 - - 4 - type: integer - skipQueryValidation: - description: |- - SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is - false. Relevant only for rules of the kind LogAlert. - type: boolean - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - targetResourceTypes: - description: |- - TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example - if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert - will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of - the kind LogAlert - items: - type: string - type: array - windowSize: - description: |- - WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). - Relevant and required only for rules of the kind LogAlert. - type: string required: - - location + - connectionType - owner type: object status: properties: - actions: - description: 'Actions: Actions to invoke when the alert fires.' - properties: - actionGroups: - description: 'ActionGroups: Action Group resource Ids to invoke when the alert fires.' - items: - type: string - type: array - customProperties: - additionalProperties: - type: string - description: 'CustomProperties: The properties of an alert payload.' - type: object - type: object - autoMitigate: - description: |- - AutoMitigate: The flag that indicates whether the alert should be automatically resolved or not. The default is true. - Relevant only for rules of the kind LogAlert. - type: boolean - checkWorkspaceAlertsStorageConfigured: - description: |- - CheckWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule should be stored in - the customer's storage. The default is false. Relevant only for rules of the kind LogAlert. - type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -287075,190 +373844,23 @@ spec: - type type: object type: array - createdWithApiVersion: - description: 'CreatedWithApiVersion: The api-version used when creating this alert rule' - type: string - criteria: - description: 'Criteria: The rule criteria that defines the conditions of the scheduled query rule.' - properties: - allOf: - description: 'AllOf: A list of conditions to evaluate against the specified scopes' - items: - description: A condition of the scheduled query rule. - properties: - dimensions: - description: 'Dimensions: List of Dimensions conditions' - items: - description: Dimension splitting and filtering definition - properties: - name: - description: 'Name: Name of the dimension' - type: string - operator: - description: 'Operator: Operator for dimension values' - type: string - values: - description: 'Values: List of dimension values' - items: - type: string - type: array - type: object - type: array - failingPeriods: - description: |- - FailingPeriods: The minimum number of violations required within the selected lookback time window required to raise an - alert. Relevant only for rules of the kind LogAlert. - properties: - minFailingPeriodsToAlert: - description: |- - MinFailingPeriodsToAlert: The number of violations to trigger an alert. Should be smaller or equal to - numberOfEvaluationPeriods. Default value is 1 - type: integer - numberOfEvaluationPeriods: - description: |- - NumberOfEvaluationPeriods: The number of aggregated lookback points. The lookback time window is calculated based on the - aggregation granularity (windowSize) and the selected number of aggregated points. Default value is 1 - type: integer - type: object - metricMeasureColumn: - description: 'MetricMeasureColumn: The column containing the metric measure number. Relevant only for rules of the kind LogAlert.' - type: string - metricName: - description: 'MetricName: The name of the metric to be sent. Relevant and required only for rules of the kind LogToMetric.' - type: string - operator: - description: 'Operator: The criteria operator. Relevant and required only for rules of the kind LogAlert.' - type: string - query: - description: 'Query: Log query alert' - type: string - resourceIdColumn: - description: |- - ResourceIdColumn: The column containing the resource id. The content of the column must be a uri formatted as resource - id. Relevant only for rules of the kind LogAlert. - type: string - threshold: - description: |- - Threshold: the criteria threshold value that activates the alert. Relevant and required only for rules of the kind - LogAlert. - type: number - timeAggregation: - description: 'TimeAggregation: Aggregation type. Relevant and required only for rules of the kind LogAlert.' - type: string - type: object - type: array - type: object - description: - description: 'Description: The description of the scheduled query rule.' - type: string - displayName: - description: 'DisplayName: The display name of the alert rule' - type: string - enabled: - description: 'Enabled: The flag which indicates whether this scheduled query rule is enabled. Value should be true or false' - type: boolean - etag: - description: |- - Etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per - the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. - HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and - If-Range (section 14.27) header fields. - type: string - evaluationFrequency: - description: |- - EvaluationFrequency: How often the scheduled query rule is evaluated represented in ISO 8601 duration format. Relevant - and required only for rules of the kind LogAlert. + connectionType: + description: 'ConnectionType: The server connection type.' type: string id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + description: 'Id: Resource ID.' type: string - isLegacyLogAnalyticsRule: - description: 'IsLegacyLogAnalyticsRule: True if alert rule is legacy Log Analytic rule' - type: boolean - isWorkspaceAlertsStorageConfigured: - description: |- - IsWorkspaceAlertsStorageConfigured: The flag which indicates whether this scheduled query rule has been configured to be - stored in the customer's storage. The default is false. - type: boolean kind: - description: 'Kind: Indicates the type of scheduled query rule. The default is LogAlert.' + description: 'Kind: Metadata used for the Azure portal experience.' type: string location: - description: 'Location: The geo-location where the resource lives' - type: string - muteActionsDuration: - description: |- - MuteActionsDuration: Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired. - Relevant only for rules of the kind LogAlert. + description: 'Location: Resource location.' type: string name: - description: 'Name: The name of the resource' - type: string - overrideQueryTimeRange: - description: |- - OverrideQueryTimeRange: If specified then overrides the query time range (default is - WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + description: 'Name: Resource name.' type: string - scopes: - description: 'Scopes: The list of resource id''s that this scheduled query rule is scoped to.' - items: - type: string - type: array - severity: - description: |- - Severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only - for rules of the kind LogAlert. - type: integer - skipQueryValidation: - description: |- - SkipQueryValidation: The flag which indicates whether the provided query should be validated or not. The default is - false. Relevant only for rules of the kind LogAlert. - type: boolean - systemData: - description: 'SystemData: SystemData of ScheduledQueryRule.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - targetResourceTypes: - description: |- - TargetResourceTypes: List of resource type of the target resource(s) on which the alert is created/updated. For example - if the scope is a resource group and targetResourceTypes is Microsoft.Compute/virtualMachines, then a different alert - will be fired for each virtual machine in the resource group which meet the alert criteria. Relevant only for rules of - the kind LogAlert - items: - type: string - type: array type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - windowSize: - description: |- - WindowSize: The period of time (in ISO 8601 duration format) on which the Alert query will be executed (bin size). - Relevant and required only for rules of the kind LogAlert. + description: 'Type: Resource type.' type: string type: object type: object @@ -287279,14 +373881,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220615storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220615.ScheduledQueryRule + Storage version of v1api20211101.ServersConnectionPolicy Generator information: - - Generated from: /monitor/resource-manager/Microsoft.Insights/stable/2022-06-15/scheduledQueryRule_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerConnectionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/default properties: apiVersion: description: |- @@ -287306,7 +373908,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220615.ScheduledQueryRule_Spec + description: Storage version of v1api20211101.ServersConnectionPolicy_Spec properties: $propertyBag: additionalProperties: @@ -287315,171 +373917,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actions: - description: |- - Storage version of v1api20220615.Actions - Actions to invoke when the alert fires. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionGroupsReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - customProperties: - additionalProperties: - type: string - type: object - type: object - autoMitigate: - type: boolean - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - checkWorkspaceAlertsStorageConfigured: - type: boolean - criteria: - description: |- - Storage version of v1api20220615.ScheduledQueryRuleCriteria - The rule criteria that defines the conditions of the scheduled query rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allOf: - items: - description: |- - Storage version of v1api20220615.Condition - A condition of the scheduled query rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dimensions: - items: - description: |- - Storage version of v1api20220615.Dimension - Dimension splitting and filtering definition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - failingPeriods: - description: Storage version of v1api20220615.Condition_FailingPeriods - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - minFailingPeriodsToAlert: - type: integer - numberOfEvaluationPeriods: - type: integer - type: object - metricMeasureColumn: - type: string - metricName: - type: string - operator: - type: string - query: - type: string - resourceIdColumnReference: - description: |- - ResourceIdColumnReference: The column containing the resource id. The content of the column must be a uri formatted as - resource id. Relevant only for rules of the kind LogAlert. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - threshold: - type: number - timeAggregation: - type: string - type: object - type: array - type: object - description: - type: string - displayName: - type: string - enabled: - type: boolean - evaluationFrequency: - type: string - kind: - type: string - location: - type: string - muteActionsDuration: + connectionType: type: string operatorSpec: description: |- - Storage version of v1api20220615.ScheduledQueryRuleOperatorSpec + Storage version of v1api20211101.ServersConnectionPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -287550,13 +373992,11 @@ spec: type: object originalVersion: type: string - overrideQueryTimeRange: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -287565,47 +374005,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scopesReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - severity: - type: integer - skipQueryValidation: - type: boolean - tags: - additionalProperties: - type: string - type: object - targetResourceTypes: - items: - type: string - type: array - windowSize: - type: string required: - owner type: object status: - description: Storage version of v1api20220615.ScheduledQueryRule_STATUS + description: Storage version of v1api20211101.ServersConnectionPolicy_STATUS properties: $propertyBag: additionalProperties: @@ -287614,31 +374018,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actions: - description: |- - Storage version of v1api20220615.Actions_STATUS - Actions to invoke when the alert fires. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionGroups: - items: - type: string - type: array - customProperties: - additionalProperties: - type: string - type: object - type: object - autoMitigate: - type: boolean - checkWorkspaceAlertsStorageConfigured: - type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -287682,159 +374061,18 @@ spec: - type type: object type: array - createdWithApiVersion: - type: string - criteria: - description: |- - Storage version of v1api20220615.ScheduledQueryRuleCriteria_STATUS - The rule criteria that defines the conditions of the scheduled query rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allOf: - items: - description: |- - Storage version of v1api20220615.Condition_STATUS - A condition of the scheduled query rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dimensions: - items: - description: |- - Storage version of v1api20220615.Dimension_STATUS - Dimension splitting and filtering definition - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - operator: - type: string - values: - items: - type: string - type: array - type: object - type: array - failingPeriods: - description: Storage version of v1api20220615.Condition_FailingPeriods_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - minFailingPeriodsToAlert: - type: integer - numberOfEvaluationPeriods: - type: integer - type: object - metricMeasureColumn: - type: string - metricName: - type: string - operator: - type: string - query: - type: string - resourceIdColumn: - type: string - threshold: - type: number - timeAggregation: - type: string - type: object - type: array - type: object - description: - type: string - displayName: - type: string - enabled: - type: boolean - etag: - type: string - evaluationFrequency: + connectionType: type: string id: type: string - isLegacyLogAnalyticsRule: - type: boolean - isWorkspaceAlertsStorageConfigured: - type: boolean kind: type: string location: type: string - muteActionsDuration: - type: string name: type: string - overrideQueryTimeRange: - type: string - scopes: - items: - type: string - type: array - severity: - type: integer - skipQueryValidation: - type: boolean - systemData: - description: |- - Storage version of v1api20220615.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - targetResourceTypes: - items: - type: string - type: array type: type: string - windowSize: - type: string type: object type: object served: true @@ -287847,11 +374085,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: searchservices.search.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabases.sql.azure.com spec: conversion: strategy: Webhook @@ -287864,12 +374102,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: search.azure.com + group: sql.azure.com names: - kind: SearchService - listKind: SearchServiceList - plural: searchservices - singular: searchservice + categories: + - azure + - sql + kind: ServersDatabase + listKind: ServersDatabaseList + plural: serversdatabases + singular: serversdatabase preserveUnknownFields: false scope: Namespaced versions: @@ -287886,13 +374127,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /search/resource-manager/Microsoft.Search/stable/2022-09-01/search.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -287913,93 +374154,171 @@ spec: type: object spec: properties: - authOptions: + autoPauseDelay: description: |- - AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be - set if 'disableLocalAuth' is set to true. - properties: - aadOrApiKey: - description: |- - AadOrApiKey: Indicates that either the API key or an access token from Azure Active Directory can be used for - authentication. - properties: - aadAuthFailureMode: - description: |- - AadAuthFailureMode: Describes what response the data plane API of a Search service would send for requests that failed - authentication. - enum: - - http401WithBearerChallenge - - http403 - type: string - type: object - type: object + AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause + is disabled + type: integer azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableLocalAuth: - description: |- - DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for - authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. - type: boolean - encryptionWithCmk: + catalogCollation: + description: 'CatalogCollation: Collation of the metadata catalog.' + enum: + - DATABASE_DEFAULT + - SQL_Latin1_General_CP1_CI_AS + type: string + collation: + description: 'Collation: The collation of the database.' + type: string + createMode: description: |- - EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys - within a search service. + CreateMode: Specifies the mode of database creation. + Default: regular database creation. + Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the + source database. + Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the + resource ID of the existing primary database. + PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId + must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable + database resource ID to restore. + Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If + sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise + sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. + restorePointInTime may also be specified to restore from an earlier point in time. + RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. + recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. + enum: + - Copy + - Default + - OnlineSecondary + - PointInTimeRestore + - Recovery + - Restore + - RestoreExternalBackup + - RestoreExternalBackupSecondary + - RestoreLongTermRetentionBackup + - Secondary + type: string + elasticPoolReference: + description: 'ElasticPoolReference: The resource identifier of the elastic pool containing this database.' properties: - enforcement: - description: 'Enforcement: Describes how a search service should enforce having one or more non customer encrypted resources.' - enum: - - Disabled - - Enabled - - Unspecified + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - hostingMode: - description: |- - HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions - that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the - standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. - enum: - - default - - highDensity + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant per database CMK scenario' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ type: string + highAvailabilityReplicaCount: + description: |- + HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide + high availability. Not applicable to a Hyperscale database within an elastic pool. + type: integer identity: - description: 'Identity: The identity of the resource.' + description: 'Identity: The Azure Active Directory identity of the database.' properties: type: - description: 'Type: The identity type.' + description: 'Type: The identity type' enum: - None - - SystemAssigned + - UserAssigned type: string - required: - - type + userAssignedIdentities: + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array type: object + isLedgerOn: + description: |- + IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. + Note: the value of this property cannot be changed after the database has been created. + type: boolean + licenseType: + description: |- + LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you + have a license and are eligible for the Azure Hybrid Benefit. + enum: + - BasePrice + - LicenseIncluded + type: string location: - description: 'Location: The geo-location where the resource lives' + description: 'Location: Resource location.' type: string - networkRuleSet: - description: 'NetworkRuleSet: Network specific rules that determine how the Azure Cognitive Search service may be reached.' + longTermRetentionBackupResourceReference: + description: |- + LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with + create operation of this database. properties: - ipRules: + armId: description: |- - IpRules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service - endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied - only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not - allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. - items: - description: The IP restriction rule of the Azure Cognitive Search service. - properties: - value: - description: |- - Value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) - to be allowed. - type: string - type: object - type: array + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object + maintenanceConfigurationId: + description: |- + MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period + when the maintenance updates will occur. + type: string + maxSizeBytes: + description: 'MaxSizeBytes: The max size of the database expressed in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that database will always have allocated, if not paused' + type: number operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -288065,118 +374384,208 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - adminPrimaryKey: - description: |- - AdminPrimaryKey: indicates where the AdminPrimaryKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - adminSecondaryKey: - description: |- - AdminSecondaryKey: indicates where the AdminSecondaryKey secret should be placed. If omitted, the secret will not be - retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - queryKey: - description: 'QueryKey: indicates where the QueryKey secret should be placed. If omitted, the secret will not be retrieved from Azure.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object - owner: + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + readScale: + description: |- + ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their + connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale + database within an elastic pool. + enum: + - Disabled + - Enabled + type: string + recoverableDatabaseReference: + description: |- + RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of + this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + recoveryServicesRecoveryPointReference: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation + of this database. properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - partitionCount: + requestedBackupStorageRedundancy: + description: 'RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.' + enum: + - Geo + - GeoZone + - Local + - Zone + type: string + restorableDroppedDatabaseReference: description: |- - PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values - greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the - allowed values are between 1 and 3. - maximum: 12 - minimum: 1 - type: integer - publicNetworkAccess: + RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create + operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + restorePointInTime: description: |- - PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and - templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be - the exclusive access method. + RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create + the new database. + type: string + sampleName: + description: 'SampleName: The name of the sample schema to apply when creating this database.' enum: - - disabled - - enabled + - AdventureWorksLT + - WideWorldImportersFull + - WideWorldImportersStd + type: string + secondaryType: + description: 'SecondaryType: The secondary type of the database if it is a secondary. Valid values are Geo and Named.' + enum: + - Geo + - Named type: string - replicaCount: - description: |- - ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive - for standard SKUs or between 1 and 3 inclusive for basic SKU. - maximum: 12 - minimum: 1 - type: integer sku: description: |- - Sku: The SKU of the Search Service, which determines price tier and capacity limits. This property is required when - creating a new Search Service. + Sku: The database SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or one of the following commands: + ```azurecli + az sql db list-editions -l -o table + ```` + ```powershell + Get-AzSqlServerServiceObjective -Location + ```` + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + required: + - name + type: object + sourceDatabaseDeletionDate: + description: 'SourceDatabaseDeletionDate: Specifies the time that the database was deleted.' + type: string + sourceDatabaseReference: + description: |- + SourceDatabaseReference: The resource identifier of the source database associated with create operation of this + database. properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceResourceReference: + description: |- + SourceResourceReference: The resource identifier of the source associated with the create operation of this database. + This property is only supported for DataWarehouse edition and allows to restore across subscriptions. + When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and + sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. + When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql + pool, and restorePointInTime must be specified. + When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable + dropped sql pool. + When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. + When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” + header must contain authentication token for the source tenant. For more details about + “x-ms-authorization-auxiliary” header see + https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant + properties: + armId: description: |- - Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to - 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, - but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 - replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). - 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per - partition, up to 12 partitions.' - enum: - - basic - - free - - standard - - standard2 - - standard3 - - storage_optimized_l1 - - storage_optimized_l2 + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object tags: @@ -288184,35 +374593,28 @@ spec: type: string description: 'Tags: Resource tags.' type: object + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread + across multiple availability zones. + type: boolean required: - location - owner type: object status: - description: Describes an Azure Cognitive Search service and its current state. properties: - authOptions: + autoPauseDelay: description: |- - AuthOptions: Defines the options for how the data plane API of a search service authenticates requests. This cannot be - set if 'disableLocalAuth' is set to true. - properties: - aadOrApiKey: - description: |- - AadOrApiKey: Indicates that either the API key or an access token from Azure Active Directory can be used for - authentication. - properties: - aadAuthFailureMode: - description: |- - AadAuthFailureMode: Describes what response the data plane API of a Search service would send for requests that failed - authentication. - type: string - type: object - apiKeyOnly: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'ApiKeyOnly: Indicates that only the API key needs to be used for authentication.' - type: object - type: object + AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause + is disabled + type: integer + catalogCollation: + description: 'CatalogCollation: Collation of the metadata catalog.' + type: string + collation: + description: 'Collation: The collation of the database.' + type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -288257,154 +374659,250 @@ spec: - type type: object type: array - disableLocalAuth: - description: |- - DisableLocalAuth: When set to true, calls to the search service will not be permitted to utilize API keys for - authentication. This cannot be set to true if 'dataPlaneAuthOptions' are defined. - type: boolean - encryptionWithCmk: + createMode: description: |- - EncryptionWithCmk: Specifies any policy regarding encryption of resources (such as indexes) using customer manager keys - within a search service. + CreateMode: Specifies the mode of database creation. + Default: regular database creation. + Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the + source database. + Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the + resource ID of the existing primary database. + PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId + must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable + database resource ID to restore. + Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If + sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise + sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. + restorePointInTime may also be specified to restore from an earlier point in time. + RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. + recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. + type: string + creationDate: + description: 'CreationDate: The creation date of the database (ISO8601 format).' + type: string + currentBackupStorageRedundancy: + description: 'CurrentBackupStorageRedundancy: The storage account type used to store backups for this database.' + type: string + currentServiceObjectiveName: + description: 'CurrentServiceObjectiveName: The current service level objective name of the database.' + type: string + currentSku: + description: 'CurrentSku: The name and tier of the SKU.' properties: - encryptionComplianceStatus: - description: |- - EncryptionComplianceStatus: Describes whether the search service is compliant or not with respect to having non customer - encrypted resources. If a service has more than one non customer encrypted resource and 'Enforcement' is 'enabled' then - the service will be marked as 'nonCompliant'. + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' type: string - enforcement: - description: 'Enforcement: Describes how a search service should enforce having one or more non customer encrypted resources.' + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' type: string type: object - hostingMode: + databaseId: + description: 'DatabaseId: The ID of the database.' + type: string + defaultSecondaryLocation: + description: 'DefaultSecondaryLocation: The default secondary region for this database.' + type: string + earliestRestoreDate: description: |- - HostingMode: Applicable only for the standard3 SKU. You can set this property to enable up to 3 high density partitions - that allow up to 1000 indexes, which is much higher than the maximum indexes allowed for any other SKU. For the - standard3 SKU, the value is either 'default' or 'highDensity'. For all other SKUs, this value must be 'default'. + EarliestRestoreDate: This records the earliest start date and time that restore is available for this database (ISO8601 + format). type: string - id: + elasticPoolId: + description: 'ElasticPoolId: The resource identifier of the elastic pool containing this database.' + type: string + failoverGroupId: + description: 'FailoverGroupId: Failover Group resource identifier that this database belongs to.' + type: string + federatedClientId: + description: 'FederatedClientId: The Client id used for cross tenant per database CMK scenario' + type: string + highAvailabilityReplicaCount: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide + high availability. Not applicable to a Hyperscale database within an elastic pool. + type: integer + id: + description: 'Id: Resource ID.' type: string identity: - description: 'Identity: The identity of the resource.' + description: 'Identity: The Azure Active Directory identity of the database.' properties: - principalId: - description: 'PrincipalId: The principal ID of the system-assigned identity of the search service.' - type: string tenantId: - description: 'TenantId: The tenant ID of the system-assigned identity of the search service.' + description: 'TenantId: The Azure Active Directory tenant id.' type: string type: - description: 'Type: The identity type.' + description: 'Type: The identity type' type: string - type: object - location: - description: 'Location: The geo-location where the resource lives' - type: string - name: - description: 'Name: The name of the resource' - type: string - networkRuleSet: - description: 'NetworkRuleSet: Network specific rules that determine how the Azure Cognitive Search service may be reached.' - properties: - ipRules: - description: |- - IpRules: A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service - endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied - only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not - allowed even with any public IP rules, and private endpoint connections would be the exclusive access method. - items: - description: The IP restriction rule of the Azure Cognitive Search service. + userAssignedIdentities: + additionalProperties: + description: Azure Active Directory identity configuration for a resource. properties: - value: - description: |- - Value: Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) - to be allowed. + clientId: + description: 'ClientId: The Azure Active Directory client id.' + type: string + principalId: + description: 'PrincipalId: The Azure Active Directory principal id.' type: string type: object - type: array + description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' + type: object type: object - partitionCount: + isInfraEncryptionEnabled: + description: 'IsInfraEncryptionEnabled: Infra encryption is enabled for this database.' + type: boolean + isLedgerOn: description: |- - PartitionCount: The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values - greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the - allowed values are between 1 and 3. - type: integer - privateEndpointConnections: - description: 'PrivateEndpointConnections: The list of private endpoint connections to the Azure Cognitive Search service.' - items: - description: Describes an existing Private Endpoint connection to the Azure Cognitive Search service. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array - provisioningState: + IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. + Note: the value of this property cannot be changed after the database has been created. + type: boolean + kind: + description: 'Kind: Kind of database. This is metadata used for the Azure portal experience.' + type: string + licenseType: description: |- - ProvisioningState: The state of the last provisioning operation performed on the search service. Provisioning is an - intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState - changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling - interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is - completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to - Create search service. This is because the free service uses capacity that is already set up. + LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you + have a license and are eligible for the Azure Hybrid Benefit. type: string - publicNetworkAccess: + location: + description: 'Location: Resource location.' + type: string + longTermRetentionBackupResourceId: description: |- - PublicNetworkAccess: This value can be set to 'enabled' to avoid breaking changes on existing customer resources and - templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be - the exclusive access method. + LongTermRetentionBackupResourceId: The resource identifier of the long term retention backup associated with create + operation of this database. type: string - replicaCount: + maintenanceConfigurationId: description: |- - ReplicaCount: The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive - for standard SKUs or between 1 and 3 inclusive for basic SKU. + MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period + when the maintenance updates will occur. + type: string + managedBy: + description: 'ManagedBy: Resource that manages the database.' + type: string + maxLogSizeBytes: + description: 'MaxLogSizeBytes: The max log size for this database.' type: integer - sharedPrivateLinkResources: - description: 'SharedPrivateLinkResources: The list of shared private link resources managed by the Azure Cognitive Search service.' - items: - description: Describes a Shared Private Link Resource managed by the Azure Cognitive Search service. - properties: - id: - description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - type: object - type: array + maxSizeBytes: + description: 'MaxSizeBytes: The max size of the database expressed in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that database will always have allocated, if not paused' + type: number + name: + description: 'Name: Resource name.' + type: string + pausedDate: + description: |- + PausedDate: The date when database was paused by user configuration or action(ISO8601 format). Null if the database is + ready. + type: string + readScale: + description: |- + ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their + connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale + database within an elastic pool. + type: string + recoverableDatabaseId: + description: |- + RecoverableDatabaseId: The resource identifier of the recoverable database associated with create operation of this + database. + type: string + recoveryServicesRecoveryPointId: + description: |- + RecoveryServicesRecoveryPointId: The resource identifier of the recovery point associated with create operation of this + database. + type: string + requestedBackupStorageRedundancy: + description: 'RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.' + type: string + requestedServiceObjectiveName: + description: 'RequestedServiceObjectiveName: The requested service level objective name of the database.' + type: string + restorableDroppedDatabaseId: + description: |- + RestorableDroppedDatabaseId: The resource identifier of the restorable dropped database associated with create operation + of this database. + type: string + restorePointInTime: + description: |- + RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create + the new database. + type: string + resumedDate: + description: |- + ResumedDate: The date when database was resumed by user action or database login (ISO8601 format). Null if the database + is paused. + type: string + sampleName: + description: 'SampleName: The name of the sample schema to apply when creating this database.' + type: string + secondaryType: + description: 'SecondaryType: The secondary type of the database if it is a secondary. Valid values are Geo and Named.' + type: string sku: description: |- - Sku: The SKU of the Search Service, which determines price tier and capacity limits. This property is required when - creating a new Search Service. + Sku: The database SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or one of the following commands: + ```azurecli + az sql db list-editions -l -o table + ```` + ```powershell + Get-AzSqlServerServiceObjective -Location + ```` properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string name: - description: |- - Name: The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to - 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, - but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 - replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). - 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per - partition, up to 12 partitions.' + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' type: string type: object - status: + sourceDatabaseDeletionDate: + description: 'SourceDatabaseDeletionDate: Specifies the time that the database was deleted.' + type: string + sourceDatabaseId: + description: 'SourceDatabaseId: The resource identifier of the source database associated with create operation of this database.' + type: string + sourceResourceId: description: |- - Status: The status of the search service. Possible values include: 'running': The search service is running and no - provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. - 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the - underlying search units are not healthy. The search service is most likely operational, but performance might be slow - and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject - all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or - error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated - services in these states are still chargeable based on the number of search units provisioned. + SourceResourceId: The resource identifier of the source associated with the create operation of this database. + This property is only supported for DataWarehouse edition and allows to restore across subscriptions. + When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and + sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. + When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql + pool, and restorePointInTime must be specified. + When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable + dropped sql pool. + When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. + When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” + header must contain authentication token for the source tenant. For more details about + “x-ms-authorization-auxiliary” header see + https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant type: string - statusDetails: - description: 'StatusDetails: The details of the search service status.' + status: + description: 'Status: The status of the database.' type: string tags: additionalProperties: @@ -288412,8 +374910,13 @@ spec: description: 'Tags: Resource tags.' type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: Resource type.' type: string + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread + across multiple availability zones. + type: boolean type: object type: object served: true @@ -288433,14 +374936,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220901.SearchService + Storage version of v1api20211101.ServersDatabase Generator information: - - Generated from: /search/resource-manager/Microsoft.Search/stable/2022-09-01/search.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} properties: apiVersion: description: |- @@ -288460,7 +374963,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220901.SearchService_Spec + description: Storage version of v1api20211101.ServersDatabase_Spec properties: $propertyBag: additionalProperties: @@ -288469,64 +374972,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authOptions: - description: |- - Storage version of v1api20220901.DataPlaneAuthOptions - Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if - 'disableLocalAuth' is set to true. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadOrApiKey: - description: |- - Storage version of v1api20220901.DataPlaneAadOrApiKeyAuthOption - Indicates that either the API key or an access token from Azure Active Directory can be used for authentication. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadAuthFailureMode: - type: string - type: object - type: object + autoPauseDelay: + type: integer azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - disableLocalAuth: - type: boolean - encryptionWithCmk: - description: |- - Storage version of v1api20220901.EncryptionWithCmk - Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed - Keys. + catalogCollation: + type: string + collation: + type: string + createMode: + type: string + elasticPoolReference: + description: 'ElasticPoolReference: The resource identifier of the elastic pool containing this database.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enforcement: + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - hostingMode: + federatedClientId: type: string + highAvailabilityReplicaCount: + type: integer identity: description: |- - Storage version of v1api20220901.Identity - Identity for the resource. + Storage version of v1api20211101.DatabaseIdentity + Azure Active Directory identity configuration for a resource. properties: $propertyBag: additionalProperties: @@ -288537,26 +375023,11 @@ spec: type: object type: type: string - type: object - location: - type: string - networkRuleSet: - description: |- - Storage version of v1api20220901.NetworkRuleSet - Network specific rules that determine how the Azure Cognitive Search service may be reached. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ipRules: + userAssignedIdentities: items: description: |- - Storage version of v1api20220901.IpRule - The IP restriction rule of the Azure Cognitive Search service. + Storage version of v1api20211101.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -288565,14 +375036,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - value: - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array type: object + isLedgerOn: + type: boolean + licenseType: + type: string + location: + type: string + longTermRetentionBackupResourceReference: + description: |- + LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with + create operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + maintenanceConfigurationId: + type: string + maxSizeBytes: + type: integer + minCapacity: + type: number operatorSpec: description: |- - Storage version of v1api20220901.SearchServiceOperatorSpec + Storage version of v1api20211101.ServersDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -288640,71 +375163,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20220901.SearchServiceOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - adminPrimaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - adminSecondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - queryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -288712,7 +375170,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -288721,16 +375179,86 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - partitionCount: - type: integer - publicNetworkAccess: + readScale: + type: string + recoverableDatabaseReference: + description: |- + RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of + this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + recoveryServicesRecoveryPointReference: + description: |- + RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation + of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + requestedBackupStorageRedundancy: + type: string + restorableDroppedDatabaseReference: + description: |- + RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create + operation of this database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + restorePointInTime: + type: string + sampleName: + type: string + secondaryType: type: string - replicaCount: - type: integer sku: description: |- - Storage version of v1api20220901.Sku - Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits. + Storage version of v1api20211101.Sku + An ARM Resource SKU. properties: $propertyBag: additionalProperties: @@ -288739,20 +375267,85 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + sourceDatabaseDeletionDate: + type: string + sourceDatabaseReference: + description: |- + SourceDatabaseReference: The resource identifier of the source database associated with create operation of this + database. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceResourceReference: + description: |- + SourceResourceReference: The resource identifier of the source associated with the create operation of this database. + This property is only supported for DataWarehouse edition and allows to restore across subscriptions. + When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and + sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. + When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql + pool, and restorePointInTime must be specified. + When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable + dropped sql pool. + When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. + When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” + header must contain authentication token for the source tenant. For more details about + “x-ms-authorization-auxiliary” header see + https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: + description: Name is the Kubernetes name of the resource. type: string type: object tags: additionalProperties: type: string type: object + zoneRedundant: + type: boolean required: - owner type: object status: - description: |- - Storage version of v1api20220901.SearchService_STATUS - Describes an Azure Cognitive Search service and its current state. + description: Storage version of v1api20211101.ServersDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -288761,39 +375354,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - authOptions: - description: |- - Storage version of v1api20220901.DataPlaneAuthOptions_STATUS - Defines the options for how the data plane API of a Search service authenticates requests. This cannot be set if - 'disableLocalAuth' is set to true. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadOrApiKey: - description: |- - Storage version of v1api20220901.DataPlaneAadOrApiKeyAuthOption_STATUS - Indicates that either the API key or an access token from Azure Active Directory can be used for authentication. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - aadAuthFailureMode: - type: string - type: object - apiKeyOnly: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object + autoPauseDelay: + type: integer + catalogCollation: + type: string + collation: + type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -288837,34 +375403,18 @@ spec: - type type: object type: array - disableLocalAuth: - type: boolean - encryptionWithCmk: - description: |- - Storage version of v1api20220901.EncryptionWithCmk_STATUS - Describes a policy that determines how resources within the search service are to be encrypted with Customer Managed - Keys. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - encryptionComplianceStatus: - type: string - enforcement: - type: string - type: object - hostingMode: + createMode: type: string - id: + creationDate: type: string - identity: + currentBackupStorageRedundancy: + type: string + currentServiceObjectiveName: + type: string + currentSku: description: |- - Storage version of v1api20220901.Identity_STATUS - Identity for the resource. + Storage version of v1api20211101.Sku_STATUS + An ARM Resource SKU. properties: $propertyBag: additionalProperties: @@ -288873,21 +375423,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - principalId: + capacity: + type: integer + family: type: string - tenantId: + name: type: string - type: + size: + type: string + tier: type: string type: object - location: + databaseId: type: string - name: + defaultSecondaryLocation: type: string - networkRuleSet: + earliestRestoreDate: + type: string + elasticPoolId: + type: string + failoverGroupId: + type: string + federatedClientId: + type: string + highAvailabilityReplicaCount: + type: integer + id: + type: string + identity: description: |- - Storage version of v1api20220901.NetworkRuleSet_STATUS - Network specific rules that determine how the Azure Cognitive Search service may be reached. + Storage version of v1api20211101.DatabaseIdentity_STATUS + Azure Active Directory identity configuration for a resource. properties: $propertyBag: additionalProperties: @@ -288896,11 +375462,15 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - ipRules: - items: + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: description: |- - Storage version of v1api20220901.IpRule_STATUS - The IP restriction rule of the Azure Cognitive Search service. + Storage version of v1api20211101.DatabaseUserIdentity_STATUS + Azure Active Directory identity configuration for a resource. properties: $propertyBag: additionalProperties: @@ -288909,57 +375479,63 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - value: + clientId: + type: string + principalId: type: string type: object - type: array + type: object type: object - partitionCount: - type: integer - privateEndpointConnections: - items: - description: |- - Storage version of v1api20220901.PrivateEndpointConnection_STATUS - Describes an existing Private Endpoint connection to the Azure Cognitive Search service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: + isInfraEncryptionEnabled: + type: boolean + isLedgerOn: + type: boolean + kind: type: string - publicNetworkAccess: + licenseType: type: string - replicaCount: + location: + type: string + longTermRetentionBackupResourceId: + type: string + maintenanceConfigurationId: + type: string + managedBy: + type: string + maxLogSizeBytes: type: integer - sharedPrivateLinkResources: - items: - description: |- - Storage version of v1api20220901.SharedPrivateLinkResource_STATUS - Describes a Shared Private Link Resource managed by the Azure Cognitive Search service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array + maxSizeBytes: + type: integer + minCapacity: + type: number + name: + type: string + pausedDate: + type: string + readScale: + type: string + recoverableDatabaseId: + type: string + recoveryServicesRecoveryPointId: + type: string + requestedBackupStorageRedundancy: + type: string + requestedServiceObjectiveName: + type: string + restorableDroppedDatabaseId: + type: string + restorePointInTime: + type: string + resumedDate: + type: string + sampleName: + type: string + secondaryType: + type: string sku: description: |- - Storage version of v1api20220901.Sku_STATUS - Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits. + Storage version of v1api20211101.Sku_STATUS + An ARM Resource SKU. properties: $propertyBag: additionalProperties: @@ -288968,12 +375544,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + capacity: + type: integer + family: + type: string name: type: string + size: + type: string + tier: + type: string type: object - status: + sourceDatabaseDeletionDate: type: string - statusDetails: + sourceDatabaseId: + type: string + sourceResourceId: + type: string + status: type: string tags: additionalProperties: @@ -288981,6 +375569,8 @@ spec: type: object type: type: string + zoneRedundant: + type: boolean type: object type: object served: true @@ -288993,11 +375583,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: secrets.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasesadvancedthreatprotectionsettings.sql.azure.com spec: conversion: strategy: Webhook @@ -289010,12 +375600,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cdn.azure.com + group: sql.azure.com names: - kind: Secret - listKind: SecretList - plural: secrets - singular: secret + categories: + - azure + - sql + kind: ServersDatabasesAdvancedThreatProtectionSetting + listKind: ServersDatabasesAdvancedThreatProtectionSettingList + plural: serversdatabasesadvancedthreatprotectionsettings + singular: serversdatabasesadvancedthreatprotectionsetting preserveUnknownFields: false scope: Namespaced versions: @@ -289032,13 +375625,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advancedThreatProtectionSettings/Default properties: apiVersion: description: |- @@ -289059,11 +375652,6 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -289134,7 +375722,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -289143,131 +375731,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: 'Parameters: object which contains secret parameters' - properties: - azureFirstPartyManagedCertificate: - description: 'AzureFirstPartyManagedCertificate: Mutually exclusive with all other properties' - properties: - subjectAlternativeNames: - description: 'SubjectAlternativeNames: The list of SANs.' - items: - type: string - type: array - type: - enum: - - AzureFirstPartyManagedCertificate - type: string - required: - - type - type: object - customerCertificate: - description: 'CustomerCertificate: Mutually exclusive with all other properties' - properties: - secretSource: - description: |- - SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of - /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - secretVersion: - description: 'SecretVersion: Version of the secret to be used' - type: string - subjectAlternativeNames: - description: 'SubjectAlternativeNames: The list of SANs.' - items: - type: string - type: array - type: - enum: - - CustomerCertificate - type: string - useLatestVersion: - description: 'UseLatestVersion: Whether to use the latest version for the certificate' - type: boolean - required: - - secretSource - - type - type: object - managedCertificate: - description: 'ManagedCertificate: Mutually exclusive with all other properties' - properties: - type: - enum: - - ManagedCertificate - type: string - required: - - type - type: object - urlSigningKey: - description: 'UrlSigningKey: Mutually exclusive with all other properties' - properties: - keyId: - description: |- - KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form - the hash. - type: string - secretSource: - description: |- - SecretSource: Resource reference to the Azure Key Vault secret. Expected to be in format of - /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - secretVersion: - description: 'SecretVersion: Version of the secret to be used' - type: string - type: - enum: - - UrlSigningKey - type: string - required: - - keyId - - secretSource - - type - type: object - type: object + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. + enum: + - Disabled + - Enabled + - New + type: string required: - owner + - state type: object status: properties: @@ -289315,7 +375790,8 @@ spec: - type type: object type: array - deploymentStatus: + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' type: string id: description: 'Id: Resource ID.' @@ -289323,141 +375799,31 @@ spec: name: description: 'Name: Resource name.' type: string - parameters: - description: 'Parameters: object which contains secret parameters' - properties: - azureFirstPartyManagedCertificate: - description: 'AzureFirstPartyManagedCertificate: Mutually exclusive with all other properties' - properties: - certificateAuthority: - description: 'CertificateAuthority: Certificate issuing authority.' - type: string - expirationDate: - description: 'ExpirationDate: Certificate expiration date.' - type: string - secretSource: - description: |- - SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of - /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - subject: - description: 'Subject: Subject name in the certificate.' - type: string - subjectAlternativeNames: - description: 'SubjectAlternativeNames: The list of SANs.' - items: - type: string - type: array - thumbprint: - description: 'Thumbprint: Certificate thumbprint.' - type: string - type: - type: string - type: object - customerCertificate: - description: 'CustomerCertificate: Mutually exclusive with all other properties' - properties: - certificateAuthority: - description: 'CertificateAuthority: Certificate issuing authority.' - type: string - expirationDate: - description: 'ExpirationDate: Certificate expiration date.' - type: string - secretSource: - description: |- - SecretSource: Resource reference to the Azure Key Vault certificate. Expected to be in format of - /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{certificateName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - secretVersion: - description: 'SecretVersion: Version of the secret to be used' - type: string - subject: - description: 'Subject: Subject name in the certificate.' - type: string - subjectAlternativeNames: - description: 'SubjectAlternativeNames: The list of SANs.' - items: - type: string - type: array - thumbprint: - description: 'Thumbprint: Certificate thumbprint.' - type: string - type: - type: string - useLatestVersion: - description: 'UseLatestVersion: Whether to use the latest version for the certificate' - type: boolean - type: object - managedCertificate: - description: 'ManagedCertificate: Mutually exclusive with all other properties' - properties: - expirationDate: - description: 'ExpirationDate: Certificate expiration date.' - type: string - subject: - description: 'Subject: Subject name in the certificate.' - type: string - type: - type: string - type: object - urlSigningKey: - description: 'UrlSigningKey: Mutually exclusive with all other properties' - properties: - keyId: - description: |- - KeyId: Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form - the hash. - type: string - secretSource: - description: |- - SecretSource: Resource reference to the Azure Key Vault secret. Expected to be in format of - /subscriptions/{​​​​​​​​​subscriptionId}​​​​​​​​​/resourceGroups/{​​​​​​​​​resourceGroupName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/providers/Microsoft.KeyVault/vaults/{vaultName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​/secrets/{secretName}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - secretVersion: - description: 'SecretVersion: Version of the secret to be used' - type: string - type: - type: string - type: object - type: object - profileName: - description: 'ProfileName: The name of the profile which holds the secret.' - type: string - provisioningState: - description: 'ProvisioningState: Provisioning status' + state: + description: |- + State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been + applied yet on the specific database or server. type: string systemData: - description: 'SystemData: Read only system data' + description: 'SystemData: SystemData of AdvancedThreatProtectionResource.' properties: createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: - description: 'CreatedByType: The type of identity that created the resource' + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object type: @@ -289482,14 +375848,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.Secret + Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseAdvancedThreatProtectionSettings.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advancedThreatProtectionSettings/Default properties: apiVersion: description: |- @@ -289509,7 +375875,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.Secret_Spec + description: Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting_Spec properties: $propertyBag: additionalProperties: @@ -289518,14 +375884,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string operatorSpec: description: |- - Storage version of v1api20230501.SecretOperatorSpec + Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -289600,7 +375961,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -289609,156 +375970,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: Storage version of v1api20230501.SecretParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureFirstPartyManagedCertificate: - description: Storage version of v1api20230501.AzureFirstPartyManagedCertificateParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subjectAlternativeNames: - items: - type: string - type: array - type: - type: string - type: object - customerCertificate: - description: Storage version of v1api20230501.CustomerCertificateParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretSource: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - secretVersion: - type: string - subjectAlternativeNames: - items: - type: string - type: array - type: - type: string - useLatestVersion: - type: boolean - type: object - managedCertificate: - description: Storage version of v1api20230501.ManagedCertificateParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - type: object - urlSigningKey: - description: Storage version of v1api20230501.UrlSigningKeyParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyId: - type: string - secretSource: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - secretVersion: - type: string - type: - type: string - type: object - type: object + state: + type: string required: - owner type: object status: - description: Storage version of v1api20230501.Secret_STATUS + description: Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting_STATUS properties: $propertyBag: additionalProperties: @@ -289810,164 +376028,18 @@ spec: - type type: object type: array - deploymentStatus: + creationTime: type: string id: type: string name: type: string - parameters: - description: Storage version of v1api20230501.SecretParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureFirstPartyManagedCertificate: - description: Storage version of v1api20230501.AzureFirstPartyManagedCertificateParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - type: string - expirationDate: - type: string - secretSource: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - subject: - type: string - subjectAlternativeNames: - items: - type: string - type: array - thumbprint: - type: string - type: - type: string - type: object - customerCertificate: - description: Storage version of v1api20230501.CustomerCertificateParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificateAuthority: - type: string - expirationDate: - type: string - secretSource: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - secretVersion: - type: string - subject: - type: string - subjectAlternativeNames: - items: - type: string - type: array - thumbprint: - type: string - type: - type: string - useLatestVersion: - type: boolean - type: object - managedCertificate: - description: Storage version of v1api20230501.ManagedCertificateParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expirationDate: - type: string - subject: - type: string - type: - type: string - type: object - urlSigningKey: - description: Storage version of v1api20230501.UrlSigningKeyParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyId: - type: string - secretSource: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - secretVersion: - type: string - type: - type: string - type: object - type: object - profileName: - type: string - provisioningState: + state: type: string systemData: description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -290003,11 +376075,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: securitypolicies.cdn.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasesauditingsettings.sql.azure.com spec: conversion: strategy: Webhook @@ -290020,12 +376092,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: cdn.azure.com + group: sql.azure.com names: - kind: SecurityPolicy - listKind: SecurityPolicyList - plural: securitypolicies - singular: securitypolicy + categories: + - azure + - sql + kind: ServersDatabasesAuditingSetting + listKind: ServersDatabasesAuditingSettingList + plural: serversdatabasesauditingsettings + singular: serversdatabasesauditingsetting preserveUnknownFields: false scope: Namespaced versions: @@ -290042,13 +376117,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default properties: apiVersion: description: |- @@ -290069,11 +376144,86 @@ spec: type: object spec: properties: - azureName: + auditActionsAndGroups: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -290144,7 +376294,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -290153,89 +376303,123 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: 'Parameters: object which contains security policy parameters' + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. + enum: + - Disabled + - Enabled + type: string + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the auditing storage account. + If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server + system-assigned managed identity to access the storage. + Prerequisites for using managed identity authentication: + 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). + 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the + server identity. + For more information, see [Auditing to storage using Managed Identity + authentication](https://go.microsoft.com/fwlink/?linkid=2114355) properties: - webApplicationFirewall: - description: 'WebApplicationFirewall: Mutually exclusive with all other properties' - properties: - associations: - description: 'Associations: Waf associations' - items: - description: settings for security policy patterns to match - properties: - domains: - description: 'Domains: List of domains.' - items: - description: Reference to another resource along with its state. - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - patternsToMatch: - description: 'PatternsToMatch: List of paths' - items: - type: string - type: array - type: object - type: array - type: - description: 'Type: The type of the Security policy to create.' - enum: - - WebApplicationFirewall - type: string - wafPolicy: - description: 'WafPolicy: Resource ID.' - properties: - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - type - type: object + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + type: string required: - owner + - state type: object status: properties: + auditActionsAndGroups: + description: |- + AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. + The recommended set of action groups to use is the following combination - this will audit all the queries and stored + procedures executed against the database, as well as successful and failed logins: + BATCH_COMPLETED_GROUP, + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, + FAILED_DATABASE_AUTHENTICATION_GROUP. + This above combination is also the set that is configured by default when enabling auditing from the Azure portal. + The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using + unnecessary groups could lead to very large quantities of audit records): + APPLICATION_ROLE_CHANGE_PASSWORD_GROUP + BACKUP_RESTORE_GROUP + DATABASE_LOGOUT_GROUP + DATABASE_OBJECT_CHANGE_GROUP + DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP + DATABASE_OBJECT_PERMISSION_CHANGE_GROUP + DATABASE_OPERATION_GROUP + DATABASE_PERMISSION_CHANGE_GROUP + DATABASE_PRINCIPAL_CHANGE_GROUP + DATABASE_PRINCIPAL_IMPERSONATION_GROUP + DATABASE_ROLE_MEMBER_CHANGE_GROUP + FAILED_DATABASE_AUTHENTICATION_GROUP + SCHEMA_OBJECT_ACCESS_GROUP + SCHEMA_OBJECT_CHANGE_GROUP + SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP + SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP + SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP + USER_CHANGE_PASSWORD_GROUP + BATCH_STARTED_GROUP + BATCH_COMPLETED_GROUP + DBCC_GROUP + DATABASE_OWNERSHIP_CHANGE_GROUP + DATABASE_CHANGE_GROUP + LEDGER_OPERATION_GROUP + These are groups that cover all sql statements and stored procedures executed against the database, and should not be + used in combination with other groups as this will result in duplicate audit logs. + For more information, see [Database-Level Audit Action + Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). + For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server + auditing policy). The supported actions to audit are: + SELECT + UPDATE + INSERT + DELETE + EXECUTE + RECEIVE + REFERENCES + The general form for defining an action to be audited is: + {action} ON {object} BY {principal} + Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire + database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. + For example: + SELECT on dbo.myTable by public + SELECT on DATABASE::myDatabase by public + SELECT on SCHEMA::mySchema by public + For more information, see [Database-Level Audit + Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + items: + type: string + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -290280,82 +376464,56 @@ spec: - type type: object type: array - deploymentStatus: - type: string id: description: 'Id: Resource ID.' type: string + isAzureMonitorTargetEnabled: + description: |- + IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. + In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. + When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on + the database should be also created. + Note that for server level audit you should use the 'master' database as {databaseName}. + Diagnostic Settings URI format: + PUT + https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview + For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) + or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) + type: boolean + isManagedIdentityInUse: + description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' + type: boolean + isStorageSecondaryKeyInUse: + description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + type: boolean + kind: + description: 'Kind: Resource kind.' + type: string name: description: 'Name: Resource name.' type: string - parameters: - description: 'Parameters: object which contains security policy parameters' - properties: - webApplicationFirewall: - description: 'WebApplicationFirewall: Mutually exclusive with all other properties' - properties: - associations: - description: 'Associations: Waf associations' - items: - description: settings for security policy patterns to match - properties: - domains: - description: 'Domains: List of domains.' - items: - description: Reference to another resource along with its state. - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: array - patternsToMatch: - description: 'PatternsToMatch: List of paths' - items: - type: string - type: array - type: object - type: array - type: - description: 'Type: The type of the Security policy to create.' - type: string - wafPolicy: - description: 'WafPolicy: Resource ID.' - properties: - id: - description: 'Id: Resource ID.' - type: string - type: object - type: object - type: object - profileName: - description: 'ProfileName: The name of the profile which holds the security policy.' + queueDelayMs: + description: |- + QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be + processed. + The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. + type: integer + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + type: integer + state: + description: |- + State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are + required. type: string - provisioningState: - description: 'ProvisioningState: Provisioning status' + storageAccountSubscriptionId: + description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + type: string + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is + Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. type: string - systemData: - description: 'SystemData: Read only system data' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC)' - type: string - createdBy: - description: 'CreatedBy: An identifier for the identity that created the resource' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: An identifier for the identity that last modified the resource' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource' - type: string - type: object type: description: 'Type: Resource type.' type: string @@ -290378,14 +376536,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501.SecurityPolicy + Storage version of v1api20211101.ServersDatabasesAuditingSetting Generator information: - - Generated from: /cdn/resource-manager/Microsoft.Cdn/stable/2023-05-01/afdx.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default properties: apiVersion: description: |- @@ -290405,7 +376563,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501.SecurityPolicy_Spec + description: Storage version of v1api20211101.ServersDatabasesAuditingSetting_Spec properties: $propertyBag: additionalProperties: @@ -290414,14 +376572,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string + auditActionsAndGroups: + items: + type: string + type: array + isAzureMonitorTargetEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean operatorSpec: description: |- - Storage version of v1api20230501.SecurityPolicyOperatorSpec + Storage version of v1api20211101.ServersDatabasesAuditingSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -290496,7 +376659,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a cdn.azure.com/Profile resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -290505,122 +376668,38 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - parameters: - description: Storage version of v1api20230501.SecurityPolicyPropertiesParameters + queueDelayMs: + type: integer + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - webApplicationFirewall: - description: Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallParameters - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - associations: - items: - description: |- - Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallAssociation - settings for security policy patterns to match - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - domains: - items: - description: |- - Storage version of v1api20230501.ActivatedResourceReference - Reference to another resource along with its state. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - patternsToMatch: - items: - type: string - type: array - type: object - type: array - type: - type: string - wafPolicy: - description: |- - Storage version of v1api20230501.ResourceReference - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object + storageAccountSubscriptionId: + type: string + storageEndpoint: + type: string required: - owner type: object status: - description: Storage version of v1api20230501.SecurityPolicy_STATUS + description: Storage version of v1api20211101.ServersDatabasesAuditingSetting_STATUS properties: $propertyBag: additionalProperties: @@ -290629,6 +376708,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + auditActionsAndGroups: + items: + type: string + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -290672,116 +376755,28 @@ spec: - type type: object type: array - deploymentStatus: - type: string id: type: string + isAzureMonitorTargetEnabled: + type: boolean + isManagedIdentityInUse: + type: boolean + isStorageSecondaryKeyInUse: + type: boolean + kind: + type: string name: type: string - parameters: - description: Storage version of v1api20230501.SecurityPolicyPropertiesParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - webApplicationFirewall: - description: Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallParameters_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - associations: - items: - description: |- - Storage version of v1api20230501.SecurityPolicyWebApplicationFirewallAssociation_STATUS - settings for security policy patterns to match - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - domains: - items: - description: |- - Storage version of v1api20230501.ActivatedResourceReference_STATUS_Profiles_SecurityPolicy_SubResourceEmbedded - Reference to another resource along with its state. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - patternsToMatch: - items: - type: string - type: array - type: object - type: array - type: - type: string - wafPolicy: - description: |- - Storage version of v1api20230501.ResourceReference_STATUS - Reference to another resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - type: object - profileName: + queueDelayMs: + type: integer + retentionDays: + type: integer + state: type: string - provisioningState: + storageAccountSubscriptionId: + type: string + storageEndpoint: type: string - systemData: - description: |- - Storage version of v1api20230501.SystemData_STATUS - Read only system data - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object type: type: string type: object @@ -290796,11 +376791,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serverfarms.web.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasesbackuplongtermretentionpolicies.sql.azure.com spec: conversion: strategy: Webhook @@ -290813,12 +376808,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: web.azure.com + group: sql.azure.com names: - kind: ServerFarm - listKind: ServerFarmList - plural: serverfarms - singular: serverfarm + categories: + - azure + - sql + kind: ServersDatabasesBackupLongTermRetentionPolicy + listKind: ServersDatabasesBackupLongTermRetentionPolicyList + plural: serversdatabasesbackuplongtermretentionpolicies + singular: serversdatabasesbackuplongtermretentionpolicy preserveUnknownFields: false scope: Namespaced versions: @@ -290835,13 +376833,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220301 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/AppServicePlans.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/LongTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/default properties: apiVersion: description: |- @@ -290862,92 +376860,9 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - elasticScaleEnabled: - description: |- - ElasticScaleEnabled: ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was - ElasticPremium sku - type: boolean - extendedLocation: - description: 'ExtendedLocation: Extended Location.' - properties: - name: - description: 'Name: Name of extended location.' - type: string - type: object - freeOfferExpirationTime: - description: 'FreeOfferExpirationTime: The time when the server farm free offer expires.' - type: string - hostingEnvironmentProfile: - description: 'HostingEnvironmentProfile: Specification for the App Service Environment to use for the App Service plan.' - properties: - reference: - description: 'Reference: Resource ID of the App Service Environment.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - hyperV: - description: 'HyperV: If Hyper-V container app service plan true, false otherwise.' - type: boolean - isSpot: - description: 'IsSpot: If true, this App Service Plan owns spot instances.' - type: boolean - isXenon: - description: 'IsXenon: Obsolete: If Hyper-V container app service plan true, false otherwise.' - type: boolean - kind: - description: 'Kind: Kind of resource.' - type: string - kubeEnvironmentProfile: - description: 'KubeEnvironmentProfile: Specification for the Kubernetes Environment to use for the App Service plan.' - properties: - reference: - description: 'Reference: Resource ID of the Kubernetes Environment.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - location: - description: 'Location: Resource Location.' + monthlyRetention: + description: 'MonthlyRetention: The monthly retention policy for an LTR backup in an ISO 8601 format.' type: string - maximumElasticWorkerCount: - description: 'MaximumElasticWorkerCount: Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan' - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -291018,7 +376933,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -291027,97 +376942,16 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - perSiteScaling: - description: |- - PerSiteScaling: If true, apps assigned to this App Service plan can be scaled independently. - If false, apps assigned to this App Service plan will scale to all instances of the plan. - type: boolean - reserved: - description: 'Reserved: If Linux app service plan true, false otherwise.' - type: boolean - sku: - description: 'Sku: Description of a SKU for a scalable resource.' - properties: - capabilities: - description: 'Capabilities: Capabilities of the SKU, e.g., is traffic manager enabled?' - items: - description: Describes the capabilities/features allowed for a specific SKU. - properties: - name: - description: 'Name: Name of the SKU capability.' - type: string - reason: - description: 'Reason: Reason of the SKU capability.' - type: string - value: - description: 'Value: Value of the SKU capability.' - type: string - type: object - type: array - capacity: - description: 'Capacity: Current number of instances assigned to the resource.' - type: integer - family: - description: 'Family: Family code of the resource SKU.' - type: string - locations: - description: 'Locations: Locations of the SKU.' - items: - type: string - type: array - name: - description: 'Name: Name of the resource SKU.' - type: string - size: - description: 'Size: Size specifier of the resource SKU.' - type: string - skuCapacity: - description: 'SkuCapacity: Min, max, and default scale values of the SKU.' - properties: - default: - description: 'Default: Default number of workers for this App Service plan SKU.' - type: integer - elasticMaximum: - description: 'ElasticMaximum: Maximum number of Elastic workers for this App Service plan SKU.' - type: integer - maximum: - description: 'Maximum: Maximum number of workers for this App Service plan SKU.' - type: integer - minimum: - description: 'Minimum: Minimum number of workers for this App Service plan SKU.' - type: integer - scaleType: - description: 'ScaleType: Available scale configurations for an App Service plan.' - type: string - type: object - tier: - description: 'Tier: Service tier of the resource SKU.' - type: string - type: object - spotExpirationTime: - description: 'SpotExpirationTime: The time when the server farm expires. Valid only if it is a spot server farm.' - type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - targetWorkerCount: - description: 'TargetWorkerCount: Scaling worker count.' - type: integer - targetWorkerSizeId: - description: 'TargetWorkerSizeId: Scaling worker size ID.' + weekOfYear: + description: 'WeekOfYear: The week of year to take the yearly backup in an ISO 8601 format.' type: integer - workerTierName: - description: 'WorkerTierName: Target worker tier assigned to the App Service plan.' + weeklyRetention: + description: 'WeeklyRetention: The weekly retention policy for an LTR backup in an ISO 8601 format.' + type: string + yearlyRetention: + description: 'YearlyRetention: The yearly retention policy for an LTR backup in an ISO 8601 format.' type: string - zoneRedundant: - description: |- - ZoneRedundant: If true, this App Service Plan will perform availability zone balancing. - If false, this App Service Plan will not perform availability zone balancing. - type: boolean required: - - location - owner type: object status: @@ -291166,190 +377000,27 @@ spec: - type type: object type: array - elasticScaleEnabled: - description: |- - ElasticScaleEnabled: ServerFarm supports ElasticScale. Apps in this plan will scale as if the ServerFarm was - ElasticPremium sku - type: boolean - extendedLocation: - description: 'ExtendedLocation: Extended Location.' - properties: - name: - description: 'Name: Name of extended location.' - type: string - type: - description: 'Type: Type of extended location.' - type: string - type: object - freeOfferExpirationTime: - description: 'FreeOfferExpirationTime: The time when the server farm free offer expires.' - type: string - geoRegion: - description: 'GeoRegion: Geographical location for the App Service plan.' - type: string - hostingEnvironmentProfile: - description: 'HostingEnvironmentProfile: Specification for the App Service Environment to use for the App Service plan.' - properties: - id: - description: 'Id: Resource ID of the App Service Environment.' - type: string - name: - description: 'Name: Name of the App Service Environment.' - type: string - type: - description: 'Type: Resource type of the App Service Environment.' - type: string - type: object - hyperV: - description: 'HyperV: If Hyper-V container app service plan true, false otherwise.' - type: boolean id: - description: 'Id: Resource Id.' - type: string - isSpot: - description: 'IsSpot: If true, this App Service Plan owns spot instances.' - type: boolean - isXenon: - description: 'IsXenon: Obsolete: If Hyper-V container app service plan true, false otherwise.' - type: boolean - kind: - description: 'Kind: Kind of resource.' + description: 'Id: Resource ID.' type: string - kubeEnvironmentProfile: - description: 'KubeEnvironmentProfile: Specification for the Kubernetes Environment to use for the App Service plan.' - properties: - id: - description: 'Id: Resource ID of the Kubernetes Environment.' - type: string - name: - description: 'Name: Name of the Kubernetes Environment.' - type: string - type: - description: 'Type: Resource type of the Kubernetes Environment.' - type: string - type: object - location: - description: 'Location: Resource Location.' + monthlyRetention: + description: 'MonthlyRetention: The monthly retention policy for an LTR backup in an ISO 8601 format.' type: string - maximumElasticWorkerCount: - description: 'MaximumElasticWorkerCount: Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan' - type: integer - maximumNumberOfWorkers: - description: 'MaximumNumberOfWorkers: Maximum number of instances that can be assigned to this App Service plan.' - type: integer name: - description: 'Name: Resource Name.' - type: string - numberOfSites: - description: 'NumberOfSites: Number of apps assigned to this App Service plan.' - type: integer - numberOfWorkers: - description: 'NumberOfWorkers: The number of instances that are assigned to this App Service plan.' - type: integer - perSiteScaling: - description: |- - PerSiteScaling: If true, apps assigned to this App Service plan can be scaled independently. - If false, apps assigned to this App Service plan will scale to all instances of the plan. - type: boolean - provisioningState: - description: 'ProvisioningState: Provisioning state of the App Service Plan.' - type: string - reserved: - description: 'Reserved: If Linux app service plan true, false otherwise.' - type: boolean - resourceGroup: - description: 'ResourceGroup: Resource group of the App Service plan.' - type: string - sku: - description: 'Sku: Description of a SKU for a scalable resource.' - properties: - capabilities: - description: 'Capabilities: Capabilities of the SKU, e.g., is traffic manager enabled?' - items: - description: Describes the capabilities/features allowed for a specific SKU. - properties: - name: - description: 'Name: Name of the SKU capability.' - type: string - reason: - description: 'Reason: Reason of the SKU capability.' - type: string - value: - description: 'Value: Value of the SKU capability.' - type: string - type: object - type: array - capacity: - description: 'Capacity: Current number of instances assigned to the resource.' - type: integer - family: - description: 'Family: Family code of the resource SKU.' - type: string - locations: - description: 'Locations: Locations of the SKU.' - items: - type: string - type: array - name: - description: 'Name: Name of the resource SKU.' - type: string - size: - description: 'Size: Size specifier of the resource SKU.' - type: string - skuCapacity: - description: 'SkuCapacity: Min, max, and default scale values of the SKU.' - properties: - default: - description: 'Default: Default number of workers for this App Service plan SKU.' - type: integer - elasticMaximum: - description: 'ElasticMaximum: Maximum number of Elastic workers for this App Service plan SKU.' - type: integer - maximum: - description: 'Maximum: Maximum number of workers for this App Service plan SKU.' - type: integer - minimum: - description: 'Minimum: Minimum number of workers for this App Service plan SKU.' - type: integer - scaleType: - description: 'ScaleType: Available scale configurations for an App Service plan.' - type: string - type: object - tier: - description: 'Tier: Service tier of the resource SKU.' - type: string - type: object - spotExpirationTime: - description: 'SpotExpirationTime: The time when the server farm expires. Valid only if it is a spot server farm.' - type: string - status: - description: 'Status: App Service plan status.' - type: string - subscription: - description: 'Subscription: App Service plan subscription.' + description: 'Name: Resource name.' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - targetWorkerCount: - description: 'TargetWorkerCount: Scaling worker count.' - type: integer - targetWorkerSizeId: - description: 'TargetWorkerSizeId: Scaling worker size ID.' - type: integer type: description: 'Type: Resource type.' type: string - workerTierName: - description: 'WorkerTierName: Target worker tier assigned to the App Service plan.' + weekOfYear: + description: 'WeekOfYear: The week of year to take the yearly backup in an ISO 8601 format.' + type: integer + weeklyRetention: + description: 'WeeklyRetention: The weekly retention policy for an LTR backup in an ISO 8601 format.' + type: string + yearlyRetention: + description: 'YearlyRetention: The yearly retention policy for an LTR backup in an ISO 8601 format.' type: string - zoneRedundant: - description: |- - ZoneRedundant: If true, this App Service Plan will perform availability zone balancing. - If false, this App Service Plan will not perform availability zone balancing. - type: boolean type: object type: object served: true @@ -291369,14 +377040,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220301storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220301.ServerFarm + Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy Generator information: - - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/AppServicePlans.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/LongTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/default properties: apiVersion: description: |- @@ -291396,7 +377067,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220301.ServerFarm_Spec + description: Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy_Spec properties: $propertyBag: additionalProperties: @@ -291405,111 +377076,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - elasticScaleEnabled: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20220301.ExtendedLocation - Extended Location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - freeOfferExpirationTime: - type: string - hostingEnvironmentProfile: - description: |- - Storage version of v1api20220301.HostingEnvironmentProfile - Specification for an App Service Environment to use for this resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID of the App Service Environment.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - hyperV: - type: boolean - isSpot: - type: boolean - isXenon: - type: boolean - kind: - type: string - kubeEnvironmentProfile: - description: |- - Storage version of v1api20220301.KubeEnvironmentProfile - Specification for a Kubernetes Environment to use for this resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource ID of the Kubernetes Environment.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - location: + monthlyRetention: type: string - maximumElasticWorkerCount: - type: integer operatorSpec: description: |- - Storage version of v1api20220301.ServerFarmOperatorSpec + Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -291565,128 +377136,45 @@ spec: name: description: |- Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - perSiteScaling: - type: boolean - reserved: - type: boolean - sku: - description: |- - Storage version of v1api20220301.SkuDescription - Description of a SKU for a scalable resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capabilities: - items: - description: |- - Storage version of v1api20220301.Capability - Describes the capabilities/features allowed for a specific SKU. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - reason: - type: string - value: - type: string - type: object - type: array - capacity: - type: integer - family: - type: string - locations: - items: - type: string - type: array - name: - type: string - size: - type: string - skuCapacity: - description: |- - Storage version of v1api20220301.SkuCapacity - Description of the App Service plan scale options. - properties: - $propertyBag: - additionalProperties: + The configmap or secret will be created in the same namespace as the resource. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - default: - type: integer - elasticMaximum: - type: integer - maximum: - type: integer - minimum: - type: integer - scaleType: - type: string - type: object - tier: - type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - spotExpirationTime: + originalVersion: type: string - tags: - additionalProperties: - type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/ServersDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string type: object - targetWorkerCount: - type: integer - targetWorkerSizeId: + weekOfYear: type: integer - workerTierName: + weeklyRetention: + type: string + yearlyRetention: type: string - zoneRedundant: - type: boolean required: - owner type: object status: - description: Storage version of v1api20220301.ServerFarm_STATUS + description: Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy_STATUS properties: $propertyBag: additionalProperties: @@ -291738,188 +377226,20 @@ spec: - type type: object type: array - elasticScaleEnabled: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20220301.ExtendedLocation_STATUS - Extended Location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - freeOfferExpirationTime: - type: string - geoRegion: - type: string - hostingEnvironmentProfile: - description: |- - Storage version of v1api20220301.HostingEnvironmentProfile_STATUS - Specification for an App Service Environment to use for this resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - name: - type: string - type: - type: string - type: object - hyperV: - type: boolean id: type: string - isSpot: - type: boolean - isXenon: - type: boolean - kind: - type: string - kubeEnvironmentProfile: - description: |- - Storage version of v1api20220301.KubeEnvironmentProfile_STATUS - Specification for a Kubernetes Environment to use for this resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - name: - type: string - type: - type: string - type: object - location: + monthlyRetention: type: string - maximumElasticWorkerCount: - type: integer - maximumNumberOfWorkers: - type: integer name: type: string - numberOfSites: - type: integer - numberOfWorkers: - type: integer - perSiteScaling: - type: boolean - provisioningState: - type: string - reserved: - type: boolean - resourceGroup: - type: string - sku: - description: |- - Storage version of v1api20220301.SkuDescription_STATUS - Description of a SKU for a scalable resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capabilities: - items: - description: |- - Storage version of v1api20220301.Capability_STATUS - Describes the capabilities/features allowed for a specific SKU. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - reason: - type: string - value: - type: string - type: object - type: array - capacity: - type: integer - family: - type: string - locations: - items: - type: string - type: array - name: - type: string - size: - type: string - skuCapacity: - description: |- - Storage version of v1api20220301.SkuCapacity_STATUS - Description of the App Service plan scale options. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - default: - type: integer - elasticMaximum: - type: integer - maximum: - type: integer - minimum: - type: integer - scaleType: - type: string - type: object - tier: - type: string - type: object - spotExpirationTime: - type: string - status: - type: string - subscription: + type: type: string - tags: - additionalProperties: - type: string - type: object - targetWorkerCount: - type: integer - targetWorkerSizeId: + weekOfYear: type: integer - type: + weeklyRetention: type: string - workerTierName: + yearlyRetention: type: string - zoneRedundant: - type: boolean type: object type: object served: true @@ -291932,11 +377252,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: servers.dbformariadb.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasesbackupshorttermretentionpolicies.sql.azure.com spec: conversion: strategy: Webhook @@ -291949,12 +377269,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: dbformariadb.azure.com + group: sql.azure.com names: - kind: Server - listKind: ServerList - plural: servers - singular: server + categories: + - azure + - sql + kind: ServersDatabasesBackupShortTermRetentionPolicy + listKind: ServersDatabasesBackupShortTermRetentionPolicyList + plural: serversdatabasesbackupshorttermretentionpolicies + singular: serversdatabasesbackupshorttermretentionpolicy preserveUnknownFields: false scope: Namespaced versions: @@ -291971,13 +377294,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601 + name: v1api20211101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BackupShortTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/default properties: apiVersion: description: |- @@ -291998,14 +377321,14 @@ spec: type: object spec: properties: - azureName: + diffBackupIntervalInHours: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - location: - description: 'Location: The location the resource resides in.' - type: string + DiffBackupIntervalInHours: The differential backup interval in hours. This is how many interval hours between each + differential backup will be supported. This is only applicable to live databases but not dropped databases. + enum: + - 12 + - 24 + type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -292071,33 +377394,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret - will not be retrieved from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -292106,336 +377408,14 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - properties: - description: 'Properties: Properties of the server.' - properties: - default: - description: 'Default: Mutually exclusive with all other properties' - properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The password of the administrator login.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - createMode: - description: 'CreateMode: The mode to create a new server.' - enum: - - Default - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' - enum: - - TLS1_0 - - TLS1_1 - - TLS1_2 - - TLSEnforcementDisabled - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' - enum: - - Disabled - - Enabled - type: string - sslEnforcement: - description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' - enum: - - Disabled - - Enabled - type: string - storageProfile: - description: 'StorageProfile: Storage profile of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' - enum: - - Disabled - - Enabled - type: string - storageAutogrow: - description: 'StorageAutogrow: Enable Storage Auto Grow.' - enum: - - Disabled - - Enabled - type: string - storageMB: - description: 'StorageMB: Max storage allowed for a server.' - type: integer - type: object - version: - description: 'Version: Server version.' - enum: - - "10.2" - - "10.3" - type: string - required: - - administratorLogin - - administratorLoginPassword - - createMode - type: object - geoRestore: - description: 'GeoRestore: Mutually exclusive with all other properties' - properties: - createMode: - description: 'CreateMode: The mode to create a new server.' - enum: - - GeoRestore - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' - enum: - - TLS1_0 - - TLS1_1 - - TLS1_2 - - TLSEnforcementDisabled - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' - enum: - - Disabled - - Enabled - type: string - sourceServerId: - description: 'SourceServerId: The source server id to restore from.' - type: string - sslEnforcement: - description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' - enum: - - Disabled - - Enabled - type: string - storageProfile: - description: 'StorageProfile: Storage profile of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' - enum: - - Disabled - - Enabled - type: string - storageAutogrow: - description: 'StorageAutogrow: Enable Storage Auto Grow.' - enum: - - Disabled - - Enabled - type: string - storageMB: - description: 'StorageMB: Max storage allowed for a server.' - type: integer - type: object - version: - description: 'Version: Server version.' - enum: - - "10.2" - - "10.3" - type: string - required: - - createMode - - sourceServerId - type: object - pointInTimeRestore: - description: 'PointInTimeRestore: Mutually exclusive with all other properties' - properties: - createMode: - description: 'CreateMode: The mode to create a new server.' - enum: - - PointInTimeRestore - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' - enum: - - TLS1_0 - - TLS1_1 - - TLS1_2 - - TLSEnforcementDisabled - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' - enum: - - Disabled - - Enabled - type: string - restorePointInTime: - description: 'RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from.' - type: string - sourceServerId: - description: 'SourceServerId: The source server id to restore from.' - type: string - sslEnforcement: - description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' - enum: - - Disabled - - Enabled - type: string - storageProfile: - description: 'StorageProfile: Storage profile of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' - enum: - - Disabled - - Enabled - type: string - storageAutogrow: - description: 'StorageAutogrow: Enable Storage Auto Grow.' - enum: - - Disabled - - Enabled - type: string - storageMB: - description: 'StorageMB: Max storage allowed for a server.' - type: integer - type: object - version: - description: 'Version: Server version.' - enum: - - "10.2" - - "10.3" - type: string - required: - - createMode - - restorePointInTime - - sourceServerId - type: object - replica: - description: 'Replica: Mutually exclusive with all other properties' - properties: - createMode: - description: 'CreateMode: The mode to create a new server.' - enum: - - Replica - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' - enum: - - TLS1_0 - - TLS1_1 - - TLS1_2 - - TLSEnforcementDisabled - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' - enum: - - Disabled - - Enabled - type: string - sourceServerId: - description: 'SourceServerId: The master server id to create replica from.' - type: string - sslEnforcement: - description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' - enum: - - Disabled - - Enabled - type: string - storageProfile: - description: 'StorageProfile: Storage profile of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' - enum: - - Disabled - - Enabled - type: string - storageAutogrow: - description: 'StorageAutogrow: Enable Storage Auto Grow.' - enum: - - Disabled - - Enabled - type: string - storageMB: - description: 'StorageMB: Max storage allowed for a server.' - type: integer - type: object - version: - description: 'Version: Server version.' - enum: - - "10.2" - - "10.3" - type: string - required: - - createMode - - sourceServerId - type: object - type: object - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - capacity: - description: 'Capacity: The scale up/out capacity, representing server''s compute units.' - minimum: 0 - type: integer - family: - description: 'Family: The family of hardware.' - type: string - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.' - type: string - size: - description: 'Size: The size code, to be interpreted by resource as appropriate.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Basic.' - enum: - - Basic - - GeneralPurpose - - MemoryOptimized - type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Application-specific metadata in the form of key-value pairs.' - type: object + retentionDays: + description: 'RetentionDays: The backup retention period in days. This is how many days Point-in-Time Restore will be supported.' + type: integer required: - - location - owner - - properties type: object status: - description: Represents a server. properties: - administratorLogin: - description: |- - AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created - (and is required for creation). - type: string conditions: description: 'Conditions: The observed state of the resource' items: @@ -292480,128 +377460,22 @@ spec: - type type: object type: array - earliestRestoreDate: - description: 'EarliestRestoreDate: Earliest restore point creation time (ISO8601 format)' - type: string - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of a server.' - type: string - id: + diffBackupIntervalInHours: description: |- - Id: Fully qualified resource ID for the resource. Ex - - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - type: string - location: - description: 'Location: The geo-location where the resource lives' - type: string - masterServerId: - description: 'MasterServerId: The master server id of a replica server.' - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Enforce a minimal Tls version for the server.' + DiffBackupIntervalInHours: The differential backup interval in hours. This is how many interval hours between each + differential backup will be supported. This is only applicable to live databases but not dropped databases. + type: integer + id: + description: 'Id: Resource ID.' type: string name: - description: 'Name: The name of the resource' - type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections on a server' - items: - description: A private endpoint connection under a server - properties: - id: - description: 'Id: Resource Id of the private endpoint connection.' - type: string - properties: - description: 'Properties: Private endpoint connection properties' - properties: - privateEndpoint: - description: 'PrivateEndpoint: Private endpoint which the connection belongs to.' - properties: - id: - description: 'Id: Resource id of the private endpoint.' - type: string - type: object - privateLinkServiceConnectionState: - description: 'PrivateLinkServiceConnectionState: Connection state of the private endpoint connection.' - properties: - actionsRequired: - description: 'ActionsRequired: The actions required for private link service connection.' - type: string - description: - description: 'Description: The private link service connection description.' - type: string - status: - description: 'Status: The private link service connection status.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: State of the private endpoint connection.' - type: string - type: object - type: object - type: array - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' + description: 'Name: Resource name.' type: string - replicaCapacity: - description: 'ReplicaCapacity: The maximum number of replicas that a master server can have.' + retentionDays: + description: 'RetentionDays: The backup retention period in days. This is how many days Point-in-Time Restore will be supported.' type: integer - replicationRole: - description: 'ReplicationRole: The replication role of the server.' - type: string - sku: - description: 'Sku: The SKU (pricing tier) of the server.' - properties: - capacity: - description: 'Capacity: The scale up/out capacity, representing server''s compute units.' - type: integer - family: - description: 'Family: The family of hardware.' - type: string - name: - description: 'Name: The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8.' - type: string - size: - description: 'Size: The size code, to be interpreted by resource as appropriate.' - type: string - tier: - description: 'Tier: The tier of the particular SKU, e.g. Basic.' - type: string - type: object - sslEnforcement: - description: 'SslEnforcement: Enable ssl enforcement or not when connect to server.' - type: string - storageProfile: - description: 'StorageProfile: Storage profile of a server.' - properties: - backupRetentionDays: - description: 'BackupRetentionDays: Backup retention days for the server.' - type: integer - geoRedundantBackup: - description: 'GeoRedundantBackup: Enable Geo-redundant or not for server backup.' - type: string - storageAutogrow: - description: 'StorageAutogrow: Enable Storage Auto Grow.' - type: string - storageMB: - description: 'StorageMB: Max storage allowed for a server.' - type: integer - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' - type: string - userVisibleState: - description: 'UserVisibleState: A state of a server that is visible to user.' - type: string - version: - description: 'Version: Server version.' + description: 'Type: Resource type.' type: string type: object type: object @@ -292622,14 +377496,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180601storage + name: v1api20211101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180601.Server + Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy Generator information: - - Generated from: /mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BackupShortTermRetentionPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/default properties: apiVersion: description: |- @@ -292649,7 +377523,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180601.Server_Spec + description: Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy_Spec properties: $propertyBag: additionalProperties: @@ -292658,16 +377532,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - location: - type: string + diffBackupIntervalInHours: + type: integer operatorSpec: description: |- - Storage version of v1api20180601.ServerOperatorSpec + Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -292735,35 +377604,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20180601.ServerOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -292771,255 +377611,22 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - properties: - description: Storage version of v1api20180601.ServerPropertiesForCreate - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - default: - description: Storage version of v1api20180601.ServerPropertiesForDefaultCreate - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorLogin: - type: string - administratorLoginPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - createMode: - type: string - minimalTlsVersion: - type: string - publicNetworkAccess: - type: string - sslEnforcement: - type: string - storageProfile: - description: |- - Storage version of v1api20180601.StorageProfile - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - storageAutogrow: - type: string - storageMB: - type: integer - type: object - version: - type: string - type: object - geoRestore: - description: Storage version of v1api20180601.ServerPropertiesForGeoRestore - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createMode: - type: string - minimalTlsVersion: - type: string - publicNetworkAccess: - type: string - sourceServerId: - type: string - sslEnforcement: - type: string - storageProfile: - description: |- - Storage version of v1api20180601.StorageProfile - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - storageAutogrow: - type: string - storageMB: - type: integer - type: object - version: - type: string - type: object - pointInTimeRestore: - description: Storage version of v1api20180601.ServerPropertiesForRestore - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createMode: - type: string - minimalTlsVersion: - type: string - publicNetworkAccess: - type: string - restorePointInTime: - type: string - sourceServerId: - type: string - sslEnforcement: - type: string - storageProfile: - description: |- - Storage version of v1api20180601.StorageProfile - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - storageAutogrow: - type: string - storageMB: - type: integer - type: object - version: - type: string - type: object - replica: - description: Storage version of v1api20180601.ServerPropertiesForReplica - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createMode: - type: string - minimalTlsVersion: - type: string - publicNetworkAccess: - type: string - sourceServerId: - type: string - sslEnforcement: - type: string - storageProfile: - description: |- - Storage version of v1api20180601.StorageProfile - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - storageAutogrow: - type: string - storageMB: - type: integer - type: object - version: - type: string - type: object - type: object - sku: - description: |- - Storage version of v1api20180601.Sku - Billing information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string name: + description: This is the name of the Kubernetes resource to reference. type: string - size: - type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string type: object + retentionDays: + type: integer required: - owner type: object status: - description: |- - Storage version of v1api20180601.Server_STATUS - Represents a server. + description: Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy_STATUS properties: $propertyBag: additionalProperties: @@ -293028,8 +377635,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -293073,144 +377678,16 @@ spec: - type type: object type: array - earliestRestoreDate: - type: string - fullyQualifiedDomainName: - type: string + diffBackupIntervalInHours: + type: integer id: type: string - location: - type: string - masterServerId: - type: string - minimalTlsVersion: - type: string name: type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20180601.ServerPrivateEndpointConnection_STATUS - A private endpoint connection under a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - properties: - description: |- - Storage version of v1api20180601.ServerPrivateEndpointConnectionProperties_STATUS - Properties of a private endpoint connection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - privateEndpoint: - description: Storage version of v1api20180601.PrivateEndpointProperty_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - privateLinkServiceConnectionState: - description: Storage version of v1api20180601.ServerPrivateLinkServiceConnectionStateProperty_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - provisioningState: - type: string - type: object - type: object - type: array - publicNetworkAccess: - type: string - replicaCapacity: + retentionDays: type: integer - replicationRole: - type: string - sku: - description: |- - Storage version of v1api20180601.Sku_STATUS - Billing information related properties of a server. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: - type: string - type: object - sslEnforcement: - type: string - storageProfile: - description: |- - Storage version of v1api20180601.StorageProfile_STATUS - Storage Profile properties of a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - backupRetentionDays: - type: integer - geoRedundantBackup: - type: string - storageAutogrow: - type: string - storageMB: - type: integer - type: object - tags: - additionalProperties: - type: string - type: object type: type: string - userVisibleState: - type: string - version: - type: string type: object type: object served: true @@ -293223,11 +377700,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: servers.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasessecurityalertpolicies.sql.azure.com spec: conversion: strategy: Webhook @@ -293242,10 +377719,13 @@ spec: - v1 group: sql.azure.com names: - kind: Server - listKind: ServerList - plural: servers - singular: server + categories: + - azure + - sql + kind: ServersDatabasesSecurityAlertPolicy + listKind: ServersDatabasesSecurityAlertPolicyList + plural: serversdatabasessecurityalertpolicies + singular: serversdatabasessecurityalertpolicy preserveUnknownFields: false scope: Namespaced versions: @@ -293267,8 +377747,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Servers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default properties: apiVersion: description: |- @@ -293289,113 +377769,21 @@ spec: type: object spec: properties: - administratorLogin: - description: 'AdministratorLogin: Administrator username for the server. Once created it cannot be changed.' - type: string - administratorLoginPassword: - description: 'AdministratorLoginPassword: The administrator login password (required for server creation).' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - administrators: - description: 'Administrators: The Azure Active Directory administrator of the server.' - properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - enum: - - ActiveDirectory - type: string - azureADOnlyAuthentication: - description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' - type: boolean - login: - description: 'Login: Login name of the server administrator.' - type: string - principalType: - description: 'PrincipalType: Principal Type of the sever administrator.' - enum: - - Application - - Group - - User - type: string - sid: - description: 'Sid: SID (object ID) of the server administrator.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - type: object - azureName: + disabledAlerts: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - federatedClientId: - description: 'FederatedClientId: The Client id used for cross tenant CMK scenario' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - identity: - description: 'Identity: The Azure Active Directory identity of the server.' - properties: - type: - description: |- - Type: The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active - Directory principal for the resource. - enum: - - None - - SystemAssigned - - SystemAssigned,UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - keyId: - description: 'KeyId: A CMK URI of the key to use for encryption.' - type: string - location: - description: 'Location: Resource location.' - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Minimal TLS version. Allowed values: ''1.0'', ''1.1'', ''1.2''' - type: string + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -293431,27 +377819,6 @@ spec: - value type: object type: array - configMaps: - description: 'ConfigMaps: configures where to place operator written ConfigMaps.' - properties: - fullyQualifiedDomainName: - description: |- - FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no - config map will be created. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: @@ -293487,7 +377854,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -293496,82 +377863,43 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - primaryUserAssignedIdentityReference: - description: 'PrimaryUserAssignedIdentityReference: The resource id of a user assigned identity to be used by default.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' - enum: - - Disabled - - Enabled - type: string - restrictOutboundNetworkAccess: + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' + type: integer + state: description: |- - RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access for this server. Value is optional - but if passed in, must be 'Enabled' or 'Disabled' + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. enum: - Disabled - Enabled type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + storageAccountAccessKey: + description: 'StorageAccountAccessKey: Specifies the identifier key of the Threat Detection audit storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name type: object - version: - description: 'Version: The version of the server.' + storageEndpoint: + description: |- + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. type: string required: - - location - owner + - state type: object status: - description: An Azure SQL Database server. properties: - administratorLogin: - description: 'AdministratorLogin: Administrator username for the server. Once created it cannot be changed.' - type: string - administrators: - description: 'Administrators: The Azure Active Directory administrator of the server.' - properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - type: string - azureADOnlyAuthentication: - description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' - type: boolean - login: - description: 'Login: Login name of the server administrator.' - type: string - principalType: - description: 'PrincipalType: Principal Type of the sever administrator.' - type: string - sid: - description: 'Sid: SID (object ID) of the server administrator.' - type: string - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - type: string - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -293616,130 +377944,68 @@ spec: - type type: object type: array - federatedClientId: - description: 'FederatedClientId: The Client id used for cross tenant CMK scenario' - type: string - fullyQualifiedDomainName: - description: 'FullyQualifiedDomainName: The fully qualified domain name of the server.' + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' type: string + disabledAlerts: + description: |- + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array id: description: 'Id: Resource ID.' type: string - identity: - description: 'Identity: The Azure Active Directory identity of the server.' - properties: - principalId: - description: 'PrincipalId: The Azure Active Directory principal id.' - type: string - tenantId: - description: 'TenantId: The Azure Active Directory tenant id.' - type: string - type: - description: |- - Type: The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active - Directory principal for the resource. - type: string - userAssignedIdentities: - additionalProperties: - description: Azure Active Directory identity configuration for a resource. - properties: - clientId: - description: 'ClientId: The Azure Active Directory client id.' - type: string - principalId: - description: 'PrincipalId: The Azure Active Directory principal id.' - type: string - type: object - description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' - type: object - type: object - keyId: - description: 'KeyId: A CMK URI of the key to use for encryption.' - type: string - kind: - description: 'Kind: Kind of sql server. This is metadata used for the Azure portal experience.' - type: string - location: - description: 'Location: Resource location.' - type: string - minimalTlsVersion: - description: 'MinimalTlsVersion: Minimal TLS version. Allowed values: ''1.0'', ''1.1'', ''1.2''' - type: string name: description: 'Name: Resource name.' type: string - primaryUserAssignedIdentityId: - description: 'PrimaryUserAssignedIdentityId: The resource id of a user assigned identity to be used by default.' - type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of private endpoint connections on a server' - items: - description: A private endpoint connection under a server - properties: - id: - description: 'Id: Resource ID.' - type: string - properties: - description: 'Properties: Private endpoint connection properties' - properties: - groupIds: - description: 'GroupIds: Group IDs.' - items: - type: string - type: array - privateEndpoint: - description: 'PrivateEndpoint: Private endpoint which the connection belongs to.' - properties: - id: - description: 'Id: Resource id of the private endpoint.' - type: string - type: object - privateLinkServiceConnectionState: - description: 'PrivateLinkServiceConnectionState: Connection state of the private endpoint connection.' - properties: - actionsRequired: - description: 'ActionsRequired: The actions required for private link service connection.' - type: string - description: - description: 'Description: The private link service connection description.' - type: string - status: - description: 'Status: The private link service connection status.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: State of the private endpoint connection.' - type: string - type: object - type: object - type: array - publicNetworkAccess: + retentionDays: + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' + type: integer + state: description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this server. Value is optional but if passed - in, must be 'Enabled' or 'Disabled' + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. type: string - restrictOutboundNetworkAccess: + storageEndpoint: description: |- - RestrictOutboundNetworkAccess: Whether or not to restrict outbound network access for this server. Value is optional - but if passed in, must be 'Enabled' or 'Disabled' - type: string - state: - description: 'State: The state of the server.' + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' + systemData: + description: 'SystemData: SystemData of SecurityAlertPolicyResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object type: description: 'Type: Resource type.' type: string - version: - description: 'Version: The version of the server.' - type: string - workspaceFeature: - description: 'WorkspaceFeature: Whether or not existing server has a workspace created and if it allows connection from workspace' - type: string type: object type: object served: true @@ -293763,10 +378029,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.Server + Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Servers.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default properties: apiVersion: description: |- @@ -293786,7 +378052,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.Server_Spec + description: Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy_Spec properties: $propertyBag: additionalProperties: @@ -293795,116 +378061,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administratorLoginPassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - administrators: - description: |- - Storage version of v1api20211101.ServerExternalAdministrator - Properties of a active directory administrator. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorType: - type: string - azureADOnlyAuthentication: - type: boolean - login: - type: string - principalType: - type: string - sid: - type: string - tenantId: - type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - federatedClientId: - type: string - identity: - description: |- - Storage version of v1api20211101.ResourceIdentity - Azure Active Directory identity configuration for a resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20211101.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - keyId: - type: string - location: - type: string - minimalTlsVersion: - type: string + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: + type: boolean + emailAddresses: + items: + type: string + type: array operatorSpec: description: |- - Storage version of v1api20211101.ServerOperatorSpec + Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -293943,35 +378112,6 @@ spec: - value type: object type: array - configMaps: - description: Storage version of v1api20211101.ServerOperatorConfigMaps - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - fullyQualifiedDomainName: - description: |- - ConfigMapDestination describes the location to store a single configmap value - Note: This is similar to: SecretDestination in secrets.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the ConfigMap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes ConfigMap to write to. - The ConfigMap will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object secretExpressions: items: description: |- @@ -294008,7 +378148,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -294017,43 +378157,34 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - primaryUserAssignedIdentityReference: - description: 'PrimaryUserAssignedIdentityReference: The resource id of a user assigned identity to be used by default.' + retentionDays: + type: integer + state: + type: string + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + key: + description: Key is the key in the Kubernetes secret being referenced type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string + required: + - key + - name type: object - publicNetworkAccess: - type: string - restrictOutboundNetworkAccess: - type: string - tags: - additionalProperties: - type: string - type: object - version: + storageEndpoint: type: string required: - owner type: object status: - description: |- - Storage version of v1api20211101.Server_STATUS - An Azure SQL Database server. + description: Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy_STATUS properties: $propertyBag: additionalProperties: @@ -294062,33 +378193,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorLogin: - type: string - administrators: - description: |- - Storage version of v1api20211101.ServerExternalAdministrator_STATUS - Properties of a active directory administrator. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - administratorType: - type: string - azureADOnlyAuthentication: - type: boolean - login: - type: string - principalType: - type: string - sid: - type: string - tenantId: - type: string - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -294132,16 +378236,32 @@ spec: - type type: object type: array - federatedClientId: - type: string - fullyQualifiedDomainName: + creationTime: type: string + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: + type: boolean + emailAddresses: + items: + type: string + type: array id: type: string - identity: + name: + type: string + retentionDays: + type: integer + state: + type: string + storageEndpoint: + type: string + systemData: description: |- - Storage version of v1api20211101.ResourceIdentity_STATUS - Azure Active Directory identity configuration for a resource. + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -294150,126 +378270,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - principalId: + createdAt: type: string - tenantId: + createdBy: type: string - type: + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20211101.UserIdentity_STATUS - Azure Active Directory identity configuration for a resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - keyId: - type: string - kind: - type: string - location: - type: string - minimalTlsVersion: - type: string - name: - type: string - primaryUserAssignedIdentityId: - type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20211101.ServerPrivateEndpointConnection_STATUS - A private endpoint connection under a server - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - properties: - description: |- - Storage version of v1api20211101.PrivateEndpointConnectionProperties_STATUS - Properties of a private endpoint connection. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupIds: - items: - type: string - type: array - privateEndpoint: - description: Storage version of v1api20211101.PrivateEndpointProperty_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - privateLinkServiceConnectionState: - description: Storage version of v1api20211101.PrivateLinkServiceConnectionStateProperty_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - provisioningState: - type: string - type: object - type: object - type: array - publicNetworkAccess: - type: string - restrictOutboundNetworkAccess: - type: string - state: - type: string - tags: - additionalProperties: - type: string type: object type: type: string - version: - type: string - workspaceFeature: - type: string type: object type: object served: true @@ -294282,11 +378297,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversadministrators.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasestransparentdataencryptions.sql.azure.com spec: conversion: strategy: Webhook @@ -294301,10 +378316,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersAdministrator - listKind: ServersAdministratorList - plural: serversadministrators - singular: serversadministrator + categories: + - azure + - sql + kind: ServersDatabasesTransparentDataEncryption + listKind: ServersDatabasesTransparentDataEncryptionList + plural: serversdatabasestransparentdataencryptions + singular: serversdatabasestransparentdataencryption preserveUnknownFields: false scope: Namespaced versions: @@ -294326,8 +378344,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADAdministrators.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/TransparentDataEncryptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName} properties: apiVersion: description: |- @@ -294348,14 +378366,6 @@ spec: type: object spec: properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - enum: - - ActiveDirectory - type: string - login: - description: 'Login: Login name of the server administrator.' - type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -294426,7 +378436,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -294435,57 +378445,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sid: - description: 'Sid: SID (object ID) of the server administrator.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - sidFromConfig: - description: 'SidFromConfig: SID (object ID) of the server administrator.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - tenantId: - description: 'TenantId: Tenant ID of the administrator.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + state: + description: 'State: Specifies the state of the transparent data encryption.' + enum: + - Disabled + - Enabled type: string - tenantIdFromConfig: - description: 'TenantIdFromConfig: Tenant ID of the administrator.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object required: - - administratorType - - login - owner + - state type: object status: properties: - administratorType: - description: 'AdministratorType: Type of the sever administrator.' - type: string - azureADOnlyAuthentication: - description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' - type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -294533,17 +378504,11 @@ spec: id: description: 'Id: Resource ID.' type: string - login: - description: 'Login: Login name of the server administrator.' - type: string name: description: 'Name: Resource name.' type: string - sid: - description: 'Sid: SID (object ID) of the server administrator.' - type: string - tenantId: - description: 'TenantId: Tenant ID of the administrator.' + state: + description: 'State: Specifies the state of the transparent data encryption.' type: string type: description: 'Type: Resource type.' @@ -294571,10 +378536,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersAdministrator + Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADAdministrators.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/TransparentDataEncryptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName} properties: apiVersion: description: |- @@ -294594,7 +378559,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersAdministrator_Spec + description: Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption_Spec properties: $propertyBag: additionalProperties: @@ -294603,13 +378568,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorType: - type: string - login: - type: string operatorSpec: description: |- - Storage version of v1api20211101.ServersAdministratorOperatorSpec + Storage version of v1api20211101.ServersDatabasesTransparentDataEncryptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -294684,7 +378645,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -294693,49 +378654,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - sid: - type: string - sidFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - tenantId: + state: type: string - tenantIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object required: - owner type: object status: - description: Storage version of v1api20211101.ServersAdministrator_STATUS + description: Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption_STATUS properties: $propertyBag: additionalProperties: @@ -294744,10 +378669,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - administratorType: - type: string - azureADOnlyAuthentication: - type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -294793,13 +378714,9 @@ spec: type: array id: type: string - login: - type: string name: type: string - sid: - type: string - tenantId: + state: type: string type: type: string @@ -294815,11 +378732,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversadvancedthreatprotectionsettings.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversdatabasesvulnerabilityassessments.sql.azure.com spec: conversion: strategy: Webhook @@ -294834,10 +378751,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersAdvancedThreatProtectionSetting - listKind: ServersAdvancedThreatProtectionSettingList - plural: serversadvancedthreatprotectionsettings - singular: serversadvancedthreatprotectionsetting + categories: + - azure + - sql + kind: ServersDatabasesVulnerabilityAssessment + listKind: ServersDatabasesVulnerabilityAssessmentList + plural: serversdatabasesvulnerabilityassessments + singular: serversdatabasesvulnerabilityassessment preserveUnknownFields: false scope: Namespaced versions: @@ -294859,8 +378779,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAdvancedThreatProtectionSettings.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advancedThreatProtectionSettings/Default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/default properties: apiVersion: description: |- @@ -294951,7 +378871,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -294960,18 +378880,85 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - state: + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageAccountAccessKey: description: |- - State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been - applied yet on the specific database or server. - enum: - - Disabled - - Enabled - - New + StorageAccountAccessKey: Specifies the identifier key of the storage account for vulnerability assessment scan results. + If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is + not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy + doesn't set type: string + storageContainerPathFromConfig: + description: |- + StorageContainerPathFromConfig: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy + doesn't set + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + StorageContainerSasKey: A shared access signature (SAS Key) that has write access to the blob container specified in + 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. + Applies only if the storage account is not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner - - state type: object status: properties: @@ -295019,42 +379006,35 @@ spec: - type type: object type: array - creationTime: - description: 'CreationTime: Specifies the UTC creation time of the policy.' - type: string id: description: 'Id: Resource ID.' type: string name: description: 'Name: Resource name.' type: string - state: - description: |- - State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been - applied yet on the specific database or server. - type: string - systemData: - description: 'SystemData: SystemData of AdvancedThreatProtectionResource.' + recurringScans: + description: 'RecurringScans: The recurring scans settings' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy + doesn't set + type: string type: description: 'Type: Resource type.' type: string @@ -295081,10 +379061,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting + Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAdvancedThreatProtectionSettings.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advancedThreatProtectionSettings/Default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/default properties: apiVersion: description: |- @@ -295104,7 +379084,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting_Spec + description: Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment_Spec properties: $propertyBag: additionalProperties: @@ -295115,7 +379095,7 @@ spec: type: object operatorSpec: description: |- - Storage version of v1api20211101.ServersAdvancedThreatProtectionSettingOperatorSpec + Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -295190,7 +379170,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a sql.azure.com/ServersDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -295199,13 +379179,85 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - state: + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: type: string + storageContainerPathFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner type: object status: - description: Storage version of v1api20211101.ServersAdvancedThreatProtectionSetting_STATUS + description: Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment_STATUS properties: $propertyBag: additionalProperties: @@ -295257,18 +379309,14 @@ spec: - type type: object type: array - creationTime: - type: string id: type: string name: type: string - state: - type: string - systemData: + recurringScans: description: |- - Storage version of v1api20211101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties_STATUS + Properties of a Vulnerability Assessment recurring scans. properties: $propertyBag: additionalProperties: @@ -295277,19 +379325,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean type: object + storageContainerPath: + type: string type: type: string type: object @@ -295304,11 +379350,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversauditingsettings.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serverselasticpools.sql.azure.com spec: conversion: strategy: Webhook @@ -295323,10 +379369,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersAuditingSetting - listKind: ServersAuditingSettingList - plural: serversauditingsettings - singular: serversauditingsetting + categories: + - azure + - sql + kind: ServersElasticPool + listKind: ServersElasticPoolList + plural: serverselasticpools + singular: serverselasticpool preserveUnknownFields: false scope: Namespaced versions: @@ -295348,8 +379397,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ElasticPools.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName} properties: apiVersion: description: |- @@ -295370,100 +379419,36 @@ spec: type: object spec: properties: - auditActionsAndGroups: + azureName: description: |- - AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. - The recommended set of action groups to use is the following combination - this will audit all the queries and stored - procedures executed against the database, as well as successful and failed logins: - BATCH_COMPLETED_GROUP, - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - FAILED_DATABASE_AUTHENTICATION_GROUP. - This above combination is also the set that is configured by default when enabling auditing from the Azure portal. - The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using - unnecessary groups could lead to very large quantities of audit records): - APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - BACKUP_RESTORE_GROUP - DATABASE_LOGOUT_GROUP - DATABASE_OBJECT_CHANGE_GROUP - DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - DATABASE_OPERATION_GROUP - DATABASE_PERMISSION_CHANGE_GROUP - DATABASE_PRINCIPAL_CHANGE_GROUP - DATABASE_PRINCIPAL_IMPERSONATION_GROUP - DATABASE_ROLE_MEMBER_CHANGE_GROUP - FAILED_DATABASE_AUTHENTICATION_GROUP - SCHEMA_OBJECT_ACCESS_GROUP - SCHEMA_OBJECT_CHANGE_GROUP - SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - USER_CHANGE_PASSWORD_GROUP - BATCH_STARTED_GROUP - BATCH_COMPLETED_GROUP - DBCC_GROUP - DATABASE_OWNERSHIP_CHANGE_GROUP - DATABASE_CHANGE_GROUP - LEDGER_OPERATION_GROUP - These are groups that cover all sql statements and stored procedures executed against the database, and should not be - used in combination with other groups as this will result in duplicate audit logs. - For more information, see [Database-Level Audit Action - Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server - auditing policy). The supported actions to audit are: - SELECT - UPDATE - INSERT - DELETE - EXECUTE - RECEIVE - REFERENCES - The general form for defining an action to be audited is: - {action} ON {object} BY {principal} - Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire - database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - For example: - SELECT on dbo.myTable by public - SELECT on DATABASE::myDatabase by public - SELECT on SCHEMA::mySchema by public - For more information, see [Database-Level Audit - Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) - items: - type: string - type: array - isAzureMonitorTargetEnabled: + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + highAvailabilityReplicaCount: description: |- - IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. - In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. - When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on - the database should be also created. - Note that for server level audit you should use the 'master' database as {databaseName}. - Diagnostic Settings URI format: - PUT - https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) - or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) - type: boolean - isDevopsAuditEnabled: + HighAvailabilityReplicaCount: The number of secondary replicas associated with the elastic pool that are used to provide + high availability. Applicable only to Hyperscale elastic pools. + type: integer + licenseType: + description: 'LicenseType: The license type to apply for this elastic pool.' + enum: + - BasePrice + - LicenseIncluded + type: string + location: + description: 'Location: Resource location.' + type: string + maintenanceConfigurationId: description: |- - IsDevopsAuditEnabled: Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure - Monitor. - In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and - 'IsDevopsAuditEnabled' as true - When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on - the master database should also be created. - Diagnostic Settings URI format: - PUT - https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) - or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) - type: boolean - isManagedIdentityInUse: - description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' - type: boolean - isStorageSecondaryKeyInUse: - description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' - type: boolean + MaintenanceConfigurationId: Maintenance configuration id assigned to the elastic pool. This configuration defines the + period when the maintenance updates will will occur. + type: string + maxSizeBytes: + description: 'MaxSizeBytes: The storage limit for the database elastic pool in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that serverless pool will not shrink below, if not paused' + type: number operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -295543,123 +379528,60 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - queueDelayMs: - description: |- - QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be - processed. - The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. - type: integer - retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' - type: integer - state: - description: |- - State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are - required. - enum: - - Disabled - - Enabled - type: string - storageAccountAccessKey: + perDatabaseSettings: + description: 'PerDatabaseSettings: The per database settings for the elastic pool.' + properties: + maxCapacity: + description: 'MaxCapacity: The maximum capacity any one database can consume.' + type: number + minCapacity: + description: 'MinCapacity: The minimum capacity all databases are guaranteed.' + type: number + type: object + sku: description: |- - StorageAccountAccessKey: Specifies the identifier key of the auditing storage account. - If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server - system-assigned managed identity to access the storage. - Prerequisites for using managed identity authentication: - 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). - 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the - server identity. - For more information, see [Auditing to storage using Managed Identity - authentication](https://go.microsoft.com/fwlink/?linkid=2114355) + Sku: The elastic pool SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or the following command: + ```azurecli + az sql elastic-pool list-editions -l -o table + ```` properties: - key: - description: Key is the key in the Kubernetes secret being referenced + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' type: string name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' type: string required: - - key - name type: object - storageAccountSubscriptionId: - description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - storageEndpoint: + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + zoneRedundant: description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is - Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. - type: string + ZoneRedundant: Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be + spread across multiple availability zones. + type: boolean required: + - location - owner - - state type: object status: properties: - auditActionsAndGroups: - description: |- - AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. - The recommended set of action groups to use is the following combination - this will audit all the queries and stored - procedures executed against the database, as well as successful and failed logins: - BATCH_COMPLETED_GROUP, - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - FAILED_DATABASE_AUTHENTICATION_GROUP. - This above combination is also the set that is configured by default when enabling auditing from the Azure portal. - The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using - unnecessary groups could lead to very large quantities of audit records): - APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - BACKUP_RESTORE_GROUP - DATABASE_LOGOUT_GROUP - DATABASE_OBJECT_CHANGE_GROUP - DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - DATABASE_OPERATION_GROUP - DATABASE_PERMISSION_CHANGE_GROUP - DATABASE_PRINCIPAL_CHANGE_GROUP - DATABASE_PRINCIPAL_IMPERSONATION_GROUP - DATABASE_ROLE_MEMBER_CHANGE_GROUP - FAILED_DATABASE_AUTHENTICATION_GROUP - SCHEMA_OBJECT_ACCESS_GROUP - SCHEMA_OBJECT_CHANGE_GROUP - SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - USER_CHANGE_PASSWORD_GROUP - BATCH_STARTED_GROUP - BATCH_COMPLETED_GROUP - DBCC_GROUP - DATABASE_OWNERSHIP_CHANGE_GROUP - DATABASE_CHANGE_GROUP - LEDGER_OPERATION_GROUP - These are groups that cover all sql statements and stored procedures executed against the database, and should not be - used in combination with other groups as this will result in duplicate audit logs. - For more information, see [Database-Level Audit Action - Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server - auditing policy). The supported actions to audit are: - SELECT - UPDATE - INSERT - DELETE - EXECUTE - RECEIVE - REFERENCES - The general form for defining an action to be audited is: - {action} ON {object} BY {principal} - Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire - database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - For example: - SELECT on dbo.myTable by public - SELECT on DATABASE::myDatabase by public - SELECT on SCHEMA::mySchema by public - For more information, see [Database-Level Audit - Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) - items: - type: string - type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -295704,70 +379626,92 @@ spec: - type type: object type: array + creationDate: + description: 'CreationDate: The creation date of the elastic pool (ISO8601 format).' + type: string + highAvailabilityReplicaCount: + description: |- + HighAvailabilityReplicaCount: The number of secondary replicas associated with the elastic pool that are used to provide + high availability. Applicable only to Hyperscale elastic pools. + type: integer id: description: 'Id: Resource ID.' type: string - isAzureMonitorTargetEnabled: - description: |- - IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. - In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. - When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on - the database should be also created. - Note that for server level audit you should use the 'master' database as {databaseName}. - Diagnostic Settings URI format: - PUT - https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) - or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) - type: boolean - isDevopsAuditEnabled: + kind: + description: 'Kind: Kind of elastic pool. This is metadata used for the Azure portal experience.' + type: string + licenseType: + description: 'LicenseType: The license type to apply for this elastic pool.' + type: string + location: + description: 'Location: Resource location.' + type: string + maintenanceConfigurationId: description: |- - IsDevopsAuditEnabled: Specifies the state of devops audit. If state is Enabled, devops logs will be sent to Azure - Monitor. - In order to send the events to Azure Monitor, specify 'State' as 'Enabled', 'IsAzureMonitorTargetEnabled' as true and - 'IsDevopsAuditEnabled' as true - When using REST API to configure auditing, Diagnostic Settings with 'DevOpsOperationsAudit' diagnostic logs category on - the master database should also be created. - Diagnostic Settings URI format: - PUT - https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) - or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) - type: boolean - isManagedIdentityInUse: - description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' - type: boolean - isStorageSecondaryKeyInUse: - description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' - type: boolean + MaintenanceConfigurationId: Maintenance configuration id assigned to the elastic pool. This configuration defines the + period when the maintenance updates will will occur. + type: string + maxSizeBytes: + description: 'MaxSizeBytes: The storage limit for the database elastic pool in bytes.' + type: integer + minCapacity: + description: 'MinCapacity: Minimal capacity that serverless pool will not shrink below, if not paused' + type: number name: description: 'Name: Resource name.' type: string - queueDelayMs: + perDatabaseSettings: + description: 'PerDatabaseSettings: The per database settings for the elastic pool.' + properties: + maxCapacity: + description: 'MaxCapacity: The maximum capacity any one database can consume.' + type: number + minCapacity: + description: 'MinCapacity: The minimum capacity all databases are guaranteed.' + type: number + type: object + sku: description: |- - QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be - processed. - The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. - type: integer - retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' - type: integer + Sku: The elastic pool SKU. + The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, + family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` + REST API or the following command: + ```azurecli + az sql elastic-pool list-editions -l -o table + ```` + properties: + capacity: + description: 'Capacity: Capacity of the particular SKU.' + type: integer + family: + description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + type: string + name: + description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + type: string + size: + description: 'Size: Size of the particular SKU' + type: string + tier: + description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + type: string + type: object state: - description: |- - State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are - required. - type: string - storageAccountSubscriptionId: - description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' - type: string - storageEndpoint: - description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is - Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + description: 'State: The state of the elastic pool.' type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: Resource type.' type: string + zoneRedundant: + description: |- + ZoneRedundant: Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be + spread across multiple availability zones. + type: boolean type: object type: object served: true @@ -295791,10 +379735,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersAuditingSetting + Storage version of v1api20211101.ServersElasticPool Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ElasticPools.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName} properties: apiVersion: description: |- @@ -295814,7 +379758,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersAuditingSetting_Spec + description: Storage version of v1api20211101.ServersElasticPool_Spec properties: $propertyBag: additionalProperties: @@ -295823,21 +379767,26 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - auditActionsAndGroups: - items: - type: string - type: array - isAzureMonitorTargetEnabled: - type: boolean - isDevopsAuditEnabled: - type: boolean - isManagedIdentityInUse: - type: boolean - isStorageSecondaryKeyInUse: - type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + highAvailabilityReplicaCount: + type: integer + licenseType: + type: string + location: + type: string + maintenanceConfigurationId: + type: string + maxSizeBytes: + type: integer + minCapacity: + type: number operatorSpec: description: |- - Storage version of v1api20211101.ServersAuditingSettingOperatorSpec + Storage version of v1api20211101.ServersElasticPoolOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -295921,38 +379870,57 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - queueDelayMs: - type: integer - retentionDays: - type: integer - state: - type: string - storageAccountAccessKey: + perDatabaseSettings: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + Storage version of v1api20211101.ElasticPoolPerDatabaseSettings + Per database settings of an elastic pool. properties: - key: - description: Key is the key in the Kubernetes secret being referenced + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: number + minCapacity: + type: number + type: object + sku: + description: |- + Storage version of v1api20211101.Sku + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: type: string name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource type: string - required: - - key - - name + size: + type: string + tier: + type: string type: object - storageAccountSubscriptionId: - type: string - storageEndpoint: - type: string + tags: + additionalProperties: + type: string + type: object + zoneRedundant: + type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.ServersAuditingSetting_STATUS + description: Storage version of v1api20211101.ServersElasticPool_STATUS properties: $propertyBag: additionalProperties: @@ -295961,10 +379929,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - auditActionsAndGroups: - items: - type: string - type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -296008,30 +379972,76 @@ spec: - type type: object type: array + creationDate: + type: string + highAvailabilityReplicaCount: + type: integer id: type: string - isAzureMonitorTargetEnabled: - type: boolean - isDevopsAuditEnabled: - type: boolean - isManagedIdentityInUse: - type: boolean - isStorageSecondaryKeyInUse: - type: boolean - name: + kind: type: string - queueDelayMs: - type: integer - retentionDays: - type: integer - state: + licenseType: type: string - storageAccountSubscriptionId: + location: type: string - storageEndpoint: + maintenanceConfigurationId: + type: string + maxSizeBytes: + type: integer + minCapacity: + type: number + name: + type: string + perDatabaseSettings: + description: |- + Storage version of v1api20211101.ElasticPoolPerDatabaseSettings_STATUS + Per database settings of an elastic pool. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxCapacity: + type: number + minCapacity: + type: number + type: object + sku: + description: |- + Storage version of v1api20211101.Sku_STATUS + An ARM Resource SKU. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + state: type: string + tags: + additionalProperties: + type: string + type: object type: type: string + zoneRedundant: + type: boolean type: object type: object served: true @@ -296044,11 +380054,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversazureadonlyauthentications.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversfailovergroups.sql.azure.com spec: conversion: strategy: Webhook @@ -296063,10 +380073,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersAzureADOnlyAuthentication - listKind: ServersAzureADOnlyAuthenticationList - plural: serversazureadonlyauthentications - singular: serversazureadonlyauthentication + categories: + - azure + - sql + kind: ServersFailoverGroup + listKind: ServersFailoverGroupList + plural: serversfailovergroups + singular: serversfailovergroup preserveUnknownFields: false scope: Namespaced versions: @@ -296088,8 +380101,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADOnlyAuthentications.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/Default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FailoverGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName} properties: apiVersion: description: |- @@ -296110,9 +380123,34 @@ spec: type: object spec: properties: - azureADOnlyAuthentication: - description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' - type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databasesReferences: + description: 'DatabasesReferences: List of databases in the failover group.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -296192,15 +380230,76 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + partnerServers: + description: 'PartnerServers: List of partner server information for the failover group.' + items: + description: Partner server information for the failover group. + properties: + reference: + description: 'Reference: Resource identifier of the partner server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + readOnlyEndpoint: + description: 'ReadOnlyEndpoint: Read-only endpoint of the failover group instance.' + properties: + failoverPolicy: + description: 'FailoverPolicy: Failover policy of the read-only endpoint for the failover group.' + enum: + - Disabled + - Enabled + type: string + type: object + readWriteEndpoint: + description: 'ReadWriteEndpoint: Read-write endpoint of the failover group instance.' + properties: + failoverPolicy: + description: |- + FailoverPolicy: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. + enum: + - Automatic + - Manual + type: string + failoverWithDataLossGracePeriodMinutes: + description: |- + FailoverWithDataLossGracePeriodMinutes: Grace period before failover with data loss is attempted for the read-write + endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. + type: integer + required: + - failoverPolicy + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object required: - - azureADOnlyAuthentication - owner + - partnerServers + - readWriteEndpoint type: object status: properties: - azureADOnlyAuthentication: - description: 'AzureADOnlyAuthentication: Azure Active Directory only Authentication enabled.' - type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -296245,12 +380344,68 @@ spec: - type type: object type: array + databases: + description: 'Databases: List of databases in the failover group.' + items: + type: string + type: array id: description: 'Id: Resource ID.' type: string + location: + description: 'Location: Resource location.' + type: string name: description: 'Name: Resource name.' type: string + partnerServers: + description: 'PartnerServers: List of partner server information for the failover group.' + items: + description: Partner server information for the failover group. + properties: + id: + description: 'Id: Resource identifier of the partner server.' + type: string + location: + description: 'Location: Geo location of the partner server.' + type: string + replicationRole: + description: 'ReplicationRole: Replication role of the partner server.' + type: string + type: object + type: array + readOnlyEndpoint: + description: 'ReadOnlyEndpoint: Read-only endpoint of the failover group instance.' + properties: + failoverPolicy: + description: 'FailoverPolicy: Failover policy of the read-only endpoint for the failover group.' + type: string + type: object + readWriteEndpoint: + description: 'ReadWriteEndpoint: Read-write endpoint of the failover group instance.' + properties: + failoverPolicy: + description: |- + FailoverPolicy: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then + failoverWithDataLossGracePeriodMinutes is required. + type: string + failoverWithDataLossGracePeriodMinutes: + description: |- + FailoverWithDataLossGracePeriodMinutes: Grace period before failover with data loss is attempted for the read-write + endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. + type: integer + type: object + replicationRole: + description: 'ReplicationRole: Local replication role of the failover group instance.' + type: string + replicationState: + description: 'ReplicationState: Replication state of the failover group instance.' + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object type: description: 'Type: Resource type.' type: string @@ -296277,10 +380432,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersAzureADOnlyAuthentication + Storage version of v1api20211101.ServersFailoverGroup Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerAzureADOnlyAuthentications.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/azureADOnlyAuthentications/Default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FailoverGroups.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName} properties: apiVersion: description: |- @@ -296300,7 +380455,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersAzureADOnlyAuthentication_Spec + description: Storage version of v1api20211101.ServersFailoverGroup_Spec properties: $propertyBag: additionalProperties: @@ -296309,11 +380464,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureADOnlyAuthentication: - type: boolean + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + databasesReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array operatorSpec: description: |- - Storage version of v1api20211101.ServersAzureADOnlyAuthenticationOperatorSpec + Storage version of v1api20211101.ServersFailoverGroupOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -296397,11 +380577,84 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + partnerServers: + items: + description: |- + Storage version of v1api20211101.PartnerInfo + Partner server information for the failover group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource identifier of the partner server.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array + readOnlyEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadOnlyEndpoint + Read-only endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + type: object + readWriteEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadWriteEndpoint + Read-write endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + failoverWithDataLossGracePeriodMinutes: + type: integer + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: - description: Storage version of v1api20211101.ServersAzureADOnlyAuthentication_STATUS + description: Storage version of v1api20211101.ServersFailoverGroup_STATUS properties: $propertyBag: additionalProperties: @@ -296410,8 +380663,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureADOnlyAuthentication: - type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -296455,10 +380706,77 @@ spec: - type type: object type: array + databases: + items: + type: string + type: array id: type: string + location: + type: string name: type: string + partnerServers: + items: + description: |- + Storage version of v1api20211101.PartnerInfo_STATUS + Partner server information for the failover group. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + location: + type: string + replicationRole: + type: string + type: object + type: array + readOnlyEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadOnlyEndpoint_STATUS + Read-only endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + type: object + readWriteEndpoint: + description: |- + Storage version of v1api20211101.FailoverGroupReadWriteEndpoint_STATUS + Read-write endpoint of the failover group instance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + failoverPolicy: + type: string + failoverWithDataLossGracePeriodMinutes: + type: integer + type: object + replicationRole: + type: string + replicationState: + type: string + tags: + additionalProperties: + type: string + type: object type: type: string type: object @@ -296473,11 +380791,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversconnectionpolicies.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversfirewallrules.sql.azure.com spec: conversion: strategy: Webhook @@ -296492,10 +380810,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersConnectionPolicy - listKind: ServersConnectionPolicyList - plural: serversconnectionpolicies - singular: serversconnectionpolicy + categories: + - azure + - sql + kind: ServersFirewallRule + listKind: ServersFirewallRuleList + plural: serversfirewallrules + singular: serversfirewallrule preserveUnknownFields: false scope: Namespaced versions: @@ -296517,8 +380838,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerConnectionPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -296539,12 +380860,15 @@ spec: type: object spec: properties: - connectionType: - description: 'ConnectionType: The server connection type.' - enum: - - Default - - Proxy - - Redirect + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: + description: |- + EndIpAddress: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to + startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. type: string operatorSpec: description: |- @@ -296625,8 +380949,12 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + startIpAddress: + description: |- + StartIpAddress: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all + Azure-internal IP addresses. + type: string required: - - connectionType - owner type: object status: @@ -296675,21 +381003,22 @@ spec: - type type: object type: array - connectionType: - description: 'ConnectionType: The server connection type.' + endIpAddress: + description: |- + EndIpAddress: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to + startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. type: string id: description: 'Id: Resource ID.' type: string - kind: - description: 'Kind: Metadata used for the Azure portal experience.' - type: string - location: - description: 'Location: Resource location.' - type: string name: description: 'Name: Resource name.' type: string + startIpAddress: + description: |- + StartIpAddress: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all + Azure-internal IP addresses. + type: string type: description: 'Type: Resource type.' type: string @@ -296716,10 +381045,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersConnectionPolicy + Storage version of v1api20211101.ServersFirewallRule Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerConnectionPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -296739,7 +381068,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersConnectionPolicy_Spec + description: Storage version of v1api20211101.ServersFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -296748,11 +381077,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - connectionType: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + endIpAddress: type: string operatorSpec: description: |- - Storage version of v1api20211101.ServersConnectionPolicyOperatorSpec + Storage version of v1api20211101.ServersFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -296836,11 +381170,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + startIpAddress: + type: string required: - owner type: object status: - description: Storage version of v1api20211101.ServersConnectionPolicy_STATUS + description: Storage version of v1api20211101.ServersFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -296892,16 +381228,14 @@ spec: - type type: object type: array - connectionType: + endIpAddress: type: string id: type: string - kind: - type: string - location: - type: string name: type: string + startIpAddress: + type: string type: type: string type: object @@ -296916,11 +381250,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabases.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversipv6firewallrules.sql.azure.com spec: conversion: strategy: Webhook @@ -296935,10 +381269,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersDatabase - listKind: ServersDatabaseList - plural: serversdatabases - singular: serversdatabase + categories: + - azure + - sql + kind: ServersIPV6FirewallRule + listKind: ServersIPV6FirewallRuleList + plural: serversipv6firewallrules + singular: serversipv6firewallrule preserveUnknownFields: false scope: Namespaced versions: @@ -296960,8 +381297,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/IPv6FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/ipv6FirewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -296982,769 +381319,164 @@ spec: type: object spec: properties: - autoPauseDelay: - description: |- - AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause - is disabled - type: integer azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - catalogCollation: - description: 'CatalogCollation: Collation of the metadata catalog.' - enum: - - DATABASE_DEFAULT - - SQL_Latin1_General_CP1_CI_AS - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - createMode: - description: |- - CreateMode: Specifies the mode of database creation. - Default: regular database creation. - Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the - source database. - Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the - resource ID of the existing primary database. - PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId - must be specified as the resource ID of the existing database, and restorePointInTime must be specified. - Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable - database resource ID to restore. - Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If - sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise - sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. - restorePointInTime may also be specified to restore from an earlier point in time. - RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. - recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. - Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. - enum: - - Copy - - Default - - OnlineSecondary - - PointInTimeRestore - - Recovery - - Restore - - RestoreExternalBackup - - RestoreExternalBackupSecondary - - RestoreLongTermRetentionBackup - - Secondary - type: string - elasticPoolReference: - description: 'ElasticPoolReference: The resource identifier of the elastic pool containing this database.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - federatedClientId: - description: 'FederatedClientId: The Client id used for cross tenant per database CMK scenario' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - highAvailabilityReplicaCount: - description: |- - HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide - high availability. Not applicable to a Hyperscale database within an elastic pool. - type: integer - identity: - description: 'Identity: The Azure Active Directory identity of the database.' - properties: - type: - description: 'Type: The identity type' - enum: - - None - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - isLedgerOn: - description: |- - IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. - Note: the value of this property cannot be changed after the database has been created. - type: boolean - licenseType: - description: |- - LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you - have a license and are eligible for the Azure Hybrid Benefit. - enum: - - BasePrice - - LicenseIncluded - type: string - location: - description: 'Location: Resource location.' - type: string - longTermRetentionBackupResourceReference: - description: |- - LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with - create operation of this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - maintenanceConfigurationId: - description: |- - MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period - when the maintenance updates will occur. - type: string - maxSizeBytes: - description: 'MaxSizeBytes: The max size of the database expressed in bytes.' - type: integer - minCapacity: - description: 'MinCapacity: Minimal capacity that database will always have allocated, if not paused' - type: number - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - readScale: - description: |- - ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their - connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale - database within an elastic pool. - enum: - - Disabled - - Enabled - type: string - recoverableDatabaseReference: - description: |- - RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of - this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - recoveryServicesRecoveryPointReference: - description: |- - RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation - of this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requestedBackupStorageRedundancy: - description: 'RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.' - enum: - - Geo - - GeoZone - - Local - - Zone - type: string - restorableDroppedDatabaseReference: - description: |- - RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create - operation of this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - restorePointInTime: - description: |- - RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create - the new database. - type: string - sampleName: - description: 'SampleName: The name of the sample schema to apply when creating this database.' - enum: - - AdventureWorksLT - - WideWorldImportersFull - - WideWorldImportersStd - type: string - secondaryType: - description: 'SecondaryType: The secondary type of the database if it is a secondary. Valid values are Geo and Named.' - enum: - - Geo - - Named - type: string - sku: - description: |- - Sku: The database SKU. - The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, - family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` - REST API or one of the following commands: - ```azurecli - az sql db list-editions -l -o table - ```` - ```powershell - Get-AzSqlServerServiceObjective -Location - ```` - properties: - capacity: - description: 'Capacity: Capacity of the particular SKU.' - type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' - type: string - name: - description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' - type: string - size: - description: 'Size: Size of the particular SKU' - type: string - tier: - description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' - type: string - required: - - name - type: object - sourceDatabaseDeletionDate: - description: 'SourceDatabaseDeletionDate: Specifies the time that the database was deleted.' - type: string - sourceDatabaseReference: - description: |- - SourceDatabaseReference: The resource identifier of the source database associated with create operation of this - database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sourceResourceReference: - description: |- - SourceResourceReference: The resource identifier of the source associated with the create operation of this database. - This property is only supported for DataWarehouse edition and allows to restore across subscriptions. - When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and - sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. - When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql - pool, and restorePointInTime must be specified. - When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable - dropped sql pool. - When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. - When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” - header must contain authentication token for the source tenant. For more details about - “x-ms-authorization-auxiliary” header see - https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - zoneRedundant: - description: |- - ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread - across multiple availability zones. - type: boolean - required: - - location - - owner - type: object - status: - properties: - autoPauseDelay: - description: |- - AutoPauseDelay: Time in minutes after which database is automatically paused. A value of -1 means that automatic pause - is disabled - type: integer - catalogCollation: - description: 'CatalogCollation: Collation of the metadata catalog.' - type: string - collation: - description: 'Collation: The collation of the database.' - type: string - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createMode: - description: |- - CreateMode: Specifies the mode of database creation. - Default: regular database creation. - Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the - source database. - Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the - resource ID of the existing primary database. - PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId - must be specified as the resource ID of the existing database, and restorePointInTime must be specified. - Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable - database resource ID to restore. - Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If - sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise - sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. - restorePointInTime may also be specified to restore from an earlier point in time. - RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. - recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. - Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. - type: string - creationDate: - description: 'CreationDate: The creation date of the database (ISO8601 format).' - type: string - currentBackupStorageRedundancy: - description: 'CurrentBackupStorageRedundancy: The storage account type used to store backups for this database.' - type: string - currentServiceObjectiveName: - description: 'CurrentServiceObjectiveName: The current service level objective name of the database.' - type: string - currentSku: - description: 'CurrentSku: The name and tier of the SKU.' - properties: - capacity: - description: 'Capacity: Capacity of the particular SKU.' - type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' - type: string - name: - description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' - type: string - size: - description: 'Size: Size of the particular SKU' - type: string - tier: - description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' - type: string - type: object - databaseId: - description: 'DatabaseId: The ID of the database.' - type: string - defaultSecondaryLocation: - description: 'DefaultSecondaryLocation: The default secondary region for this database.' - type: string - earliestRestoreDate: - description: |- - EarliestRestoreDate: This records the earliest start date and time that restore is available for this database (ISO8601 - format). - type: string - elasticPoolId: - description: 'ElasticPoolId: The resource identifier of the elastic pool containing this database.' - type: string - failoverGroupId: - description: 'FailoverGroupId: Failover Group resource identifier that this database belongs to.' - type: string - federatedClientId: - description: 'FederatedClientId: The Client id used for cross tenant per database CMK scenario' - type: string - highAvailabilityReplicaCount: - description: |- - HighAvailabilityReplicaCount: The number of secondary replicas associated with the database that are used to provide - high availability. Not applicable to a Hyperscale database within an elastic pool. - type: integer - id: - description: 'Id: Resource ID.' - type: string - identity: - description: 'Identity: The Azure Active Directory identity of the database.' - properties: - tenantId: - description: 'TenantId: The Azure Active Directory tenant id.' - type: string - type: - description: 'Type: The identity type' - type: string - userAssignedIdentities: - additionalProperties: - description: Azure Active Directory identity configuration for a resource. - properties: - clientId: - description: 'ClientId: The Azure Active Directory client id.' - type: string - principalId: - description: 'PrincipalId: The Azure Active Directory principal id.' - type: string - type: object - description: 'UserAssignedIdentities: The resource ids of the user assigned identities to use' - type: object - type: object - isInfraEncryptionEnabled: - description: 'IsInfraEncryptionEnabled: Infra encryption is enabled for this database.' - type: boolean - isLedgerOn: - description: |- - IsLedgerOn: Whether or not this database is a ledger database, which means all tables in the database are ledger tables. - Note: the value of this property cannot be changed after the database has been created. - type: boolean - kind: - description: 'Kind: Kind of database. This is metadata used for the Azure portal experience.' - type: string - licenseType: - description: |- - LicenseType: The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you - have a license and are eligible for the Azure Hybrid Benefit. - type: string - location: - description: 'Location: Resource location.' - type: string - longTermRetentionBackupResourceId: - description: |- - LongTermRetentionBackupResourceId: The resource identifier of the long term retention backup associated with create - operation of this database. - type: string - maintenanceConfigurationId: - description: |- - MaintenanceConfigurationId: Maintenance configuration id assigned to the database. This configuration defines the period - when the maintenance updates will occur. - type: string - managedBy: - description: 'ManagedBy: Resource that manages the database.' - type: string - maxLogSizeBytes: - description: 'MaxLogSizeBytes: The max log size for this database.' - type: integer - maxSizeBytes: - description: 'MaxSizeBytes: The max size of the database expressed in bytes.' - type: integer - minCapacity: - description: 'MinCapacity: Minimal capacity that database will always have allocated, if not paused' - type: number - name: - description: 'Name: Resource name.' - type: string - pausedDate: - description: |- - PausedDate: The date when database was paused by user configuration or action(ISO8601 format). Null if the database is - ready. - type: string - readScale: - description: |- - ReadScale: The state of read-only routing. If enabled, connections that have application intent set to readonly in their - connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale - database within an elastic pool. - type: string - recoverableDatabaseId: - description: |- - RecoverableDatabaseId: The resource identifier of the recoverable database associated with create operation of this - database. - type: string - recoveryServicesRecoveryPointId: - description: |- - RecoveryServicesRecoveryPointId: The resource identifier of the recovery point associated with create operation of this - database. - type: string - requestedBackupStorageRedundancy: - description: 'RequestedBackupStorageRedundancy: The storage account type to be used to store backups for this database.' - type: string - requestedServiceObjectiveName: - description: 'RequestedServiceObjectiveName: The requested service level objective name of the database.' - type: string - restorableDroppedDatabaseId: - description: |- - RestorableDroppedDatabaseId: The resource identifier of the restorable dropped database associated with create operation - of this database. - type: string - restorePointInTime: - description: |- - RestorePointInTime: Specifies the point in time (ISO8601 format) of the source database that will be restored to create - the new database. - type: string - resumedDate: + endIPv6Address: description: |- - ResumedDate: The date when database was resumed by user action or database login (ISO8601 format). Null if the database - is paused. - type: string - sampleName: - description: 'SampleName: The name of the sample schema to apply when creating this database.' - type: string - secondaryType: - description: 'SecondaryType: The secondary type of the database if it is a secondary. Valid values are Geo and Named.' + EndIPv6Address: The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to + startIpAddress. type: string - sku: + operatorSpec: description: |- - Sku: The database SKU. - The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, - family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` - REST API or one of the following commands: - ```azurecli - az sql db list-editions -l -o table - ```` - ```powershell - Get-AzSqlServerServiceObjective -Location - ```` + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - capacity: - description: 'Capacity: Capacity of the particular SKU.' - type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a sql.azure.com/Server resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string name: - description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' - type: string - size: - description: 'Size: Size of the particular SKU' - type: string - tier: - description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + description: This is the name of the Kubernetes resource to reference. type: string type: object - sourceDatabaseDeletionDate: - description: 'SourceDatabaseDeletionDate: Specifies the time that the database was deleted.' - type: string - sourceDatabaseId: - description: 'SourceDatabaseId: The resource identifier of the source database associated with create operation of this database.' + startIPv6Address: + description: 'StartIPv6Address: The start IP address of the firewall rule. Must be IPv6 format.' type: string - sourceResourceId: + required: + - owner + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + endIPv6Address: description: |- - SourceResourceId: The resource identifier of the source associated with the create operation of this database. - This property is only supported for DataWarehouse edition and allows to restore across subscriptions. - When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and - sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. - When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql - pool, and restorePointInTime must be specified. - When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable - dropped sql pool. - When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. - When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” - header must contain authentication token for the source tenant. For more details about - “x-ms-authorization-auxiliary” header see - https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant + EndIPv6Address: The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to + startIpAddress. type: string - status: - description: 'Status: The status of the database.' + id: + description: 'Id: Resource ID.' + type: string + name: + description: 'Name: Resource name.' + type: string + startIPv6Address: + description: 'StartIPv6Address: The start IP address of the firewall rule. Must be IPv6 format.' type: string - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object type: description: 'Type: Resource type.' type: string - zoneRedundant: - description: |- - ZoneRedundant: Whether or not this database is zone redundant, which means the replicas of this database will be spread - across multiple availability zones. - type: boolean type: object type: object served: true @@ -297768,10 +381500,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersDatabase + Storage version of v1api20211101.ServersIPV6FirewallRule Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/Databases.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/IPv6FirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/ipv6FirewallRules/{firewallRuleName} properties: apiVersion: description: |- @@ -297791,7 +381523,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersDatabase_Spec + description: Storage version of v1api20211101.ServersIPV6FirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -297800,130 +381532,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoPauseDelay: - type: integer azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - catalogCollation: - type: string - collation: - type: string - createMode: - type: string - elasticPoolReference: - description: 'ElasticPoolReference: The resource identifier of the elastic pool containing this database.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - federatedClientId: - type: string - highAvailabilityReplicaCount: - type: integer - identity: - description: |- - Storage version of v1api20211101.DatabaseIdentity - Azure Active Directory identity configuration for a resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20211101.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - isLedgerOn: - type: boolean - licenseType: - type: string - location: - type: string - longTermRetentionBackupResourceReference: - description: |- - LongTermRetentionBackupResourceReference: The resource identifier of the long term retention backup associated with - create operation of this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - maintenanceConfigurationId: + endIPv6Address: type: string - maxSizeBytes: - type: integer - minCapacity: - type: number operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabaseOperatorSpec + Storage version of v1api20211101.ServersIPV6FirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -298007,173 +381625,13 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - readScale: - type: string - recoverableDatabaseReference: - description: |- - RecoverableDatabaseReference: The resource identifier of the recoverable database associated with create operation of - this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - recoveryServicesRecoveryPointReference: - description: |- - RecoveryServicesRecoveryPointReference: The resource identifier of the recovery point associated with create operation - of this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - requestedBackupStorageRedundancy: - type: string - restorableDroppedDatabaseReference: - description: |- - RestorableDroppedDatabaseReference: The resource identifier of the restorable dropped database associated with create - operation of this database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - restorePointInTime: - type: string - sampleName: - type: string - secondaryType: - type: string - sku: - description: |- - Storage version of v1api20211101.Sku - An ARM Resource SKU. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: - type: string - type: object - sourceDatabaseDeletionDate: + startIPv6Address: type: string - sourceDatabaseReference: - description: |- - SourceDatabaseReference: The resource identifier of the source database associated with create operation of this - database. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sourceResourceReference: - description: |- - SourceResourceReference: The resource identifier of the source associated with the create operation of this database. - This property is only supported for DataWarehouse edition and allows to restore across subscriptions. - When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and - sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover. - When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql - pool, and restorePointInTime must be specified. - When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable - dropped sql pool. - When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool. - When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” - header must contain authentication token for the source tenant. For more details about - “x-ms-authorization-auxiliary” header see - https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundant: - type: boolean required: - owner type: object status: - description: Storage version of v1api20211101.ServersDatabase_STATUS + description: Storage version of v1api20211101.ServersIPV6FirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -298182,12 +381640,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoPauseDelay: - type: integer - catalogCollation: - type: string - collation: - type: string conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -298231,174 +381683,16 @@ spec: - type type: object type: array - createMode: - type: string - creationDate: - type: string - currentBackupStorageRedundancy: - type: string - currentServiceObjectiveName: - type: string - currentSku: - description: |- - Storage version of v1api20211101.Sku_STATUS - An ARM Resource SKU. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: - type: string - type: object - databaseId: - type: string - defaultSecondaryLocation: - type: string - earliestRestoreDate: - type: string - elasticPoolId: - type: string - failoverGroupId: - type: string - federatedClientId: + endIPv6Address: type: string - highAvailabilityReplicaCount: - type: integer id: type: string - identity: - description: |- - Storage version of v1api20211101.DatabaseIdentity_STATUS - Azure Active Directory identity configuration for a resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20211101.DatabaseUserIdentity_STATUS - Azure Active Directory identity configuration for a resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - isInfraEncryptionEnabled: - type: boolean - isLedgerOn: - type: boolean - kind: - type: string - licenseType: - type: string - location: - type: string - longTermRetentionBackupResourceId: - type: string - maintenanceConfigurationId: - type: string - managedBy: - type: string - maxLogSizeBytes: - type: integer - maxSizeBytes: - type: integer - minCapacity: - type: number name: type: string - pausedDate: - type: string - readScale: - type: string - recoverableDatabaseId: - type: string - recoveryServicesRecoveryPointId: - type: string - requestedBackupStorageRedundancy: - type: string - requestedServiceObjectiveName: - type: string - restorableDroppedDatabaseId: - type: string - restorePointInTime: - type: string - resumedDate: - type: string - sampleName: - type: string - secondaryType: - type: string - sku: - description: |- - Storage version of v1api20211101.Sku_STATUS - An ARM Resource SKU. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: - type: string - type: object - sourceDatabaseDeletionDate: - type: string - sourceDatabaseId: - type: string - sourceResourceId: - type: string - status: + startIPv6Address: type: string - tags: - additionalProperties: - type: string - type: object type: type: string - zoneRedundant: - type: boolean type: object type: object served: true @@ -298411,11 +381705,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversoutboundfirewallrules.sql.azure.com spec: conversion: strategy: Webhook @@ -298430,10 +381724,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersDatabasesAdvancedThreatProtectionSetting - listKind: ServersDatabasesAdvancedThreatProtectionSettingList - plural: serversdatabasesadvancedthreatprotectionsettings - singular: serversdatabasesadvancedthreatprotectionsetting + categories: + - azure + - sql + kind: ServersOutboundFirewallRule + listKind: ServersOutboundFirewallRuleList + plural: serversoutboundfirewallrules + singular: serversoutboundfirewallrule preserveUnknownFields: false scope: Namespaced versions: @@ -298455,8 +381752,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseAdvancedThreatProtectionSettings.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advancedThreatProtectionSettings/Default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/OutboundFirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn} properties: apiVersion: description: |- @@ -298477,6 +381774,11 @@ spec: type: object spec: properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -298547,7 +381849,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -298556,18 +381858,8 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - state: - description: |- - State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been - applied yet on the specific database or server. - enum: - - Disabled - - Enabled - - New - type: string required: - owner - - state type: object status: properties: @@ -298615,42 +381907,15 @@ spec: - type type: object type: array - creationTime: - description: 'CreationTime: Specifies the UTC creation time of the policy.' - type: string id: description: 'Id: Resource ID.' type: string name: description: 'Name: Resource name.' type: string - state: - description: |- - State: Specifies the state of the Advanced Threat Protection, whether it is enabled or disabled or a state has not been - applied yet on the specific database or server. + provisioningState: + description: 'ProvisioningState: The state of the outbound rule.' type: string - systemData: - description: 'SystemData: SystemData of AdvancedThreatProtectionResource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object type: description: 'Type: Resource type.' type: string @@ -298677,10 +381942,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting + Storage version of v1api20211101.ServersOutboundFirewallRule Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseAdvancedThreatProtectionSettings.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advancedThreatProtectionSettings/Default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/OutboundFirewallRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn} properties: apiVersion: description: |- @@ -298700,7 +381965,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting_Spec + description: Storage version of v1api20211101.ServersOutboundFirewallRule_Spec properties: $propertyBag: additionalProperties: @@ -298709,9 +381974,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSettingOperatorSpec + Storage version of v1api20211101.ServersOutboundFirewallRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -298786,7 +382056,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -298795,13 +382065,11 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - state: - type: string required: - owner type: object status: - description: Storage version of v1api20211101.ServersDatabasesAdvancedThreatProtectionSetting_STATUS + description: Storage version of v1api20211101.ServersOutboundFirewallRule_STATUS properties: $propertyBag: additionalProperties: @@ -298853,39 +382121,12 @@ spec: - type type: object type: array - creationTime: - type: string id: type: string name: type: string - state: + provisioningState: type: string - systemData: - description: |- - Storage version of v1api20211101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object type: type: string type: object @@ -298900,11 +382141,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasesauditingsettings.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serverssecurityalertpolicies.sql.azure.com spec: conversion: strategy: Webhook @@ -298919,10 +382160,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersDatabasesAuditingSetting - listKind: ServersDatabasesAuditingSettingList - plural: serversdatabasesauditingsettings - singular: serversdatabasesauditingsetting + categories: + - azure + - sql + kind: ServersSecurityAlertPolicy + listKind: ServersSecurityAlertPolicyList + plural: serverssecurityalertpolicies + singular: serverssecurityalertpolicy preserveUnknownFields: false scope: Namespaced versions: @@ -298944,8 +382188,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/Default properties: apiVersion: description: |- @@ -298966,86 +382210,21 @@ spec: type: object spec: properties: - auditActionsAndGroups: + disabledAlerts: description: |- - AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. - The recommended set of action groups to use is the following combination - this will audit all the queries and stored - procedures executed against the database, as well as successful and failed logins: - BATCH_COMPLETED_GROUP, - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - FAILED_DATABASE_AUTHENTICATION_GROUP. - This above combination is also the set that is configured by default when enabling auditing from the Azure portal. - The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using - unnecessary groups could lead to very large quantities of audit records): - APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - BACKUP_RESTORE_GROUP - DATABASE_LOGOUT_GROUP - DATABASE_OBJECT_CHANGE_GROUP - DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - DATABASE_OPERATION_GROUP - DATABASE_PERMISSION_CHANGE_GROUP - DATABASE_PRINCIPAL_CHANGE_GROUP - DATABASE_PRINCIPAL_IMPERSONATION_GROUP - DATABASE_ROLE_MEMBER_CHANGE_GROUP - FAILED_DATABASE_AUTHENTICATION_GROUP - SCHEMA_OBJECT_ACCESS_GROUP - SCHEMA_OBJECT_CHANGE_GROUP - SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - USER_CHANGE_PASSWORD_GROUP - BATCH_STARTED_GROUP - BATCH_COMPLETED_GROUP - DBCC_GROUP - DATABASE_OWNERSHIP_CHANGE_GROUP - DATABASE_CHANGE_GROUP - LEDGER_OPERATION_GROUP - These are groups that cover all sql statements and stored procedures executed against the database, and should not be - used in combination with other groups as this will result in duplicate audit logs. - For more information, see [Database-Level Audit Action - Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server - auditing policy). The supported actions to audit are: - SELECT - UPDATE - INSERT - DELETE - EXECUTE - RECEIVE - REFERENCES - The general form for defining an action to be audited is: - {action} ON {object} BY {principal} - Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire - database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - For example: - SELECT on dbo.myTable by public - SELECT on DATABASE::myDatabase by public - SELECT on SCHEMA::mySchema by public - For more information, see [Database-Level Audit - Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force items: type: string type: array - isAzureMonitorTargetEnabled: - description: |- - IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. - In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. - When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on - the database should be also created. - Note that for server level audit you should use the 'master' database as {databaseName}. - Diagnostic Settings URI format: - PUT - https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) - or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) - type: boolean - isManagedIdentityInUse: - description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' - type: boolean - isStorageSecondaryKeyInUse: - description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' type: boolean + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -299116,7 +382295,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -299125,34 +382304,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - queueDelayMs: - description: |- - QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be - processed. - The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. - type: integer retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' type: integer state: description: |- - State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are - required. + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. enum: - Disabled - Enabled type: string storageAccountAccessKey: - description: |- - StorageAccountAccessKey: Specifies the identifier key of the auditing storage account. - If state is Enabled and storageEndpoint is specified, not specifying the storageAccountAccessKey will use SQL server - system-assigned managed identity to access the storage. - Prerequisites for using managed identity authentication: - 1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD). - 2. Grant SQL Server identity access to the storage account by adding 'Storage Blob Data Contributor' RBAC role to the - server identity. - For more information, see [Auditing to storage using Managed Identity - authentication](https://go.microsoft.com/fwlink/?linkid=2114355) + description: 'StorageAccountAccessKey: Specifies the identifier key of the Threat Detection audit storage account.' properties: key: description: Key is the key in the Kubernetes secret being referenced @@ -299166,14 +382330,10 @@ spec: - key - name type: object - storageAccountSubscriptionId: - description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string storageEndpoint: description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is - Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. type: string required: - owner @@ -299181,67 +382341,6 @@ spec: type: object status: properties: - auditActionsAndGroups: - description: |- - AuditActionsAndGroups: Specifies the Actions-Groups and Actions to audit. - The recommended set of action groups to use is the following combination - this will audit all the queries and stored - procedures executed against the database, as well as successful and failed logins: - BATCH_COMPLETED_GROUP, - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, - FAILED_DATABASE_AUTHENTICATION_GROUP. - This above combination is also the set that is configured by default when enabling auditing from the Azure portal. - The supported action groups to audit are (note: choose only specific groups that cover your auditing needs. Using - unnecessary groups could lead to very large quantities of audit records): - APPLICATION_ROLE_CHANGE_PASSWORD_GROUP - BACKUP_RESTORE_GROUP - DATABASE_LOGOUT_GROUP - DATABASE_OBJECT_CHANGE_GROUP - DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP - DATABASE_OBJECT_PERMISSION_CHANGE_GROUP - DATABASE_OPERATION_GROUP - DATABASE_PERMISSION_CHANGE_GROUP - DATABASE_PRINCIPAL_CHANGE_GROUP - DATABASE_PRINCIPAL_IMPERSONATION_GROUP - DATABASE_ROLE_MEMBER_CHANGE_GROUP - FAILED_DATABASE_AUTHENTICATION_GROUP - SCHEMA_OBJECT_ACCESS_GROUP - SCHEMA_OBJECT_CHANGE_GROUP - SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP - SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP - SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP - USER_CHANGE_PASSWORD_GROUP - BATCH_STARTED_GROUP - BATCH_COMPLETED_GROUP - DBCC_GROUP - DATABASE_OWNERSHIP_CHANGE_GROUP - DATABASE_CHANGE_GROUP - LEDGER_OPERATION_GROUP - These are groups that cover all sql statements and stored procedures executed against the database, and should not be - used in combination with other groups as this will result in duplicate audit logs. - For more information, see [Database-Level Audit Action - Groups](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups). - For Database auditing policy, specific Actions can also be specified (note that Actions cannot be specified for Server - auditing policy). The supported actions to audit are: - SELECT - UPDATE - INSERT - DELETE - EXECUTE - RECEIVE - REFERENCES - The general form for defining an action to be audited is: - {action} ON {object} BY {principal} - Note that in the above format can refer to an object like a table, view, or stored procedure, or an entire - database or schema. For the latter cases, the forms DATABASE::{db_name} and SCHEMA::{schema_name} are used, respectively. - For example: - SELECT on dbo.myTable by public - SELECT on DATABASE::myDatabase by public - SELECT on SCHEMA::mySchema by public - For more information, see [Database-Level Audit - Actions](https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions) - items: - type: string - type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -299286,56 +382385,65 @@ spec: - type type: object type: array - id: - description: 'Id: Resource ID.' + creationTime: + description: 'CreationTime: Specifies the UTC creation time of the policy.' type: string - isAzureMonitorTargetEnabled: + disabledAlerts: description: |- - IsAzureMonitorTargetEnabled: Specifies whether audit events are sent to Azure Monitor. - In order to send the events to Azure Monitor, specify 'State' as 'Enabled' and 'IsAzureMonitorTargetEnabled' as true. - When using REST API to configure auditing, Diagnostic Settings with 'SQLSecurityAuditEvents' diagnostic logs category on - the database should be also created. - Note that for server level audit you should use the 'master' database as {databaseName}. - Diagnostic Settings URI format: - PUT - https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview - For more information, see [Diagnostic Settings REST API](https://go.microsoft.com/fwlink/?linkid=2033207) - or [Diagnostic Settings PowerShell](https://go.microsoft.com/fwlink/?linkid=2033043) - type: boolean - isManagedIdentityInUse: - description: 'IsManagedIdentityInUse: Specifies whether Managed Identity is used to access blob storage' - type: boolean - isStorageSecondaryKeyInUse: - description: 'IsStorageSecondaryKeyInUse: Specifies whether storageAccountAccessKey value is the storage''s secondary key.' + DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, + Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force + items: + type: string + type: array + emailAccountAdmins: + description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' type: boolean - kind: - description: 'Kind: Resource kind.' + emailAddresses: + description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + items: + type: string + type: array + id: + description: 'Id: Resource ID.' type: string name: description: 'Name: Resource name.' type: string - queueDelayMs: - description: |- - QueueDelayMs: Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be - processed. - The default minimum value is 1000 (1 second). The maximum is 2,147,483,647. - type: integer retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the audit logs in the storage account.' + description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' type: integer state: description: |- - State: Specifies the state of the audit. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are - required. - type: string - storageAccountSubscriptionId: - description: 'StorageAccountSubscriptionId: Specifies the blob storage subscription Id.' + State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the + specific database. type: string storageEndpoint: description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). If state is - Enabled, storageEndpoint or isAzureMonitorTargetEnabled is required. + StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage + will hold all Threat Detection audit logs. type: string + systemData: + description: 'SystemData: SystemData of SecurityAlertPolicyResource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object type: description: 'Type: Resource type.' type: string @@ -299362,10 +382470,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersDatabasesAuditingSetting + Storage version of v1api20211101.ServersSecurityAlertPolicy Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BlobAuditing.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerSecurityAlertPolicies.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/Default properties: apiVersion: description: |- @@ -299385,7 +382493,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersDatabasesAuditingSetting_Spec + description: Storage version of v1api20211101.ServersSecurityAlertPolicy_Spec properties: $propertyBag: additionalProperties: @@ -299394,19 +382502,19 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - auditActionsAndGroups: + disabledAlerts: items: type: string type: array - isAzureMonitorTargetEnabled: - type: boolean - isManagedIdentityInUse: - type: boolean - isStorageSecondaryKeyInUse: + emailAccountAdmins: type: boolean + emailAddresses: + items: + type: string + type: array operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabasesAuditingSettingOperatorSpec + Storage version of v1api20211101.ServersSecurityAlertPolicyOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -299481,7 +382589,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -299490,8 +382598,6 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - queueDelayMs: - type: integer retentionDays: type: integer state: @@ -299513,15 +382619,13 @@ spec: - key - name type: object - storageAccountSubscriptionId: - type: string storageEndpoint: type: string required: - owner type: object status: - description: Storage version of v1api20211101.ServersDatabasesAuditingSetting_STATUS + description: Storage version of v1api20211101.ServersSecurityAlertPolicy_STATUS properties: $propertyBag: additionalProperties: @@ -299530,10 +382634,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - auditActionsAndGroups: - items: - type: string - type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -299577,28 +382677,53 @@ spec: - type type: object type: array - id: + creationTime: type: string - isAzureMonitorTargetEnabled: - type: boolean - isManagedIdentityInUse: - type: boolean - isStorageSecondaryKeyInUse: + disabledAlerts: + items: + type: string + type: array + emailAccountAdmins: type: boolean - kind: + emailAddresses: + items: + type: string + type: array + id: type: string name: type: string - queueDelayMs: - type: integer retentionDays: type: integer state: type: string - storageAccountSubscriptionId: - type: string storageEndpoint: type: string + systemData: + description: |- + Storage version of v1api20211101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object type: type: string type: object @@ -299613,11 +382738,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversvirtualnetworkrules.sql.azure.com spec: conversion: strategy: Webhook @@ -299632,10 +382757,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersDatabasesBackupLongTermRetentionPolicy - listKind: ServersDatabasesBackupLongTermRetentionPolicyList - plural: serversdatabasesbackuplongtermretentionpolicies - singular: serversdatabasesbackuplongtermretentionpolicy + categories: + - azure + - sql + kind: ServersVirtualNetworkRule + listKind: ServersVirtualNetworkRuleList + plural: serversvirtualnetworkrules + singular: serversvirtualnetworkrule preserveUnknownFields: false scope: Namespaced versions: @@ -299657,8 +382785,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/LongTermRetentionPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/VirtualNetworkRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName} properties: apiVersion: description: |- @@ -299679,9 +382807,14 @@ spec: type: object spec: properties: - monthlyRetention: - description: 'MonthlyRetention: The monthly retention policy for an LTR backup in an ISO 8601 format.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -299752,7 +382885,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -299761,17 +382894,29 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - weekOfYear: - description: 'WeekOfYear: The week of year to take the yearly backup in an ISO 8601 format.' - type: integer - weeklyRetention: - description: 'WeeklyRetention: The weekly retention policy for an LTR backup in an ISO 8601 format.' - type: string - yearlyRetention: - description: 'YearlyRetention: The yearly retention policy for an LTR backup in an ISO 8601 format.' - type: string + virtualNetworkSubnetReference: + description: 'VirtualNetworkSubnetReference: The ARM resource id of the virtual network subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object required: - owner + - virtualNetworkSubnetReference type: object status: properties: @@ -299822,23 +382967,20 @@ spec: id: description: 'Id: Resource ID.' type: string - monthlyRetention: - description: 'MonthlyRetention: The monthly retention policy for an LTR backup in an ISO 8601 format.' - type: string + ignoreMissingVnetServiceEndpoint: + description: 'IgnoreMissingVnetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' + type: boolean name: description: 'Name: Resource name.' type: string + state: + description: 'State: Virtual Network Rule State' + type: string type: description: 'Type: Resource type.' type: string - weekOfYear: - description: 'WeekOfYear: The week of year to take the yearly backup in an ISO 8601 format.' - type: integer - weeklyRetention: - description: 'WeeklyRetention: The weekly retention policy for an LTR backup in an ISO 8601 format.' - type: string - yearlyRetention: - description: 'YearlyRetention: The yearly retention policy for an LTR backup in an ISO 8601 format.' + virtualNetworkSubnetId: + description: 'VirtualNetworkSubnetId: The ARM resource id of the virtual network subnet.' type: string type: object type: object @@ -299863,10 +383005,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy + Storage version of v1api20211101.ServersVirtualNetworkRule Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/LongTermRetentionPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/VirtualNetworkRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName} properties: apiVersion: description: |- @@ -299886,7 +383028,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy_Spec + description: Storage version of v1api20211101.ServersVirtualNetworkRule_Spec properties: $propertyBag: additionalProperties: @@ -299895,11 +383037,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - monthlyRetention: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string + ignoreMissingVnetServiceEndpoint: + type: boolean operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicyOperatorSpec + Storage version of v1api20211101.ServersVirtualNetworkRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -299974,7 +383121,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -299983,17 +383130,32 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - weekOfYear: - type: integer - weeklyRetention: - type: string - yearlyRetention: - type: string + virtualNetworkSubnetReference: + description: 'VirtualNetworkSubnetReference: The ARM resource id of the virtual network subnet.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object required: - owner + - virtualNetworkSubnetReference type: object status: - description: Storage version of v1api20211101.ServersDatabasesBackupLongTermRetentionPolicy_STATUS + description: Storage version of v1api20211101.ServersVirtualNetworkRule_STATUS properties: $propertyBag: additionalProperties: @@ -300047,17 +383209,15 @@ spec: type: array id: type: string - monthlyRetention: - type: string + ignoreMissingVnetServiceEndpoint: + type: boolean name: type: string - type: + state: type: string - weekOfYear: - type: integer - weeklyRetention: + type: type: string - yearlyRetention: + virtualNetworkSubnetId: type: string type: object type: object @@ -300071,11 +383231,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: serversvulnerabilityassessments.sql.azure.com spec: conversion: strategy: Webhook @@ -300090,10 +383250,13 @@ spec: - v1 group: sql.azure.com names: - kind: ServersDatabasesBackupShortTermRetentionPolicy - listKind: ServersDatabasesBackupShortTermRetentionPolicyList - plural: serversdatabasesbackupshorttermretentionpolicies - singular: serversdatabasesbackupshorttermretentionpolicy + categories: + - azure + - sql + kind: ServersVulnerabilityAssessment + listKind: ServersVulnerabilityAssessmentList + plural: serversvulnerabilityassessments + singular: serversvulnerabilityassessment preserveUnknownFields: false scope: Namespaced versions: @@ -300115,8 +383278,8 @@ spec: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BackupShortTermRetentionPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/default properties: apiVersion: description: |- @@ -300137,14 +383300,6 @@ spec: type: object spec: properties: - diffBackupIntervalInHours: - description: |- - DiffBackupIntervalInHours: The differential backup interval in hours. This is how many interval hours between each - differential backup will be supported. This is only applicable to live databases but not dropped databases. - enum: - - 12 - - 24 - type: integer operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -300215,7 +383370,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -300224,9 +383379,81 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - retentionDays: - description: 'RetentionDays: The backup retention period in days. This is how many days Point-in-Time Restore will be supported.' - type: integer + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageAccountAccessKey: + description: |- + StorageAccountAccessKey: Specifies the identifier key of the storage account for vulnerability assessment scan results. + If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is + not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). + type: string + storageContainerPathFromConfig: + description: |- + StorageContainerPathFromConfig: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + StorageContainerSasKey: A shared access signature (SAS Key) that has write access to the blob container specified in + 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. + Applies only if the storage account is not behind a Vnet or a firewall + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner type: object @@ -300276,20 +383503,34 @@ spec: - type type: object type: array - diffBackupIntervalInHours: - description: |- - DiffBackupIntervalInHours: The differential backup interval in hours. This is how many interval hours between each - differential backup will be supported. This is only applicable to live databases but not dropped databases. - type: integer id: description: 'Id: Resource ID.' type: string name: description: 'Name: Resource name.' type: string - retentionDays: - description: 'RetentionDays: The backup retention period in days. This is how many days Point-in-Time Restore will be supported.' - type: integer + recurringScans: + description: 'RecurringScans: The recurring scans settings' + properties: + emailSubscriptionAdmins: + description: |- + EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription + administrators. + type: boolean + emails: + description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' + items: + type: string + type: array + isEnabled: + description: 'IsEnabled: Recurring scans state.' + type: boolean + type: object + storageContainerPath: + description: |- + StorageContainerPath: A blob storage container path to hold the scan results (e.g. + https://myStorage.blob.core.windows.net/VaScans/). + type: string type: description: 'Type: Resource type.' type: string @@ -300316,10 +383557,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy + Storage version of v1api20211101.ServersVulnerabilityAssessment Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/BackupShortTermRetentionPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupShortTermRetentionPolicies/default + - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerVulnerabilityAssessments.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/default properties: apiVersion: description: |- @@ -300339,7 +383580,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy_Spec + description: Storage version of v1api20211101.ServersVulnerabilityAssessment_Spec properties: $propertyBag: additionalProperties: @@ -300348,11 +383589,9 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diffBackupIntervalInHours: - type: integer operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicyOperatorSpec + Storage version of v1api20211101.ServersVulnerabilityAssessmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -300427,7 +383666,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a sql.azure.com/Server resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -300436,13 +383675,85 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - retentionDays: - type: integer + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageAccountAccessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerPath: + type: string + storageContainerPathFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + storageContainerSasKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object required: - owner type: object status: - description: Storage version of v1api20211101.ServersDatabasesBackupShortTermRetentionPolicy_STATUS + description: Storage version of v1api20211101.ServersVulnerabilityAssessment_STATUS properties: $propertyBag: additionalProperties: @@ -300494,14 +383805,33 @@ spec: - type type: object type: array - diffBackupIntervalInHours: - type: integer id: type: string name: type: string - retentionDays: - type: integer + recurringScans: + description: |- + Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties_STATUS + Properties of a Vulnerability Assessment recurring scans. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + emailSubscriptionAdmins: + type: boolean + emails: + items: + type: string + type: array + isEnabled: + type: boolean + type: object + storageContainerPath: + type: string type: type: string type: object @@ -300516,11 +383846,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasessecurityalertpolicies.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: services.apimanagement.azure.com spec: conversion: strategy: Webhook @@ -300533,12 +383863,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: sql.azure.com + group: apimanagement.azure.com names: - kind: ServersDatabasesSecurityAlertPolicy - listKind: ServersDatabasesSecurityAlertPolicyList - plural: serversdatabasessecurityalertpolicies - singular: serversdatabasessecurityalertpolicy + categories: + - azure + - apimanagement + kind: Service + listKind: ServiceList + plural: services + singular: service preserveUnknownFields: false scope: Namespaced versions: @@ -300555,13 +383888,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20220801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseSecurityAlertPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} properties: apiVersion: description: |- @@ -300582,321 +383915,474 @@ spec: type: object spec: properties: - disabledAlerts: - description: |- - DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force - items: - type: string - type: array - emailAccountAdmins: - description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' - type: boolean - emailAddresses: - description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' items: - type: string - type: array - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + description: Description of an additional API Management resource location. + properties: + disableGateway: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. properties: - key: + armId: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: Name is the Kubernetes name of the resource. type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: object + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - Consumption + - Developer + - Isolated + - Premium + - Standard type: string required: + - capacity - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' properties: - key: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - sku + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ + type: string + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. type: string - name: + expiryFromConfig: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' type: string - value: + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string required: + - key - name - - value type: object - type: array - type: object - owner: + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + enum: + - CertificateAuthority + - Root + type: string + required: + - storeName + type: object + type: array + customProperties: + additionalProperties: + type: string description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 type: object - retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' - type: integer - state: + disableGateway: description: |- - State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the - specific database. - enum: - - Disabled - - Enabled - type: string - storageAccountAccessKey: - description: 'StorageAccountAccessKey: Specifies the identifier key of the Threat Detection audit storage account.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageEndpoint: + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage - will hold all Threat Detection audit logs. - type: string - required: - - owner - - state - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' items: - description: Condition defines an extension to status (an observation) of a resource + description: Custom hostname configuration. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + enum: + - BuiltIn + - Custom + - KeyVault + - Managed type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + enum: + - Completed + - Failed + - InProgress type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + defaultSslBinding: description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' type: string - severity: + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. type: string - status: - description: Status of the condition, one of True, False, or Unknown. + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET + access to the keyVault containing the SSL certificate. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationTime: - description: 'CreationTime: Specifies the UTC creation time of the policy.' - type: string - disabledAlerts: - description: |- - DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force - items: - type: string - type: array - emailAccountAdmins: - description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' - type: boolean - emailAddresses: - description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' - items: - type: string + description: 'Type: Hostname type.' + enum: + - DeveloperPortal + - Management + - Portal + - Proxy + - Scm + type: string + required: + - hostName + - type + type: object type: array - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' - type: integer - state: - description: |- - State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the - specific database. - type: string - storageEndpoint: - description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage - will hold all Threat Detection audit logs. - type: string - systemData: - description: 'SystemData: SystemData of SecurityAlertPolicyResource.' + identity: + description: 'Identity: Managed service identity of the Api Management service.' properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type type: object - type: - description: 'Type: Resource type.' + location: + description: 'Location: Resource location.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + maxLength: 100 type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseSecurityAlertPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disabledAlerts: - items: - type: string - type: array - emailAccountAdmins: - type: boolean - emailAddresses: - items: - type: string - type: array operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicyOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -300926,6 +384412,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -300955,13 +384442,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -300970,43 +384455,244 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - retentionDays: - type: integer - state: - type: string - storageAccountAccessKey: + publicIpAddressReference: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. properties: - key: - description: Key is the key in the Kubernetes secret being referenced + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + maxLength: 100 + type: string + publisherName: + description: 'PublisherName: Publisher name.' + maxLength: 100 + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - Consumption + - Developer + - Isolated + - Premium + - Standard type: string required: - - key + - capacity - name type: object - storageEndpoint: + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + enum: + - External + - Internal + - None type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array required: + - location - owner + - publisherEmail + - publisherName + - sku type: object status: - description: Storage version of v1api20211101.ServersDatabasesSecurityAlertPolicy_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' + type: string + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service.' + type: string + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an + Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated + SKU. + items: + type: string + type: array + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. + Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the location. Supported only for Premium SKU being deployed in Virtual Network. + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string type: object + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + type: string + type: object + type: array conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -301049,93 +384735,345 @@ spec: - type type: object type: array - creationTime: + createdAtUtc: + description: |- + CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. type: string - disabledAlerts: - items: + customProperties: + additionalProperties: type: string - type: array - emailAccountAdmins: + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalUrl: + description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. type: boolean - emailAddresses: + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + etag: + description: 'Etag: ETag of the resource.' + type: string + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' + type: string + gatewayUrl: + description: 'GatewayUrl: Gateway URL of the API Management service.' + type: string + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' items: - type: string + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + type: string + type: object type: array id: + description: 'Id: Resource ID.' + type: string + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + location: + description: 'Location: Resource location.' + type: string + managementApiUrl: + description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' type: string name: + description: 'Name: Resource name.' type: string - retentionDays: - type: integer - state: + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' type: string - storageEndpoint: + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' type: string - systemData: + outboundPublicIPAddresses: description: |- - Storage version of v1api20211101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service in this location.' + type: string + portalUrl: + description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' + items: + description: Remote Private Endpoint Connection resource. + properties: + groupIds: + description: 'GroupIds: All the Group ids.' + items: + type: string + type: array + id: + description: 'Id: Private Endpoint connection resource id' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + name: + description: 'Name: Private Endpoint Connection Name' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The resource of private end point.' + properties: + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service + consumer and provider. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' + type: string + type: + description: 'Type: Private Endpoint Connection Resource Type' + type: string + type: object + type: array + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is + deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the API Management service which can be one of the following: + Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. + type: string + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available + only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + type: string + publisherName: + description: 'PublisherName: Publisher name.' + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + scmUrl: + description: 'ScmUrl: SCM endpoint URL of the API Management service.' + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string createdBy: + description: 'CreatedBy: The identity that created the resource.' type: string createdByType: + description: 'CreatedByType: The type of identity that created the resource.' type: string lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' type: string lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' type: string lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + targetProvisioningState: + description: |- + TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running + operation started on the service. + type: string type: + description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' + type: string + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + virtualNetworkType: + description: |- + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasestransparentdataencryptions.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersDatabasesTransparentDataEncryption - listKind: ServersDatabasesTransparentDataEncryptionList - plural: serversdatabasestransparentdataencryptions - singular: serversdatabasestransparentdataencryption - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -301149,13 +385087,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20220801storage schema: openAPIV3Schema: description: |- + Storage version of v1api20220801.Service Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/TransparentDataEncryptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} properties: apiVersion: description: |- @@ -301175,212 +385114,442 @@ spec: metadata: type: object spec: + description: Storage version of v1api20220801.Service_Spec properties: - operatorSpec: + $propertyBag: + additionalProperties: + type: string description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20220801.AdditionalLocation + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + location: + type: string + natGatewayState: + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: |- + Storage version of v1api20220801.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20220801.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20220801.ApiVersionConstraint + Control Plane Apis version constraint for the API Management service. properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + certificates: + items: + description: |- + Storage version of v1api20220801.CertificateConfiguration + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + customProperties: + additionalProperties: + type: string + type: object + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + hostnameConfigurations: + items: + description: |- + Storage version of v1api20220801.HostnameConfiguration + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation + SSL certificate information. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: type: string - name: + expiryFromConfig: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: type: string - value: + subjectFromConfig: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: type: string - required: - - name - - value + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + certificatePassword: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. properties: key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + description: Key is the key in the Kubernetes secret being referenced type: string name: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string required: + - key - name - - value type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - state: - description: 'State: Specifies the state of the transparent data encryption.' - enum: - - Disabled - - Enabled - type: string - required: - - owner - - state - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time + certificateSource: type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. + certificateStatus: type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + defaultSslBinding: + type: boolean + encodedCertificate: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + hostName: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + identityClientId: type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean type: - description: Type of condition. type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' + identity: + description: |- + Storage version of v1api20220801.ApiManagementServiceIdentity + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20220801.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + location: type: string - state: - description: 'State: Specifies the state of the transparent data encryption.' + natGatewayState: type: string - type: - description: 'Type: Resource type.' + notificationSenderEmail: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/TransparentDataEncryptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption/{tdeName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object operatorSpec: description: |- - Storage version of v1api20211101.ServersDatabasesTransparentDataEncryptionOperatorSpec + Storage version of v1api20220801.ServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -301455,7 +385624,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -301464,13 +385633,101 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - state: + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + sku: + description: |- + Storage version of v1api20220801.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20220801.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: type: string + zones: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20211101.ServersDatabasesTransparentDataEncryption_STATUS + description: Storage version of v1api20220801.Service_STATUS properties: $propertyBag: additionalProperties: @@ -301479,298 +385736,139 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - conditions: + additionalLocations: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20220801.AdditionalLocation_STATUS + Description of an additional API Management resource location. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + $propertyBag: + additionalProperties: + type: string description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + gatewayRegionalUrl: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + location: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + natGatewayState: type: string - type: - description: Type of condition. + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - name: - type: string - state: - type: string - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversdatabasesvulnerabilityassessments.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersDatabasesVulnerabilityAssessment - listKind: ServersDatabasesVulnerabilityAssessmentList - plural: serversdatabasesvulnerabilityassessments - singular: serversdatabasesvulnerabilityassessment - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseVulnerabilityAssessments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: + privateIPAddresses: + items: + type: string + type: array + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + sku: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20220801.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - required: - - name - - value type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: + virtualNetworkConfiguration: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20220801.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + subnetname: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + vnetid: type: string - required: - - name - - value type: object - type: array - type: object - owner: + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - recurringScans: - description: 'RecurringScans: The recurring scans settings' + Storage version of v1api20220801.ApiVersionConstraint_STATUS + Control Plane Apis version constraint for the API Management service. properties: - emailSubscriptionAdmins: - description: |- - EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription - administrators. - type: boolean - emails: - description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' - items: + $propertyBag: + additionalProperties: type: string - type: array - isEnabled: - description: 'IsEnabled: Recurring scans state.' - type: boolean - type: object - storageAccountAccessKey: - description: |- - StorageAccountAccessKey: Specifies the identifier key of the storage account for vulnerability assessment scan results. - If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is - not behind a Vnet or a firewall - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageContainerPath: - description: |- - StorageContainerPath: A blob storage container path to hold the scan results (e.g. - https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy - doesn't set - type: string - storageContainerPathFromConfig: - description: |- - StorageContainerPathFromConfig: A blob storage container path to hold the scan results (e.g. - https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy - doesn't set - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageContainerSasKey: - description: |- - StorageContainerSasKey: A shared access signature (SAS Key) that has write access to the blob container specified in - 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. - Applies only if the storage account is not behind a Vnet or a firewall - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: type: string - required: - - key - - name type: object - required: - - owner - type: object - status: - properties: + certificates: + items: + description: |- + Storage version of v1api20220801.CertificateConfiguration_STATUS + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -301813,97 +385911,82 @@ spec: - type type: object type: array - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - recurringScans: - description: 'RecurringScans: The recurring scans settings' - properties: - emailSubscriptionAdmins: - description: |- - EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription - administrators. - type: boolean - emails: - description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' - items: - type: string - type: array - isEnabled: - description: 'IsEnabled: Recurring scans state.' - type: boolean - type: object - storageContainerPath: - description: |- - StorageContainerPath: A blob storage container path to hold the scan results (e.g. - https://myStorage.blob.core.windows.net/VaScans/). It is required if server level vulnerability assessment policy - doesn't set - type: string - type: - description: 'Type: Resource type.' + createdAtUtc: type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/DatabaseVulnerabilityAssessments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/vulnerabilityAssessments/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment_Spec - properties: - $propertyBag: + customProperties: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - operatorSpec: + developerPortalUrl: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + etag: + type: string + gatewayRegionalUrl: + type: string + gatewayUrl: + type: string + hostnameConfigurations: + items: + description: |- + Storage version of v1api20220801.HostnameConfiguration_STATUS + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20220801.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + id: + type: string + identity: description: |- - Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessmentOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20220801.ApiManagementServiceIdentity_STATUS + Identity properties of the Api Management service resource. properties: $propertyBag: additionalProperties: @@ -301912,84 +385995,152 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20220801.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + location: + type: string + managementApiUrl: + type: string + name: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + portalUrl: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20220801.RemotePrivateEndpointConnectionWrapper_STATUS + Remote Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateEndpoint: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20220801.ArmIdWrapper_STATUS + A wrapper for an ARM resource id properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - name - - value type: object - type: array - secretExpressions: - items: + privateLinkServiceConnectionState: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20220801.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + status: type: string - required: - - name - - value type: object - type: array - type: object - originalVersion: + provisioningState: + type: string + type: + type: string + type: object + type: array + privateIPAddresses: + items: + type: string + type: array + provisioningState: type: string - owner: + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + scmUrl: + type: string + sku: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/ServersDatabase resource + Storage version of v1api20220801.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer name: - description: This is the name of the Kubernetes resource to reference. type: string type: object - recurringScans: + systemData: description: |- - Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties - Properties of a Vulnerability Assessment recurring scans. + Storage version of v1api20220801.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -301998,132 +386149,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - emailSubscriptionAdmins: - type: boolean - emails: - items: - type: string - type: array - isEnabled: - type: boolean - type: object - storageAccountAccessKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + createdAt: type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + createdBy: type: string - required: - - key - - name - type: object - storageContainerPath: - type: string - storageContainerPathFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + createdByType: type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + lastModifiedAt: type: string - required: - - key - - name - type: object - storageContainerSasKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + lastModifiedBy: type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + lastModifiedByType: type: string - required: - - key - - name type: object - required: - - owner - type: object - status: - description: Storage version of v1api20211101.ServersDatabasesVulnerabilityAssessment_STATUS - properties: - $propertyBag: + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: + targetProvisioningState: type: string - name: + type: type: string - recurringScans: + virtualNetworkConfiguration: description: |- - Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties_STATUS - Properties of a Vulnerability Assessment recurring scans. + Storage version of v1api20220801.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. properties: $propertyBag: additionalProperties: @@ -302132,57 +386182,25 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - emailSubscriptionAdmins: - type: boolean - emails: - items: - type: string - type: array - isEnabled: - type: boolean + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string type: object - storageContainerPath: - type: string - type: + virtualNetworkType: type: string + zones: + items: + type: string + type: array type: object type: object served: true storage: true subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serverselasticpools.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersElasticPool - listKind: ServersElasticPoolList - plural: serverselasticpools - singular: serverselasticpool - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -302196,13 +386214,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20230501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ElasticPools.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} properties: apiVersion: description: |- @@ -302223,36 +386241,495 @@ spec: type: object spec: properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + enum: + - Basic + - BasicV2 + - Consumption + - Developer + - Isolated + - Premium + - Standard + - StandardV2 + type: string + required: + - capacity + - name + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + required: + - location + - sku + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 50 + minLength: 1 + pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ type: string - highAvailabilityReplicaCount: + certificates: description: |- - HighAvailabilityReplicaCount: The number of secondary replicas associated with the elastic pool that are used to provide - high availability. Applicable only to Hyperscale elastic pools. - type: integer - licenseType: - description: 'LicenseType: The license type to apply for this elastic pool.' + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + enum: + - CertificateAuthority + - Root + type: string + required: + - storeName + type: object + type: array + configurationApi: + description: 'ConfigurationApi: Configuration API configuration of the API Management service.' + properties: + legacyApi: + description: |- + LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. + Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be + available for self-hosted gateways. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + type: object + customProperties: + additionalProperties: + type: string + description: |- + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalStatus: + description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' enum: - - BasePrice - - LicenseIncluded + - Disabled + - Enabled + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + expiryFromConfig: + description: |- + ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` + as specified by the ISO 8601 standard. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + description: 'Subject: Subject of the certificate.' + type: string + subjectFromConfig: + description: 'SubjectFromConfig: Subject of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + thumbprintFromConfig: + description: 'ThumbprintFromConfig: Thumbprint of the certificate.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: 'CertificatePassword: Certificate Password.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + enum: + - BuiltIn + - Custom + - KeyVault + - Managed + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + enum: + - Completed + - Failed + - InProgress + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + identityClientIdFromConfig: + description: |- + IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET + access to the keyVault containing the SSL certificate. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + enum: + - ConfigurationApi + - DeveloperPortal + - Management + - Portal + - Proxy + - Scm + type: string + required: + - hostName + - type + type: object + type: array + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + required: + - type + type: object + legacyPortalStatus: + description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' + enum: + - Disabled + - Enabled type: string location: description: 'Location: Resource location.' type: string - maintenanceConfigurationId: - description: |- - MaintenanceConfigurationId: Maintenance configuration id assigned to the elastic pool. This configuration defines the - period when the maintenance updates will will occur. + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + enum: + - Disabled + - Enabled + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + maxLength: 100 type: string - maxSizeBytes: - description: 'MaxSizeBytes: The storage limit for the database elastic pool in bytes.' - type: integer - minCapacity: - description: 'MinCapacity: Minimal capacity that serverless pool will not shrink below, if not paused' - type: number operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -302323,7 +386800,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -302332,42 +386809,70 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - perDatabaseSettings: - description: 'PerDatabaseSettings: The per database settings for the elastic pool.' + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. properties: - maxCapacity: - description: 'MaxCapacity: The maximum capacity any one database can consume.' - type: number - minCapacity: - description: 'MinCapacity: The minimum capacity all databases are guaranteed.' - type: number + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - sku: + publicNetworkAccess: description: |- - Sku: The elastic pool SKU. - The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, - family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` - REST API or the following command: - ```azurecli - az sql elastic-pool list-editions -l -o table - ```` + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + enum: + - Disabled + - Enabled + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + maxLength: 100 + type: string + publisherName: + description: 'PublisherName: Publisher name.' + maxLength: 100 + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + sku: + description: 'Sku: SKU properties of the API Management service.' properties: capacity: - description: 'Capacity: Capacity of the particular SKU.' + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' - type: string name: - description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' - type: string - size: - description: 'Size: Size of the particular SKU' - type: string - tier: - description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + description: 'Name: Name of the Sku.' + enum: + - Basic + - BasicV2 + - Consumption + - Developer + - Isolated + - Premium + - Standard + - StandardV2 type: string required: + - capacity - name type: object tags: @@ -302375,17 +386880,173 @@ spec: type: string description: 'Tags: Resource tags.' type: object - zoneRedundant: + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: description: |- - ZoneRedundant: Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be - spread across multiple availability zones. - type: boolean + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + enum: + - External + - Internal + - None + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array required: - location - owner + - publisherEmail + - publisherName + - sku type: object status: properties: + additionalLocations: + description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' + items: + description: Description of an additional API Management resource location. + properties: + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in this additional location. + type: boolean + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' + type: string + location: + description: 'Location: The location name of the additional region among Azure Data center regions.' + type: string + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + outboundPublicIPAddresses: + description: |- + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service.' + type: string + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an + Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated + SKU. + items: + type: string + type: array + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. + Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the location. Supported only for Premium SKU being deployed in Virtual Network. + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' + properties: + capacity: + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: integer + name: + description: 'Name: Name of the Sku.' + type: string + type: object + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + properties: + minApiVersion: + description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + type: string + type: object + certificates: + description: |- + Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates + that can be installed is 10. + items: + description: Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + storeName: + description: |- + StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and + CertificateAuthority are valid locations. + type: string + type: object + type: array conditions: description: 'Conditions: The observed state of the resource' items: @@ -302430,92 +387091,355 @@ spec: - type type: object type: array - creationDate: - description: 'CreationDate: The creation date of the elastic pool (ISO8601 format).' + configurationApi: + description: 'ConfigurationApi: Configuration API configuration of the API Management service.' + properties: + legacyApi: + description: |- + LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. + Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be + available for self-hosted gateways. Default value is 'Enabled' + type: string + type: object + createdAtUtc: + description: |- + CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. type: string - highAvailabilityReplicaCount: + customProperties: + additionalProperties: + type: string description: |- - HighAvailabilityReplicaCount: The number of secondary replicas associated with the elastic pool that are used to provide - high availability. Applicable only to Hyperscale elastic pools. - type: integer + CustomProperties: Custom properties of the API Management service.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher + TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API + Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be + used to disable just TLS 1.1 for communications with backends.
Setting + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for + communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be + used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH + operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value + is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is + `False`.

You can disable any of the following ciphers by using settings + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, + TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, + TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, + `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default + value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal + platform components: + TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + type: object + developerPortalStatus: + description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' + type: string + developerPortalUrl: + description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' + type: string + disableGateway: + description: |- + DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to + disable the gateway in master region. + type: boolean + enableClientCertificate: + description: |- + EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate + to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the + policy on the gateway. + type: boolean + etag: + description: 'Etag: ETag of the resource.' + type: string + gatewayRegionalUrl: + description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' + type: string + gatewayUrl: + description: 'GatewayUrl: Gateway URL of the API Management service.' + type: string + hostnameConfigurations: + description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + items: + description: Custom hostname configuration. + properties: + certificate: + description: 'Certificate: Certificate information.' + properties: + expiry: + description: |- + Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as + specified by the ISO 8601 standard. + type: string + subject: + description: 'Subject: Subject of the certificate.' + type: string + thumbprint: + description: 'Thumbprint: Thumbprint of the certificate.' + type: string + type: object + certificateSource: + description: 'CertificateSource: Certificate Source.' + type: string + certificateStatus: + description: 'CertificateStatus: Certificate Status.' + type: string + defaultSslBinding: + description: |- + DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. + If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is + useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The + setting only applied to gateway Hostname Type. + type: boolean + encodedCertificate: + description: 'EncodedCertificate: Base64 Encoded certificate.' + type: string + hostName: + description: 'HostName: Hostname to configure on the Api Management service.' + type: string + identityClientId: + description: |- + IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to + the keyVault containing the SSL certificate. + type: string + keyVaultId: + description: |- + KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, + auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. + The secret should be of type *application/x-pkcs12* + type: string + negotiateClientCertificate: + description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + type: boolean + type: + description: 'Type: Hostname type.' + type: string + type: object + type: array id: description: 'Id: Resource ID.' type: string - kind: - description: 'Kind: Kind of elastic pool. This is metadata used for the Azure portal experience.' - type: string - licenseType: - description: 'LicenseType: The license type to apply for this elastic pool.' + identity: + description: 'Identity: Managed service identity of the Api Management service.' + properties: + principalId: + description: 'PrincipalId: The principal id of the identity.' + type: string + tenantId: + description: 'TenantId: The client tenant id of the identity.' + type: string + type: + description: |- + Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly + created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + type: string + userAssignedIdentities: + additionalProperties: + properties: + clientId: + description: 'ClientId: The client id of user assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal id of user assigned identity.' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user identities associated with the resource. The user identity + dictionary key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ + providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: object + type: object + legacyPortalStatus: + description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' type: string location: description: 'Location: Resource location.' type: string - maintenanceConfigurationId: - description: |- - MaintenanceConfigurationId: Maintenance configuration id assigned to the elastic pool. This configuration defines the - period when the maintenance updates will will occur. + managementApiUrl: + description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' type: string - maxSizeBytes: - description: 'MaxSizeBytes: The storage limit for the database elastic pool in bytes.' - type: integer - minCapacity: - description: 'MinCapacity: Minimal capacity that serverless pool will not shrink below, if not paused' - type: number name: description: 'Name: Resource name.' type: string - perDatabaseSettings: - description: 'PerDatabaseSettings: The per database settings for the elastic pool.' - properties: - maxCapacity: - description: 'MaxCapacity: The maximum capacity any one database can consume.' - type: number - minCapacity: - description: 'MinCapacity: The minimum capacity all databases are guaranteed.' - type: number - type: object - sku: + natGatewayState: + description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + type: string + notificationSenderEmail: + description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + type: string + outboundPublicIPAddresses: description: |- - Sku: The elastic pool SKU. - The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, - family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` - REST API or the following command: - ```azurecli - az sql elastic-pool list-editions -l -o table - ```` + OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available + only for Premium SKU on stv2 platform. + items: + type: string + type: array + platformVersion: + description: 'PlatformVersion: Compute Platform Version running the service in this location.' + type: string + portalUrl: + description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' + type: string + privateEndpointConnections: + description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' + items: + description: Remote Private Endpoint Connection resource. + properties: + groupIds: + description: 'GroupIds: All the Group ids.' + items: + type: string + type: array + id: + description: 'Id: Private Endpoint connection resource id' + type: string + name: + description: 'Name: Private Endpoint Connection Name' + type: string + privateEndpoint: + description: 'PrivateEndpoint: The resource of private end point.' + properties: + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service + consumer and provider. + properties: + actionsRequired: + description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + type: string + description: + description: 'Description: The reason for approval/rejection of the connection.' + type: string + status: + description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + type: string + type: object + provisioningState: + description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' + type: string + type: + description: 'Type: Private Endpoint Connection Resource Type' + type: string + type: object + type: array + privateIPAddresses: + description: |- + PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is + deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + provisioningState: + description: |- + ProvisioningState: The current provisioning state of the API Management service which can be one of the following: + Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. + type: string + publicIPAddresses: + description: |- + PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available + only for Basic, Standard, Premium and Isolated SKU. + items: + type: string + type: array + publicIpAddressId: + description: |- + PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in + the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is + optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access + method. Default value is 'Enabled' + type: string + publisherEmail: + description: 'PublisherEmail: Publisher email.' + type: string + publisherName: + description: 'PublisherName: Publisher name.' + type: string + restore: + description: |- + Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True + all other properties will be ignored. + type: boolean + scmUrl: + description: 'ScmUrl: SCM endpoint URL of the API Management service.' + type: string + sku: + description: 'Sku: SKU properties of the API Management service.' properties: capacity: - description: 'Capacity: Capacity of the particular SKU.' + description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' type: integer - family: - description: 'Family: If the service has different generations of hardware, for the same SKU, then that can be captured here.' - type: string name: - description: 'Name: The name of the SKU, typically, a letter + Number code, e.g. P3.' + description: 'Name: Name of the Sku.' type: string - size: - description: 'Size: Size of the particular SKU' + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' type: string - tier: - description: 'Tier: The tier or edition of the particular SKU, e.g. Basic, Premium.' + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' type: string type: object - state: - description: 'State: The state of the elastic pool.' - type: string tags: additionalProperties: type: string description: 'Tags: Resource tags.' type: object + targetProvisioningState: + description: |- + TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running + operation started on the service. + type: string type: - description: 'Type: Resource type.' + description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' type: string - zoneRedundant: + virtualNetworkConfiguration: + description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + properties: + subnetResourceId: + description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + type: string + subnetname: + description: 'Subnetname: The name of the subnet.' + type: string + vnetid: + description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + type: string + type: object + virtualNetworkType: description: |- - ZoneRedundant: Whether or not this elastic pool is zone redundant, which means the replicas of this elastic pool will be - spread across multiple availability zones. - type: boolean + VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) + means the API Management service is not part of any Virtual Network, External means the API Management deployment is set + up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is + setup inside a Virtual Network having an Intranet Facing Endpoint only. + type: string + zones: + description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + items: + type: string + type: array type: object type: object served: true @@ -302535,14 +387459,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20230501previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersElasticPool + Storage version of v1api20230501preview.Service Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ElasticPools.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimdeployment.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} properties: apiVersion: description: |- @@ -302562,7 +387486,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersElasticPool_Spec + description: Storage version of v1api20230501preview.Service_Spec properties: $propertyBag: additionalProperties: @@ -302571,26 +387495,452 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + additionalLocations: + items: + description: |- + Storage version of v1api20230501preview.AdditionalLocation + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + location: + type: string + natGatewayState: + type: string + publicIpAddressReference: + description: |- + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the location. Supported only for Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: + description: |- + Storage version of v1api20230501preview.ApiVersionConstraint + Control Plane Apis version constraint for the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + minApiVersion: + type: string + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - highAvailabilityReplicaCount: - type: integer - licenseType: + certificates: + items: + description: |- + Storage version of v1api20230501preview.CertificateConfiguration + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array + configurationApi: + description: |- + Storage version of v1api20230501preview.ConfigurationApi + Information regarding the Configuration API of the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + legacyApi: + type: string + type: object + customProperties: + additionalProperties: + type: string + type: object + developerPortalStatus: + type: string + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + hostnameConfigurations: + items: + description: |- + Storage version of v1api20230501preview.HostnameConfiguration + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + expiryFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + subject: + type: string + subjectFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + thumbprint: + type: string + thumbprintFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + type: object + certificatePassword: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + identityClientIdFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceIdentity + Identity properties of the Api Management service resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20230501preview.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + legacyPortalStatus: type: string location: type: string - maintenanceConfigurationId: + natGatewayState: + type: string + notificationSenderEmail: type: string - maxSizeBytes: - type: integer - minCapacity: - type: number operatorSpec: description: |- - Storage version of v1api20211101.ServersElasticPoolOperatorSpec + Storage version of v1api20230501preview.ServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -302665,7 +388015,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -302674,10 +388024,40 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - perDatabaseSettings: + publicIpAddressReference: description: |- - Storage version of v1api20211101.ElasticPoolPerDatabaseSettings - Per database settings of an elastic pool. + PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed + service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties + API Management service resource SKU properties. properties: $propertyBag: additionalProperties: @@ -302686,15 +388066,150 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxCapacity: - type: number - minCapacity: - type: number + capacity: + type: integer + name: + type: string type: object - sku: + tags: + additionalProperties: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceReference: + description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array + required: + - owner + type: object + status: + description: Storage version of v1api20230501preview.Service_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + additionalLocations: + items: + description: |- + Storage version of v1api20230501preview.AdditionalLocation_STATUS + Description of an additional API Management resource location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + disableGateway: + type: boolean + gatewayRegionalUrl: + type: string + location: + type: string + natGatewayState: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + privateIPAddresses: + items: + type: string + type: array + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + sku: + description: |- + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + type: object + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + zones: + items: + type: string + type: array + type: object + type: array + apiVersionConstraint: description: |- - Storage version of v1api20211101.Sku - An ARM Resource SKU. + Storage version of v1api20230501preview.ApiVersionConstraint_STATUS + Control Plane Apis version constraint for the API Management service. properties: $propertyBag: additionalProperties: @@ -302703,36 +388218,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: - type: integer - family: - type: string - name: - type: string - size: - type: string - tier: + minApiVersion: type: string type: object - tags: - additionalProperties: - type: string - type: object - zoneRedundant: - type: boolean - required: - - owner - type: object - status: - description: Storage version of v1api20211101.ServersElasticPool_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + certificates: + items: + description: |- + Storage version of v1api20230501preview.CertificateConfiguration_STATUS + Certificate configuration which consist of non-trusted intermediates and root certificates. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + encodedCertificate: + type: string + storeName: + type: string + type: object + type: array conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -302776,30 +388302,99 @@ spec: - type type: object type: array - creationDate: + configurationApi: + description: |- + Storage version of v1api20230501preview.ConfigurationApi_STATUS + Information regarding the Configuration API of the API Management service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + legacyApi: + type: string + type: object + createdAtUtc: type: string - highAvailabilityReplicaCount: - type: integer - id: + customProperties: + additionalProperties: + type: string + type: object + developerPortalStatus: type: string - kind: + developerPortalUrl: type: string - licenseType: + disableGateway: + type: boolean + enableClientCertificate: + type: boolean + etag: type: string - location: + gatewayRegionalUrl: type: string - maintenanceConfigurationId: + gatewayUrl: type: string - maxSizeBytes: - type: integer - minCapacity: - type: number - name: + hostnameConfigurations: + items: + description: |- + Storage version of v1api20230501preview.HostnameConfiguration_STATUS + Custom hostname configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + certificate: + description: |- + Storage version of v1api20230501preview.CertificateInformation_STATUS + SSL certificate information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiry: + type: string + subject: + type: string + thumbprint: + type: string + type: object + certificateSource: + type: string + certificateStatus: + type: string + defaultSslBinding: + type: boolean + encodedCertificate: + type: string + hostName: + type: string + identityClientId: + type: string + keyVaultId: + type: string + negotiateClientCertificate: + type: boolean + type: + type: string + type: object + type: array + id: type: string - perDatabaseSettings: + identity: description: |- - Storage version of v1api20211101.ElasticPoolPerDatabaseSettings_STATUS - Per database settings of an elastic pool. + Storage version of v1api20230501preview.ApiManagementServiceIdentity_STATUS + Identity properties of the Api Management service resource. properties: $propertyBag: additionalProperties: @@ -302808,15 +388403,137 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - maxCapacity: - type: number - minCapacity: - type: number + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: Storage version of v1api20230501preview.UserIdentityProperties_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object type: object + legacyPortalStatus: + type: string + location: + type: string + managementApiUrl: + type: string + name: + type: string + natGatewayState: + type: string + notificationSenderEmail: + type: string + outboundPublicIPAddresses: + items: + type: string + type: array + platformVersion: + type: string + portalUrl: + type: string + privateEndpointConnections: + items: + description: |- + Storage version of v1api20230501preview.RemotePrivateEndpointConnectionWrapper_STATUS + Remote Private Endpoint Connection resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + groupIds: + items: + type: string + type: array + id: + type: string + name: + type: string + privateEndpoint: + description: |- + Storage version of v1api20230501preview.ArmIdWrapper_STATUS + A wrapper for an ARM resource id + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + privateLinkServiceConnectionState: + description: |- + Storage version of v1api20230501preview.PrivateLinkServiceConnectionState_STATUS + A collection of information about the state of the connection between service consumer and provider. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionsRequired: + type: string + description: + type: string + status: + type: string + type: object + provisioningState: + type: string + type: + type: string + type: object + type: array + privateIPAddresses: + items: + type: string + type: array + provisioningState: + type: string + publicIPAddresses: + items: + type: string + type: array + publicIpAddressId: + type: string + publicNetworkAccess: + type: string + publisherEmail: + type: string + publisherName: + type: string + restore: + type: boolean + scmUrl: + type: string sku: description: |- - Storage version of v1api20211101.Sku_STATUS - An ARM Resource SKU. + Storage version of v1api20230501preview.ApiManagementServiceSkuProperties_STATUS + API Management service resource SKU properties. properties: $propertyBag: additionalProperties: @@ -302827,29 +388544,71 @@ spec: type: object capacity: type: integer - family: - type: string name: type: string - size: + type: object + systemData: + description: |- + Storage version of v1api20230501preview.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: type: string - tier: + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string type: object - state: - type: string tags: additionalProperties: type: string type: object + targetProvisioningState: + type: string type: type: string - zoneRedundant: - type: boolean + virtualNetworkConfiguration: + description: |- + Storage version of v1api20230501preview.VirtualNetworkConfiguration_STATUS + Configuration of a virtual network to which API Management service is deployed. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + subnetResourceId: + type: string + subnetname: + type: string + vnetid: + type: string + type: object + virtualNetworkType: + type: string + zones: + items: + type: string + type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} --- @@ -302858,11 +388617,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversfailovergroups.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: signalrs.signalrservice.azure.com spec: conversion: strategy: Webhook @@ -302875,12 +388634,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: sql.azure.com + group: signalrservice.azure.com names: - kind: ServersFailoverGroup - listKind: ServersFailoverGroupList - plural: serversfailovergroups - singular: serversfailovergroup + categories: + - azure + - signalrservice + kind: SignalR + listKind: SignalRList + plural: signalrs + singular: signalr preserveUnknownFields: false scope: Namespaced versions: @@ -302897,13 +388659,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20211001 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FailoverGroups.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName} + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} properties: apiVersion: description: |- @@ -302929,29 +388691,191 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - databasesReferences: - description: 'DatabasesReferences: List of databases in the failover group.' + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: Feature of a resource, which controls the runtime behavior. properties: - armId: + flag: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + enum: + - EnableConnectivityLogs + - EnableLiveTrace + - EnableMessagingLogs + - ServiceMode type: string - name: - description: Name is the Kubernetes name of the resource. + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + maxLength: 128 + minLength: 1 type: string + required: + - flag + - value type: object type: array + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Get or set the user assigned identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + description: 'Kind: The kind of the service, it can be SignalR or RawWebSockets' + enum: + - RawWebSockets + - SignalR + type: string + location: + description: 'Location: The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.' + type: string + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + enum: + - Allow + - Deny + type: string + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + required: + - name + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + type: object + type: object operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -303017,12 +388941,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -303031,73 +389027,144 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - partnerServers: - description: 'PartnerServers: List of partner server information for the failover group.' - items: - description: Partner server information for the failover group. - properties: - reference: - description: 'Reference: Resource identifier of the partner server.' + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. properties: - armId: + enabled: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. type: string name: - description: Name is the Kubernetes name of the resource. + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. type: string type: object - required: - - reference - type: object - type: array - readOnlyEndpoint: - description: 'ReadOnlyEndpoint: Read-only endpoint of the failover group instance.' - properties: - failoverPolicy: - description: 'FailoverPolicy: Failover policy of the read-only endpoint for the failover group.' - enum: - - Disabled - - Enabled - type: string + type: array type: object - readWriteEndpoint: - description: 'ReadWriteEndpoint: Read-write endpoint of the failover group instance.' + sku: + description: 'Sku: The billing information of the resource.' properties: - failoverPolicy: + capacity: description: |- - FailoverPolicy: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then - failoverWithDataLossGracePeriodMinutes is required. - enum: - - Automatic - - Manual + Capacity: Optional, integer. The unit count of the resource. 1 by default. + If present, following values are allowed: + Free: 1 + Standard: 1,2,5,10,20,50,100 + type: integer + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1 type: string - failoverWithDataLossGracePeriodMinutes: + tier: description: |- - FailoverWithDataLossGracePeriodMinutes: Grace period before failover with data loss is attempted for the read-write - endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. - type: integer + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + enum: + - Basic + - Free + - Premium + - Standard + type: string required: - - failoverPolicy + - name type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Tags of the service which is a list of key value pairs that describe the resource.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: 'ClientCertEnabled: Request client certificate during TLS handshake if enabled' + type: boolean + type: object + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + enum: + - ManagedIdentity + - None + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages" + 3. The single category name, for example, "connections", it matches the category "connections" + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" + 3. The single event name, for example, "connect", it matches "connect" + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" + 3. The single hub name, for example, "hub1", it matches "hub1" + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + required: + - urlTemplate + type: object + type: array type: object required: - owner - - partnerServers - - readWriteEndpoint type: object status: properties: @@ -303145,70 +389212,346 @@ spec: - type type: object type: array - databases: - description: 'Databases: List of databases in the failover group.' + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + externalIP: + description: 'ExternalIP: The publicly accessible IP of the resource.' + type: string + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. items: - type: string + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + type: string + type: object type: array + hostName: + description: 'HostName: FQDN of the service instance.' + type: string + hostNamePrefix: + description: 'HostNamePrefix: Deprecated.' + type: string id: - description: 'Id: Resource ID.' + description: 'Id: Fully qualified resource Id for the resource.' + type: string + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + principalId: + description: |- + PrincipalId: Get the principal id for the system assigned identity. + Only be used in response. + type: string + tenantId: + description: |- + TenantId: Get the tenant id for the system assigned identity. + Only be used in response + type: string + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + type: string + userAssignedIdentities: + additionalProperties: + description: Properties of user assigned identity. + properties: + clientId: + description: 'ClientId: Get the client id for the user assigned identity' + type: string + principalId: + description: 'PrincipalId: Get the principal id for the user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Get or set the user assigned identities' + type: object + type: object + kind: + description: 'Kind: The kind of the service, it can be SignalR or RawWebSockets' type: string location: - description: 'Location: Resource location.' + description: 'Location: The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.' type: string name: - description: 'Name: Resource name.' + description: 'Name: The name of the resource.' type: string - partnerServers: - description: 'PartnerServers: List of partner server information for the failover group.' + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + type: string + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections to the resource.' + items: + description: A private endpoint connection to an azure resource + properties: + id: + description: 'Id: Fully qualified resource Id for the resource.' + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' + type: string + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + publicPort: + description: 'PublicPort: The publicly accessible port of the resource which is designed for browser/client side usage.' + type: integer + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + type: object + serverPort: + description: 'ServerPort: The publicly accessible port of the resource which is designed for customer server side usage.' + type: integer + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources.' items: - description: Partner server information for the failover group. + description: Describes a Shared Private Link Resource properties: id: - description: 'Id: Resource identifier of the partner server.' - type: string - location: - description: 'Location: Geo location of the partner server.' - type: string - replicationRole: - description: 'ReplicationRole: Replication role of the partner server.' + description: 'Id: Fully qualified resource Id for the resource.' type: string type: object type: array - readOnlyEndpoint: - description: 'ReadOnlyEndpoint: Read-only endpoint of the failover group instance.' + sku: + description: 'Sku: The billing information of the resource.' properties: - failoverPolicy: - description: 'FailoverPolicy: Failover policy of the read-only endpoint for the failover group.' + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. 1 by default. + If present, following values are allowed: + Free: 1 + Standard: 1,2,5,10,20,50,100 + type: integer + family: + description: 'Family: Not used. Retained for future use.' type: string - type: object - readWriteEndpoint: - description: 'ReadWriteEndpoint: Read-write endpoint of the failover group instance.' - properties: - failoverPolicy: + name: description: |- - FailoverPolicy: Failover policy of the read-write endpoint for the failover group. If failoverPolicy is Automatic then - failoverWithDataLossGracePeriodMinutes is required. + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1 type: string - failoverWithDataLossGracePeriodMinutes: + size: + description: 'Size: Not used. Retained for future use.' + type: string + tier: description: |- - FailoverWithDataLossGracePeriodMinutes: Grace period before failover with data loss is attempted for the read-write - endpoint. If failoverPolicy is Automatic then failoverWithDataLossGracePeriodMinutes is required. - type: integer + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + type: string + type: object + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string type: object - replicationRole: - description: 'ReplicationRole: Local replication role of the failover group instance.' - type: string - replicationState: - description: 'ReplicationState: Replication state of the failover group instance.' - type: string tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: Tags of the service which is a list of key value pairs that describe the resource.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: 'ClientCertEnabled: Request client certificate during TLS handshake if enabled' + type: boolean type: object type: - description: 'Type: Resource type.' + description: 'Type: The type of the resource - e.g. "Microsoft.SignalRService/SignalR"' + type: string + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages" + 3. The single category name, for example, "connections", it matches the category "connections" + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" + 3. The single event name, for example, "connect", it matches "connect" + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" + 3. The single hub name, for example, "hub1", it matches "hub1" + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + type: object + type: array + type: object + version: + description: 'Version: Version of the resource. Probably you need the same or higher version of client SDKs.' type: string type: object type: object @@ -303229,14 +389572,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20211001storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersFailoverGroup + Storage version of v1api20211001.SignalR Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FailoverGroups.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName} + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} properties: apiVersion: description: |- @@ -303256,7 +389599,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersFailoverGroup_Spec + description: Storage version of v1api20211001.SignalR_Spec properties: $propertyBag: additionalProperties: @@ -303270,31 +389613,168 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - databasesReferences: + cors: + description: |- + Storage version of v1api20211001.SignalRCorsSettings + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + features: items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + description: |- + Storage version of v1api20211001.SignalRFeature + Feature of a resource, which controls the runtime behavior. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: type: string - name: - description: Name is the Kubernetes name of the resource. + properties: + additionalProperties: + type: string + type: object + value: type: string type: object type: array + identity: + description: |- + Storage version of v1api20211001.ManagedIdentity + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20211001.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + location: + type: string + networkACLs: + description: |- + Storage version of v1api20211001.SignalRNetworkACLs + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + privateEndpoints: + items: + description: |- + Storage version of v1api20211001.PrivateEndpointACL + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20211001.NetworkACL + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object operatorSpec: description: |- - Storage version of v1api20211101.ServersFailoverGroupOperatorSpec + Storage version of v1api20211001.SignalROperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -303362,6 +389842,89 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20211001.SignalROperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -303369,7 +389932,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -303378,47 +389941,44 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - partnerServers: - items: - description: |- - Storage version of v1api20211101.PartnerInfo - Partner server information for the failover group. - properties: - $propertyBag: - additionalProperties: - type: string + publicNetworkAccess: + type: string + resourceLogConfiguration: + description: |- + Storage version of v1api20211001.ResourceLogConfiguration + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource identifier of the partner server.' + Storage version of v1api20211001.ResourceLogCategory + Resource log category configuration of a Microsoft.SignalRService resource. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: type: string name: - description: Name is the Kubernetes name of the resource. type: string type: object - required: - - reference - type: object - type: array - readOnlyEndpoint: + type: array + type: object + sku: description: |- - Storage version of v1api20211101.FailoverGroupReadOnlyEndpoint - Read-only endpoint of the failover group instance. + Storage version of v1api20211001.ResourceSku + The billing information of the resource. properties: $propertyBag: additionalProperties: @@ -303427,13 +389987,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - failoverPolicy: + capacity: + type: integer + name: + type: string + tier: type: string type: object - readWriteEndpoint: + tags: + additionalProperties: + type: string + type: object + tls: description: |- - Storage version of v1api20211101.FailoverGroupReadWriteEndpoint - Read-write endpoint of the failover group instance. + Storage version of v1api20211001.SignalRTlsSettings + TLS settings for the resource properties: $propertyBag: additionalProperties: @@ -303442,20 +390010,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - failoverPolicy: - type: string - failoverWithDataLossGracePeriodMinutes: - type: integer + clientCertEnabled: + type: boolean type: object - tags: - additionalProperties: - type: string + upstream: + description: |- + Storage version of v1api20211001.ServerlessUpstreamSettings + The settings for the Upstream when the service is in server-less mode. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: + items: + description: |- + Storage version of v1api20211001.UpstreamTemplate + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + description: |- + Storage version of v1api20211001.UpstreamAuthSettings + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20211001.ManagedIdentitySettings + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: + type: string + eventPattern: + type: string + hubPattern: + type: string + urlTemplate: + type: string + type: object + type: array type: object required: - owner type: object status: - description: Storage version of v1api20211101.ServersFailoverGroup_STATUS + description: Storage version of v1api20211001.SignalR_STATUS properties: $propertyBag: additionalProperties: @@ -303507,21 +390137,168 @@ spec: - type type: object type: array - databases: + cors: + description: |- + Storage version of v1api20211001.SignalRCorsSettings_STATUS + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + externalIP: + type: string + features: items: - type: string + description: |- + Storage version of v1api20211001.SignalRFeature_STATUS + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object type: array + hostName: + type: string + hostNamePrefix: + type: string id: type: string + identity: + description: |- + Storage version of v1api20211001.ManagedIdentity_STATUS + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20211001.UserAssignedIdentityProperty_STATUS + Properties of user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string location: type: string name: type: string - partnerServers: + networkACLs: + description: |- + Storage version of v1api20211001.SignalRNetworkACLs_STATUS + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + privateEndpoints: + items: + description: |- + Storage version of v1api20211001.PrivateEndpointACL_STATUS + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20211001.NetworkACL_STATUS + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object + privateEndpointConnections: items: description: |- - Storage version of v1api20211101.PartnerInfo_STATUS - Partner server information for the failover group. + Storage version of v1api20211001.PrivateEndpointConnection_STATUS_SignalR_SubResourceEmbedded + A private endpoint connection to an azure resource properties: $propertyBag: additionalProperties: @@ -303532,16 +390309,69 @@ spec: type: object id: type: string - location: + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + publicPort: + type: integer + resourceLogConfiguration: + description: |- + Storage version of v1api20211001.ResourceLogConfiguration_STATUS + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: type: string - replicationRole: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20211001.ResourceLogCategory_STATUS + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + type: object + serverPort: + type: integer + sharedPrivateLinkResources: + items: + description: |- + Storage version of v1api20211001.SharedPrivateLinkResource_STATUS_SignalR_SubResourceEmbedded + Describes a Shared Private Link Resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string type: object type: array - readOnlyEndpoint: + sku: description: |- - Storage version of v1api20211101.FailoverGroupReadOnlyEndpoint_STATUS - Read-only endpoint of the failover group instance. + Storage version of v1api20211001.ResourceSku_STATUS + The billing information of the resource. properties: $propertyBag: additionalProperties: @@ -303550,13 +390380,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - failoverPolicy: + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: type: string type: object - readWriteEndpoint: + systemData: description: |- - Storage version of v1api20211101.FailoverGroupReadWriteEndpoint_STATUS - Read-write endpoint of the failover group instance. + Storage version of v1api20211001.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. properties: $propertyBag: additionalProperties: @@ -303565,260 +390403,109 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - failoverPolicy: + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: type: string - failoverWithDataLossGracePeriodMinutes: - type: integer type: object - replicationRole: - type: string - replicationState: - type: string tags: additionalProperties: type: string type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversfirewallrules.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersFirewallRule - listKind: ServersFirewallRuleList - plural: serversfirewallrules - singular: serversfirewallrule - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - endIpAddress: + tls: description: |- - EndIpAddress: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to - startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. + Storage version of v1api20211001.SignalRTlsSettings_STATUS + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + type: type: string - operatorSpec: + upstream: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20211001.ServerlessUpstreamSettings_STATUS + The settings for the Upstream when the service is in server-less mode. properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20211001.UpstreamTemplate_STATUS + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + Storage version of v1api20211001.UpstreamAuthSettings_STATUS + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20211001.ManagedIdentitySettings_STATUS + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + eventPattern: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + hubPattern: + type: string + urlTemplate: type: string - required: - - name - - value type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - startIpAddress: - description: |- - StartIpAddress: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all - Azure-internal IP addresses. - type: string - required: - - owner - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - endIpAddress: - description: |- - EndIpAddress: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to - startIpAddress. Use value '0.0.0.0' for all Azure-internal IP addresses. - type: string - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - startIpAddress: - description: |- - StartIpAddress: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' for all - Azure-internal IP addresses. - type: string - type: - description: 'Type: Resource type.' + version: type: string type: object type: object @@ -303839,14 +390526,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240301 schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersFirewallRule Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/firewallRules/{firewallRuleName} + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} properties: apiVersion: description: |- @@ -303866,35 +390552,256 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersFirewallRule_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$ type: string - endIpAddress: - type: string - operatorSpec: - description: |- - Storage version of v1api20211101.ServersFirewallRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' properties: - $propertyBag: - additionalProperties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. + items: + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + enum: + - EnableConnectivityLogs + - EnableLiveTrace + - EnableMessagingLogs + - ServiceMode + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + maxLength: 128 + minLength: 1 type: string + required: + - flag + - value + type: object + type: array + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + enum: + - None + - SystemAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: 'UserAssignedIdentities: Get or set the user assigned identities' + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + description: 'Kind: The kind of the service' + enum: + - RawWebSockets + - SignalR + type: string + liveTraceConfiguration: + description: 'LiveTraceConfiguration: Live trace configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Live trace category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the live trace category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the live trace category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + enabled: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Enabled: Indicates whether or not enable live trace. + When it's set to true, live trace client can connect to the service. + Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you + configure in "categories". + Available values: true, false. + Case insensitive. + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' + type: string + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + enum: + - Allow + - Deny + type: string + ipRules: + description: 'IpRules: IP rules for filtering public traffic' + items: + description: An IP rule + properties: + action: + description: 'Action: Azure Networking ACL Action.' + enum: + - Allow + - Deny + type: string + value: + description: 'Value: An IP or CIDR or ServiceTag' + type: string + type: object + maxItems: 30 + type: array + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + required: + - name + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + enum: + - ClientConnection + - RESTAPI + - ServerConnection + - Trace + type: string + type: array type: object + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -303924,6 +390831,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -303952,14 +390860,84 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryConnectionString: + description: |- + PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret + will not be retrieved from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -303968,22 +390946,185 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIpAddress: + publicNetworkAccess: + description: |- + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + type: string + regionEndpointEnabled: + description: |- + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. + This property is replica specific. Disable the regional endpoint without replica is not allowed. + type: string + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Resource log category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + type: object + resourceStopped: + description: |- + ResourceStopped: Stop or start the resource. Default to "False". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. type: string + serverless: + description: 'Serverless: Serverless settings.' + properties: + connectionTimeoutInSeconds: + description: |- + ConnectionTimeoutInSeconds: Gets or sets Client Connection Timeout. Optional to be set. + Value in seconds. + Default value is 30 seconds. + Customer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals, + and want the client to disconnect more quickly after the last message is sent. + You can set the timeout to a longer period if messages are expected to be sent in longer intervals, + and they want to keep the same client connection alive during this session. + The service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval. + maximum: 120 + minimum: 1 + type: integer + type: object + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + enum: + - Basic + - Free + - Premium + - Standard + type: string + required: + - name + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: |- + ClientCertEnabled: Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input + will be ignored for free tier. + type: boolean + type: object + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + items: + description: |- + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + enum: + - ManagedIdentity + - None + type: string + type: object + categoryPattern: + description: |- + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name. + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages". + 3. The single category name, for example, "connections", it matches the category "connections". + type: string + eventPattern: + description: |- + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name. + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect". + 3. The single event name, for example, "connect", it matches "connect". + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name. + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2". + 3. The single hub name, for example, "hub1", it matches "hub1". + type: string + urlTemplate: + description: |- + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + type: string + required: + - urlTemplate + type: object + type: array + type: object required: + - location - owner type: object status: - description: Storage version of v1api20211101.ServersFirewallRule_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -304026,251 +391167,430 @@ spec: - type type: object type: array - endIpAddress: + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: + http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. + items: + type: string + type: array + type: object + disableAadAuth: + description: |- + DisableAadAuth: DisableLocalAuth + Enable or disable aad auth + When set as true, connection with AuthType=aad won't work. + type: boolean + disableLocalAuth: + description: |- + DisableLocalAuth: DisableLocalAuth + Enable or disable local auth with AccessKey + When set as true, connection with AccessKey=xxx won't work. + type: boolean + externalIP: + description: 'ExternalIP: The publicly accessible IP of the resource.' + type: string + features: + description: |- + Features: List of the featureFlags. + FeatureFlags that are not included in the parameters for the update operation will not be modified. + And the response will only include featureFlags that are explicitly set. + When a featureFlag is not explicitly set, its globally default value will be used + But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. + items: + description: Feature of a resource, which controls the runtime behavior. + properties: + flag: + description: |- + Flag: FeatureFlags is the supported features of Azure SignalR service. + - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; + "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both + Default and Serverless mode but not recommended; "PredefinedOnly": for future use. + - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. + - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live + traces in real time, it will be helpful when you developing your own Azure SignalR based web application or + self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. + Values allowed: "true"/"false", to enable/disable live trace feature. + type: string + properties: + additionalProperties: + type: string + description: 'Properties: Optional properties related to this feature.' + type: object + value: + description: |- + Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for + allowed values. + type: string + type: object + type: array + hostName: + description: 'HostName: FQDN of the service instance.' + type: string + hostNamePrefix: + description: 'HostNamePrefix: Deprecated.' type: string id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" type: string - name: + identity: + description: 'Identity: A class represent managed identities used for request and response' + properties: + principalId: + description: |- + PrincipalId: Get the principal id for the system assigned identity. + Only be used in response. + type: string + tenantId: + description: |- + TenantId: Get the tenant id for the system assigned identity. + Only be used in response + type: string + type: + description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' + type: string + userAssignedIdentities: + additionalProperties: + description: Properties of user assigned identity. + properties: + clientId: + description: 'ClientId: Get the client id for the user assigned identity' + type: string + principalId: + description: 'PrincipalId: Get the principal id for the user assigned identity' + type: string + type: object + description: 'UserAssignedIdentities: Get or set the user assigned identities' + type: object + type: object + kind: + description: 'Kind: The kind of the service' type: string - startIpAddress: + liveTraceConfiguration: + description: 'LiveTraceConfiguration: Live trace configuration of a Microsoft.SignalRService resource.' + properties: + categories: + description: 'Categories: Gets or sets the list of category configurations.' + items: + description: Live trace category configuration of a Microsoft.SignalRService resource. + properties: + enabled: + description: |- + Enabled: Indicates whether or the live trace category is enabled. + Available values: true, false. + Case insensitive. + type: string + name: + description: |- + Name: Gets or sets the live trace category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. + type: string + type: object + type: array + enabled: + description: |- + Enabled: Indicates whether or not enable live trace. + When it's set to true, live trace client can connect to the service. + Otherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you + configure in "categories". + Available values: true, false. + Case insensitive. + type: string + type: object + location: + description: 'Location: The geo-location where the resource lives' type: string - type: + name: + description: 'Name: The name of the resource' type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversipv6firewallrules.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersIPV6FirewallRule - listKind: ServersIPV6FirewallRuleList - plural: serversipv6firewallrules - singular: serversipv6firewallrule - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/IPv6FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/ipv6FirewallRules/{firewallRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + networkACLs: + description: 'NetworkACLs: Network ACLs for the resource' + properties: + defaultAction: + description: 'DefaultAction: Azure Networking ACL Action.' + type: string + ipRules: + description: 'IpRules: IP rules for filtering public traffic' + items: + description: An IP rule + properties: + action: + description: 'Action: Azure Networking ACL Action.' + type: string + value: + description: 'Value: An IP or CIDR or ServiceTag' + type: string + type: object + type: array + privateEndpoints: + description: 'PrivateEndpoints: ACLs for requests from private endpoints' + items: + description: ACL for a private endpoint + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + name: + description: 'Name: Name of the private endpoint connection' + type: string + type: object + type: array + publicNetwork: + description: 'PublicNetwork: Network ACL' + properties: + allow: + description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + deny: + description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' + items: + description: The incoming request type to the service + type: string + type: array + type: object + type: object + privateEndpointConnections: + description: 'PrivateEndpointConnections: Private endpoint connections to the resource.' + items: + description: A private endpoint connection to an azure resource + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + provisioningState: + description: 'ProvisioningState: Provisioning state of the resource.' type: string - endIPv6Address: + publicNetworkAccess: description: |- - EndIPv6Address: The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to - startIpAddress. + PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". + When it's Enabled, network ACLs still apply. + When it's Disabled, public network access is always disabled no matter what you set in network ACLs. type: string - operatorSpec: + publicPort: + description: 'PublicPort: The publicly accessible port of the resource which is designed for browser/client side usage.' + type: integer + regionEndpointEnabled: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + RegionEndpointEnabled: Enable or disable the regional endpoint. Default to "Enabled". + When it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be + affected. + This property is replica specific. Disable the regional endpoint without replica is not allowed. + type: string + resourceLogConfiguration: + description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + categories: + description: 'Categories: Gets or sets the list of category configurations.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Resource log category configuration of a Microsoft.SignalRService resource. properties: - key: + enabled: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + Enabled: Indicates whether or the resource log category is enabled. + Available values: true, false. + Case insensitive. type: string name: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Name: Gets or sets the resource log category's name. + Available values: ConnectivityLogs, MessagingLogs. + Case insensitive. type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + type: object + resourceStopped: + description: |- + ResourceStopped: Stop or start the resource. Default to "False". + When it's true, the data plane of the resource is shutdown. + When it's false, the data plane of the resource is started. + type: string + serverPort: + description: 'ServerPort: The publicly accessible port of the resource which is designed for customer server side usage.' + type: integer + serverless: + description: 'Serverless: Serverless settings.' + properties: + connectionTimeoutInSeconds: + description: |- + ConnectionTimeoutInSeconds: Gets or sets Client Connection Timeout. Optional to be set. + Value in seconds. + Default value is 30 seconds. + Customer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals, + and want the client to disconnect more quickly after the last message is sent. + You can set the timeout to a longer period if messages are expected to be sent in longer intervals, + and they want to keep the same client connection alive during this session. + The service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval. + type: integer + type: object + sharedPrivateLinkResources: + description: 'SharedPrivateLinkResources: The list of shared private link resources.' + items: + description: Describes a Shared Private Link Resource + properties: + id: + description: |- + Id: Fully qualified resource ID for the resource. E.g. + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + type: string + type: object + type: array + sku: + description: 'Sku: The billing information of the resource.' + properties: + capacity: + description: |- + Capacity: Optional, integer. The unit count of the resource. + 1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default. + If present, following values are allowed: + Free_F1: 1; + Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100; + Premium_P2: 100,200,300,400,500,600,700,800,900,1000; + type: integer + family: + description: 'Family: Not used. Retained for future use.' + type: string + name: + description: |- + Name: The name of the SKU. Required. + Allowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2 + type: string + size: + description: 'Size: Not used. Retained for future use.' + type: string + tier: + description: |- + Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. + `Basic` is deprecated, use `Standard` instead. + type: string + type: object + systemData: + description: 'SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' + type: object + tls: + description: 'Tls: TLS settings for the resource' + properties: + clientCertEnabled: + description: |- + ClientCertEnabled: Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input + will be ignored for free tier. + type: boolean + type: object + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + upstream: + description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + properties: + templates: + description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. properties: - key: + auth: + description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' + properties: + managedIdentity: + description: 'ManagedIdentity: Managed identity settings for upstream.' + properties: + resource: + description: |- + Resource: The Resource indicating the App ID URI of the target resource. + It also appears in the aud (audience) claim of the issued token. + type: string + type: object + type: + description: 'Type: Upstream auth type enum.' + type: string + type: object + categoryPattern: description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. + There are 3 kind of patterns supported: + 1. "*", it to matches any category name. + 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and + "messages". + 3. The single category name, for example, "connections", it matches the category "connections". type: string - name: + eventPattern: description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. + There are 3 kind of patterns supported: + 1. "*", it to matches any event name. + 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect". + 3. The single event name, for example, "connect", it matches "connect". + type: string + hubPattern: + description: |- + HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. + There are 3 kind of patterns supported: + 1. "*", it to matches any hub name. + 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2". + 3. The single hub name, for example, "hub1", it matches "hub1". type: string - value: + urlTemplate: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} + inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. + For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` + connects, it will first POST to this URL: `http://example.com/chat/api/connect`. type: string - required: - - name - - value type: object type: array type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - startIPv6Address: - description: 'StartIPv6Address: The start IP address of the firewall rule. Must be IPv6 format.' - type: string - required: - - owner - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - endIPv6Address: - description: |- - EndIPv6Address: The end IP address of the firewall rule. Must be IPv6 format. Must be greater than or equal to - startIpAddress. - type: string - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - startIPv6Address: - description: 'StartIPv6Address: The start IP address of the firewall rule. Must be IPv6 format.' - type: string - type: - description: 'Type: Resource type.' + version: + description: 'Version: Version of the resource. Probably you need the same or higher version of client SDKs.' type: string type: object type: object @@ -304291,14 +391611,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20240301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersIPV6FirewallRule + Storage version of v1api20240301.SignalR Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/IPv6FirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/ipv6FirewallRules/{firewallRuleName} + - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2024-03-01/signalr.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} properties: apiVersion: description: |- @@ -304318,7 +391638,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersIPV6FirewallRule_Spec + description: Storage version of v1api20240301.SignalR_Spec properties: $propertyBag: additionalProperties: @@ -304332,11 +391652,221 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - endIPv6Address: + cors: + description: |- + Storage version of v1api20240301.SignalRCorsSettings + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + features: + items: + description: |- + Storage version of v1api20240301.SignalRFeature + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object + type: array + identity: + description: |- + Storage version of v1api20240301.ManagedIdentity + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + type: + type: string + userAssignedIdentities: + items: + description: |- + Storage version of v1api20240301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + kind: + type: string + liveTraceConfiguration: + description: |- + Storage version of v1api20240301.LiveTraceConfiguration + Live trace configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.LiveTraceCategory + Live trace category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + enabled: + type: string + type: object + location: type: string + networkACLs: + description: |- + Storage version of v1api20240301.SignalRNetworkACLs + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20240301.IPRule + An IP rule + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + value: + type: string + type: object + type: array + privateEndpoints: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointACL + ACL for a private endpoint + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + name: + type: string + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20240301.NetworkACL + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object operatorSpec: description: |- - Storage version of v1api20211101.ServersIPV6FirewallRuleOperatorSpec + Storage version of v1api20240301.SignalROperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -304404,6 +391934,89 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20240301.SignalROperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryConnectionString: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -304411,7 +392024,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -304420,13 +392033,170 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - startIPv6Address: + publicNetworkAccess: + type: string + regionEndpointEnabled: + type: string + resourceLogConfiguration: + description: |- + Storage version of v1api20240301.ResourceLogConfiguration + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.ResourceLogCategory + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: + type: string + type: object + type: array + type: object + resourceStopped: type: string + serverless: + description: |- + Storage version of v1api20240301.ServerlessSettings + Serverless settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionTimeoutInSeconds: + type: integer + type: object + sku: + description: |- + Storage version of v1api20240301.ResourceSku + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + name: + type: string + tier: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + tls: + description: |- + Storage version of v1api20240301.SignalRTlsSettings + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + upstream: + description: |- + Storage version of v1api20240301.ServerlessUpstreamSettings + The settings for the Upstream when the service is in server-less mode. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + templates: + items: + description: |- + Storage version of v1api20240301.UpstreamTemplate + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: + description: |- + Storage version of v1api20240301.UpstreamAuthSettings + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20240301.ManagedIdentitySettings + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: + type: string + eventPattern: + type: string + hubPattern: + type: string + urlTemplate: + type: string + type: object + type: array + type: object required: - owner type: object status: - description: Storage version of v1api20211101.ServersIPV6FirewallRule_STATUS + description: Storage version of v1api20240301.SignalR_STATUS properties: $propertyBag: additionalProperties: @@ -304478,303 +392248,382 @@ spec: - type type: object type: array - endIPv6Address: - type: string - id: + cors: + description: |- + Storage version of v1api20240301.SignalRCorsSettings_STATUS + Cross-Origin Resource Sharing (CORS) settings. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + type: object + disableAadAuth: + type: boolean + disableLocalAuth: + type: boolean + externalIP: type: string - name: + features: + items: + description: |- + Storage version of v1api20240301.SignalRFeature_STATUS + Feature of a resource, which controls the runtime behavior. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + flag: + type: string + properties: + additionalProperties: + type: string + type: object + value: + type: string + type: object + type: array + hostName: type: string - startIPv6Address: + hostNamePrefix: type: string - type: + id: type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversoutboundfirewallrules.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersOutboundFirewallRule - listKind: ServersOutboundFirewallRuleList - plural: serversoutboundfirewallrules - singular: serversoutboundfirewallrule - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/OutboundFirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: + identity: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + Storage version of v1api20240301.ManagedIdentity_STATUS + A class represent managed identities used for request and response + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20240301.UserAssignedIdentityProperty_STATUS + Properties of user assigned identity. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: type: string - operatorSpec: + liveTraceConfiguration: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20240301.LiveTraceConfiguration_STATUS + Live trace configuration of a Microsoft.SignalRService resource. properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.LiveTraceCategory_STATUS + Live trace category configuration of a Microsoft.SignalRService resource. properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: type: string name: + type: string + type: object + type: array + enabled: + type: string + type: object + location: + type: string + name: + type: string + networkACLs: + description: |- + Storage version of v1api20240301.SignalRNetworkACLs_STATUS + Network ACLs for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + defaultAction: + type: string + ipRules: + items: + description: |- + Storage version of v1api20240301.IPRule_STATUS + An IP rule + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: type: string value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + privateEndpoints: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.PrivateEndpointACL_STATUS + ACL for a private endpoint properties: - key: + $propertyBag: + additionalProperties: + type: string description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. type: string - value: + type: object + type: array + publicNetwork: + description: |- + Storage version of v1api20240301.NetworkACL_STATUS + Network ACL + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allow: + items: + type: string + type: array + deny: + items: + type: string + type: array + type: object + type: object + privateEndpointConnections: + items: + description: |- + Storage version of v1api20240301.PrivateEndpointConnection_STATUS_SignalR_SubResourceEmbedded + A private endpoint connection to an azure resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: array + provisioningState: + type: string + publicNetworkAccess: + type: string + publicPort: + type: integer + regionEndpointEnabled: + type: string + resourceLogConfiguration: + description: |- + Storage version of v1api20240301.ResourceLogConfiguration_STATUS + Resource log configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + categories: + items: + description: |- + Storage version of v1api20240301.ResourceLogCategory_STATUS + Resource log category configuration of a Microsoft.SignalRService resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: string + name: type: string - required: - - name - - value type: object type: array type: object - owner: + resourceStopped: + type: string + serverPort: + type: integer + serverless: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + Storage version of v1api20240301.ServerlessSettings_STATUS + Serverless settings. properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionTimeoutInSeconds: + type: integer type: object - required: - - owner - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' + sharedPrivateLinkResources: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20240301.SharedPrivateLinkResource_STATUS_SignalR_SubResourceEmbedded + Describes a Shared Private Link Resource properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: + $propertyBag: + additionalProperties: + type: string description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - provisioningState: - description: 'ProvisioningState: The state of the outbound rule.' - type: string - type: - description: 'Type: Resource type.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20211101.ServersOutboundFirewallRule - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/OutboundFirewallRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/outboundFirewallRules/{outboundRuleFqdn} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20211101.ServersOutboundFirewallRule_Spec - properties: - $propertyBag: + sku: + description: |- + Storage version of v1api20240301.ResourceSku_STATUS + The billing information of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + capacity: + type: integer + family: + type: string + name: + type: string + size: + type: string + tier: + type: string + type: object + systemData: + description: |- + Storage version of v1api20240301.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object + tags: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - azureName: + tls: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + Storage version of v1api20240301.SignalRTlsSettings_STATUS + TLS settings for the resource + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientCertEnabled: + type: boolean + type: object + type: type: string - operatorSpec: + upstream: description: |- - Storage version of v1api20211101.ServersOutboundFirewallRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + Storage version of v1api20240301.ServerlessUpstreamSettings_STATUS + The settings for the Upstream when the service is in server-less mode. properties: $propertyBag: additionalProperties: @@ -304783,143 +392632,63 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: + templates: items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + Storage version of v1api20240301.UpstreamTemplate_STATUS + Upstream template item settings. It defines the Upstream URL of the incoming requests. + The template defines the pattern + of the event, the hub or the category of the incoming request that matches current URL template. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + auth: description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Storage version of v1api20240301.UpstreamAuthSettings_STATUS + Upstream auth settings. If not set, no auth is used for upstream messages. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + managedIdentity: + description: |- + Storage version of v1api20240301.ManagedIdentitySettings_STATUS + Managed identity settings for upstream. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + resource: + type: string + type: object + type: + type: string + type: object + categoryPattern: type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + eventPattern: type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + hubPattern: type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + urlTemplate: type: string - required: - - name - - value type: object type: array type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20211101.ServersOutboundFirewallRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - type: string - name: - type: string - provisioningState: - type: string - type: + version: type: string type: object type: object @@ -304933,11 +392702,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serverssecurityalertpolicies.sql.azure.com + app.kubernetes.io/version: v2.15.0 + name: sites.web.azure.com spec: conversion: strategy: Webhook @@ -304950,12 +392719,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: sql.azure.com + group: web.azure.com names: - kind: ServersSecurityAlertPolicy - listKind: ServersSecurityAlertPolicyList - plural: serverssecurityalertpolicies - singular: serverssecurityalertpolicy + categories: + - azure + - web + kind: Site + listKind: SiteList + plural: sites + singular: site preserveUnknownFields: false scope: Namespaced versions: @@ -304972,13 +392744,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101 + name: v1api20220301 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerSecurityAlertPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/Default + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name} properties: apiVersion: description: |- @@ -304999,21 +392771,272 @@ spec: type: object spec: properties: - disabledAlerts: + azureName: description: |- - DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force - items: - type: string - type: array - emailAccountAdmins: - description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffinityEnabled: + description: |- + ClientAffinityEnabled: true to enable client affinity; false to stop sending session affinity + cookies, which route client requests in the same session to the same instance. Default is true. type: boolean - emailAddresses: - description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' + clientCertEnabled: + description: |- + ClientCertEnabled: true to enable client certificate authentication (TLS mutual authentication); otherwise, + false. Default is false. + type: boolean + clientCertExclusionPaths: + description: 'ClientCertExclusionPaths: client certificate authentication comma-separated exclusion paths' + type: string + clientCertMode: + description: |- + ClientCertMode: This composes with ClientCertEnabled setting. + - ClientCertEnabled: false means ClientCert is ignored. + - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. + - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. + enum: + - Optional + - OptionalInteractiveUser + - Required + type: string + cloningInfo: + description: 'CloningInfo: If specified during app creation, the app is cloned from a source app.' + properties: + appSettingsOverrides: + additionalProperties: + type: string + description: |- + AppSettingsOverrides: Application setting overrides for cloned app. If specified, these settings override the settings + cloned + from source app. Otherwise, application settings from source app are retained. + type: object + cloneCustomHostNames: + description: 'CloneCustomHostNames: true to clone custom hostnames from source app; otherwise, false.' + type: boolean + cloneSourceControl: + description: 'CloneSourceControl: true to clone source control from source app; otherwise, false.' + type: boolean + configureLoadBalancing: + description: 'ConfigureLoadBalancing: true to configure load balancing for source and destination app.' + type: boolean + correlationId: + description: |- + CorrelationId: Correlation ID of cloning operation. This ID ties multiple cloning operations + together to use the same snapshot. + pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ + type: string + hostingEnvironment: + description: 'HostingEnvironment: App Service Environment.' + type: string + overwrite: + description: 'Overwrite: true to overwrite destination app; otherwise, false.' + type: boolean + sourceWebAppLocation: + description: 'SourceWebAppLocation: Location of source app ex: West US or North Europe' + type: string + sourceWebAppReference: + description: |- + SourceWebAppReference: ARM resource ID of the source app. App resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots + and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for + other slots. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + trafficManagerProfileName: + description: |- + TrafficManagerProfileName: Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile + does not already exist. + type: string + trafficManagerProfileReference: + description: |- + TrafficManagerProfileReference: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - sourceWebAppReference + type: object + containerSize: + description: 'ContainerSize: Size of the function container.' + type: integer + customDomainVerificationId: + description: |- + CustomDomainVerificationId: Unique identifier that verifies the custom domains assigned to the app. Customer will add + this id to a txt record for verification. + type: string + dailyMemoryTimeQuota: + description: 'DailyMemoryTimeQuota: Maximum allowed daily memory-time quota (applicable on dynamic apps only).' + type: integer + enabled: + description: |- + Enabled: true if the app is enabled; otherwise, false. Setting this value to false disables + the app (takes the app offline). + type: boolean + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: object + hostNameSslStates: + description: 'HostNameSslStates: Hostname SSL states are used to manage the SSL bindings for app''s hostnames.' items: - type: string + description: SSL-enabled hostname. + properties: + hostType: + description: 'HostType: Indicates whether the hostname is a standard or repository hostname.' + enum: + - Repository + - Standard + type: string + name: + description: 'Name: Hostname.' + type: string + sslState: + description: 'SslState: SSL type.' + enum: + - Disabled + - IpBasedEnabled + - SniEnabled + type: string + thumbprint: + description: 'Thumbprint: SSL certificate thumbprint.' + type: string + toUpdate: + description: 'ToUpdate: Set to true to update existing hostname.' + type: boolean + virtualIP: + description: 'VirtualIP: Virtual IP address assigned to the hostname if IP based SSL is enabled.' + type: string + type: object type: array + hostNamesDisabled: + description: |- + HostNamesDisabled: true to disable the public hostnames of the app; otherwise, false. + If true, the app is only accessible via API management process. + type: boolean + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: App Service Environment to use for the app.' + properties: + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + httpsOnly: + description: |- + HttpsOnly: HttpsOnly: configures a web site to accept only https requests. Issues redirect for + http requests + type: boolean + hyperV: + description: 'HyperV: Hyper-V sandbox.' + type: boolean + identity: + description: 'Identity: Managed service identity.' + properties: + type: + description: 'Type: Type of managed service identity.' + enum: + - None + - SystemAssigned + - SystemAssigned, UserAssigned + - UserAssigned + type: string + userAssignedIdentities: + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + items: + description: Information about the user assigned identity for the resource + properties: + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: array + type: object + isXenon: + description: 'IsXenon: Obsolete: Hyper-V sandbox.' + type: boolean + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + kind: + description: 'Kind: Kind of resource.' + type: string + location: + description: 'Location: Resource Location.' + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -305084,7 +393107,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource + reference to a resources.azure.com/ResourceGroup resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -305093,595 +393116,843 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' - type: integer - state: - description: |- - State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the - specific database. - enum: - - Disabled - - Enabled - type: string - storageAccountAccessKey: - description: 'StorageAccountAccessKey: Specifies the identifier key of the Threat Detection audit storage account.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageEndpoint: + publicNetworkAccess: description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage - will hold all Threat Detection audit logs. + PublicNetworkAccess: Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty + string. type: string - required: - - owner - - state - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationTime: - description: 'CreationTime: Specifies the UTC creation time of the policy.' + redundancyMode: + description: 'RedundancyMode: Site redundancy mode' + enum: + - ActiveActive + - Failover + - GeoRedundant + - Manual + - None type: string - disabledAlerts: - description: |- - DisabledAlerts: Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, - Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action, Brute_Force - items: - type: string - type: array - emailAccountAdmins: - description: 'EmailAccountAdmins: Specifies that the alert is sent to the account administrators.' + reserved: + description: 'Reserved: true if reserved; otherwise, false.' type: boolean - emailAddresses: - description: 'EmailAddresses: Specifies an array of e-mail addresses to which the alert is sent.' - items: - type: string - type: array - id: - description: 'Id: Resource ID.' - type: string - name: - description: 'Name: Resource name.' - type: string - retentionDays: - description: 'RetentionDays: Specifies the number of days to keep in the Threat Detection audit logs.' - type: integer - state: + scmSiteAlsoStopped: description: |- - State: Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the - specific database. - type: string - storageEndpoint: + ScmSiteAlsoStopped: true to stop SCM (KUDU) site when the app is stopped; otherwise, false. + The default is false. + type: boolean + serverFarmReference: description: |- - StorageEndpoint: Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage - will hold all Threat Detection audit logs. - type: string - systemData: - description: 'SystemData: SystemData of SecurityAlertPolicyResource.' + ServerFarmReference: Resource ID of the associated App Service plan, formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + group: + description: Group is the Kubernetes group of the resource. type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + name: + description: Name is the Kubernetes name of the resource. type: string type: object - type: - description: 'Type: Resource type.' - type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20211101.ServersSecurityAlertPolicy - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerSecurityAlertPolicies.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/securityAlertPolicies/Default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20211101.ServersSecurityAlertPolicy_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disabledAlerts: - items: - type: string - type: array - emailAccountAdmins: - type: boolean - emailAddresses: - items: - type: string - type: array - operatorSpec: - description: |- - Storage version of v1api20211101.ServersSecurityAlertPolicyOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + siteConfig: + description: 'SiteConfig: Configuration of the app.' properties: - $propertyBag: + acrUseManagedIdentityCreds: + description: 'AcrUseManagedIdentityCreds: Flag to use Managed Identity Creds for ACR pull' + type: boolean + acrUserManagedIdentityID: + description: 'AcrUserManagedIdentityID: If using user managed identity, the user managed identity ClientId' + type: string + alwaysOn: + description: 'AlwaysOn: true if Always On is enabled; otherwise, false.' + type: boolean + apiDefinition: + description: 'ApiDefinition: Information about the formal API definition for the app.' + properties: + url: + description: 'Url: The URL of the API definition.' + type: string + type: object + apiManagementConfig: + description: 'ApiManagementConfig: Azure API management settings linked to the app.' + properties: + reference: + description: 'Reference: APIM-Api Identifier.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + appCommandLine: + description: 'AppCommandLine: App command line to launch.' + type: string + appSettings: + description: 'AppSettings: Application settings.' + items: + description: Name value pair. + properties: + name: + description: 'Name: Pair name.' + type: string + value: + description: 'Value: Pair value.' + type: string + type: object + type: array + autoHealEnabled: + description: 'AutoHealEnabled: true if Auto Heal is enabled; otherwise, false.' + type: boolean + autoHealRules: + description: 'AutoHealRules: Auto Heal rules.' + properties: + actions: + description: 'Actions: Actions to be executed when a rule is triggered.' + properties: + actionType: + description: 'ActionType: Predefined action to be taken.' + enum: + - CustomAction + - LogEvent + - Recycle + type: string + customAction: + description: 'CustomAction: Custom action to be taken.' + properties: + exe: + description: 'Exe: Executable to be run.' + type: string + parameters: + description: 'Parameters: Parameters for the executable.' + type: string + type: object + minProcessExecutionTime: + description: |- + MinProcessExecutionTime: Minimum time the process must execute + before taking the action + type: string + type: object + triggers: + description: 'Triggers: Conditions that describe when to execute the auto-heal actions.' + properties: + privateBytesInKB: + description: 'PrivateBytesInKB: A rule based on private bytes.' + type: integer + requests: + description: 'Requests: A rule based on total requests.' + properties: + count: + description: 'Count: Request Count.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + slowRequests: + description: 'SlowRequests: A rule based on request execution time.' + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + slowRequestsWithPath: + description: 'SlowRequestsWithPath: A rule based on multiple Slow Requests Rule with path' + items: + description: Trigger based on request execution time. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + type: array + statusCodes: + description: 'StatusCodes: A rule based on status codes.' + items: + description: Trigger based on status code. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path' + type: string + status: + description: 'Status: HTTP status code.' + type: integer + subStatus: + description: 'SubStatus: Request Sub Status.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + win32Status: + description: 'Win32Status: Win32 error code.' + type: integer + type: object + type: array + statusCodesRange: + description: 'StatusCodesRange: A rule based on status codes ranges.' + items: + description: Trigger based on range of status codes. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + type: string + statusCodes: + description: 'StatusCodes: HTTP status code.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + description: 'AutoSwapSlotName: Auto-swap slot name.' + type: string + azureStorageAccounts: additionalProperties: + description: Azure Files or Blob Storage access information value for dictionary storage. + properties: + accessKey: + description: 'AccessKey: Access key for the storage account.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + accountName: + description: 'AccountName: Name of the storage account.' + type: string + mountPath: + description: 'MountPath: Path to mount the storage within the site''s runtime environment.' + type: string + shareName: + description: 'ShareName: Name of the file share (container name, for Blob storage).' + type: string + type: + description: 'Type: Type of storage.' + enum: + - AzureBlob + - AzureFiles + type: string + type: object + description: 'AzureStorageAccounts: List of Azure Storage Accounts.' + type: object + connectionStrings: + description: 'ConnectionStrings: Connection strings.' + items: + description: Database connection string information. + properties: + connectionString: + description: 'ConnectionString: Connection string value.' + type: string + name: + description: 'Name: Name of connection string.' + type: string + type: + description: 'Type: Type of database.' + enum: + - ApiHub + - Custom + - DocDb + - EventHub + - MySql + - NotificationHub + - PostgreSQL + - RedisCache + - SQLAzure + - SQLServer + - ServiceBus + type: string + type: object + type: array + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + items: + type: string + type: array + supportCredentials: + description: |- + SupportCredentials: Gets or sets whether CORS requests with credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + type: boolean + type: object + defaultDocuments: + description: 'DefaultDocuments: Default documents.' + items: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: array + detailedErrorLoggingEnabled: + description: 'DetailedErrorLoggingEnabled: true if detailed error logging is enabled; otherwise, false.' + type: boolean + documentRoot: + description: 'DocumentRoot: Document root.' + type: string + experiments: + description: 'Experiments: This is work around for polymorphic types.' + properties: + rampUpRules: + description: 'RampUpRules: List of ramp-up rules.' + items: + description: |- + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + actionHostName: + description: |- + ActionHostName: Hostname of a slot to which the traffic will be redirected if decided to. E.g. + myapp-stage.azurewebsites.net. + type: string + changeDecisionCallbackUrl: + description: |- + ChangeDecisionCallbackUrl: Custom decision algorithm can be provided in TiPCallback site extension which URL can be + specified. + type: string + changeIntervalInMinutes: + description: 'ChangeIntervalInMinutes: Specifies interval in minutes to reevaluate ReroutePercentage.' + type: integer + changeStep: + description: |- + ChangeStep: In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches + \nMinReroutePercentage or + MaxReroutePercentage. Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes.\nCustom decision algorithm + can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. + type: number + maxReroutePercentage: + description: 'MaxReroutePercentage: Specifies upper boundary below which ReroutePercentage will stay.' + type: number + minReroutePercentage: + description: 'MinReroutePercentage: Specifies lower boundary above which ReroutePercentage will stay.' + type: number + name: + description: |- + Name: Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the + experiment. + type: string + reroutePercentage: + description: 'ReroutePercentage: Percentage of the traffic which will be redirected to ActionHostName.' + type: number + type: object + type: array type: object - configMapExpressions: + ftpsState: + description: 'FtpsState: State of FTP / FTPS service' + enum: + - AllAllowed + - Disabled + - FtpsOnly + type: string + functionAppScaleLimit: + description: |- + FunctionAppScaleLimit: Maximum number of workers that a site can scale out to. + This setting only applies to the Consumption and Elastic Premium Plans + minimum: 0 + type: integer + functionsRuntimeScaleMonitoringEnabled: + description: |- + FunctionsRuntimeScaleMonitoringEnabled: Gets or sets a value indicating whether functions runtime scale monitoring is + enabled. When enabled, + the ScaleController will not monitor event sources directly, but will instead call to the + runtime to get scale status. + type: boolean + handlerMappings: + description: 'HandlerMappings: Handler mappings.' items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + arguments: + description: 'Arguments: Command-line arguments to be passed to the script processor.' type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + extension: + description: 'Extension: Requests with this extension will be handled using the specified FastCGI application.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + scriptProcessor: + description: 'ScriptProcessor: The absolute path to the FastCGI application.' type: string - required: - - name - - value type: object type: array - secretExpressions: + healthCheckPath: + description: 'HealthCheckPath: Health check path' + type: string + http20Enabled: + description: 'Http20Enabled: Http20Enabled: configures a web site to allow clients to connect over http2.0' + type: boolean + httpLoggingEnabled: + description: 'HttpLoggingEnabled: true if HTTP logging is enabled; otherwise, false.' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: IP security restrictions for main.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: IP security restriction on an app. properties: - key: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: IP restriction rule name.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' type: string - required: - - name - - value + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + enum: + - Default + - ServiceTag + - XffProxy + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer type: object type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + javaContainer: + description: 'JavaContainer: Java container.' type: string - name: - description: This is the name of the Kubernetes resource to reference. + javaContainerVersion: + description: 'JavaContainerVersion: Java container version.' type: string - type: object - retentionDays: - type: integer - state: - type: string - storageAccountAccessKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + javaVersion: + description: 'JavaVersion: Java version.' type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' type: string - required: - - key - - name - type: object - storageEndpoint: - type: string - required: - - owner - type: object - status: - description: Storage version of v1api20211101.ServersSecurityAlertPolicy_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conditions: - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - creationTime: - type: string - disabledAlerts: - items: - type: string - type: array - emailAccountAdmins: - type: boolean - emailAddresses: - items: - type: string - type: array - id: - type: string - name: - type: string - retentionDays: - type: integer - state: - type: string - storageEndpoint: - type: string - systemData: - description: |- - Storage version of v1api20211101.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + limits: + description: 'Limits: Site limits.' + properties: + maxDiskSizeInMb: + description: 'MaxDiskSizeInMb: Maximum allowed disk size usage in MB.' + type: integer + maxMemoryInMb: + description: 'MaxMemoryInMb: Maximum allowed memory usage in MB.' + type: integer + maxPercentageCpu: + description: 'MaxPercentageCpu: Maximum allowed CPU usage percentage.' + type: number type: object - createdAt: + linuxFxVersion: + description: 'LinuxFxVersion: Linux App Framework and version' type: string - createdBy: + loadBalancing: + description: 'LoadBalancing: Site load balancing.' + enum: + - LeastRequests + - LeastResponseTime + - PerSiteRoundRobin + - RequestHash + - WeightedRoundRobin + - WeightedTotalTraffic type: string - createdByType: + localMySqlEnabled: + description: 'LocalMySqlEnabled: true to enable local MySQL; otherwise, false.' + type: boolean + logsDirectorySizeLimit: + description: 'LogsDirectorySizeLimit: HTTP logs directory size limit.' + type: integer + managedPipelineMode: + description: 'ManagedPipelineMode: Managed pipeline mode.' + enum: + - Classic + - Integrated type: string - lastModifiedAt: + managedServiceIdentityId: + description: 'ManagedServiceIdentityId: Managed Service Identity Id' + type: integer + minTlsVersion: + description: 'MinTlsVersion: MinTlsVersion: configures the minimum version of TLS required for SSL requests' + enum: + - "1.0" + - "1.1" + - "1.2" type: string - lastModifiedBy: + minimumElasticInstanceCount: + description: |- + MinimumElasticInstanceCount: Number of minimum instance count for a site + This setting only applies to the Elastic Plans + maximum: 20 + minimum: 0 + type: integer + netFrameworkVersion: + description: 'NetFrameworkVersion: .NET Framework version.' type: string - lastModifiedByType: + nodeVersion: + description: 'NodeVersion: Version of Node.js.' type: string - type: object - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversvirtualnetworkrules.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersVirtualNetworkRule - listKind: ServersVirtualNetworkRuleList - plural: serversvirtualnetworkrules - singular: serversvirtualnetworkrule - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/VirtualNetworkRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - ignoreMissingVnetServiceEndpoint: - description: 'IgnoreMissingVnetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' - type: boolean - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + numberOfWorkers: + description: 'NumberOfWorkers: Number of workers.' + type: integer + phpVersion: + description: 'PhpVersion: Version of PHP.' + type: string + powerShellVersion: + description: 'PowerShellVersion: Version of PowerShell.' + type: string + preWarmedInstanceCount: + description: |- + PreWarmedInstanceCount: Number of preWarmed instances. + This setting only applies to the Consumption and Elastic Plans + maximum: 10 + minimum: 0 + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: Property to allow or block all public traffic.' + type: string + publishingUsername: + description: 'PublishingUsername: Publishing user name.' + type: string + push: + description: 'Push: Push endpoint settings.' + properties: + dynamicTagsJson: + description: |- + DynamicTagsJson: Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in + the push registration endpoint. + type: string + isPushEnabled: + description: 'IsPushEnabled: Gets or sets a flag indicating whether the Push endpoint is enabled.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + tagWhitelistJson: + description: |- + TagWhitelistJson: Gets or sets a JSON string containing a list of tags that are in the allowed list for use by the push + registration endpoint. + type: string + tagsRequiringAuth: + description: |- + TagsRequiringAuth: Gets or sets a JSON string containing a list of tags that require user authentication to be used in + the push registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + type: string + required: + - isPushEnabled + type: object + pythonVersion: + description: 'PythonVersion: Version of Python.' + type: string + remoteDebuggingEnabled: + description: 'RemoteDebuggingEnabled: true if remote debugging is enabled; otherwise, false.' + type: boolean + remoteDebuggingVersion: + description: 'RemoteDebuggingVersion: Remote debugging version.' + type: string + requestTracingEnabled: + description: 'RequestTracingEnabled: true if request tracing is enabled; otherwise, false.' + type: boolean + requestTracingExpirationTime: + description: 'RequestTracingExpirationTime: Request tracing expiration time.' + type: string + scmIpSecurityRestrictions: + description: 'ScmIpSecurityRestrictions: IP security restrictions for scm.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: IP security restriction on an app. properties: - key: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: IP restriction rule name.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' type: string - required: - - name - - value + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + enum: + - Default + - ServiceTag + - XffProxy + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + scmIpSecurityRestrictionsUseMain: + description: 'ScmIpSecurityRestrictionsUseMain: IP security restrictions for scm to use main.' + type: boolean + scmMinTlsVersion: + description: 'ScmMinTlsVersion: ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site' + enum: + - "1.0" + - "1.1" + - "1.2" + type: string + scmType: + description: 'ScmType: SCM type.' + enum: + - BitbucketGit + - BitbucketHg + - CodePlexGit + - CodePlexHg + - Dropbox + - ExternalGit + - ExternalHg + - GitHub + - LocalGit + - None + - OneDrive + - Tfs + - VSO + - VSTSRM + type: string + tracingOptions: + description: 'TracingOptions: Tracing options.' + type: string + use32BitWorkerProcess: + description: 'Use32BitWorkerProcess: true to use 32-bit worker process; otherwise, false.' + type: boolean + virtualApplications: + description: 'VirtualApplications: Virtual applications.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Virtual application in an app. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + physicalPath: + description: 'PhysicalPath: Physical path.' type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + preloadEnabled: + description: 'PreloadEnabled: true if preloading is enabled; otherwise, false.' + type: boolean + virtualDirectories: + description: 'VirtualDirectories: Virtual directories for virtual application.' + items: + description: Directory for virtual application. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + virtualPath: + description: 'VirtualPath: Path to virtual application.' + type: string + type: object + type: array + virtualPath: + description: 'VirtualPath: Virtual path.' type: string - required: - - name - - value type: object type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + vnetName: + description: 'VnetName: Virtual Network name.' type: string - name: - description: This is the name of the Kubernetes resource to reference. + vnetPrivatePortsCount: + description: 'VnetPrivatePortsCount: The number of private ports assigned to this app. These will be assigned dynamically on runtime.' + type: integer + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean + webSocketsEnabled: + description: 'WebSocketsEnabled: true if WebSocket is enabled; otherwise, false.' + type: boolean + websiteTimeZone: + description: |- + WebsiteTimeZone: Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App + Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database + values https://www.iana.org/time-zones (for a quick reference see + https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under + HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones type: string + windowsFxVersion: + description: 'WindowsFxVersion: Xenon App Framework and version' + type: string + xManagedServiceIdentityId: + description: 'XManagedServiceIdentityId: Explicit Managed Service Identity Id' + type: integer + type: object + storageAccountRequired: + description: 'StorageAccountRequired: Checks if Customer provided storage account is required' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object virtualNetworkSubnetReference: - description: 'VirtualNetworkSubnetReference: The ARM resource id of the virtual network subnet.' + description: |- + VirtualNetworkSubnetReference: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET + Integration. + This must be of the form + /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} properties: armId: description: |- @@ -305700,257 +393971,103 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + vnetContentShareEnabled: + description: 'VnetContentShareEnabled: To enable accessing content over virtual network' + type: boolean + vnetImagePullEnabled: + description: 'VnetImagePullEnabled: To enable pulling image over Virtual Network' + type: boolean + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean required: + - location - owner - - virtualNetworkSubnetReference type: object status: + description: A web app, a mobile app backend, or an API app. properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: 'Id: Resource ID.' - type: string - ignoreMissingVnetServiceEndpoint: - description: 'IgnoreMissingVnetServiceEndpoint: Create firewall rule before the virtual network has vnet service endpoint enabled.' - type: boolean - name: - description: 'Name: Resource name.' - type: string - state: - description: 'State: Virtual Network Rule State' - type: string - type: - description: 'Type: Resource type.' - type: string - virtualNetworkSubnetId: - description: 'VirtualNetworkSubnetId: The ARM resource id of the virtual network subnet.' + availabilityState: + description: 'AvailabilityState: Management information availability state for the app.' type: string - type: object - type: object - served: true - storage: false - subresources: - status: {} - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101storage - schema: - openAPIV3Schema: - description: |- - Storage version of v1api20211101.ServersVirtualNetworkRule - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/VirtualNetworkRules.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: Storage version of v1api20211101.ServersVirtualNetworkRule_Spec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - azureName: + clientAffinityEnabled: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - ignoreMissingVnetServiceEndpoint: + ClientAffinityEnabled: true to enable client affinity; false to stop sending session affinity + cookies, which route client requests in the same session to the same instance. Default is true. type: boolean - operatorSpec: + clientCertEnabled: description: |- - Storage version of v1api20211101.ServersVirtualNetworkRuleOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: + ClientCertEnabled: true to enable client certificate authentication (TLS mutual authentication); otherwise, + false. Default is false. + type: boolean + clientCertExclusionPaths: + description: 'ClientCertExclusionPaths: client certificate authentication comma-separated exclusion paths' type: string - owner: + clientCertMode: description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + ClientCertMode: This composes with ClientCertEnabled setting. + - ClientCertEnabled: false means ClientCert is ignored. + - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. + - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. + type: string + cloningInfo: + description: 'CloningInfo: If specified during app creation, the app is cloned from a source app.' + properties: + appSettingsOverrides: + additionalProperties: + type: string + description: |- + AppSettingsOverrides: Application setting overrides for cloned app. If specified, these settings override the settings + cloned + from source app. Otherwise, application settings from source app are retained. + type: object + cloneCustomHostNames: + description: 'CloneCustomHostNames: true to clone custom hostnames from source app; otherwise, false.' + type: boolean + cloneSourceControl: + description: 'CloneSourceControl: true to clone source control from source app; otherwise, false.' + type: boolean + configureLoadBalancing: + description: 'ConfigureLoadBalancing: true to configure load balancing for source and destination app.' + type: boolean + correlationId: + description: |- + CorrelationId: Correlation ID of cloning operation. This ID ties multiple cloning operations + together to use the same snapshot. type: string - name: - description: This is the name of the Kubernetes resource to reference. + hostingEnvironment: + description: 'HostingEnvironment: App Service Environment.' type: string - type: object - virtualNetworkSubnetReference: - description: 'VirtualNetworkSubnetReference: The ARM resource id of the virtual network subnet.' - properties: - armId: + overwrite: + description: 'Overwrite: true to overwrite destination app; otherwise, false.' + type: boolean + sourceWebAppId: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + SourceWebAppId: ARM resource ID of the source app. App resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots + and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for + other slots. type: string - group: - description: Group is the Kubernetes group of the resource. + sourceWebAppLocation: + description: 'SourceWebAppLocation: Location of source app ex: West US or North Europe' type: string - kind: - description: Kind is the Kubernetes kind of the resource. + trafficManagerProfileId: + description: |- + TrafficManagerProfileId: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource + ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. type: string - name: - description: Name is the Kubernetes name of the resource. + trafficManagerProfileName: + description: |- + TrafficManagerProfileName: Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile + does not already exist. type: string type: object - required: - - owner - - virtualNetworkSubnetReference - type: object - status: - description: Storage version of v1api20211101.ServersVirtualNetworkRule_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -305993,330 +394110,925 @@ spec: - type type: object type: array + containerSize: + description: 'ContainerSize: Size of the function container.' + type: integer + customDomainVerificationId: + description: |- + CustomDomainVerificationId: Unique identifier that verifies the custom domains assigned to the app. Customer will add + this id to a txt record for verification. + type: string + dailyMemoryTimeQuota: + description: 'DailyMemoryTimeQuota: Maximum allowed daily memory-time quota (applicable on dynamic apps only).' + type: integer + defaultHostName: + description: 'DefaultHostName: Default hostname of the app. Read-only.' + type: string + enabled: + description: |- + Enabled: true if the app is enabled; otherwise, false. Setting this value to false disables + the app (takes the app offline). + type: boolean + enabledHostNames: + description: |- + EnabledHostNames: Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, + the app is not served on those hostnames. + items: + type: string + type: array + extendedLocation: + description: 'ExtendedLocation: Extended Location.' + properties: + name: + description: 'Name: Name of extended location.' + type: string + type: + description: 'Type: Type of extended location.' + type: string + type: object + hostNameSslStates: + description: 'HostNameSslStates: Hostname SSL states are used to manage the SSL bindings for app''s hostnames.' + items: + description: SSL-enabled hostname. + properties: + hostType: + description: 'HostType: Indicates whether the hostname is a standard or repository hostname.' + type: string + name: + description: 'Name: Hostname.' + type: string + sslState: + description: 'SslState: SSL type.' + type: string + thumbprint: + description: 'Thumbprint: SSL certificate thumbprint.' + type: string + toUpdate: + description: 'ToUpdate: Set to true to update existing hostname.' + type: boolean + virtualIP: + description: 'VirtualIP: Virtual IP address assigned to the hostname if IP based SSL is enabled.' + type: string + type: object + type: array + hostNames: + description: 'HostNames: Hostnames associated with the app.' + items: + type: string + type: array + hostNamesDisabled: + description: |- + HostNamesDisabled: true to disable the public hostnames of the app; otherwise, false. + If true, the app is only accessible via API management process. + type: boolean + hostingEnvironmentProfile: + description: 'HostingEnvironmentProfile: App Service Environment to use for the app.' + properties: + id: + description: 'Id: Resource ID of the App Service Environment.' + type: string + name: + description: 'Name: Name of the App Service Environment.' + type: string + type: + description: 'Type: Resource type of the App Service Environment.' + type: string + type: object + httpsOnly: + description: |- + HttpsOnly: HttpsOnly: configures a web site to accept only https requests. Issues redirect for + http requests + type: boolean + hyperV: + description: 'HyperV: Hyper-V sandbox.' + type: boolean id: + description: 'Id: Resource Id.' type: string - ignoreMissingVnetServiceEndpoint: + identity: + description: 'Identity: Managed service identity.' + properties: + principalId: + description: 'PrincipalId: Principal Id of managed service identity.' + type: string + tenantId: + description: 'TenantId: Tenant of managed service identity.' + type: string + type: + description: 'Type: Type of managed service identity.' + type: string + userAssignedIdentities: + additionalProperties: + description: User Assigned identity. + properties: + clientId: + description: 'ClientId: Client Id of user assigned identity' + type: string + principalId: + description: 'PrincipalId: Principal Id of user assigned identity' + type: string + type: object + description: |- + UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary + key references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + type: object + type: object + inProgressOperationId: + description: 'InProgressOperationId: Specifies an operation id if this site has a pending operation.' + type: string + isDefaultContainer: + description: 'IsDefaultContainer: true if the app is a default container; otherwise, false.' type: boolean + isXenon: + description: 'IsXenon: Obsolete: Hyper-V sandbox.' + type: boolean + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + kind: + description: 'Kind: Kind of resource.' + type: string + lastModifiedTimeUtc: + description: 'LastModifiedTimeUtc: Last time the app was modified, in UTC. Read-only.' + type: string + location: + description: 'Location: Resource Location.' + type: string + maxNumberOfWorkers: + description: |- + MaxNumberOfWorkers: Maximum number of workers. + This only applies to Functions container. + type: integer name: + description: 'Name: Resource Name.' type: string - state: + outboundIpAddresses: + description: |- + OutboundIpAddresses: List of IP addresses that the app uses for outbound connections (e.g. database access). Includes + VIPs from tenants that site can be hosted with current settings. Read-only. type: string - type: + possibleOutboundIpAddresses: + description: |- + PossibleOutboundIpAddresses: List of IP addresses that the app uses for outbound connections (e.g. database access). + Includes VIPs from all tenants except dataComponent. Read-only. type: string - virtualNetworkSubnetId: + publicNetworkAccess: + description: |- + PublicNetworkAccess: Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty + string. type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: serversvulnerabilityassessments.sql.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: sql.azure.com - names: - kind: ServersVulnerabilityAssessment - listKind: ServersVulnerabilityAssessmentList - plural: serversvulnerabilityassessments - singular: serversvulnerabilityassessment - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20211101 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerVulnerabilityAssessments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/default - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - operatorSpec: + redundancyMode: + description: 'RedundancyMode: Site redundancy mode' + type: string + repositorySiteName: + description: 'RepositorySiteName: Name of the repository site.' + type: string + reserved: + description: 'Reserved: true if reserved; otherwise, false.' + type: boolean + resourceGroup: + description: 'ResourceGroup: Name of the resource group the app belongs to. Read-only.' + type: string + scmSiteAlsoStopped: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + ScmSiteAlsoStopped: true to stop SCM (KUDU) site when the app is stopped; otherwise, false. + The default is false. + type: boolean + serverFarmId: + description: |- + ServerFarmId: Resource ID of the associated App Service plan, formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + type: string + siteConfig: + description: 'SiteConfig: Configuration of the app.' properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + acrUseManagedIdentityCreds: + description: 'AcrUseManagedIdentityCreds: Flag to use Managed Identity Creds for ACR pull' + type: boolean + acrUserManagedIdentityID: + description: 'AcrUserManagedIdentityID: If using user managed identity, the user managed identity ClientId' + type: string + alwaysOn: + description: 'AlwaysOn: true if Always On is enabled; otherwise, false.' + type: boolean + apiDefinition: + description: 'ApiDefinition: Information about the formal API definition for the app.' + properties: + url: + description: 'Url: The URL of the API definition.' + type: string + type: object + apiManagementConfig: + description: 'ApiManagementConfig: Azure API management settings linked to the app.' + properties: + id: + description: 'Id: APIM-Api Identifier.' + type: string + type: object + appCommandLine: + description: 'AppCommandLine: App command line to launch.' + type: string + appSettings: + description: 'AppSettings: Application settings.' items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + description: Name value pair. properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: Pair name.' type: string value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + description: 'Value: Pair value.' type: string - required: - - name - - value type: object type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + autoHealEnabled: + description: 'AutoHealEnabled: true if Auto Heal is enabled; otherwise, false.' + type: boolean + autoHealRules: + description: 'AutoHealRules: Auto Heal rules.' + properties: + actions: + description: 'Actions: Actions to be executed when a rule is triggered.' + properties: + actionType: + description: 'ActionType: Predefined action to be taken.' + type: string + customAction: + description: 'CustomAction: Custom action to be taken.' + properties: + exe: + description: 'Exe: Executable to be run.' + type: string + parameters: + description: 'Parameters: Parameters for the executable.' + type: string + type: object + minProcessExecutionTime: + description: |- + MinProcessExecutionTime: Minimum time the process must execute + before taking the action + type: string + type: object + triggers: + description: 'Triggers: Conditions that describe when to execute the auto-heal actions.' + properties: + privateBytesInKB: + description: 'PrivateBytesInKB: A rule based on private bytes.' + type: integer + requests: + description: 'Requests: A rule based on total requests.' + properties: + count: + description: 'Count: Request Count.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + slowRequests: + description: 'SlowRequests: A rule based on request execution time.' + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + slowRequestsWithPath: + description: 'SlowRequestsWithPath: A rule based on multiple Slow Requests Rule with path' + items: + description: Trigger based on request execution time. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + timeTaken: + description: 'TimeTaken: Time taken.' + type: string + type: object + type: array + statusCodes: + description: 'StatusCodes: A rule based on status codes.' + items: + description: Trigger based on status code. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + description: 'Path: Request Path' + type: string + status: + description: 'Status: HTTP status code.' + type: integer + subStatus: + description: 'SubStatus: Request Sub Status.' + type: integer + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + win32Status: + description: 'Win32Status: Win32 error code.' + type: integer + type: object + type: array + statusCodesRange: + description: 'StatusCodesRange: A rule based on status codes ranges.' + items: + description: Trigger based on range of status codes. + properties: + count: + description: 'Count: Request Count.' + type: integer + path: + type: string + statusCodes: + description: 'StatusCodes: HTTP status code.' + type: string + timeInterval: + description: 'TimeInterval: Time interval.' + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + description: 'AutoSwapSlotName: Auto-swap slot name.' + type: string + azureStorageAccounts: + additionalProperties: + description: Azure Files or Blob Storage access information value for dictionary storage. + properties: + accountName: + description: 'AccountName: Name of the storage account.' + type: string + mountPath: + description: 'MountPath: Path to mount the storage within the site''s runtime environment.' + type: string + shareName: + description: 'ShareName: Name of the file share (container name, for Blob storage).' + type: string + state: + description: 'State: State of the storage account.' + type: string + type: + description: 'Type: Type of storage.' + type: string + type: object + description: 'AzureStorageAccounts: List of Azure Storage Accounts.' + type: object + connectionStrings: + description: 'ConnectionStrings: Connection strings.' + items: + description: Database connection string information. + properties: + connectionString: + description: 'ConnectionString: Connection string value.' + type: string + name: + description: 'Name: Name of connection string.' + type: string + type: + description: 'Type: Type of database.' + type: string + type: object + type: array + cors: + description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + properties: + allowedOrigins: + description: |- + AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin + calls (for example: http://example.com:12345). Use "*" to allow all. + items: + type: string + type: array + supportCredentials: + description: |- + SupportCredentials: Gets or sets whether CORS requests with credentials are allowed. See + https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + for more details. + type: boolean + type: object + defaultDocuments: + description: 'DefaultDocuments: Default documents.' + items: + type: string + type: array + detailedErrorLoggingEnabled: + description: 'DetailedErrorLoggingEnabled: true if detailed error logging is enabled; otherwise, false.' + type: boolean + documentRoot: + description: 'DocumentRoot: Document root.' + type: string + experiments: + description: 'Experiments: This is work around for polymorphic types.' + properties: + rampUpRules: + description: 'RampUpRules: List of ramp-up rules.' + items: + description: |- + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + actionHostName: + description: |- + ActionHostName: Hostname of a slot to which the traffic will be redirected if decided to. E.g. + myapp-stage.azurewebsites.net. + type: string + changeDecisionCallbackUrl: + description: |- + ChangeDecisionCallbackUrl: Custom decision algorithm can be provided in TiPCallback site extension which URL can be + specified. + type: string + changeIntervalInMinutes: + description: 'ChangeIntervalInMinutes: Specifies interval in minutes to reevaluate ReroutePercentage.' + type: integer + changeStep: + description: |- + ChangeStep: In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches + \nMinReroutePercentage or + MaxReroutePercentage. Site metrics are checked every N minutes specified in + ChangeIntervalInMinutes.\nCustom decision algorithm + can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. + type: number + maxReroutePercentage: + description: 'MaxReroutePercentage: Specifies upper boundary below which ReroutePercentage will stay.' + type: number + minReroutePercentage: + description: 'MinReroutePercentage: Specifies lower boundary above which ReroutePercentage will stay.' + type: number + name: + description: |- + Name: Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the + experiment. + type: string + reroutePercentage: + description: 'ReroutePercentage: Percentage of the traffic which will be redirected to ActionHostName.' + type: number + type: object + type: array + type: object + ftpsState: + description: 'FtpsState: State of FTP / FTPS service' + type: string + functionAppScaleLimit: + description: |- + FunctionAppScaleLimit: Maximum number of workers that a site can scale out to. + This setting only applies to the Consumption and Elastic Premium Plans + type: integer + functionsRuntimeScaleMonitoringEnabled: + description: |- + FunctionsRuntimeScaleMonitoringEnabled: Gets or sets a value indicating whether functions runtime scale monitoring is + enabled. When enabled, + the ScaleController will not monitor event sources directly, but will instead call to the + runtime to get scale status. + type: boolean + handlerMappings: + description: 'HandlerMappings: Handler mappings.' items: description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. properties: - key: + arguments: + description: 'Arguments: Command-line arguments to be passed to the script processor.' + type: string + extension: + description: 'Extension: Requests with this extension will be handled using the specified FastCGI application.' + type: string + scriptProcessor: + description: 'ScriptProcessor: The absolute path to the FastCGI application.' + type: string + type: object + type: array + healthCheckPath: + description: 'HealthCheckPath: Health check path' + type: string + http20Enabled: + description: 'Http20Enabled: Http20Enabled: configures a web site to allow clients to connect over http2.0' + type: boolean + httpLoggingEnabled: + description: 'HttpLoggingEnabled: true if HTTP logging is enabled; otherwise, false.' + type: boolean + ipSecurityRestrictions: + description: 'IpSecurityRestrictions: IP security restrictions for main.' + items: + description: IP security restriction on an app. + properties: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. type: string name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. + description: 'Name: IP restriction rule name.' type: string - value: + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' + type: string + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + type: string + vnetSubnetResourceId: + description: 'VnetSubnetResourceId: Virtual network resource id' + type: string + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer + type: object + type: array + javaContainer: + description: 'JavaContainer: Java container.' + type: string + javaContainerVersion: + description: 'JavaContainerVersion: Java container version.' + type: string + javaVersion: + description: 'JavaVersion: Java version.' + type: string + keyVaultReferenceIdentity: + description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + type: string + limits: + description: 'Limits: Site limits.' + properties: + maxDiskSizeInMb: + description: 'MaxDiskSizeInMb: Maximum allowed disk size usage in MB.' + type: integer + maxMemoryInMb: + description: 'MaxMemoryInMb: Maximum allowed memory usage in MB.' + type: integer + maxPercentageCpu: + description: 'MaxPercentageCpu: Maximum allowed CPU usage percentage.' + type: number + type: object + linuxFxVersion: + description: 'LinuxFxVersion: Linux App Framework and version' + type: string + loadBalancing: + description: 'LoadBalancing: Site load balancing.' + type: string + localMySqlEnabled: + description: 'LocalMySqlEnabled: true to enable local MySQL; otherwise, false.' + type: boolean + logsDirectorySizeLimit: + description: 'LogsDirectorySizeLimit: HTTP logs directory size limit.' + type: integer + machineKey: + description: 'MachineKey: Site MachineKey.' + properties: + decryption: + description: 'Decryption: Algorithm used for decryption.' + type: string + decryptionKey: + description: 'DecryptionKey: Decryption key.' + type: string + validation: + description: 'Validation: MachineKey validation.' + type: string + validationKey: + description: 'ValidationKey: Validation key.' + type: string + type: object + managedPipelineMode: + description: 'ManagedPipelineMode: Managed pipeline mode.' + type: string + managedServiceIdentityId: + description: 'ManagedServiceIdentityId: Managed Service Identity Id' + type: integer + minTlsVersion: + description: 'MinTlsVersion: MinTlsVersion: configures the minimum version of TLS required for SSL requests' + type: string + minimumElasticInstanceCount: + description: |- + MinimumElasticInstanceCount: Number of minimum instance count for a site + This setting only applies to the Elastic Plans + type: integer + netFrameworkVersion: + description: 'NetFrameworkVersion: .NET Framework version.' + type: string + nodeVersion: + description: 'NodeVersion: Version of Node.js.' + type: string + numberOfWorkers: + description: 'NumberOfWorkers: Number of workers.' + type: integer + phpVersion: + description: 'PhpVersion: Version of PHP.' + type: string + powerShellVersion: + description: 'PowerShellVersion: Version of PowerShell.' + type: string + preWarmedInstanceCount: + description: |- + PreWarmedInstanceCount: Number of preWarmed instances. + This setting only applies to the Consumption and Elastic Plans + type: integer + publicNetworkAccess: + description: 'PublicNetworkAccess: Property to allow or block all public traffic.' + type: string + publishingUsername: + description: 'PublishingUsername: Publishing user name.' + type: string + push: + description: 'Push: Push endpoint settings.' + properties: + dynamicTagsJson: + description: |- + DynamicTagsJson: Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in + the push registration endpoint. + type: string + id: + description: 'Id: Resource Id.' + type: string + isPushEnabled: + description: 'IsPushEnabled: Gets or sets a flag indicating whether the Push endpoint is enabled.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + name: + description: 'Name: Resource Name.' + type: string + tagWhitelistJson: + description: |- + TagWhitelistJson: Gets or sets a JSON string containing a list of tags that are in the allowed list for use by the push + registration endpoint. + type: string + tagsRequiringAuth: + description: |- + TagsRequiringAuth: Gets or sets a JSON string containing a list of tags that require user authentication to be used in + the push registration endpoint. + Tags can consist of alphanumeric characters and the following: + '_', '@', '#', '.', ':', '-'. + Validation should be performed at the PushRequestHandler. + type: string + type: + description: 'Type: Resource type.' + type: string + type: object + pythonVersion: + description: 'PythonVersion: Version of Python.' + type: string + remoteDebuggingEnabled: + description: 'RemoteDebuggingEnabled: true if remote debugging is enabled; otherwise, false.' + type: boolean + remoteDebuggingVersion: + description: 'RemoteDebuggingVersion: Remote debugging version.' + type: string + requestTracingEnabled: + description: 'RequestTracingEnabled: true if request tracing is enabled; otherwise, false.' + type: boolean + requestTracingExpirationTime: + description: 'RequestTracingExpirationTime: Request tracing expiration time.' + type: string + scmIpSecurityRestrictions: + description: 'ScmIpSecurityRestrictions: IP security restrictions for scm.' + items: + description: IP security restriction on an app. + properties: + action: + description: 'Action: Allow or Deny access for this IP range.' + type: string + description: + description: 'Description: IP restriction rule description.' + type: string + headers: + additionalProperties: + items: + type: string + type: array description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + Headers: IP restriction rule headers. + X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). + The matching logic is .. + - If the property is null or empty (default), all hosts(or lack of) are allowed. + - A value is compared using ordinal-ignore-case (excluding port number). + - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain + foo.contoso.com + but not the root domain contoso.com or multi-level foo.bar.contoso.com + - Unicode host names are allowed but are converted to Punycode for matching. + X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). + The matching logic is .. + - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. + - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. + X-Azure-FDID and X-FD-HealthProbe. + The matching logic is exact match. + type: object + ipAddress: + description: |- + IpAddress: IP address the security restriction is valid for. + It can be in form of pure ipv4 address (required SubnetMask property) or + CIDR notation such as ipv4/mask (leading bit match). For CIDR, + SubnetMask property must not be specified. type: string - required: - - name - - value + name: + description: 'Name: IP restriction rule name.' + type: string + priority: + description: 'Priority: Priority of IP restriction rule.' + type: integer + subnetMask: + description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' + type: string + subnetTrafficTag: + description: 'SubnetTrafficTag: (internal) Subnet traffic tag' + type: integer + tag: + description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + type: string + vnetSubnetResourceId: + description: 'VnetSubnetResourceId: Virtual network resource id' + type: string + vnetTrafficTag: + description: 'VnetTrafficTag: (internal) Vnet traffic tag' + type: integer type: object type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + scmIpSecurityRestrictionsUseMain: + description: 'ScmIpSecurityRestrictionsUseMain: IP security restrictions for scm to use main.' + type: boolean + scmMinTlsVersion: + description: 'ScmMinTlsVersion: ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site' type: string - name: - description: This is the name of the Kubernetes resource to reference. + scmType: + description: 'ScmType: SCM type.' type: string - type: object - recurringScans: - description: 'RecurringScans: The recurring scans settings' - properties: - emailSubscriptionAdmins: + tracingOptions: + description: 'TracingOptions: Tracing options.' + type: string + use32BitWorkerProcess: + description: 'Use32BitWorkerProcess: true to use 32-bit worker process; otherwise, false.' + type: boolean + virtualApplications: + description: 'VirtualApplications: Virtual applications.' + items: + description: Virtual application in an app. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + preloadEnabled: + description: 'PreloadEnabled: true if preloading is enabled; otherwise, false.' + type: boolean + virtualDirectories: + description: 'VirtualDirectories: Virtual directories for virtual application.' + items: + description: Directory for virtual application. + properties: + physicalPath: + description: 'PhysicalPath: Physical path.' + type: string + virtualPath: + description: 'VirtualPath: Path to virtual application.' + type: string + type: object + type: array + virtualPath: + description: 'VirtualPath: Virtual path.' + type: string + type: object + type: array + vnetName: + description: 'VnetName: Virtual Network name.' + type: string + vnetPrivatePortsCount: + description: 'VnetPrivatePortsCount: The number of private ports assigned to this app. These will be assigned dynamically on runtime.' + type: integer + vnetRouteAllEnabled: description: |- - EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription - administrators. + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. type: boolean - emails: - description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' - items: - type: string - type: array - isEnabled: - description: 'IsEnabled: Recurring scans state.' + webSocketsEnabled: + description: 'WebSocketsEnabled: true if WebSocket is enabled; otherwise, false.' type: boolean - type: object - storageAccountAccessKey: - description: |- - StorageAccountAccessKey: Specifies the identifier key of the storage account for vulnerability assessment scan results. - If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. Applies only if the storage account is - not behind a Vnet or a firewall - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: + websiteTimeZone: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - storageContainerPath: - description: |- - StorageContainerPath: A blob storage container path to hold the scan results (e.g. - https://myStorage.blob.core.windows.net/VaScans/). - type: string - storageContainerPathFromConfig: - description: |- - StorageContainerPathFromConfig: A blob storage container path to hold the scan results (e.g. - https://myStorage.blob.core.windows.net/VaScans/). - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + WebsiteTimeZone: Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App + Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database + values https://www.iana.org/time-zones (for a quick reference see + https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under + HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + windowsFxVersion: + description: 'WindowsFxVersion: Xenon App Framework and version' type: string - required: - - key - - name + xManagedServiceIdentityId: + description: 'XManagedServiceIdentityId: Explicit Managed Service Identity Id' + type: integer type: object - storageContainerSasKey: - description: |- - StorageContainerSasKey: A shared access signature (SAS Key) that has write access to the blob container specified in - 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. - Applies only if the storage account is not behind a Vnet or a firewall + slotSwapStatus: + description: 'SlotSwapStatus: Status of the last deployment slot swap operation.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced + destinationSlotName: + description: 'DestinationSlotName: The destination slot of the last swap operation.' type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + sourceSlotName: + description: 'SourceSlotName: The source slot of the last swap operation.' + type: string + timestampUtc: + description: 'TimestampUtc: The time the last successful slot swap completed.' type: string - required: - - key - - name type: object - required: - - owner - type: object - status: - properties: - conditions: - description: 'Conditions: The observed state of the resource' - items: - description: Condition defines an extension to status (an observation) of a resource - properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: - description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. - type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown - type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - id: - description: 'Id: Resource ID.' + state: + description: 'State: Current state of the app.' type: string - name: - description: 'Name: Resource name.' + storageAccountRequired: + description: 'StorageAccountRequired: Checks if Customer provided storage account is required' + type: boolean + suspendedTill: + description: 'SuspendedTill: App suspended till in case memory-time quota is exceeded.' type: string - recurringScans: - description: 'RecurringScans: The recurring scans settings' - properties: - emailSubscriptionAdmins: - description: |- - EmailSubscriptionAdmins: Specifies that the schedule scan notification will be is sent to the subscription - administrators. - type: boolean - emails: - description: 'Emails: Specifies an array of e-mail addresses to which the scan notification is sent.' - items: - type: string - type: array - isEnabled: - description: 'IsEnabled: Recurring scans state.' - type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags.' type: object - storageContainerPath: - description: |- - StorageContainerPath: A blob storage container path to hold the scan results (e.g. - https://myStorage.blob.core.windows.net/VaScans/). + targetSwapSlot: + description: 'TargetSwapSlot: Specifies which deployment slot this app will swap into. Read-only.' type: string + trafficManagerHostNames: + description: 'TrafficManagerHostNames: Azure Traffic Manager hostnames associated with the app. Read-only.' + items: + type: string + type: array type: description: 'Type: Resource type.' type: string + usageState: + description: 'UsageState: State indicating whether the app has exceeded its quota usage. Read-only.' + type: string + virtualNetworkSubnetId: + description: |- + VirtualNetworkSubnetId: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET + Integration. + This must be of the form + /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + type: string + vnetContentShareEnabled: + description: 'VnetContentShareEnabled: To enable accessing content over virtual network' + type: boolean + vnetImagePullEnabled: + description: 'VnetImagePullEnabled: To enable pulling image over Virtual Network' + type: boolean + vnetRouteAllEnabled: + description: |- + VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network + Security Groups and User Defined Routes applied. + type: boolean type: object type: object served: true @@ -306336,14 +395048,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211101storage + name: v1api20220301storage schema: openAPIV3Schema: description: |- - Storage version of v1api20211101.ServersVulnerabilityAssessment + Storage version of v1api20220301.Site Generator information: - - Generated from: /sql/resource-manager/Microsoft.Sql/stable/2021-11-01/ServerVulnerabilityAssessments.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/default + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name} properties: apiVersion: description: |- @@ -306363,7 +395075,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211101.ServersVulnerabilityAssessment_Spec + description: Storage version of v1api20220301.Site_Spec properties: $propertyBag: additionalProperties: @@ -306372,10 +395084,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - operatorSpec: + azureName: description: |- - Storage version of v1api20211101.ServersVulnerabilityAssessmentOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + clientAffinityEnabled: + type: boolean + clientCertEnabled: + type: boolean + clientCertExclusionPaths: + type: string + clientCertMode: + type: string + cloningInfo: + description: |- + Storage version of v1api20220301.CloningInfo + Information needed for cloning operation. properties: $propertyBag: additionalProperties: @@ -306384,218 +395109,133 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - configMapExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - originalVersion: - type: string - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a sql.azure.com/Server resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - recurringScans: - description: |- - Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties - Properties of a Vulnerability Assessment recurring scans. - properties: - $propertyBag: + appSettingsOverrides: additionalProperties: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - emailSubscriptionAdmins: + cloneCustomHostNames: type: boolean - emails: - items: - type: string - type: array - isEnabled: + cloneSourceControl: type: boolean - type: object - storageAccountAccessKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + configureLoadBalancing: + type: boolean + correlationId: type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + hostingEnvironment: type: string - required: - - key - - name - type: object - storageContainerPath: - type: string - storageContainerPathFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + overwrite: + type: boolean + sourceWebAppLocation: type: string - name: + sourceWebAppReference: description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + SourceWebAppReference: ARM resource ID of the source app. App resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots + and + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for + other slots. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + trafficManagerProfileName: type: string + trafficManagerProfileReference: + description: |- + TrafficManagerProfileReference: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager + resource ID is of the form + /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object required: - - key - - name + - sourceWebAppReference type: object - storageContainerSasKey: + containerSize: + type: integer + customDomainVerificationId: + type: string + dailyMemoryTimeQuota: + type: integer + enabled: + type: boolean + extendedLocation: description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + Storage version of v1api20220301.ExtendedLocation + Extended Location. properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: + $propertyBag: + additionalProperties: + type: string description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - required: - - key - - name - type: object - required: - - owner - type: object - status: - description: Storage version of v1api20211101.ServersVulnerabilityAssessment_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - conditions: + hostNameSslStates: items: - description: Condition defines an extension to status (an observation) of a resource + description: |- + Storage version of v1api20220301.HostNameSslState + SSL-enabled hostname. properties: - lastTransitionTime: - description: LastTransitionTime is the last time the condition transitioned from one status to another. - format: date-time - type: string - message: - description: Message is a human readable message indicating details about the transition. This field may be empty. - type: string - observedGeneration: - description: |- - ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if - .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - type: integer - reason: + $propertyBag: + additionalProperties: + type: string description: |- - Reason for the condition's last transition. - Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostType: type: string - severity: - description: |- - Severity with which to treat failures of this type of condition. - For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True - For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. - This is omitted in all cases when Status == Unknown + name: type: string - status: - description: Status of the condition, one of True, False, or Unknown. + sslState: type: string - type: - description: Type of condition. + thumbprint: + type: string + toUpdate: + type: boolean + virtualIP: type: string - required: - - lastTransitionTime - - reason - - status - - type type: object type: array - id: - type: string - name: - type: string - recurringScans: + hostNamesDisabled: + type: boolean + hostingEnvironmentProfile: description: |- - Storage version of v1api20211101.VulnerabilityAssessmentRecurringScansProperties_STATUS - Properties of a Vulnerability Assessment recurring scans. + Storage version of v1api20220301.HostingEnvironmentProfile + Specification for an App Service Environment to use for this resource. properties: $propertyBag: additionalProperties: @@ -306604,520 +395244,58 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - emailSubscriptionAdmins: - type: boolean - emails: - items: - type: string - type: array - isEnabled: - type: boolean - type: object - storageContainerPath: - type: string - type: - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: services.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: Service - listKind: ServiceList - plural: services - singular: service - preserveUnknownFields: false - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.conditions[?(@.type=='Ready')].status - name: Ready - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].severity - name: Severity - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].reason - name: Reason - type: string - - jsonPath: .status.conditions[?(@.type=='Ready')].message - name: Message - type: string - name: v1api20220801 - schema: - openAPIV3Schema: - description: |- - Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimdeployment.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - properties: - additionalLocations: - description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' - items: - description: Description of an additional API Management resource location. - properties: - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in this additional location. - type: boolean - location: - description: 'Location: The location name of the additional region among Azure Data center regions.' - type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - enum: - - Disabled - - Enabled - type: string - publicIpAddressReference: - description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the location. Supported only for Premium SKU being deployed in Virtual Network. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sku: - description: 'Sku: SKU properties of the API Management service.' - properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer - name: - description: 'Name: Name of the Sku.' - enum: - - Basic - - Consumption - - Developer - - Isolated - - Premium - - Standard - type: string - required: - - capacity - - name - type: object - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' - properties: - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: + reference: + description: 'Reference: Resource ID of the App Service Environment.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - type: array - required: - - location - - sku - type: object - type: array - apiVersionConstraint: - description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' - properties: - minApiVersion: - description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' - type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 50 - minLength: 1 - pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ - type: string - certificates: - description: |- - Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates - that can be installed is 10. - items: - description: Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - expiryFromConfig: - description: |- - ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` - as specified by the ISO 8601 standard. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - description: 'Subject: Subject of the certificate.' - type: string - subjectFromConfig: - description: 'SubjectFromConfig: Subject of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - thumbprintFromConfig: - description: 'ThumbprintFromConfig: Thumbprint of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: 'CertificatePassword: Certificate Password.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - storeName: - description: |- - StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and - CertificateAuthority are valid locations. - enum: - - CertificateAuthority - - Root - type: string - required: - - storeName - type: object - type: array - customProperties: - additionalProperties: - type: string - description: |- - CustomProperties: Custom properties of the API Management service.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher - TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API - Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be - used to disable just TLS 1.1 for communications with backends.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for - communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be - used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH - operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value - is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is - `False`.

You can disable any of the following ciphers by using settings - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, - TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default - value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal - platform components: - TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in master region. + httpsOnly: type: boolean - enableClientCertificate: - description: |- - EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate - to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the - policy on the gateway. + hyperV: type: boolean - hostnameConfigurations: - description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' - items: - description: Custom hostname configuration. - properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - expiryFromConfig: - description: |- - ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` - as specified by the ISO 8601 standard. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - description: 'Subject: Subject of the certificate.' - type: string - subjectFromConfig: - description: 'SubjectFromConfig: Subject of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - thumbprintFromConfig: - description: 'ThumbprintFromConfig: Thumbprint of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: 'CertificatePassword: Certificate Password.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - certificateSource: - description: 'CertificateSource: Certificate Source.' - enum: - - BuiltIn - - Custom - - KeyVault - - Managed - type: string - certificateStatus: - description: 'CertificateStatus: Certificate Status.' - enum: - - Completed - - Failed - - InProgress - type: string - defaultSslBinding: - description: |- - DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. - If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is - useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The - setting only applied to gateway Hostname Type. - type: boolean - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - hostName: - description: 'HostName: Hostname to configure on the Api Management service.' - type: string - identityClientId: - description: |- - IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to - the keyVault containing the SSL certificate. - type: string - identityClientIdFromConfig: - description: |- - IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET - access to the keyVault containing the SSL certificate. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - keyVaultId: - description: |- - KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, - auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. - The secret should be of type *application/x-pkcs12* - type: string - negotiateClientCertificate: - description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' - type: boolean - type: - description: 'Type: Hostname type.' - enum: - - DeveloperPortal - - Management - - Portal - - Proxy - - Scm - type: string - required: - - hostName - - type - type: object - type: array identity: - description: 'Identity: Managed service identity of the Api Management service.' + description: |- + Storage version of v1api20220301.ManagedServiceIdentity + Managed service identity. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned type: string userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user identities associated with the resource. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. items: - description: Information about the user assigned identity for the resource + description: |- + Storage version of v1api20220301.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object reference: description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: @@ -307140,29 +395318,28 @@ spec: type: object type: object type: array - required: - - type type: object - location: - description: 'Location: Resource location.' + isXenon: + type: boolean + keyVaultReferenceIdentity: type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - enum: - - Disabled - - Enabled + kind: type: string - notificationSenderEmail: - description: 'NotificationSenderEmail: Email address from which the notification will be sent.' - maxLength: 100 + location: type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20220301.SiteOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -307192,7 +395369,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -307222,6 +395398,8 @@ spec: type: object type: array type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -307235,10 +395413,18 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddressReference: + publicNetworkAccess: + type: string + redundancyMode: + type: string + reserved: + type: boolean + scmSiteAlsoStopped: + type: boolean + serverFarmReference: description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + ServerFarmReference: Resource ID of the associated App Service plan, formatted as: + "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". properties: armId: description: |- @@ -307257,222 +395443,813 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is - optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access - method. Default value is 'Enabled' - enum: - - Disabled - - Enabled - type: string - publisherEmail: - description: 'PublisherEmail: Publisher email.' - maxLength: 100 - type: string - publisherName: - description: 'PublisherName: Publisher name.' - maxLength: 100 - type: string - restore: + siteConfig: description: |- - Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True - all other properties will be ignored. - type: boolean - sku: - description: 'Sku: SKU properties of the API Management service.' + Storage version of v1api20220301.SiteConfig + Configuration of an App Service app. properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer - name: - description: 'Name: Name of the Sku.' - enum: - - Basic - - Consumption - - Developer - - Isolated - - Premium - - Standard + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrUseManagedIdentityCreds: + type: boolean + acrUserManagedIdentityID: type: string - required: - - capacity - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' - properties: - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + alwaysOn: + type: boolean + apiDefinition: + description: |- + Storage version of v1api20220301.ApiDefinitionInfo + Information about the formal API definition for the app. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: type: string type: object - type: object - virtualNetworkType: - description: |- - VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) - means the API Management service is not part of any Virtual Network, External means the API Management deployment is set - up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is - setup inside a Virtual Network having an Intranet Facing Endpoint only. - enum: - - External - - Internal - - None - type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array - required: - - location - - owner - - publisherEmail - - publisherName - - sku - type: object - status: - properties: - additionalLocations: - description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' - items: - description: Description of an additional API Management resource location. - properties: - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in this additional location. - type: boolean - gatewayRegionalUrl: - description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' - type: string - location: - description: 'Location: The location name of the additional region among Azure Data center regions.' - type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - type: string - outboundPublicIPAddresses: - description: |- - OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available - only for Premium SKU on stv2 platform. - items: - type: string - type: array - platformVersion: - description: 'PlatformVersion: Compute Platform Version running the service.' - type: string - privateIPAddresses: + apiManagementConfig: + description: |- + Storage version of v1api20220301.ApiManagementConfig + Azure API management (APIM) configuration linked to the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: APIM-Api Identifier.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + appCommandLine: + type: string + appSettings: + items: description: |- - PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an - Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated - SKU. - items: - type: string - type: array - publicIPAddresses: + Storage version of v1api20220301.NameValuePair + Name value pair. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + autoHealEnabled: + type: boolean + autoHealRules: + description: |- + Storage version of v1api20220301.AutoHealRules + Rules that can be defined for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220301.AutoHealActions + Actions which to take by the auto-heal module when a rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionType: + type: string + customAction: + description: |- + Storage version of v1api20220301.AutoHealCustomAction + Custom action to be executed + when an auto heal rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exe: + type: string + parameters: + type: string + type: object + minProcessExecutionTime: + type: string + type: object + triggers: + description: |- + Storage version of v1api20220301.AutoHealTriggers + Triggers for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateBytesInKB: + type: integer + requests: + description: |- + Storage version of v1api20220301.RequestsBasedTrigger + Trigger based on total requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + timeInterval: + type: string + type: object + slowRequests: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + slowRequestsWithPath: + items: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + type: array + statusCodes: + items: + description: |- + Storage version of v1api20220301.StatusCodesBasedTrigger + Trigger based on status code. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + status: + type: integer + subStatus: + type: integer + timeInterval: + type: string + win32Status: + type: integer + type: object + type: array + statusCodesRange: + items: + description: |- + Storage version of v1api20220301.StatusCodesRangeBasedTrigger + Trigger based on range of status codes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + statusCodes: + type: string + timeInterval: + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + type: string + azureStorageAccounts: + additionalProperties: description: |- - PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. - Available only for Basic, Standard, Premium and Isolated SKU. - items: - type: string - type: array - publicIpAddressId: + Storage version of v1api20220301.AzureStorageInfoValue + Azure Files or Blob Storage access information value for dictionary storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + accountName: + type: string + mountPath: + type: string + shareName: + type: string + type: + type: string + type: object + type: object + connectionStrings: + items: description: |- - PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in - the location. Supported only for Premium SKU being deployed in Virtual Network. - type: string - sku: - description: 'Sku: SKU properties of the API Management service.' + Storage version of v1api20220301.ConnStringInfo + Database connection string information. properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionString: + type: string name: - description: 'Name: Name of the Sku.' + type: string + type: type: string type: object - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + type: array + cors: + description: |- + Storage version of v1api20220301.CorsSettings + Cross-Origin Resource Sharing (CORS) settings for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + supportCredentials: + type: boolean + type: object + defaultDocuments: + items: + type: string + type: array + detailedErrorLoggingEnabled: + type: boolean + documentRoot: + type: string + experiments: + description: |- + Storage version of v1api20220301.Experiments + Routing rules in production experiments. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rampUpRules: + items: + description: |- + Storage version of v1api20220301.RampUpRule + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionHostName: + type: string + changeDecisionCallbackUrl: + type: string + changeIntervalInMinutes: + type: integer + changeStep: + type: number + maxReroutePercentage: + type: number + minReroutePercentage: + type: number + name: + type: string + reroutePercentage: + type: number + type: object + type: array + type: object + ftpsState: + type: string + functionAppScaleLimit: + type: integer + functionsRuntimeScaleMonitoringEnabled: + type: boolean + handlerMappings: + items: + description: |- + Storage version of v1api20220301.HandlerMapping + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. properties: - subnetResourceId: - description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + arguments: type: string - subnetname: - description: 'Subnetname: The name of the subnet.' + extension: type: string - vnetid: - description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + scriptProcessor: type: string type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: + type: array + healthCheckPath: + type: string + http20Enabled: + type: boolean + httpLoggingEnabled: + type: boolean + ipSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction + IP security restriction on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + type: integer + type: object + type: array + javaContainer: + type: string + javaContainerVersion: + type: string + javaVersion: + type: string + keyVaultReferenceIdentity: + type: string + limits: + description: |- + Storage version of v1api20220301.SiteLimits + Metric limits set on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxDiskSizeInMb: + type: integer + maxMemoryInMb: + type: integer + maxPercentageCpu: + type: number + type: object + linuxFxVersion: + type: string + loadBalancing: + type: string + localMySqlEnabled: + type: boolean + logsDirectorySizeLimit: + type: integer + managedPipelineMode: + type: string + managedServiceIdentityId: + type: integer + minTlsVersion: + type: string + minimumElasticInstanceCount: + type: integer + netFrameworkVersion: + type: string + nodeVersion: + type: string + numberOfWorkers: + type: integer + phpVersion: + type: string + powerShellVersion: + type: string + preWarmedInstanceCount: + type: integer + publicNetworkAccess: + type: string + publishingUsername: + type: string + push: + description: |- + Storage version of v1api20220301.PushSettings + Push settings for the App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicTagsJson: type: string - type: array - type: object - type: array - apiVersionConstraint: - description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' - properties: - minApiVersion: - description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + isPushEnabled: + type: boolean + kind: + type: string + tagWhitelistJson: + type: string + tagsRequiringAuth: + type: string + type: object + pythonVersion: type: string - type: object - certificates: - description: |- - Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates - that can be installed is 10. - items: - description: Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - certificate: - description: 'Certificate: Certificate information.' + remoteDebuggingEnabled: + type: boolean + remoteDebuggingVersion: + type: string + requestTracingEnabled: + type: boolean + requestTracingExpirationTime: + type: string + scmIpSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction + IP security restriction on an app. properties: - expiry: + $propertyBag: + additionalProperties: + type: string description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: type: string - subject: - description: 'Subject: Subject of the certificate.' + description: type: string - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceReference: + description: 'VnetSubnetResourceReference: Virtual network resource id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetTrafficTag: + type: integer type: object - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - storeName: + type: array + scmIpSecurityRestrictionsUseMain: + type: boolean + scmMinTlsVersion: + type: string + scmType: + type: string + tracingOptions: + type: string + use32BitWorkerProcess: + type: boolean + virtualApplications: + items: description: |- - StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and - CertificateAuthority are valid locations. + Storage version of v1api20220301.VirtualApplication + Virtual application in an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + preloadEnabled: + type: boolean + virtualDirectories: + items: + description: |- + Storage version of v1api20220301.VirtualDirectory + Directory for virtual application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + virtualPath: + type: string + type: object + type: array + virtualPath: + type: string + type: object + type: array + vnetName: + type: string + vnetPrivatePortsCount: + type: integer + vnetRouteAllEnabled: + type: boolean + webSocketsEnabled: + type: boolean + websiteTimeZone: + type: string + windowsFxVersion: + type: string + xManagedServiceIdentityId: + type: integer + type: object + storageAccountRequired: + type: boolean + tags: + additionalProperties: + type: string + type: object + virtualNetworkSubnetReference: + description: |- + VirtualNetworkSubnetReference: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET + Integration. + This must be of the form + /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + vnetContentShareEnabled: + type: boolean + vnetImagePullEnabled: + type: boolean + vnetRouteAllEnabled: + type: boolean + required: + - owner + type: object + status: + description: |- + Storage version of v1api20220301.Site_STATUS + A web app, a mobile app backend, or an API app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + availabilityState: + type: string + clientAffinityEnabled: + type: boolean + clientCertEnabled: + type: boolean + clientCertExclusionPaths: + type: string + clientCertMode: + type: string + cloningInfo: + description: |- + Storage version of v1api20220301.CloningInfo_STATUS + Information needed for cloning operation. + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + appSettingsOverrides: + additionalProperties: + type: string + type: object + cloneCustomHostNames: + type: boolean + cloneSourceControl: + type: boolean + configureLoadBalancing: + type: boolean + correlationId: + type: string + hostingEnvironment: + type: string + overwrite: + type: boolean + sourceWebAppId: + type: string + sourceWebAppLocation: + type: string + trafficManagerProfileId: + type: string + trafficManagerProfileName: + type: string + type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -307515,345 +396292,923 @@ spec: - type type: object type: array - createdAtUtc: - description: |- - CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: - `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + containerSize: + type: integer + customDomainVerificationId: type: string - customProperties: - additionalProperties: - type: string - description: |- - CustomProperties: Custom properties of the API Management service.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher - TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API - Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be - used to disable just TLS 1.1 for communications with backends.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for - communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be - used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH - operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value - is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is - `False`.

You can disable any of the following ciphers by using settings - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, - TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default - value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal - platform components: - TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - type: object - developerPortalUrl: - description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' + dailyMemoryTimeQuota: + type: integer + defaultHostName: type: string - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in master region. + enabled: type: boolean - enableClientCertificate: + enabledHostNames: + items: + type: string + type: array + extendedLocation: description: |- - EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate - to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the - policy on the gateway. - type: boolean - etag: - description: 'Etag: ETag of the resource.' - type: string - gatewayRegionalUrl: - description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' - type: string - gatewayUrl: - description: 'GatewayUrl: Gateway URL of the API Management service.' - type: string - hostnameConfigurations: - description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' + Storage version of v1api20220301.ExtendedLocation_STATUS + Extended Location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: + type: string + type: object + hostNameSslStates: items: - description: Custom hostname configuration. + description: |- + Storage version of v1api20220301.HostNameSslState_STATUS + SSL-enabled hostname. properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - subject: - description: 'Subject: Subject of the certificate.' - type: string - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - type: object - certificateSource: - description: 'CertificateSource: Certificate Source.' - type: string - certificateStatus: - description: 'CertificateStatus: Certificate Status.' - type: string - defaultSslBinding: + $propertyBag: + additionalProperties: + type: string description: |- - DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. - If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is - useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The - setting only applied to gateway Hostname Type. - type: boolean - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + hostType: type: string - hostName: - description: 'HostName: Hostname to configure on the Api Management service.' + name: type: string - identityClientId: - description: |- - IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to - the keyVault containing the SSL certificate. + sslState: type: string - keyVaultId: - description: |- - KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, - auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. - The secret should be of type *application/x-pkcs12* + thumbprint: type: string - negotiateClientCertificate: - description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' + toUpdate: type: boolean - type: - description: 'Type: Hostname type.' + virtualIP: type: string type: object type: array + hostNames: + items: + type: string + type: array + hostNamesDisabled: + type: boolean + hostingEnvironmentProfile: + description: |- + Storage version of v1api20220301.HostingEnvironmentProfile_STATUS + Specification for an App Service Environment to use for this resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + httpsOnly: + type: boolean + hyperV: + type: boolean id: - description: 'Id: Resource ID.' type: string identity: - description: 'Identity: Managed service identity of the Api Management service.' + description: |- + Storage version of v1api20220301.ManagedServiceIdentity_STATUS + Managed service identity. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object principalId: - description: 'PrincipalId: The principal id of the identity.' type: string tenantId: - description: 'TenantId: The client tenant id of the identity.' type: string type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. type: string userAssignedIdentities: additionalProperties: + description: |- + Storage version of v1api20220301.UserAssignedIdentity_STATUS + User Assigned identity. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object clientId: - description: 'ClientId: The client id of user assigned identity.' type: string principalId: - description: 'PrincipalId: The principal id of user assigned identity.' type: string type: object - description: |- - UserAssignedIdentities: The list of user identities associated with the resource. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. type: object type: object - location: - description: 'Location: Resource location.' + inProgressOperationId: type: string - managementApiUrl: - description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' + isDefaultContainer: + type: boolean + isXenon: + type: boolean + keyVaultReferenceIdentity: type: string + kind: + type: string + lastModifiedTimeUtc: + type: string + location: + type: string + maxNumberOfWorkers: + type: integer name: - description: 'Name: Resource name.' type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' + outboundIpAddresses: type: string - notificationSenderEmail: - description: 'NotificationSenderEmail: Email address from which the notification will be sent.' + possibleOutboundIpAddresses: type: string - outboundPublicIPAddresses: - description: |- - OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available - only for Premium SKU on stv2 platform. - items: - type: string - type: array - platformVersion: - description: 'PlatformVersion: Compute Platform Version running the service in this location.' + publicNetworkAccess: type: string - portalUrl: - description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' + redundancyMode: type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' - items: - description: Remote Private Endpoint Connection resource. - properties: - groupIds: - description: 'GroupIds: All the Group ids.' - items: - type: string - type: array - id: - description: 'Id: Private Endpoint connection resource id' + repositorySiteName: + type: string + reserved: + type: boolean + resourceGroup: + type: string + scmSiteAlsoStopped: + type: boolean + serverFarmId: + type: string + siteConfig: + description: |- + Storage version of v1api20220301.SiteConfig_STATUS + Configuration of an App Service app. + properties: + $propertyBag: + additionalProperties: type: string - name: - description: 'Name: Private Endpoint Connection Name' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acrUseManagedIdentityCreds: + type: boolean + acrUserManagedIdentityID: + type: string + alwaysOn: + type: boolean + apiDefinition: + description: |- + Storage version of v1api20220301.ApiDefinitionInfo_STATUS + Information about the formal API definition for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + url: + type: string + type: object + apiManagementConfig: + description: |- + Storage version of v1api20220301.ApiManagementConfig_STATUS + Azure API management (APIM) configuration linked to the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + appCommandLine: + type: string + appSettings: + items: + description: |- + Storage version of v1api20220301.NameValuePair_STATUS + Name value pair. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + value: + type: string + type: object + type: array + autoHealEnabled: + type: boolean + autoHealRules: + description: |- + Storage version of v1api20220301.AutoHealRules_STATUS + Rules that can be defined for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actions: + description: |- + Storage version of v1api20220301.AutoHealActions_STATUS + Actions which to take by the auto-heal module when a rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionType: + type: string + customAction: + description: |- + Storage version of v1api20220301.AutoHealCustomAction_STATUS + Custom action to be executed + when an auto heal rule is triggered. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + exe: + type: string + parameters: + type: string + type: object + minProcessExecutionTime: + type: string + type: object + triggers: + description: |- + Storage version of v1api20220301.AutoHealTriggers_STATUS + Triggers for auto-heal. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + privateBytesInKB: + type: integer + requests: + description: |- + Storage version of v1api20220301.RequestsBasedTrigger_STATUS + Trigger based on total requests. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + timeInterval: + type: string + type: object + slowRequests: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger_STATUS + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + slowRequestsWithPath: + items: + description: |- + Storage version of v1api20220301.SlowRequestsBasedTrigger_STATUS + Trigger based on request execution time. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + timeInterval: + type: string + timeTaken: + type: string + type: object + type: array + statusCodes: + items: + description: |- + Storage version of v1api20220301.StatusCodesBasedTrigger_STATUS + Trigger based on status code. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + status: + type: integer + subStatus: + type: integer + timeInterval: + type: string + win32Status: + type: integer + type: object + type: array + statusCodesRange: + items: + description: |- + Storage version of v1api20220301.StatusCodesRangeBasedTrigger_STATUS + Trigger based on range of status codes. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + count: + type: integer + path: + type: string + statusCodes: + type: string + timeInterval: + type: string + type: object + type: array + type: object + type: object + autoSwapSlotName: + type: string + azureStorageAccounts: + additionalProperties: + description: |- + Storage version of v1api20220301.AzureStorageInfoValue_STATUS + Azure Files or Blob Storage access information value for dictionary storage. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accountName: + type: string + mountPath: + type: string + shareName: + type: string + state: + type: string + type: + type: string + type: object + type: object + connectionStrings: + items: + description: |- + Storage version of v1api20220301.ConnStringInfo_STATUS + Database connection string information. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + connectionString: + type: string + name: + type: string + type: + type: string + type: object + type: array + cors: + description: |- + Storage version of v1api20220301.CorsSettings_STATUS + Cross-Origin Resource Sharing (CORS) settings for the app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedOrigins: + items: + type: string + type: array + supportCredentials: + type: boolean + type: object + defaultDocuments: + items: type: string - privateEndpoint: - description: 'PrivateEndpoint: The resource of private end point.' + type: array + detailedErrorLoggingEnabled: + type: boolean + documentRoot: + type: string + experiments: + description: |- + Storage version of v1api20220301.Experiments_STATUS + Routing rules in production experiments. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + rampUpRules: + items: + description: |- + Storage version of v1api20220301.RampUpRule_STATUS + Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change + routing % based on performance. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionHostName: + type: string + changeDecisionCallbackUrl: + type: string + changeIntervalInMinutes: + type: integer + changeStep: + type: number + maxReroutePercentage: + type: number + minReroutePercentage: + type: number + name: + type: string + reroutePercentage: + type: number + type: object + type: array + type: object + ftpsState: + type: string + functionAppScaleLimit: + type: integer + functionsRuntimeScaleMonitoringEnabled: + type: boolean + handlerMappings: + items: + description: |- + Storage version of v1api20220301.HandlerMapping_STATUS + The IIS handler mappings used to define which handler processes HTTP requests with certain extension. + For example, it + is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. properties: - id: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + arguments: + type: string + extension: + type: string + scriptProcessor: type: string type: object - privateLinkServiceConnectionState: + type: array + healthCheckPath: + type: string + http20Enabled: + type: boolean + httpLoggingEnabled: + type: boolean + ipSecurityRestrictions: + items: description: |- - PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service - consumer and provider. + Storage version of v1api20220301.IpSecurityRestriction_STATUS + IP security restriction on an app. properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: type: string description: - description: 'Description: The reason for approval/rejection of the connection.' type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceId: type: string + vnetTrafficTag: + type: integer type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' - type: string - type: - description: 'Type: Private Endpoint Connection Resource Type' - type: string - type: object - type: array - privateIPAddresses: - description: |- - PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is - deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. - items: - type: string - type: array - provisioningState: - description: |- - ProvisioningState: The current provisioning state of the API Management service which can be one of the following: - Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. - type: string - publicIPAddresses: - description: |- - PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available - only for Basic, Standard, Premium and Isolated SKU. - items: - type: string - type: array - publicIpAddressId: - description: |- - PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in - the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is - optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access - method. Default value is 'Enabled' - type: string - publisherEmail: - description: 'PublisherEmail: Publisher email.' - type: string - publisherName: - description: 'PublisherName: Publisher name.' - type: string - restore: - description: |- - Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True - all other properties will be ignored. - type: boolean - scmUrl: - description: 'ScmUrl: SCM endpoint URL of the API Management service.' - type: string - sku: - description: 'Sku: SKU properties of the API Management service.' - properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' + type: array + javaContainer: + type: string + javaContainerVersion: + type: string + javaVersion: + type: string + keyVaultReferenceIdentity: + type: string + limits: + description: |- + Storage version of v1api20220301.SiteLimits_STATUS + Metric limits set on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxDiskSizeInMb: + type: integer + maxMemoryInMb: + type: integer + maxPercentageCpu: + type: number + type: object + linuxFxVersion: + type: string + loadBalancing: + type: string + localMySqlEnabled: + type: boolean + logsDirectorySizeLimit: type: integer - name: - description: 'Name: Name of the Sku.' + machineKey: + description: |- + Storage version of v1api20220301.SiteMachineKey_STATUS + MachineKey of an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + decryption: + type: string + decryptionKey: + type: string + validation: + type: string + validationKey: + type: string + type: object + managedPipelineMode: type: string - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' + managedServiceIdentityId: + type: integer + minTlsVersion: type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' + minimumElasticInstanceCount: + type: integer + netFrameworkVersion: type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' + nodeVersion: type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + numberOfWorkers: + type: integer + phpVersion: type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + powerShellVersion: type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + preWarmedInstanceCount: + type: integer + publicNetworkAccess: type: string + publishingUsername: + type: string + push: + description: |- + Storage version of v1api20220301.PushSettings_STATUS + Push settings for the App. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dynamicTagsJson: + type: string + id: + type: string + isPushEnabled: + type: boolean + kind: + type: string + name: + type: string + tagWhitelistJson: + type: string + tagsRequiringAuth: + type: string + type: + type: string + type: object + pythonVersion: + type: string + remoteDebuggingEnabled: + type: boolean + remoteDebuggingVersion: + type: string + requestTracingEnabled: + type: boolean + requestTracingExpirationTime: + type: string + scmIpSecurityRestrictions: + items: + description: |- + Storage version of v1api20220301.IpSecurityRestriction_STATUS + IP security restriction on an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + action: + type: string + description: + type: string + headers: + additionalProperties: + items: + type: string + type: array + type: object + ipAddress: + type: string + name: + type: string + priority: + type: integer + subnetMask: + type: string + subnetTrafficTag: + type: integer + tag: + type: string + vnetSubnetResourceId: + type: string + vnetTrafficTag: + type: integer + type: object + type: array + scmIpSecurityRestrictionsUseMain: + type: boolean + scmMinTlsVersion: + type: string + scmType: + type: string + tracingOptions: + type: string + use32BitWorkerProcess: + type: boolean + virtualApplications: + items: + description: |- + Storage version of v1api20220301.VirtualApplication_STATUS + Virtual application in an app. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + preloadEnabled: + type: boolean + virtualDirectories: + items: + description: |- + Storage version of v1api20220301.VirtualDirectory_STATUS + Directory for virtual application. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + physicalPath: + type: string + virtualPath: + type: string + type: object + type: array + virtualPath: + type: string + type: object + type: array + vnetName: + type: string + vnetPrivatePortsCount: + type: integer + vnetRouteAllEnabled: + type: boolean + webSocketsEnabled: + type: boolean + websiteTimeZone: + type: string + windowsFxVersion: + type: string + xManagedServiceIdentityId: + type: integer type: object - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' - type: object - targetProvisioningState: + slotSwapStatus: description: |- - TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running - operation started on the service. - type: string - type: - description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' - type: string - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + Storage version of v1api20220301.SlotSwapStatus_STATUS + The status of the last successful slot swap operation. properties: - subnetResourceId: - description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + destinationSlotName: type: string - subnetname: - description: 'Subnetname: The name of the subnet.' + sourceSlotName: type: string - vnetid: - description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + timestampUtc: type: string type: object - virtualNetworkType: - description: |- - VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) - means the API Management service is not part of any Virtual Network, External means the API Management deployment is set - up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is - setup inside a Virtual Network having an Intranet Facing Endpoint only. + state: type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' + storageAccountRequired: + type: boolean + suspendedTill: + type: string + tags: + additionalProperties: + type: string + type: object + targetSwapSlot: + type: string + trafficManagerHostNames: items: type: string type: array + type: + type: string + usageState: + type: string + virtualNetworkSubnetId: + type: string + vnetContentShareEnabled: + type: boolean + vnetImagePullEnabled: + type: boolean + vnetRouteAllEnabled: + type: boolean type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: sitessourcecontrols.web.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: web.azure.com + names: + categories: + - azure + - web + kind: SitesSourcecontrol + listKind: SitesSourcecontrolList + plural: sitessourcecontrols + singular: sitessourcecontrol + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -307867,14 +397222,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20220301 schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.Service Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimdeployment.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web properties: apiVersion: description: |- @@ -307894,452 +397248,84 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.Service_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalLocations: - items: - description: |- - Storage version of v1api20220801.AdditionalLocation - Description of an additional API Management resource location. - properties: - $propertyBag: - additionalProperties: + branch: + description: 'Branch: Name of branch to use for deployment.' + type: string + deploymentRollbackEnabled: + description: 'DeploymentRollbackEnabled: true to enable deployment rollback; otherwise, false.' + type: boolean + gitHubActionConfiguration: + description: 'GitHubActionConfiguration: If GitHub Action is selected, than the associated configuration.' + properties: + codeConfiguration: + description: 'CodeConfiguration: GitHub Action code configuration.' + properties: + runtimeStack: + description: 'RuntimeStack: Runtime stack is used to determine the workflow file content for code base apps.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableGateway: - type: boolean - location: - type: string - natGatewayState: - type: string - publicIpAddressReference: - description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the location. Supported only for Premium SKU being deployed in Virtual Network. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sku: - description: |- - Storage version of v1api20220801.ApiManagementServiceSkuProperties - API Management service resource SKU properties. - properties: - $propertyBag: - additionalProperties: + runtimeVersion: + description: 'RuntimeVersion: Runtime version is used to determine what build version to set in the workflow file.' + type: string + type: object + containerConfiguration: + description: 'ContainerConfiguration: GitHub Action container configuration.' + properties: + imageName: + description: 'ImageName: The image name for the build.' + type: string + password: + description: 'Password: The password used to upload the image to the container registry.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - virtualNetworkConfiguration: - description: |- - Storage version of v1api20220801.VirtualNetworkConfiguration - Configuration of a virtual network to which API Management service is deployed. - properties: - $propertyBag: - additionalProperties: + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - zones: - items: + required: + - key + - name + type: object + serverUrl: + description: 'ServerUrl: The server URL for the container registry where the build will be hosted.' + type: string + username: + description: 'Username: The username used to upload the image to the container registry.' type: string - type: array - type: object - type: array - apiVersionConstraint: - description: |- - Storage version of v1api20220801.ApiVersionConstraint - Control Plane Apis version constraint for the API Management service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - minApiVersion: - type: string + generateWorkflowFile: + description: |- + GenerateWorkflowFile: Workflow option to determine whether the workflow file should be generated and written to the + repository. + type: boolean + isLinux: + description: 'IsLinux: This will help determine the workflow configuration to select.' + type: boolean type: object - azureName: + isGitHubAction: + description: 'IsGitHubAction: true if this is deployed via GitHub action.' + type: boolean + isManualIntegration: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - certificates: - items: - description: |- - Storage version of v1api20220801.CertificateConfiguration - Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20220801.CertificateInformation - SSL certificate information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: - type: string - expiryFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - type: string - subjectFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - type: string - thumbprintFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - encodedCertificate: - type: string - storeName: - type: string - type: object - type: array - customProperties: - additionalProperties: - type: string - type: object - disableGateway: + IsManualIntegration: true to limit to manual integration; false to enable continuous + integration (which configures webhooks into online repos like GitHub). type: boolean - enableClientCertificate: + isMercurial: + description: 'IsMercurial: true for a Mercurial repository; false for a Git repository.' type: boolean - hostnameConfigurations: - items: - description: |- - Storage version of v1api20220801.HostnameConfiguration - Custom hostname configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20220801.CertificateInformation - SSL certificate information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: - type: string - expiryFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - type: string - subjectFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - type: string - thumbprintFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - certificateSource: - type: string - certificateStatus: - type: string - defaultSslBinding: - type: boolean - encodedCertificate: - type: string - hostName: - type: string - identityClientId: - type: string - identityClientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - keyVaultId: - type: string - negotiateClientCertificate: - type: boolean - type: - type: string - type: object - type: array - identity: - description: |- - Storage version of v1api20220801.ApiManagementServiceIdentity - Identity properties of the Api Management service resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20220801.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - location: - type: string - natGatewayState: - type: string - notificationSenderEmail: + kind: + description: 'Kind: Kind of resource.' type: string operatorSpec: description: |- - Storage version of v1api20220801.ServiceOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -308369,6 +397355,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -308398,13 +397385,11 @@ spec: type: object type: array type: object - originalVersion: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a web.azure.com/Site resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -308413,242 +397398,19 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddressReference: - description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - type: string - publisherEmail: - type: string - publisherName: - type: string - restore: - type: boolean - sku: - description: |- - Storage version of v1api20220801.ApiManagementServiceSkuProperties - API Management service resource SKU properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - tags: - additionalProperties: - type: string - type: object - virtualNetworkConfiguration: - description: |- - Storage version of v1api20220801.VirtualNetworkConfiguration - Configuration of a virtual network to which API Management service is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - virtualNetworkType: + repoUrl: + description: 'RepoUrl: Repository or source control URL.' type: string - zones: - items: - type: string - type: array required: - owner type: object status: - description: Storage version of v1api20220801.Service_STATUS properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - additionalLocations: - items: - description: |- - Storage version of v1api20220801.AdditionalLocation_STATUS - Description of an additional API Management resource location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableGateway: - type: boolean - gatewayRegionalUrl: - type: string - location: - type: string - natGatewayState: - type: string - outboundPublicIPAddresses: - items: - type: string - type: array - platformVersion: - type: string - privateIPAddresses: - items: - type: string - type: array - publicIPAddresses: - items: - type: string - type: array - publicIpAddressId: - type: string - sku: - description: |- - Storage version of v1api20220801.ApiManagementServiceSkuProperties_STATUS - API Management service resource SKU properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - virtualNetworkConfiguration: - description: |- - Storage version of v1api20220801.VirtualNetworkConfiguration_STATUS - Configuration of a virtual network to which API Management service is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceId: - type: string - subnetname: - type: string - vnetid: - type: string - type: object - zones: - items: - type: string - type: array - type: object - type: array - apiVersionConstraint: - description: |- - Storage version of v1api20220801.ApiVersionConstraint_STATUS - Control Plane Apis version constraint for the API Management service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - minApiVersion: - type: string - type: object - certificates: - items: - description: |- - Storage version of v1api20220801.CertificateConfiguration_STATUS - Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20220801.CertificateInformation_STATUS - SSL certificate information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: - type: string - subject: - type: string - thumbprint: - type: string - type: object - encodedCertificate: - type: string - storeName: - type: string - type: object - type: array + branch: + description: 'Branch: Name of branch to use for deployment.' + type: string conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -308678,307 +397440,87 @@ spec: For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. This is omitted in all cases when Status == Unknown type: string - status: - description: Status of the condition, one of True, False, or Unknown. - type: string - type: - description: Type of condition. - type: string - required: - - lastTransitionTime - - reason - - status - - type - type: object - type: array - createdAtUtc: - type: string - customProperties: - additionalProperties: - type: string - type: object - developerPortalUrl: - type: string - disableGateway: - type: boolean - enableClientCertificate: - type: boolean - etag: - type: string - gatewayRegionalUrl: - type: string - gatewayUrl: - type: string - hostnameConfigurations: - items: - description: |- - Storage version of v1api20220801.HostnameConfiguration_STATUS - Custom hostname configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20220801.CertificateInformation_STATUS - SSL certificate information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: - type: string - subject: - type: string - thumbprint: - type: string - type: object - certificateSource: - type: string - certificateStatus: - type: string - defaultSslBinding: - type: boolean - encodedCertificate: - type: string - hostName: - type: string - identityClientId: - type: string - keyVaultId: - type: string - negotiateClientCertificate: - type: boolean - type: - type: string - type: object - type: array - id: - type: string - identity: - description: |- - Storage version of v1api20220801.ApiManagementServiceIdentity_STATUS - Identity properties of the Api Management service resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20220801.UserIdentityProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - location: - type: string - managementApiUrl: - type: string - name: - type: string - natGatewayState: - type: string - notificationSenderEmail: - type: string - outboundPublicIPAddresses: - items: - type: string - type: array - platformVersion: - type: string - portalUrl: - type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20220801.RemotePrivateEndpointConnectionWrapper_STATUS - Remote Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupIds: - items: - type: string - type: array - id: - type: string - name: - type: string - privateEndpoint: - description: |- - Storage version of v1api20220801.ArmIdWrapper_STATUS - A wrapper for an ARM resource id - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20220801.PrivateLinkServiceConnectionState_STATUS - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - provisioningState: - type: string - type: - type: string - type: object - type: array - privateIPAddresses: - items: - type: string - type: array - provisioningState: - type: string - publicIPAddresses: - items: - type: string - type: array - publicIpAddressId: - type: string - publicNetworkAccess: - type: string - publisherEmail: - type: string - publisherName: - type: string - restore: - type: boolean - scmUrl: - type: string - sku: - description: |- - Storage version of v1api20220801.ApiManagementServiceSkuProperties_STATUS - API Management service resource SKU properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - systemData: - description: |- - Storage version of v1api20220801.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentRollbackEnabled: + description: 'DeploymentRollbackEnabled: true to enable deployment rollback; otherwise, false.' + type: boolean + gitHubActionConfiguration: + description: 'GitHubActionConfiguration: If GitHub Action is selected, than the associated configuration.' + properties: + codeConfiguration: + description: 'CodeConfiguration: GitHub Action code configuration.' + properties: + runtimeStack: + description: 'RuntimeStack: Runtime stack is used to determine the workflow file content for code base apps.' + type: string + runtimeVersion: + description: 'RuntimeVersion: Runtime version is used to determine what build version to set in the workflow file.' + type: string type: object - createdAt: - type: string - createdBy: - type: string - createdByType: - type: string - lastModifiedAt: - type: string - lastModifiedBy: - type: string - lastModifiedByType: - type: string - type: object - tags: - additionalProperties: - type: string + containerConfiguration: + description: 'ContainerConfiguration: GitHub Action container configuration.' + properties: + imageName: + description: 'ImageName: The image name for the build.' + type: string + serverUrl: + description: 'ServerUrl: The server URL for the container registry where the build will be hosted.' + type: string + username: + description: 'Username: The username used to upload the image to the container registry.' + type: string + type: object + generateWorkflowFile: + description: |- + GenerateWorkflowFile: Workflow option to determine whether the workflow file should be generated and written to the + repository. + type: boolean + isLinux: + description: 'IsLinux: This will help determine the workflow configuration to select.' + type: boolean type: object - targetProvisioningState: - type: string - type: + id: + description: 'Id: Resource Id.' type: string - virtualNetworkConfiguration: + isGitHubAction: + description: 'IsGitHubAction: true if this is deployed via GitHub action.' + type: boolean + isManualIntegration: description: |- - Storage version of v1api20220801.VirtualNetworkConfiguration_STATUS - Configuration of a virtual network to which API Management service is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceId: - type: string - subnetname: - type: string - vnetid: - type: string - type: object - virtualNetworkType: + IsManualIntegration: true to limit to manual integration; false to enable continuous + integration (which configures webhooks into online repos like GitHub). + type: boolean + isMercurial: + description: 'IsMercurial: true for a Mercurial repository; false for a Git repository.' + type: boolean + kind: + description: 'Kind: Kind of resource.' + type: string + name: + description: 'Name: Resource Name.' + type: string + repoUrl: + description: 'RepoUrl: Repository or source control URL.' + type: string + type: + description: 'Type: Resource type.' type: string - zones: - items: - type: string - type: array type: object type: object served: true - storage: true + storage: false subresources: status: {} - additionalPrinterColumns: @@ -308994,13 +397536,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20220301storage schema: openAPIV3Schema: description: |- + Storage version of v1api20220301.SitesSourcecontrol Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimdeployment.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web properties: apiVersion: description: |- @@ -309020,503 +397563,110 @@ spec: metadata: type: object spec: + description: Storage version of v1api20220301.SitesSourcecontrol_Spec properties: - additionalLocations: - description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' - items: - description: Description of an additional API Management resource location. - properties: - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in this additional location. - type: boolean - location: - description: 'Location: The location name of the additional region among Azure Data center regions.' - type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - enum: - - Disabled - - Enabled - type: string - publicIpAddressReference: - description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the location. Supported only for Premium SKU being deployed in Virtual Network. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sku: - description: 'Sku: SKU properties of the API Management service.' - properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer - name: - description: 'Name: Name of the Sku.' - enum: - - Basic - - BasicV2 - - Consumption - - Developer - - Isolated - - Premium - - Standard - - StandardV2 - type: string - required: - - capacity - - name - type: object - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' - properties: - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array - required: - - location - - sku - type: object - type: array - apiVersionConstraint: - description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' - properties: - minApiVersion: - description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' - type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 50 - minLength: 1 - pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ - type: string - certificates: - description: |- - Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates - that can be installed is 10. - items: - description: Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - expiryFromConfig: - description: |- - ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` - as specified by the ISO 8601 standard. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - description: 'Subject: Subject of the certificate.' - type: string - subjectFromConfig: - description: 'SubjectFromConfig: Subject of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - thumbprintFromConfig: - description: 'ThumbprintFromConfig: Thumbprint of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: 'CertificatePassword: Certificate Password.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - storeName: - description: |- - StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and - CertificateAuthority are valid locations. - enum: - - CertificateAuthority - - Root - type: string - required: - - storeName - type: object - type: array - configurationApi: - description: 'ConfigurationApi: Configuration API configuration of the API Management service.' - properties: - legacyApi: - description: |- - LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. - Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be - available for self-hosted gateways. Default value is 'Enabled' - enum: - - Disabled - - Enabled - type: string - type: object - customProperties: + $propertyBag: additionalProperties: type: string description: |- - CustomProperties: Custom properties of the API Management service.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher - TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API - Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be - used to disable just TLS 1.1 for communications with backends.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for - communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be - used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH - operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value - is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is - `False`.

You can disable any of the following ciphers by using settings - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, - TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default - value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal - platform components: - TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - developerPortalStatus: - description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' - enum: - - Disabled - - Enabled + branch: type: string - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in master region. + deploymentRollbackEnabled: type: boolean - enableClientCertificate: + gitHubActionConfiguration: description: |- - EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate - to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the - policy on the gateway. - type: boolean - hostnameConfigurations: - description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' - items: - description: Custom hostname configuration. - properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - expiryFromConfig: - description: |- - ExpiryFromConfig: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` - as specified by the ISO 8601 standard. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - description: 'Subject: Subject of the certificate.' - type: string - subjectFromConfig: - description: 'SubjectFromConfig: Subject of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - thumbprintFromConfig: - description: 'ThumbprintFromConfig: Thumbprint of the certificate.' - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: 'CertificatePassword: Certificate Password.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - certificateSource: - description: 'CertificateSource: Certificate Source.' - enum: - - BuiltIn - - Custom - - KeyVault - - Managed - type: string - certificateStatus: - description: 'CertificateStatus: Certificate Status.' - enum: - - Completed - - Failed - - InProgress - type: string - defaultSslBinding: - description: |- - DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. - If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is - useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The - setting only applied to gateway Hostname Type. - type: boolean - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - hostName: - description: 'HostName: Hostname to configure on the Api Management service.' - type: string - identityClientId: - description: |- - IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to - the keyVault containing the SSL certificate. - type: string - identityClientIdFromConfig: - description: |- - IdentityClientIdFromConfig: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET - access to the keyVault containing the SSL certificate. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - keyVaultId: - description: |- - KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, - auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. - The secret should be of type *application/x-pkcs12* - type: string - negotiateClientCertificate: - description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' - type: boolean - type: - description: 'Type: Hostname type.' - enum: - - ConfigurationApi - - DeveloperPortal - - Management - - Portal - - Proxy - - Scm - type: string - required: - - hostName - - type - type: object - type: array - identity: - description: 'Identity: Managed service identity of the Api Management service.' + Storage version of v1api20220301.GitHubActionConfiguration + The GitHub action configuration. properties: - type: + $propertyBag: + additionalProperties: + type: string description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + codeConfiguration: description: |- - UserAssignedIdentities: The list of user identities associated with the resource. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - required: - - type + Storage version of v1api20220301.GitHubActionCodeConfiguration + The GitHub action code configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + runtimeStack: + type: string + runtimeVersion: + type: string + type: object + containerConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionContainerConfiguration + The GitHub action container configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + imageName: + type: string + password: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + serverUrl: + type: string + username: + type: string + type: object + generateWorkflowFile: + type: boolean + isLinux: + type: boolean type: object - legacyPortalStatus: - description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' - enum: - - Disabled - - Enabled - type: string - location: - description: 'Location: Resource location.' - type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - enum: - - Disabled - - Enabled - type: string - notificationSenderEmail: - description: 'NotificationSenderEmail: Email address from which the notification will be sent.' - maxLength: 100 + isGitHubAction: + type: boolean + isManualIntegration: + type: boolean + isMercurial: + type: boolean + kind: type: string operatorSpec: description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure + Storage version of v1api20220301.SitesSourcecontrolOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -309546,7 +397696,6 @@ spec: type: object type: array secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -309576,11 +397725,13 @@ spec: type: object type: array type: object + originalVersion: + type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a web.azure.com/Site resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -309589,244 +397740,440 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddressReference: - description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is - optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access - method. Default value is 'Enabled' - enum: - - Disabled - - Enabled - type: string - publisherEmail: - description: 'PublisherEmail: Publisher email.' - maxLength: 100 - type: string - publisherName: - description: 'PublisherName: Publisher name.' - maxLength: 100 + repoUrl: type: string - restore: - description: |- - Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True - all other properties will be ignored. - type: boolean - sku: - description: 'Sku: SKU properties of the API Management service.' - properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer - name: - description: 'Name: Name of the Sku.' - enum: - - Basic - - BasicV2 - - Consumption - - Developer - - Isolated - - Premium - - Standard - - StandardV2 - type: string - required: - - capacity - - name - type: object - tags: + required: + - owner + type: object + status: + description: Storage version of v1api20220301.SitesSourcecontrol_STATUS + properties: + $propertyBag: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + branch: + type: string + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + deploymentRollbackEnabled: + type: boolean + gitHubActionConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionConfiguration_STATUS + The GitHub action configuration. properties: - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + codeConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionCodeConfiguration_STATUS + The GitHub action code configuration. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + runtimeStack: type: string - group: - description: Group is the Kubernetes group of the resource. + runtimeVersion: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + containerConfiguration: + description: |- + Storage version of v1api20220301.GitHubActionContainerConfiguration_STATUS + The GitHub action container configuration. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + imageName: type: string - name: - description: Name is the Kubernetes name of the resource. + serverUrl: + type: string + username: type: string type: object + generateWorkflowFile: + type: boolean + isLinux: + type: boolean type: object - virtualNetworkType: - description: |- - VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) - means the API Management service is not part of any Virtual Network, External means the API Management deployment is set - up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is - setup inside a Virtual Network having an Intranet Facing Endpoint only. - enum: - - External - - Internal - - None + id: + type: string + isGitHubAction: + type: boolean + isManualIntegration: + type: boolean + isMercurial: + type: boolean + kind: + type: string + name: + type: string + repoUrl: + type: string + type: type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array - required: - - location - - owner - - publisherEmail - - publisherName - - sku type: object - status: + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: smartdetectoralertrules.alertsmanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: alertsmanagement.azure.com + names: + categories: + - azure + - alertsmanagement + kind: SmartDetectorAlertRule + listKind: SmartDetectorAlertRuleList + plural: smartdetectoralertrules + singular: smartdetectoralertrule + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: properties: - additionalLocations: - description: 'AdditionalLocations: Additional datacenter locations of the API Management service.' - items: - description: Description of an additional API Management resource location. - properties: - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in this additional location. - type: boolean - gatewayRegionalUrl: - description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Region.' - type: string - location: - description: 'Location: The location name of the additional region among Azure Data center regions.' - type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - type: string - outboundPublicIPAddresses: - description: |- - OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available - only for Premium SKU on stv2 platform. - items: - type: string - type: array - platformVersion: - description: 'PlatformVersion: Compute Platform Version running the service.' - type: string - privateIPAddresses: - description: |- - PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service which is deployed in an - Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated - SKU. - items: - type: string - type: array - publicIPAddresses: - description: |- - PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in the additional location. - Available only for Basic, Standard, Premium and Isolated SKU. - items: - type: string - type: array - publicIpAddressId: + actionGroups: + description: 'ActionGroups: The alert rule actions.' + properties: + customEmailSubject: + description: 'CustomEmailSubject: An optional custom email subject to use in email notifications.' + type: string + customWebhookPayload: + description: 'CustomWebhookPayload: An optional custom web-hook payload to use in web-hook notifications.' + type: string + groupReferences: + description: 'GroupReferences: The Action Group resource IDs.' + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + required: + - groupReferences + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + description: + description: 'Description: The alert rule description.' + type: string + detector: + description: 'Detector: The alert rule''s detector.' + properties: + id: + description: 'Id: The detector id.' + type: string + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Parameters: The detector''s parameters.''' + type: object + required: + - id + type: object + frequency: + description: |- + Frequency: The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 + minute, depending on the detector. + type: string + location: + description: 'Location: The resource location.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in - the location. Supported only for Premium SKU being deployed in Virtual Network. - type: string - sku: - description: 'Sku: SKU properties of the API Management service.' + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string name: - description: 'Name: Name of the Sku.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration for the location.' + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - subnetResourceId: - description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - subnetname: - description: 'Subnetname: The name of the subnet.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - vnetid: - description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array - type: object - type: array - apiVersionConstraint: - description: 'ApiVersionConstraint: Control Plane Apis version constraint for the API Management service.' + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: - minApiVersion: - description: 'MinApiVersion: Limit control plane API calls to API Management service with version equal to or newer than this value.' + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - certificates: - description: |- - Certificates: List of Certificates that need to be installed in the API Management service. Max supported certificates - that can be installed is 10. + scopeReferences: + description: 'ScopeReferences: The alert rule resources scope.' items: - description: Certificate configuration which consist of non-trusted intermediates and root certificates. + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - subject: - description: 'Subject: Subject of the certificate.' - type: string - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - type: object - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - storeName: + armId: description: |- - StoreName: The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and - CertificateAuthority are valid locations. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object type: array + severity: + description: 'Severity: The alert rule severity.' + enum: + - Sev0 + - Sev1 + - Sev2 + - Sev3 + - Sev4 + type: string + state: + description: 'State: The alert rule state.' + enum: + - Disabled + - Enabled + type: string + tags: + additionalProperties: + type: string + description: 'Tags: The resource tags.' + type: object + throttling: + description: 'Throttling: The alert rule throttling information.' + properties: + duration: + description: |- + Duration: The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time + granularity must be in minutes and minimum value is 0 minutes + type: string + type: object + required: + - actionGroups + - detector + - frequency + - owner + - scopeReferences + - severity + - state + type: object + status: + properties: + actionGroups: + description: 'ActionGroups: The alert rule actions.' + properties: + customEmailSubject: + description: 'CustomEmailSubject: An optional custom email subject to use in email notifications.' + type: string + customWebhookPayload: + description: 'CustomWebhookPayload: An optional custom web-hook payload to use in web-hook notifications.' + type: string + groupIds: + description: 'GroupIds: The Action Group resource IDs.' + items: + type: string + type: array + type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -309871,355 +398218,106 @@ spec: - type type: object type: array - configurationApi: - description: 'ConfigurationApi: Configuration API configuration of the API Management service.' - properties: - legacyApi: - description: |- - LegacyApi: Indication whether or not the legacy Configuration API (v1) should be exposed on the API Management service. - Value is optional but must be 'Enabled' or 'Disabled'. If 'Disabled', legacy Configuration API (v1) will not be - available for self-hosted gateways. Default value is 'Enabled' - type: string - type: object - createdAtUtc: - description: |- - CreatedAtUtc: Creation UTC date of the API Management service.The date conforms to the following format: - `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - type: string - customProperties: - additionalProperties: - type: string - description: |- - CustomProperties: Custom properties of the API Management service.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher - TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API - Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be - used to disable just TLS 1.1 for communications with backends.
Setting - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for - communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be - used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH - operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value - is `True` if the service was created on or before April 1, 2018 and `False` otherwise. Http2 setting's default value is - `False`.

You can disable any of the following ciphers by using settings - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, - TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, - `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default - value is `true` for them.
Note: The following ciphers can't be disabled since they are required by internal - platform components: - TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - type: object - developerPortalStatus: - description: 'DeveloperPortalStatus: Status of developer portal in this API Management service.' - type: string - developerPortalUrl: - description: 'DeveloperPortalUrl: DEveloper Portal endpoint URL of the API Management service.' - type: string - disableGateway: - description: |- - DisableGateway: Property only valid for an Api Management service deployed in multiple locations. This can be used to - disable the gateway in master region. - type: boolean - enableClientCertificate: - description: |- - EnableClientCertificate: Property only meant to be used for Consumption SKU Service. This enforces a client certificate - to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the - policy on the gateway. - type: boolean - etag: - description: 'Etag: ETag of the resource.' - type: string - gatewayRegionalUrl: - description: 'GatewayRegionalUrl: Gateway URL of the API Management service in the Default Region.' - type: string - gatewayUrl: - description: 'GatewayUrl: Gateway URL of the API Management service.' - type: string - hostnameConfigurations: - description: 'HostnameConfigurations: Custom hostname configuration of the API Management service.' - items: - description: Custom hostname configuration. - properties: - certificate: - description: 'Certificate: Certificate information.' - properties: - expiry: - description: |- - Expiry: Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as - specified by the ISO 8601 standard. - type: string - subject: - description: 'Subject: Subject of the certificate.' - type: string - thumbprint: - description: 'Thumbprint: Thumbprint of the certificate.' - type: string - type: object - certificateSource: - description: 'CertificateSource: Certificate Source.' - type: string - certificateStatus: - description: 'CertificateStatus: Certificate Status.' - type: string - defaultSslBinding: - description: |- - DefaultSslBinding: Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. - If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is - useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The - setting only applied to gateway Hostname Type. - type: boolean - encodedCertificate: - description: 'EncodedCertificate: Base64 Encoded certificate.' - type: string - hostName: - description: 'HostName: Hostname to configure on the Api Management service.' - type: string - identityClientId: - description: |- - IdentityClientId: System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to - the keyVault containing the SSL certificate. - type: string - keyVaultId: - description: |- - KeyVaultId: Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, - auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. - The secret should be of type *application/x-pkcs12* - type: string - negotiateClientCertificate: - description: 'NegotiateClientCertificate: Specify true to always negotiate client certificate on the hostname. Default Value is false.' - type: boolean - type: - description: 'Type: Hostname type.' - type: string - type: object - type: array - id: - description: 'Id: Resource ID.' + description: + description: 'Description: The alert rule description.' type: string - identity: - description: 'Identity: Managed service identity of the Api Management service.' + detector: + description: 'Detector: The alert rule''s detector.' properties: - principalId: - description: 'PrincipalId: The principal id of the identity.' + description: + description: 'Description: The Smart Detector description.' type: string - tenantId: - description: 'TenantId: The client tenant id of the identity.' + id: + description: 'Id: The detector id.' type: string - type: - description: |- - Type: The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly - created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. + imagePaths: + description: 'ImagePaths: The Smart Detector image path. By default this is not populated, unless it''s specified in expandDetector' + items: + type: string + type: array + name: + description: 'Name: The Smart Detector name.' type: string - userAssignedIdentities: - additionalProperties: + parameterDefinitions: + description: 'ParameterDefinitions: The Smart Detector parameters definitions.''' + items: + description: The detector parameter definition. properties: - clientId: - description: 'ClientId: The client id of user assigned identity.' + description: + description: 'Description: The detector parameter description.' type: string - principalId: - description: 'PrincipalId: The principal id of user assigned identity.' + displayName: + description: 'DisplayName: The detector parameter display name.' + type: string + isMandatory: + description: 'IsMandatory: A value indicating whether this detector parameter is mandatory.' + type: boolean + name: + description: 'Name: The detector parameter name.' + type: string + type: + description: 'Type: The detector parameter type.' type: string type: object - description: |- - UserAssignedIdentities: The list of user identities associated with the resource. The user identity - dictionary key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/ - providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + type: array + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + description: 'Parameters: The detector''s parameters.''' type: object + supportedCadences: + description: 'SupportedCadences: The Smart Detector supported cadences.' + items: + type: integer + type: array + supportedResourceTypes: + description: 'SupportedResourceTypes: The Smart Detector supported resource types.' + items: + type: string + type: array type: object - legacyPortalStatus: - description: 'LegacyPortalStatus: Status of legacy portal in the API Management service.' + frequency: + description: |- + Frequency: The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 + minute, depending on the detector. type: string - location: - description: 'Location: Resource location.' + id: + description: 'Id: The resource ID.' type: string - managementApiUrl: - description: 'ManagementApiUrl: Management API endpoint URL of the API Management service.' + location: + description: 'Location: The resource location.' type: string name: - description: 'Name: Resource name.' - type: string - natGatewayState: - description: 'NatGatewayState: Property can be used to enable NAT Gateway for this API Management service.' - type: string - notificationSenderEmail: - description: 'NotificationSenderEmail: Email address from which the notification will be sent.' - type: string - outboundPublicIPAddresses: - description: |- - OutboundPublicIPAddresses: Outbound public IPV4 address prefixes associated with NAT Gateway deployed service. Available - only for Premium SKU on stv2 platform. - items: - type: string - type: array - platformVersion: - description: 'PlatformVersion: Compute Platform Version running the service in this location.' - type: string - portalUrl: - description: 'PortalUrl: Publisher portal endpoint Url of the API Management service.' - type: string - privateEndpointConnections: - description: 'PrivateEndpointConnections: List of Private Endpoint Connections of this service.' - items: - description: Remote Private Endpoint Connection resource. - properties: - groupIds: - description: 'GroupIds: All the Group ids.' - items: - type: string - type: array - id: - description: 'Id: Private Endpoint connection resource id' - type: string - name: - description: 'Name: Private Endpoint Connection Name' - type: string - privateEndpoint: - description: 'PrivateEndpoint: The resource of private end point.' - properties: - id: - type: string - type: object - privateLinkServiceConnectionState: - description: |- - PrivateLinkServiceConnectionState: A collection of information about the state of the connection between service - consumer and provider. - properties: - actionsRequired: - description: 'ActionsRequired: A message indicating if changes on the service provider require any updates on the consumer.' - type: string - description: - description: 'Description: The reason for approval/rejection of the connection.' - type: string - status: - description: 'Status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.' - type: string - type: object - provisioningState: - description: 'ProvisioningState: The provisioning state of the private endpoint connection resource.' - type: string - type: - description: 'Type: Private Endpoint Connection Resource Type' - type: string - type: object - type: array - privateIPAddresses: - description: |- - PrivateIPAddresses: Private Static Load Balanced IP addresses of the API Management service in Primary region which is - deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU. - items: - type: string - type: array - provisioningState: - description: |- - ProvisioningState: The current provisioning state of the API Management service which can be one of the following: - Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted. + description: 'Name: The resource name.' type: string - publicIPAddresses: - description: |- - PublicIPAddresses: Public Static Load Balanced IP addresses of the API Management service in Primary region. Available - only for Basic, Standard, Premium and Isolated SKU. + scope: + description: 'Scope: The alert rule resources scope.' items: type: string type: array - publicIpAddressId: - description: |- - PublicIpAddressId: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in - the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Whether or not public endpoint access is allowed for this API Management service. Value is - optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access - method. Default value is 'Enabled' - type: string - publisherEmail: - description: 'PublisherEmail: Publisher email.' - type: string - publisherName: - description: 'PublisherName: Publisher name.' + severity: + description: 'Severity: The alert rule severity.' type: string - restore: - description: |- - Restore: Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True - all other properties will be ignored. - type: boolean - scmUrl: - description: 'ScmUrl: SCM endpoint URL of the API Management service.' + state: + description: 'State: The alert rule state.' type: string - sku: - description: 'Sku: SKU properties of the API Management service.' - properties: - capacity: - description: 'Capacity: Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0.' - type: integer - name: - description: 'Name: Name of the Sku.' - type: string - type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' - properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' - type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' - type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' - type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' - type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' - type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' - type: string - type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags.' + description: 'Tags: The resource tags.' type: object - targetProvisioningState: - description: |- - TargetProvisioningState: The provisioning state of the API Management service, which is targeted by the long running - operation started on the service. - type: string - type: - description: 'Type: Resource type for API Management resource is set to Microsoft.ApiManagement.' - type: string - virtualNetworkConfiguration: - description: 'VirtualNetworkConfiguration: Virtual network configuration of the API Management service.' + throttling: + description: 'Throttling: The alert rule throttling information.' properties: - subnetResourceId: - description: 'SubnetResourceId: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' - type: string - subnetname: - description: 'Subnetname: The name of the subnet.' - type: string - vnetid: - description: 'Vnetid: The virtual network ID. This is typically a GUID. Expect a null GUID by default.' + duration: + description: |- + Duration: The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time + granularity must be in minutes and minimum value is 0 minutes type: string type: object - virtualNetworkType: - description: |- - VirtualNetworkType: The type of VPN in which API Management service needs to be configured in. None (Default Value) - means the API Management service is not part of any Virtual Network, External means the API Management deployment is set - up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is - setup inside a Virtual Network having an Intranet Facing Endpoint only. + type: + description: 'Type: The resource type.' type: string - zones: - description: 'Zones: A list of availability zones denoting where the resource needs to come from.' - items: - type: string - type: array type: object type: object served: true @@ -310239,14 +398337,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20210401storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.Service + Storage version of v1api20210401.SmartDetectorAlertRule Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimdeployment.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName} + - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName} properties: apiVersion: description: |- @@ -310266,7 +398364,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.Service_Spec + description: Storage version of v1api20210401.SmartDetectorAlertRule_Spec properties: $propertyBag: additionalProperties: @@ -310275,107 +398373,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - additionalLocations: - items: - description: |- - Storage version of v1api20230501preview.AdditionalLocation - Description of an additional API Management resource location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableGateway: - type: boolean - location: - type: string - natGatewayState: - type: string - publicIpAddressReference: - description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the location. Supported only for Premium SKU being deployed in Virtual Network. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sku: - description: |- - Storage version of v1api20230501preview.ApiManagementServiceSkuProperties - API Management service resource SKU properties. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - name: - type: string - type: object - virtualNetworkConfiguration: - description: |- - Storage version of v1api20230501preview.VirtualNetworkConfiguration - Configuration of a virtual network to which API Management service is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - zones: - items: - type: string - type: array - type: object - type: array - apiVersionConstraint: + actionGroups: description: |- - Storage version of v1api20230501preview.ApiVersionConstraint - Control Plane Apis version constraint for the API Management service. + Storage version of v1api20210401.ActionGroupsInformation + The Action Groups information, used by the alert rule. properties: $propertyBag: additionalProperties: @@ -310384,343 +398385,66 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - minApiVersion: + customEmailSubject: type: string - type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - certificates: - items: - description: |- - Storage version of v1api20230501preview.CertificateConfiguration - Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20230501preview.CertificateInformation - SSL certificate information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: - type: string - expiryFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - type: string - subjectFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - type: string - thumbprintFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - encodedCertificate: - type: string - storeName: - type: string - type: object - type: array - configurationApi: - description: |- - Storage version of v1api20230501preview.ConfigurationApi - Information regarding the Configuration API of the API Management service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - legacyApi: + customWebhookPayload: type: string - type: object - customProperties: - additionalProperties: - type: string - type: object - developerPortalStatus: - type: string - disableGateway: - type: boolean - enableClientCertificate: - type: boolean - hostnameConfigurations: - items: - description: |- - Storage version of v1api20230501preview.HostnameConfiguration - Custom hostname configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20230501preview.CertificateInformation - SSL certificate information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: - type: string - expiryFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - subject: - type: string - subjectFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - thumbprint: - type: string - thumbprintFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - type: object - certificatePassword: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. + groupReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: + armId: description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - certificateSource: - type: string - certificateStatus: - type: string - defaultSslBinding: - type: boolean - encodedCertificate: - type: string - hostName: - type: string - identityClientId: - type: string - identityClientIdFromConfig: - description: |- - ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes configmap being referenced + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - name: - description: |- - Name is the name of the Kubernetes configmap being referenced. - The configmap must be in the same namespace as the resource + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - key - - name - type: object - keyVaultId: - type: string - negotiateClientCertificate: - type: boolean - type: - type: string - type: object - type: array - identity: - description: |- - Storage version of v1api20230501preview.ApiManagementServiceIdentity - Identity properties of the Api Management service resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - type: - type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20230501preview.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object type: object type: array type: object - legacyPortalStatus: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - location: + description: type: string - natGatewayState: + detector: + description: |- + Storage version of v1api20210401.Detector + The detector information. By default this is not populated, unless it's specified in expandDetector + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + type: object + frequency: type: string - notificationSenderEmail: + location: type: string operatorSpec: description: |- - Storage version of v1api20230501preview.ServiceOperatorSpec + Storage version of v1api20210401.SmartDetectorAlertRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -310804,40 +398528,134 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicIpAddressReference: + scopeReferences: + items: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: array + severity: + type: string + state: + type: string + tags: + additionalProperties: + type: string + type: object + throttling: description: |- - PublicIpAddressReference: Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed - service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network. + Storage version of v1api20210401.ThrottlingInformation + Optional throttling information for the alert rule. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + duration: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.SmartDetectorAlertRule_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + actionGroups: + description: |- + Storage version of v1api20210401.ActionGroupsInformation_STATUS + The Action Groups information, used by the alert rule. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + customEmailSubject: type: string - name: - description: Name is the Kubernetes name of the resource. + customWebhookPayload: type: string + groupIds: + items: + type: string + type: array type: object - publicNetworkAccess: - type: string - publisherEmail: - type: string - publisherName: + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + description: type: string - restore: - type: boolean - sku: + detector: description: |- - Storage version of v1api20230501preview.ApiManagementServiceSkuProperties - API Management service resource SKU properties. + Storage version of v1api20210401.Detector_STATUS + The detector information. By default this is not populated, unless it's specified in expandDetector properties: $propertyBag: additionalProperties: @@ -310846,19 +398664,78 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - capacity: - type: integer + description: + type: string + id: + type: string + imagePaths: + items: + type: string + type: array name: type: string + parameterDefinitions: + items: + description: |- + Storage version of v1api20210401.DetectorParameterDefinition_STATUS + The detector parameter definition. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + description: + type: string + displayName: + type: string + isMandatory: + type: boolean + name: + type: string + type: + type: string + type: object + type: array + parameters: + additionalProperties: + x-kubernetes-preserve-unknown-fields: true + type: object + supportedCadences: + items: + type: integer + type: array + supportedResourceTypes: + items: + type: string + type: array type: object + frequency: + type: string + id: + type: string + location: + type: string + name: + type: string + scope: + items: + type: string + type: array + severity: + type: string + state: + type: string tags: additionalProperties: type: string type: object - virtualNetworkConfiguration: + throttling: description: |- - Storage version of v1api20230501preview.VirtualNetworkConfiguration - Configuration of a virtual network to which API Management service is deployed. + Storage version of v1api20210401.ThrottlingInformation_STATUS + Optional throttling information for the alert rule. properties: $propertyBag: additionalProperties: @@ -310867,8 +398744,180 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - subnetResourceReference: - description: 'SubnetResourceReference: The full resource ID of a subnet in a virtual network to deploy the API Management service in.' + duration: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: snapshots.compute.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: compute.azure.com + names: + categories: + - azure + - compute + kind: Snapshot + listKind: SnapshotList + plural: snapshots + singular: snapshot + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20200930 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - Empty + - FromImage + - Import + - Restore + - Upload + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + imageReference: + description: 'ImageReference: Disk source information.' + properties: + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' properties: armId: description: |- @@ -310887,159 +398936,354 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption type: object - virtualNetworkType: - type: string - zones: - items: - type: string - type: array - required: - - owner - type: object - status: - description: Storage version of v1api20230501preview.Service_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - additionalLocations: - items: - description: |- - Storage version of v1api20230501preview.AdditionalLocation_STATUS - Description of an additional API Management resource location. - properties: - $propertyBag: - additionalProperties: + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the snapshot.' + enum: + - ActiveSAS + - ActiveUpload + - Attached + - ReadyToUpload + - Reserved + - Unattached + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - disableGateway: - type: boolean - gatewayRegionalUrl: - type: string - location: - type: string - natGatewayState: - type: string - outboundPublicIPAddresses: - items: + group: + description: Group is the Kubernetes group of the resource. type: string - type: array - platformVersion: - type: string - privateIPAddresses: - items: + kind: + description: Kind is the Kubernetes kind of the resource. type: string - type: array - publicIPAddresses: - items: + name: + description: Name is the Kubernetes name of the resource. type: string - type: array - publicIpAddressId: - type: string - sku: - description: |- - Storage version of v1api20230501preview.ApiManagementServiceSkuProperties_STATUS - API Management service resource SKU properties. + type: object + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. properties: - $propertyBag: - additionalProperties: - type: string + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault type: object - capacity: - type: integer - name: - type: string type: object - virtualNetworkConfiguration: + type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone + type: string + type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + location: + description: 'Location: Resource location' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: description: |- - Storage version of v1api20230501preview.VirtualNetworkConfiguration_STATUS - Configuration of a virtual network to which API Management service is deployed. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceId: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - subnetname: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - vnetid: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - zones: - items: - type: string - type: array - type: object - type: array - apiVersionConstraint: - description: |- - Storage version of v1api20230501preview.ApiVersionConstraint_STATUS - Control Plane Apis version constraint for the API Management service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - minApiVersion: - type: string - type: object - certificates: - items: - description: |- - Storage version of v1api20230501preview.CertificateConfiguration_STATUS - Certificate configuration which consist of non-trusted intermediates and root certificates. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: description: |- - Storage version of v1api20230501preview.CertificateInformation_STATUS - SSL certificate information. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiry: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - subject: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - thumbprint: + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - encodedCertificate: - type: string - storeName: - type: string - type: object - type: array + type: array + type: object + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + properties: + name: + description: 'Name: The plan ID.' + type: string + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + sku: + description: |- + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + name: + description: 'Name: The sku name.' + enum: + - Premium_LRS + - Standard_LRS + - Standard_ZRS + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - creationData + - location + - owner + type: object + status: + description: Snapshot resource. + properties: conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -311082,347 +399326,230 @@ spec: - type type: object type: array - configurationApi: - description: |- - Storage version of v1api20230501preview.ConfigurationApi_STATUS - Information regarding the Configuration API of the API Management service. + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' properties: - $propertyBag: - additionalProperties: - type: string + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + galleryImageReference: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of + the shared galley image version from which to create a disk. + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer type: object - legacyApi: + imageReference: + description: 'ImageReference: Disk source information.' + properties: + id: + description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer type: object - createdAtUtc: - type: string - customProperties: - additionalProperties: - type: string - type: object - developerPortalStatus: - type: string - developerPortalUrl: - type: string - disableGateway: - type: boolean - enableClientCertificate: - type: boolean - etag: - type: string - gatewayRegionalUrl: + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' type: string - gatewayUrl: + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' + type: integer + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the snapshot.' type: string - hostnameConfigurations: - items: - description: |- - Storage version of v1api20230501preview.HostnameConfiguration_STATUS - Custom hostname configuration. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - certificate: - description: |- - Storage version of v1api20230501preview.CertificateInformation_STATUS - SSL certificate information. + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' + items: + description: Encryption settings for one disk volume. properties: - $propertyBag: - additionalProperties: - type: string + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object type: object - expiry: - type: string - subject: - type: string - thumbprint: - type: string type: object - certificateSource: - type: string - certificateStatus: - type: string - defaultSslBinding: - type: boolean - encodedCertificate: - type: string - hostName: - type: string - identityClientId: - type: string - keyVaultId: - type: string - negotiateClientCertificate: - type: boolean - type: - type: string - type: object - type: array - id: - type: string - identity: - description: |- - Storage version of v1api20230501preview.ApiManagementServiceIdentity_STATUS - Identity properties of the Api Management service resource. - properties: - $propertyBag: - additionalProperties: - type: string + type: array + encryptionSettingsVersion: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - principalId: + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. type: string - tenantId: + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: + name: + description: 'Name: The name of the extended location.' type: string type: + description: 'Type: The type of the extended location.' type: string - userAssignedIdentities: - additionalProperties: - description: Storage version of v1api20230501preview.UserIdentityProperties_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object type: object - legacyPortalStatus: + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: 'Id: Resource Id' type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean location: + description: 'Location: Resource location' type: string - managementApiUrl: + managedBy: + description: 'ManagedBy: Unused. Always Null.' type: string name: + description: 'Name: Resource name' type: string - natGatewayState: - type: string - notificationSenderEmail: - type: string - outboundPublicIPAddresses: - items: - type: string - type: array - platformVersion: + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' type: string - portalUrl: + osType: + description: 'OsType: The Operating System type.' type: string - privateEndpointConnections: - items: - description: |- - Storage version of v1api20230501preview.RemotePrivateEndpointConnectionWrapper_STATUS - Remote Private Endpoint Connection resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - groupIds: - items: - type: string - type: array - id: - type: string - name: - type: string - privateEndpoint: - description: |- - Storage version of v1api20230501preview.ArmIdWrapper_STATUS - A wrapper for an ARM resource id - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - privateLinkServiceConnectionState: - description: |- - Storage version of v1api20230501preview.PrivateLinkServiceConnectionState_STATUS - A collection of information about the state of the connection between service consumer and provider. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionsRequired: - type: string - description: - type: string - status: - type: string - type: object - provisioningState: - type: string - type: - type: string - type: object - type: array - privateIPAddresses: - items: - type: string - type: array provisioningState: + description: 'ProvisioningState: The disk provisioning state.' type: string - publicIPAddresses: - items: - type: string - type: array - publicIpAddressId: - type: string - publicNetworkAccess: - type: string - publisherEmail: - type: string - publisherName: - type: string - restore: - type: boolean - scmUrl: - type: string - sku: - description: |- - Storage version of v1api20230501preview.ApiManagementServiceSkuProperties_STATUS - API Management service resource SKU properties. + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer name: + description: 'Name: The plan ID.' type: string - type: object - systemData: - description: |- - Storage version of v1api20230501preview.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. - properties: - $propertyBag: - additionalProperties: - type: string + product: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: - type: string - createdBy: + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. type: string - createdByType: + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' type: string - lastModifiedAt: + publisher: + description: 'Publisher: The publisher ID.' type: string - lastModifiedBy: + type: object + sku: + description: |- + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + name: + description: 'Name: The sku name.' type: string - lastModifiedByType: + tier: + description: 'Tier: The sku tier.' type: string type: object tags: additionalProperties: type: string + description: 'Tags: Resource tags' type: object - targetProvisioningState: + timeCreated: + description: 'TimeCreated: The time when the snapshot was created.' type: string type: + description: 'Type: Resource type' type: string - virtualNetworkConfiguration: - description: |- - Storage version of v1api20230501preview.VirtualNetworkConfiguration_STATUS - Configuration of a virtual network to which API Management service is deployed. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - subnetResourceId: - type: string - subnetname: - type: string - vnetid: - type: string - type: object - virtualNetworkType: + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' type: string - zones: - items: - type: string - type: array type: object type: object served: true storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: signalrs.signalrservice.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: signalrservice.azure.com - names: - kind: SignalR - listKind: SignalRList - plural: signalrs - singular: signalr - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -311436,13 +399563,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211001 + name: v1api20200930storage schema: openAPIV3Schema: description: |- + Storage version of v1api20200930.Snapshot Generator information: - - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} properties: apiVersion: description: |- @@ -311462,491 +399590,496 @@ spec: metadata: type: object spec: + description: Storage version of v1api20200930.Snapshot_Spec properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cors: - description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' - properties: - allowedOrigins: - description: |- - AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: - http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. - items: - type: string - type: array - type: object - disableAadAuth: - description: |- - DisableAadAuth: DisableLocalAuth - Enable or disable aad auth - When set as true, connection with AuthType=aad won't work. - type: boolean - disableLocalAuth: - description: |- - DisableLocalAuth: DisableLocalAuth - Enable or disable local auth with AccessKey - When set as true, connection with AccessKey=xxx won't work. - type: boolean - features: + creationData: description: |- - Features: List of the featureFlags. - FeatureFlags that are not included in the parameters for the update operation will not be modified. - And the response will only include featureFlags that are explicitly set. - When a featureFlag is not explicitly set, its globally default value will be used - But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. - items: - description: Feature of a resource, which controls the runtime behavior. - properties: - flag: - description: |- - Flag: FeatureFlags is the supported features of Azure SignalR service. - - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; - "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both - Default and Serverless mode but not recommended; "PredefinedOnly": for future use. - - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. - - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. - - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live - traces in real time, it will be helpful when you developing your own Azure SignalR based web application or - self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. - Values allowed: "true"/"false", to enable/disable live trace feature. - enum: - - EnableConnectivityLogs - - EnableLiveTrace - - EnableMessagingLogs - - ServiceMode - type: string - properties: - additionalProperties: - type: string - description: 'Properties: Optional properties related to this feature.' - type: object - value: - description: |- - Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for - allowed values. - maxLength: 128 - minLength: 1 - type: string - required: - - flag - - value - type: object - type: array - identity: - description: 'Identity: A class represent managed identities used for request and response' - properties: - type: - description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' - enum: - - None - - SystemAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: 'UserAssignedIdentities: Get or set the user assigned identities' - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - kind: - description: 'Kind: The kind of the service, it can be SignalR or RawWebSockets' - enum: - - RawWebSockets - - SignalR - type: string - location: - description: 'Location: The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.' - type: string - networkACLs: - description: 'NetworkACLs: Network ACLs for the resource' + Storage version of v1api20200930.CreationData + Data used when creating a disk. properties: - defaultAction: - description: 'DefaultAction: Azure Networking ACL Action.' - enum: - - Allow - - Deny + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: type: string - privateEndpoints: - description: 'PrivateEndpoints: ACLs for requests from private endpoints' - items: - description: ACL for a private endpoint - properties: - allow: - description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - enum: - - ClientConnection - - RESTAPI - - ServerConnection - - Trace - type: string - type: array - deny: - description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - enum: - - ClientConnection - - RESTAPI - - ServerConnection - - Trace - type: string - type: array - name: - description: 'Name: Name of the private endpoint connection' - type: string - required: - - name - type: object - type: array - publicNetwork: - description: 'PublicNetwork: Network ACL' + galleryImageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. properties: - allow: - description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - enum: - - ClientConnection - - RESTAPI - - ServerConnection - - Trace - type: string - type: array - deny: - description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - enum: - - ClientConnection - - RESTAPI - - ServerConnection - - Trace - type: string - type: array - type: object - type: object - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + $propertyBag: + additionalProperties: type: string - required: - - name - - value - type: object - type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryConnectionString: description: |- - PrimaryConnectionString: indicates where the PrimaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: + armId: description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - required: - - key - - name - type: object - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. + description: Name is the Kubernetes name of the resource. type: string - required: - - key - - name type: object - secondaryConnectionString: + required: + - reference + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - SecondaryConnectionString: indicates where the SecondaryConnectionString secret should be placed. If omitted, the secret - will not be retrieved from Azure. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + lun: + type: integer + reference: + description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: + armId: description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. type: string name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. + description: Name is the Kubernetes name of the resource. type: string - required: - - key - - name type: object + required: + - reference + type: object + logicalSectorSize: + type: integer + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' properties: armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string name: - description: This is the name of the Kubernetes resource to reference. + description: Name is the Kubernetes name of the resource. type: string type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". - When it's Enabled, network ACLs still apply. - When it's Disabled, public network access is always disabled no matter what you set in network ACLs. + diskSizeGB: + type: integer + diskState: type: string - resourceLogConfiguration: - description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + encryption: + description: |- + Storage version of v1api20200930.Encryption + Encryption at rest settings for disk or snapshot properties: - categories: - description: 'Categories: Gets or sets the list of category configurations.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20200930.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: items: - description: Resource log category configuration of a Microsoft.SignalRService resource. + description: |- + Storage version of v1api20200930.EncryptionSettingsElement + Encryption settings for one disk volume. properties: - enabled: + $propertyBag: + additionalProperties: + type: string description: |- - Enabled: Indicates whether or the resource log category is enabled. - Available values: true, false. - Case insensitive. - type: string - name: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: description: |- - Name: Gets or sets the resource log category's name. - Available values: ConnectivityLogs, MessagingLogs. - Case insensitive. - type: string + Storage version of v1api20200930.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object type: object type: array + encryptionSettingsVersion: + type: string type: object - sku: - description: 'Sku: The billing information of the resource.' + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation + The complex type of the extended location. properties: - capacity: + $propertyBag: + additionalProperties: + type: string description: |- - Capacity: Optional, integer. The unit count of the resource. 1 by default. - If present, following values are allowed: - Free: 1 - Standard: 1,2,5,10,20,50,100 - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name: The name of the SKU. Required. - Allowed values: Standard_S1, Free_F1 type: string - tier: - description: |- - Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. - `Basic` is deprecated, use `Standard` instead. - enum: - - Basic - - Free - - Premium - - Standard + type: type: string - required: - - name - type: object - tags: - additionalProperties: - type: string - description: 'Tags: Tags of the service which is a list of key value pairs that describe the resource.' - type: object - tls: - description: 'Tls: TLS settings for the resource' - properties: - clientCertEnabled: - description: 'ClientCertEnabled: Request client certificate during TLS handshake if enabled' - type: boolean type: object - upstream: - description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' + hyperVGeneration: + type: string + incremental: + type: boolean + location: + type: string + networkAccessPolicy: + type: string + operatorSpec: + description: |- + Storage version of v1api20200930.SnapshotOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - templates: - description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: description: |- - Upstream template item settings. It defines the Upstream URL of the incoming requests. - The template defines the pattern - of the event, the hub or the category of the incoming request that matches current URL template. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - auth: - description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' - properties: - managedIdentity: - description: 'ManagedIdentity: Managed identity settings for upstream.' - properties: - resource: - description: |- - Resource: The Resource indicating the App ID URI of the target resource. - It also appears in the aud (audience) claim of the issued token. - type: string - type: object - type: - description: 'Type: Upstream auth type enum.' - enum: - - ManagedIdentity - - None - type: string - type: object - categoryPattern: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. - There are 3 kind of patterns supported: - 1. "*", it to matches any category name - 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and - "messages" - 3. The single category name, for example, "connections", it matches the category "connections" + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - eventPattern: + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: description: |- - EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. - There are 3 kind of patterns supported: - 1. "*", it to matches any event name - 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" - 3. The single event name, for example, "connect", it matches "connect" + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - hubPattern: + name: description: |- - HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. - There are 3 kind of patterns supported: - 1. "*", it to matches any hub name - 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" - 3. The single hub name, for example, "hub1", it matches "hub1" + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - urlTemplate: + value: description: |- - UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} - inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. - For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` - connects, it will first POST to this URL: `http://example.com/chat/api/connect`. + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string required: - - urlTemplate + - name + - value type: object type: array type: object + originalVersion: + type: string + osType: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + sku: + description: |- + Storage version of v1api20200930.SnapshotSku + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + tags: + additionalProperties: + type: string + type: object required: - owner type: object status: + description: |- + Storage version of v1api20200930.Snapshot_STATUS + Snapshot resource. properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -311989,346 +400122,269 @@ spec: - type type: object type: array - cors: - description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' - properties: - allowedOrigins: - description: |- - AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: - http://example.com:12345). Use "*" to allow all. If omitted, allow all by default. - items: - type: string - type: array - type: object - disableAadAuth: - description: |- - DisableAadAuth: DisableLocalAuth - Enable or disable aad auth - When set as true, connection with AuthType=aad won't work. - type: boolean - disableLocalAuth: - description: |- - DisableLocalAuth: DisableLocalAuth - Enable or disable local auth with AccessKey - When set as true, connection with AccessKey=xxx won't work. - type: boolean - externalIP: - description: 'ExternalIP: The publicly accessible IP of the resource.' - type: string - features: + creationData: description: |- - Features: List of the featureFlags. - FeatureFlags that are not included in the parameters for the update operation will not be modified. - And the response will only include featureFlags that are explicitly set. - When a featureFlag is not explicitly set, its globally default value will be used - But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags. - items: - description: Feature of a resource, which controls the runtime behavior. - properties: - flag: - description: |- - Flag: FeatureFlags is the supported features of Azure SignalR service. - - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; - "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both - Default and Serverless mode but not recommended; "PredefinedOnly": for future use. - - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. - - EnableMessagingLogs: "true"/"false", to enable/disable the connectivity log category respectively. - - EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live - traces in real time, it will be helpful when you developing your own Azure SignalR based web application or - self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. - Values allowed: "true"/"false", to enable/disable live trace feature. - type: string - properties: - additionalProperties: - type: string - description: 'Properties: Optional properties related to this feature.' - type: object - value: - description: |- - Value: Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for - allowed values. - type: string - type: object - type: array - hostName: - description: 'HostName: FQDN of the service instance.' - type: string - hostNamePrefix: - description: 'HostNamePrefix: Deprecated.' - type: string - id: - description: 'Id: Fully qualified resource Id for the resource.' - type: string - identity: - description: 'Identity: A class represent managed identities used for request and response' + Storage version of v1api20200930.CreationData_STATUS + Data used when creating a disk. properties: - principalId: + $propertyBag: + additionalProperties: + type: string description: |- - PrincipalId: Get the principal id for the system assigned identity. - Only be used in response. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: type: string - tenantId: + galleryImageReference: description: |- - TenantId: Get the tenant id for the system assigned identity. - Only be used in response - type: string - type: - description: 'Type: Represents the identity type: systemAssigned, userAssigned, None' - type: string - userAssignedIdentities: - additionalProperties: - description: Properties of user assigned identity. - properties: - clientId: - description: 'ClientId: Get the client id for the user assigned identity' + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: type: string - principalId: - description: 'PrincipalId: Get the principal id for the user assigned identity' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer + type: object + imageReference: + description: |- + Storage version of v1api20200930.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: type: string - type: object - description: 'UserAssignedIdentities: Get or set the user assigned identities' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + lun: + type: integer type: object + logicalSectorSize: + type: integer + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer type: object - kind: - description: 'Kind: The kind of the service, it can be SignalR or RawWebSockets' - type: string - location: - description: 'Location: The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.' + diskAccessId: type: string - name: - description: 'Name: The name of the resource.' + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: type: string - networkACLs: - description: 'NetworkACLs: Network ACLs for the resource' + encryption: + description: |- + Storage version of v1api20200930.Encryption_STATUS + Encryption at rest settings for disk or snapshot properties: - defaultAction: - description: 'DefaultAction: Azure Networking ACL Action.' - type: string - privateEndpoints: - description: 'PrivateEndpoints: ACLs for requests from private endpoints' - items: - description: ACL for a private endpoint - properties: - allow: - description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - type: string - type: array - deny: - description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - type: string - type: array - name: - description: 'Name: Name of the private endpoint connection' - type: string - type: object - type: array - publicNetwork: - description: 'PublicNetwork: Network ACL' - properties: - allow: - description: 'Allow: Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - type: string - type: array - deny: - description: 'Deny: Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.' - items: - description: The incoming request type to the service - type: string - type: array + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object + diskEncryptionSetId: + type: string + type: + type: string type: object - privateEndpointConnections: - description: 'PrivateEndpointConnections: Private endpoint connections to the resource.' - items: - description: A private endpoint connection to an azure resource - properties: - id: - description: 'Id: Fully qualified resource Id for the resource.' - type: string - type: object - type: array - provisioningState: - description: 'ProvisioningState: Provisioning state of the resource.' - type: string - publicNetworkAccess: + encryptionSettingsCollection: description: |- - PublicNetworkAccess: Enable or disable public network access. Default to "Enabled". - When it's Enabled, network ACLs still apply. - When it's Disabled, public network access is always disabled no matter what you set in network ACLs. - type: string - publicPort: - description: 'PublicPort: The publicly accessible port of the resource which is designed for browser/client side usage.' - type: integer - resourceLogConfiguration: - description: 'ResourceLogConfiguration: Resource log configuration of a Microsoft.SignalRService resource.' + Storage version of v1api20200930.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot properties: - categories: - description: 'Categories: Gets or sets the list of category configurations.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: items: - description: Resource log category configuration of a Microsoft.SignalRService resource. + description: |- + Storage version of v1api20200930.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. properties: - enabled: + $propertyBag: + additionalProperties: + type: string description: |- - Enabled: Indicates whether or the resource log category is enabled. - Available values: true, false. - Case insensitive. - type: string - name: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: description: |- - Name: Gets or sets the resource log category's name. - Available values: ConnectivityLogs, MessagingLogs. - Case insensitive. - type: string + Storage version of v1api20200930.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20200930.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: + type: string + sourceVault: + description: |- + Storage version of v1api20200930.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object type: object type: array + encryptionSettingsVersion: + type: string type: object - serverPort: - description: 'ServerPort: The publicly accessible port of the resource which is designed for customer server side usage.' - type: integer - sharedPrivateLinkResources: - description: 'SharedPrivateLinkResources: The list of shared private link resources.' - items: - description: Describes a Shared Private Link Resource - properties: - id: - description: 'Id: Fully qualified resource Id for the resource.' - type: string - type: object - type: array - sku: - description: 'Sku: The billing information of the resource.' + extendedLocation: + description: |- + Storage version of v1api20200930.ExtendedLocation_STATUS + The complex type of the extended location. properties: - capacity: + $propertyBag: + additionalProperties: + type: string description: |- - Capacity: Optional, integer. The unit count of the resource. 1 by default. - If present, following values are allowed: - Free: 1 - Standard: 1,2,5,10,20,50,100 - type: integer - family: - description: 'Family: Not used. Retained for future use.' - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object name: - description: |- - Name: The name of the SKU. Required. - Allowed values: Standard_S1, Free_F1 - type: string - size: - description: 'Size: Not used. Retained for future use.' type: string - tier: - description: |- - Tier: Optional tier of this particular SKU. 'Standard' or 'Free'. - `Basic` is deprecated, use `Standard` instead. + type: type: string type: object - systemData: - description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + hyperVGeneration: + type: string + id: + type: string + incremental: + type: boolean + location: + type: string + managedBy: + type: string + name: + type: string + networkAccessPolicy: + type: string + osType: + type: string + provisioningState: + type: string + purchasePlan: + description: |- + Storage version of v1api20200930.PurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. properties: - createdAt: - description: 'CreatedAt: The timestamp of resource creation (UTC).' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - createdBy: - description: 'CreatedBy: The identity that created the resource.' + product: type: string - createdByType: - description: 'CreatedByType: The type of identity that created the resource.' + promotionCode: type: string - lastModifiedAt: - description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + publisher: type: string - lastModifiedBy: - description: 'LastModifiedBy: The identity that last modified the resource.' + type: object + sku: + description: |- + Storage version of v1api20200930.SnapshotSku_STATUS + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - lastModifiedByType: - description: 'LastModifiedByType: The type of identity that last modified the resource.' + tier: type: string type: object tags: additionalProperties: type: string - description: 'Tags: Tags of the service which is a list of key value pairs that describe the resource.' - type: object - tls: - description: 'Tls: TLS settings for the resource' - properties: - clientCertEnabled: - description: 'ClientCertEnabled: Request client certificate during TLS handshake if enabled' - type: boolean type: object + timeCreated: + type: string type: - description: 'Type: The type of the resource - e.g. "Microsoft.SignalRService/SignalR"' type: string - upstream: - description: 'Upstream: The settings for the Upstream when the service is in server-less mode.' - properties: - templates: - description: 'Templates: Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.' - items: - description: |- - Upstream template item settings. It defines the Upstream URL of the incoming requests. - The template defines the pattern - of the event, the hub or the category of the incoming request that matches current URL template. - properties: - auth: - description: 'Auth: Upstream auth settings. If not set, no auth is used for upstream messages.' - properties: - managedIdentity: - description: 'ManagedIdentity: Managed identity settings for upstream.' - properties: - resource: - description: |- - Resource: The Resource indicating the App ID URI of the target resource. - It also appears in the aud (audience) claim of the issued token. - type: string - type: object - type: - description: 'Type: Upstream auth type enum.' - type: string - type: object - categoryPattern: - description: |- - CategoryPattern: Gets or sets the matching pattern for category names. If not set, it matches any category. - There are 3 kind of patterns supported: - 1. "*", it to matches any category name - 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and - "messages" - 3. The single category name, for example, "connections", it matches the category "connections" - type: string - eventPattern: - description: |- - EventPattern: Gets or sets the matching pattern for event names. If not set, it matches any event. - There are 3 kind of patterns supported: - 1. "*", it to matches any event name - 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect" - 3. The single event name, for example, "connect", it matches "connect" - type: string - hubPattern: - description: |- - HubPattern: Gets or sets the matching pattern for hub names. If not set, it matches any hub. - There are 3 kind of patterns supported: - 1. "*", it to matches any hub name - 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2" - 3. The single hub name, for example, "hub1", it matches "hub1" - type: string - urlTemplate: - description: |- - UrlTemplate: Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} - inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in. - For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` - connects, it will first POST to this URL: `http://example.com/chat/api/connect`. - type: string - type: object - type: array - type: object - version: - description: 'Version: Version of the resource. Probably you need the same or higher version of client SDKs.' + uniqueId: type: string type: object type: object @@ -312349,14 +400405,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20211001storage + name: v1api20240302 schema: openAPIV3Schema: description: |- - Storage version of v1api20211001.SignalR Generator information: - - Generated from: /signalr/resource-manager/Microsoft.SignalRService/stable/2021-10-01/signalr.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/snapshot.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} properties: apiVersion: description: |- @@ -312376,192 +400431,415 @@ spec: metadata: type: object spec: - description: Storage version of v1api20211001.SignalR_Spec properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - cors: + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number + copyCompletionError: description: |- - Storage version of v1api20211001.SignalRCorsSettings - Cross-Origin Resource Sharing (CORS) settings. + CopyCompletionError: Indicates the error details if the background copy of a resource created via the CopyStart + operation fails. properties: - $propertyBag: - additionalProperties: - type: string + errorCode: + description: 'ErrorCode: Indicates the error code if the background copy of a resource created via the CopyStart operation fails.' + enum: + - CopySourceNotFound + type: string + errorMessage: + description: 'ErrorMessage: Indicates the error message if the background copy of a resource created via the CopyStart operation fails.' + type: string + required: + - errorCode + - errorMessage + type: object + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + enum: + - Attach + - Copy + - CopyFromSanSnapshot + - CopyStart + - Empty + - FromImage + - Import + - ImportSecure + - Restore + - Upload + - UploadPreparedSecure + type: string + elasticSanResourceReference: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - allowedOrigins: - items: - type: string - type: array - type: object - disableAadAuth: - type: boolean - disableLocalAuth: - type: boolean - features: - items: - description: |- - Storage version of v1api20211001.SignalRFeature - Feature of a resource, which controls the runtime behavior. - properties: - $propertyBag: - additionalProperties: + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flag: - type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' properties: - additionalProperties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' type: string - type: object - value: - type: string - type: object - type: array - identity: - description: |- - Storage version of v1api20211001.ManagedIdentity - A class represent managed identities used for request and response + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. + enum: + - Enhanced + - None + type: string + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' + type: string + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: + description: |- + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. + type: string + uploadSizeBytes: + description: |- + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer + required: + - createOption + type: object + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' + enum: + - AzureActiveDirectory + - None + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' properties: - $propertyBag: - additionalProperties: - type: string + armId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + diskSizeGB: + description: |- + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the snapshot.' + enum: + - ActiveSAS + - ActiveSASFrozen + - ActiveUpload + - Attached + - Frozen + - ReadyToUpload + - Reserved + - Unattached + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + properties: + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object type: + description: 'Type: The type of key used to encrypt the data of the disk.' + enum: + - EncryptionAtRestWithCustomerKey + - EncryptionAtRestWithPlatformAndCustomerKeys + - EncryptionAtRestWithPlatformKey type: string - userAssignedIdentities: + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: + description: |- + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' items: - description: |- - Storage version of v1api20211001.UserAssignedIdentityDetails - Information about the user assigned identity for the resource + description: Encryption settings for one disk volume. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' type: string - name: - description: Name is the Kubernetes name of the resource. + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - secretUrl + - sourceVault + type: object + keyEncryptionKey: + description: |- + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + required: + - keyUrl + - sourceVault type: object type: object type: array + encryptionSettingsVersion: + description: |- + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + type: string + required: + - enabled type: object - kind: - type: string - location: - type: string - networkACLs: - description: |- - Storage version of v1api20211001.SignalRNetworkACLs - Network ACLs for the resource + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultAction: + name: + description: 'Name: The name of the extended location.' + type: string + type: + description: 'Type: The type of the extended location.' + enum: + - EdgeZone type: string - privateEndpoints: - items: - description: |- - Storage version of v1api20211001.PrivateEndpointACL - ACL for a private endpoint - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allow: - items: - type: string - type: array - deny: - items: - type: string - type: array - name: - type: string - type: object - type: array - publicNetwork: - description: |- - Storage version of v1api20211001.NetworkACL - Network ACL - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allow: - items: - type: string - type: array - deny: - items: - type: string - type: array - type: object type: object + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + enum: + - V1 + - V2 + type: string + incremental: + description: |- + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + location: + description: 'Location: Resource location' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + enum: + - AllowAll + - AllowPrivate + - DenyAll + type: string operatorSpec: description: |- - Storage version of v1api20211001.SignalROperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -312591,6 +400869,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -312619,91 +400898,12 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20211001.SignalROperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryConnectionString: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object - originalVersion: + osType: + description: 'OsType: The Operating System type.' + enum: + - Linux + - Windows type: string owner: description: |- @@ -312719,159 +400919,120 @@ spec: type: string type: object publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + enum: + - Disabled + - Enabled type: string - resourceLogConfiguration: - description: |- - Storage version of v1api20211001.ResourceLogConfiguration - Resource log configuration of a Microsoft.SignalRService resource. + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' properties: - $propertyBag: - additionalProperties: - type: string + name: + description: 'Name: The plan ID.' + type: string + product: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. + type: string + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' + type: string + publisher: + description: 'Publisher: The publisher ID.' + type: string + required: + - name + - product + - publisher + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - categories: - items: - description: |- - Storage version of v1api20211001.ResourceLogCategory - Resource log category configuration of a Microsoft.SignalRService resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: string - name: - type: string - type: object - type: array + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' + enum: + - ConfidentialVM_DiskEncryptedWithCustomerKey + - ConfidentialVM_DiskEncryptedWithPlatformKey + - ConfidentialVM_NonPersistedTPM + - ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey + - TrustedLaunch + type: string type: object sku: description: |- - Storage version of v1api20211001.ResourceSku - The billing information of the resource. + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer name: + description: 'Name: The sku name.' + enum: + - Premium_LRS + - Standard_LRS + - Standard_ZRS type: string - tier: - type: string - type: object - tags: - additionalProperties: - type: string type: object - tls: + supportedCapabilities: description: |- - Storage version of v1api20211001.SignalRTlsSettings - TLS settings for the resource + SupportedCapabilities: List of supported capabilities for the image from which the source disk from the snapshot was + originally created. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertEnabled: + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + enum: + - Arm64 + - x64 + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string type: object - upstream: - description: |- - Storage version of v1api20211001.ServerlessUpstreamSettings - The settings for the Upstream when the service is in server-less mode. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - templates: - items: - description: |- - Storage version of v1api20211001.UpstreamTemplate - Upstream template item settings. It defines the Upstream URL of the incoming requests. - The template defines the pattern - of the event, the hub or the category of the incoming request that matches current URL template. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - auth: - description: |- - Storage version of v1api20211001.UpstreamAuthSettings - Upstream auth settings. If not set, no auth is used for upstream messages. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - managedIdentity: - description: |- - Storage version of v1api20211001.ManagedIdentitySettings - Managed identity settings for upstream. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resource: - type: string - type: object - type: - type: string - type: object - categoryPattern: - type: string - eventPattern: - type: string - hubPattern: - type: string - urlTemplate: - type: string - type: object - type: array + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a snapshot supports hibernation.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' type: object required: + - creationData + - location - owner type: object status: - description: Storage version of v1api20211001.SignalR_STATUS + description: Snapshot resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object + completionPercent: + description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' + type: number conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -312914,414 +401075,313 @@ spec: - type type: object type: array - cors: + copyCompletionError: description: |- - Storage version of v1api20211001.SignalRCorsSettings_STATUS - Cross-Origin Resource Sharing (CORS) settings. + CopyCompletionError: Indicates the error details if the background copy of a resource created via the CopyStart + operation fails. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedOrigins: - items: - type: string - type: array + errorCode: + description: 'ErrorCode: Indicates the error code if the background copy of a resource created via the CopyStart operation fails.' + type: string + errorMessage: + description: 'ErrorMessage: Indicates the error message if the background copy of a resource created via the CopyStart operation fails.' + type: string type: object - disableAadAuth: - type: boolean - disableLocalAuth: - type: boolean - externalIP: - type: string - features: - items: - description: |- - Storage version of v1api20211001.SignalRFeature_STATUS - Feature of a resource, which controls the runtime behavior. - properties: - $propertyBag: - additionalProperties: + creationData: + description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + properties: + createOption: + description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' + type: string + elasticSanResourceId: + description: |- + ElasticSanResourceId: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san + volume snapshot. + type: string + galleryImageReference: + description: |- + GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of + the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + properties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - flag: - type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' + type: string + type: object + imageReference: + description: 'ImageReference: Disk source information for PIR or user images.' properties: - additionalProperties: + communityGalleryImageId: + description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' + type: string + id: + description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' + type: string + lun: + description: |- + Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the + image to use. For OS disks, this field is null. + type: integer + sharedGalleryImageId: + description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' type: string - type: object - value: - type: string - type: object - type: array - hostName: - type: string - hostNamePrefix: - type: string - id: - type: string - identity: - description: |- - Storage version of v1api20211001.ManagedIdentity_STATUS - A class represent managed identities used for request and response - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - principalId: + logicalSectorSize: + description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' + type: integer + performancePlus: + description: |- + PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the + respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. + type: boolean + provisionedBandwidthCopySpeed: + description: |- + ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be + copied at a quicker speed. type: string - tenantId: + securityDataUri: + description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' type: string - type: + sourceResourceId: + description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' type: string - userAssignedIdentities: - additionalProperties: - description: |- - Storage version of v1api20211001.UserAssignedIdentityProperty_STATUS - Properties of user assigned identity. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: - type: string - principalId: - type: string - type: object - type: object - type: object - kind: - type: string - location: - type: string - name: - type: string - networkACLs: - description: |- - Storage version of v1api20211001.SignalRNetworkACLs_STATUS - Network ACLs for the resource - properties: - $propertyBag: - additionalProperties: - type: string + sourceUniqueId: + description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' + type: string + sourceUri: + description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' + type: string + storageAccountId: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - defaultAction: + StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account + containing the blob to import as a disk. type: string - privateEndpoints: - items: - description: |- - Storage version of v1api20211001.PrivateEndpointACL_STATUS - ACL for a private endpoint - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allow: - items: - type: string - type: array - deny: - items: - type: string - type: array - name: - type: string - type: object - type: array - publicNetwork: + uploadSizeBytes: description: |- - Storage version of v1api20211001.NetworkACL_STATUS - Network ACL - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allow: - items: - type: string - type: array - deny: - items: - type: string - type: array - type: object + UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. + This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 + bytes for the VHD footer). + type: integer type: object - privateEndpointConnections: - items: - description: |- - Storage version of v1api20211001.PrivateEndpointConnection_STATUS_SignalR_SubResourceEmbedded - A private endpoint connection to an azure resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - provisioningState: + dataAccessAuthMode: + description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' type: string - publicNetworkAccess: + diskAccessId: + description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' type: string - publicPort: + diskSizeBytes: + description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' type: integer - resourceLogConfiguration: + diskSizeGB: description: |- - Storage version of v1api20211001.ResourceLogConfiguration_STATUS - Resource log configuration of a Microsoft.SignalRService resource. + DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to + create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only + allowed if the disk is not attached to a running VM, and can only increase the disk's size. + type: integer + diskState: + description: 'DiskState: The state of the snapshot.' + type: string + encryption: + description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' properties: - $propertyBag: - additionalProperties: - type: string + diskEncryptionSetId: + description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' + type: string + type: + description: 'Type: The type of key used to encrypt the data of the disk.' + type: string + type: object + encryptionSettingsCollection: + description: |- + EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple + encryption settings per disk or snapshot. + properties: + enabled: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - categories: + Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set + this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is + null in the request object, the existing settings remain unchanged. + type: boolean + encryptionSettings: + description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' items: - description: |- - Storage version of v1api20211001.ResourceLogCategory_STATUS - Resource log category configuration of a Microsoft.SignalRService resource. + description: Encryption settings for one disk volume. properties: - $propertyBag: - additionalProperties: - type: string + diskEncryptionKey: + description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' + properties: + secretUrl: + description: 'SecretUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object + type: object + keyEncryptionKey: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when + provided is used to unwrap the disk encryption key. + properties: + keyUrl: + description: 'KeyUrl: Url pointing to a key or secret in KeyVault' + type: string + sourceVault: + description: 'SourceVault: Resource id of the KeyVault containing the key or secret' + properties: + id: + description: 'Id: Resource Id' + type: string + type: object type: object - enabled: - type: string - name: - type: string type: object type: array - type: object - serverPort: - type: integer - sharedPrivateLinkResources: - items: - description: |- - Storage version of v1api20211001.SharedPrivateLinkResource_STATUS_SignalR_SubResourceEmbedded - Describes a Shared Private Link Resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: array - sku: - description: |- - Storage version of v1api20211001.ResourceSku_STATUS - The billing information of the resource. - properties: - $propertyBag: - additionalProperties: - type: string + encryptionSettingsVersion: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - capacity: - type: integer - family: + EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be + overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. type: string + type: object + extendedLocation: + description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + properties: name: + description: 'Name: The name of the extended location.' type: string - size: - type: string - tier: + type: + description: 'Type: The type of the extended location.' type: string type: object - systemData: + hyperVGeneration: + description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' + type: string + id: + description: 'Id: Resource Id' + type: string + incremental: description: |- - Storage version of v1api20211001.SystemData_STATUS - Metadata pertaining to creation and last modification of the resource. + Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full + snapshots and can be diffed. + type: boolean + incrementalSnapshotFamilyId: + description: |- + IncrementalSnapshotFamilyId: Incremental snapshots for a disk share an incremental snapshot family id. The Get Page + Range Diff API can only be called on incremental snapshots with the same family id. + type: string + location: + description: 'Location: Resource location' + type: string + managedBy: + description: 'ManagedBy: Unused. Always Null.' + type: string + name: + description: 'Name: Resource name' + type: string + networkAccessPolicy: + description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' + type: string + osType: + description: 'OsType: The Operating System type.' + type: string + provisioningState: + description: 'ProvisioningState: The disk provisioning state.' + type: string + publicNetworkAccess: + description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + type: string + purchasePlan: + description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createdAt: + name: + description: 'Name: The plan ID.' type: string - createdBy: + product: + description: |- + Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the + imageReference element. type: string - createdByType: + promotionCode: + description: 'PromotionCode: The Offer Promotion Code.' type: string - lastModifiedAt: + publisher: + description: 'Publisher: The publisher ID.' type: string - lastModifiedBy: + type: object + securityProfile: + description: 'SecurityProfile: Contains the security related information for the resource.' + properties: + secureVMDiskEncryptionSetId: + description: |- + SecureVMDiskEncryptionSetId: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key type: string - lastModifiedByType: + securityType: + description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' type: string type: object - tags: - additionalProperties: - type: string - type: object - tls: + sku: description: |- - Storage version of v1api20211001.SignalRTlsSettings_STATUS - TLS settings for the resource + Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for + incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientCertEnabled: - type: boolean + name: + description: 'Name: The sku name.' + type: string + tier: + description: 'Tier: The sku tier.' + type: string type: object - type: - type: string - upstream: + supportedCapabilities: description: |- - Storage version of v1api20211001.ServerlessUpstreamSettings_STATUS - The settings for the Upstream when the service is in server-less mode. + SupportedCapabilities: List of supported capabilities for the image from which the source disk from the snapshot was + originally created. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - templates: - items: - description: |- - Storage version of v1api20211001.UpstreamTemplate_STATUS - Upstream template item settings. It defines the Upstream URL of the incoming requests. - The template defines the pattern - of the event, the hub or the category of the incoming request that matches current URL template. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - auth: - description: |- - Storage version of v1api20211001.UpstreamAuthSettings_STATUS - Upstream auth settings. If not set, no auth is used for upstream messages. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - managedIdentity: - description: |- - Storage version of v1api20211001.ManagedIdentitySettings_STATUS - Managed identity settings for upstream. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - resource: - type: string - type: object - type: - type: string - type: object - categoryPattern: - type: string - eventPattern: - type: string - hubPattern: - type: string - urlTemplate: - type: string - type: object - type: array + acceleratedNetwork: + description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' + type: boolean + architecture: + description: 'Architecture: CPU architecture supported by an OS disk.' + type: string + diskControllerTypes: + description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + type: string + type: object + supportsHibernation: + description: 'SupportsHibernation: Indicates the OS on a snapshot supports hibernation.' + type: boolean + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' type: object - version: + timeCreated: + description: 'TimeCreated: The time when the snapshot was created.' + type: string + type: + description: 'Type: Resource type' + type: string + uniqueId: + description: 'UniqueId: Unique Guid identifying the resource.' type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sites.web.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: web.azure.com - names: - kind: Site - listKind: SiteList - plural: sites - singular: site - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -313335,13 +401395,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220301 + name: v1api20240302storage schema: openAPIV3Schema: description: |- + Storage version of v1api20240302.Snapshot Generator information: - - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name} + - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/snapshot.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} properties: apiVersion: description: |- @@ -313361,192 +401422,57 @@ spec: metadata: type: object spec: + description: Storage version of v1api20240302.Snapshot_Spec properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clientAffinityEnabled: - description: |- - ClientAffinityEnabled: true to enable client affinity; false to stop sending session affinity - cookies, which route client requests in the same session to the same instance. Default is true. - type: boolean - clientCertEnabled: - description: |- - ClientCertEnabled: true to enable client certificate authentication (TLS mutual authentication); otherwise, - false. Default is false. - type: boolean - clientCertExclusionPaths: - description: 'ClientCertExclusionPaths: client certificate authentication comma-separated exclusion paths' - type: string - clientCertMode: + completionPercent: + type: number + copyCompletionError: description: |- - ClientCertMode: This composes with ClientCertEnabled setting. - - ClientCertEnabled: false means ClientCert is ignored. - - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. - - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. - enum: - - Optional - - OptionalInteractiveUser - - Required - type: string - cloningInfo: - description: 'CloningInfo: If specified during app creation, the app is cloned from a source app.' + Storage version of v1api20240302.CopyCompletionError + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. properties: - appSettingsOverrides: + $propertyBag: additionalProperties: type: string description: |- - AppSettingsOverrides: Application setting overrides for cloned app. If specified, these settings override the settings - cloned - from source app. Otherwise, application settings from source app are retained. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - cloneCustomHostNames: - description: 'CloneCustomHostNames: true to clone custom hostnames from source app; otherwise, false.' - type: boolean - cloneSourceControl: - description: 'CloneSourceControl: true to clone source control from source app; otherwise, false.' - type: boolean - configureLoadBalancing: - description: 'ConfigureLoadBalancing: true to configure load balancing for source and destination app.' - type: boolean - correlationId: - description: |- - CorrelationId: Correlation ID of cloning operation. This ID ties multiple cloning operations - together to use the same snapshot. - pattern: ^[0-9a-fA-F]{8}(-[0-9a-fA-F]{4}){3}-[0-9a-fA-F]{12}$ - type: string - hostingEnvironment: - description: 'HostingEnvironment: App Service Environment.' - type: string - overwrite: - description: 'Overwrite: true to overwrite destination app; otherwise, false.' - type: boolean - sourceWebAppLocation: - description: 'SourceWebAppLocation: Location of source app ex: West US or North Europe' + errorCode: type: string - sourceWebAppReference: - description: |- - SourceWebAppReference: ARM resource ID of the source app. App resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots - and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for - other slots. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - trafficManagerProfileName: - description: |- - TrafficManagerProfileName: Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile - does not already exist. + errorMessage: type: string - trafficManagerProfileReference: - description: |- - TrafficManagerProfileReference: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager - resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - sourceWebAppReference type: object - containerSize: - description: 'ContainerSize: Size of the function container.' - type: integer - customDomainVerificationId: - description: |- - CustomDomainVerificationId: Unique identifier that verifies the custom domains assigned to the app. Customer will add - this id to a txt record for verification. - type: string - dailyMemoryTimeQuota: - description: 'DailyMemoryTimeQuota: Maximum allowed daily memory-time quota (applicable on dynamic apps only).' - type: integer - enabled: + creationData: description: |- - Enabled: true if the app is enabled; otherwise, false. Setting this value to false disables - the app (takes the app offline). - type: boolean - extendedLocation: - description: 'ExtendedLocation: Extended Location.' + Storage version of v1api20240302.CreationData + Data used when creating a disk. properties: - name: - description: 'Name: Name of extended location.' - type: string - type: object - hostNameSslStates: - description: 'HostNameSslStates: Hostname SSL states are used to manage the SSL bindings for app''s hostnames.' - items: - description: SSL-enabled hostname. - properties: - hostType: - description: 'HostType: Indicates whether the hostname is a standard or repository hostname.' - enum: - - Repository - - Standard - type: string - name: - description: 'Name: Hostname.' - type: string - sslState: - description: 'SslState: SSL type.' - enum: - - Disabled - - IpBasedEnabled - - SniEnabled - type: string - thumbprint: - description: 'Thumbprint: SSL certificate thumbprint.' - type: string - toUpdate: - description: 'ToUpdate: Set to true to update existing hostname.' - type: boolean - virtualIP: - description: 'VirtualIP: Virtual IP address assigned to the hostname if IP based SSL is enabled.' + $propertyBag: + additionalProperties: type: string - type: object - type: array - hostNamesDisabled: - description: |- - HostNamesDisabled: true to disable the public hostnames of the app; otherwise, false. - If true, the app is only accessible via API management process. - type: boolean - hostingEnvironmentProfile: - description: 'HostingEnvironmentProfile: App Service Environment to use for the app.' - properties: - reference: - description: 'Reference: Resource ID of the App Service Environment.' + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createOption: + type: string + elasticSanResourceReference: + description: |- + ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic + san volume snapshot. properties: armId: description: |- @@ -313565,216 +401491,26 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object - type: object - httpsOnly: - description: |- - HttpsOnly: HttpsOnly: configures a web site to accept only https requests. Issues redirect for - http requests - type: boolean - hyperV: - description: 'HyperV: Hyper-V sandbox.' - type: boolean - identity: - description: 'Identity: Managed service identity.' - properties: - type: - description: 'Type: Type of managed service identity.' - enum: - - None - - SystemAssigned - - SystemAssigned, UserAssigned - - UserAssigned - type: string - userAssignedIdentities: - description: |- - UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary - key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} - items: - description: Information about the user assigned identity for the resource - properties: - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: array - type: object - isXenon: - description: 'IsXenon: Obsolete: Hyper-V sandbox.' - type: boolean - keyVaultReferenceIdentity: - description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' - type: string - kind: - description: 'Kind: Kind of resource.' - type: string - location: - description: 'Location: Resource Location.' - type: string - operatorSpec: - description: |- - OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not - passed directly to Azure - properties: - configMapExpressions: - description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - secretExpressions: - description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' - items: - description: |- - DestinationExpression is a CEL expression and a destination to store the result in. The destination may - be a secret or a configmap. The value of the expression is stored at the specified location in - the destination. - properties: - key: - description: |- - Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string - this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string - Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting - map[string]string. - type: string - name: - description: |- - Name is the name of the Kubernetes configmap or secret to write to. - The configmap or secret will be created in the same namespace as the resource. - type: string - value: - description: |- - Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information - on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ - type: string - required: - - name - - value - type: object - type: array - type: object - owner: - description: |- - Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also - controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource - properties: - armId: - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - name: - description: This is the name of the Kubernetes resource to reference. - type: string - type: object - publicNetworkAccess: - description: |- - PublicNetworkAccess: Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty - string. - type: string - redundancyMode: - description: 'RedundancyMode: Site redundancy mode' - enum: - - ActiveActive - - Failover - - GeoRedundant - - Manual - - None - type: string - reserved: - description: 'Reserved: true if reserved; otherwise, false.' - type: boolean - scmSiteAlsoStopped: - description: |- - ScmSiteAlsoStopped: true to stop SCM (KUDU) site when the app is stopped; otherwise, false. - The default is false. - type: boolean - serverFarmReference: - description: |- - ServerFarmReference: Resource ID of the associated App Service plan, formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - properties: - armId: + galleryImageReference: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - siteConfig: - description: 'SiteConfig: Configuration of the app.' - properties: - acrUseManagedIdentityCreds: - description: 'AcrUseManagedIdentityCreds: Flag to use Managed Identity Creds for ACR pull' - type: boolean - acrUserManagedIdentityID: - description: 'AcrUserManagedIdentityID: If using user managed identity, the user managed identity ClientId' - type: string - alwaysOn: - description: 'AlwaysOn: true if Always On is enabled; otherwise, false.' - type: boolean - apiDefinition: - description: 'ApiDefinition: Information about the formal API definition for the app.' + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. properties: - url: - description: 'Url: The URL of the API definition.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: type: string - type: object - apiManagementConfig: - description: 'ApiManagementConfig: Azure API management settings linked to the app.' - properties: + lun: + type: integer reference: - description: 'Reference: APIM-Api Identifier.' + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. properties: armId: description: |- @@ -313793,873 +401529,508 @@ spec: description: Name is the Kubernetes name of the resource. type: string type: object + sharedGalleryImageId: + type: string type: object - appCommandLine: - description: 'AppCommandLine: App command line to launch.' - type: string - appSettings: - description: 'AppSettings: Application settings.' - items: - description: Name value pair. - properties: - name: - description: 'Name: Pair name.' - type: string - value: - description: 'Value: Pair value.' - type: string - type: object - type: array - autoHealEnabled: - description: 'AutoHealEnabled: true if Auto Heal is enabled; otherwise, false.' - type: boolean - autoHealRules: - description: 'AutoHealRules: Auto Heal rules.' + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference + The source image used for creating the disk. properties: - actions: - description: 'Actions: Actions to be executed when a rule is triggered.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + lun: + type: integer + reference: + description: |- + Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image + reference. properties: - actionType: - description: 'ActionType: Predefined action to be taken.' - enum: - - CustomAction - - LogEvent - - Recycle - type: string - customAction: - description: 'CustomAction: Custom action to be taken.' - properties: - exe: - description: 'Exe: Executable to be run.' - type: string - parameters: - description: 'Parameters: Parameters for the executable.' - type: string - type: object - minProcessExecutionTime: + armId: description: |- - MinProcessExecutionTime: Minimum time the process must execute - before taking the action + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. type: string type: object - triggers: - description: 'Triggers: Conditions that describe when to execute the auto-heal actions.' - properties: - privateBytesInKB: - description: 'PrivateBytesInKB: A rule based on private bytes.' - type: integer - requests: - description: 'Requests: A rule based on total requests.' - properties: - count: - description: 'Count: Request Count.' - type: integer - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - type: object - slowRequests: - description: 'SlowRequests: A rule based on request execution time.' - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - description: 'Path: Request Path.' - type: string - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - timeTaken: - description: 'TimeTaken: Time taken.' - type: string - type: object - slowRequestsWithPath: - description: 'SlowRequestsWithPath: A rule based on multiple Slow Requests Rule with path' - items: - description: Trigger based on request execution time. - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - description: 'Path: Request Path.' - type: string - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - timeTaken: - description: 'TimeTaken: Time taken.' - type: string - type: object - type: array - statusCodes: - description: 'StatusCodes: A rule based on status codes.' - items: - description: Trigger based on status code. - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - description: 'Path: Request Path' - type: string - status: - description: 'Status: HTTP status code.' - type: integer - subStatus: - description: 'SubStatus: Request Sub Status.' - type: integer - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - win32Status: - description: 'Win32Status: Win32 error code.' - type: integer - type: object - type: array - statusCodesRange: - description: 'StatusCodesRange: A rule based on status codes ranges.' - items: - description: Trigger based on range of status codes. - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - type: string - statusCodes: - description: 'StatusCodes: HTTP status code.' - type: string - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - type: object - type: array - type: object - type: object - autoSwapSlotName: - description: 'AutoSwapSlotName: Auto-swap slot name.' - type: string - azureStorageAccounts: - additionalProperties: - description: Azure Files or Blob Storage access information value for dictionary storage. - properties: - accessKey: - description: 'AccessKey: Access key for the storage account.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - accountName: - description: 'AccountName: Name of the storage account.' - type: string - mountPath: - description: 'MountPath: Path to mount the storage within the site''s runtime environment.' - type: string - shareName: - description: 'ShareName: Name of the file share (container name, for Blob storage).' - type: string - type: - description: 'Type: Type of storage.' - enum: - - AzureBlob - - AzureFiles - type: string - type: object - description: 'AzureStorageAccounts: List of Azure Storage Accounts.' - type: object - connectionStrings: - description: 'ConnectionStrings: Connection strings.' - items: - description: Database connection string information. - properties: - connectionString: - description: 'ConnectionString: Connection string value.' - type: string - name: - description: 'Name: Name of connection string.' - type: string - type: - description: 'Type: Type of database.' - enum: - - ApiHub - - Custom - - DocDb - - EventHub - - MySql - - NotificationHub - - PostgreSQL - - RedisCache - - SQLAzure - - SQLServer - - ServiceBus - type: string - type: object - type: array - cors: - description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' - properties: - allowedOrigins: - description: |- - AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin - calls (for example: http://example.com:12345). Use "*" to allow all. - items: - type: string - type: array - supportCredentials: - description: |- - SupportCredentials: Gets or sets whether CORS requests with credentials are allowed. See - https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials - for more details. - type: boolean - type: object - defaultDocuments: - description: 'DefaultDocuments: Default documents.' - items: - type: string - type: array - detailedErrorLoggingEnabled: - description: 'DetailedErrorLoggingEnabled: true if detailed error logging is enabled; otherwise, false.' - type: boolean - documentRoot: - description: 'DocumentRoot: Document root.' - type: string - experiments: - description: 'Experiments: This is work around for polymorphic types.' - properties: - rampUpRules: - description: 'RampUpRules: List of ramp-up rules.' - items: - description: |- - Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change - routing % based on performance. - properties: - actionHostName: - description: |- - ActionHostName: Hostname of a slot to which the traffic will be redirected if decided to. E.g. - myapp-stage.azurewebsites.net. - type: string - changeDecisionCallbackUrl: - description: |- - ChangeDecisionCallbackUrl: Custom decision algorithm can be provided in TiPCallback site extension which URL can be - specified. See TiPCallback site extension for the scaffold and contracts. - https://www.siteextensions.net/packages/TiPCallback/ - type: string - changeIntervalInMinutes: - description: 'ChangeIntervalInMinutes: Specifies interval in minutes to reevaluate ReroutePercentage.' - type: integer - changeStep: - description: |- - ChangeStep: In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches - \nMinReroutePercentage or - MaxReroutePercentage. Site metrics are checked every N minutes specified in - ChangeIntervalInMinutes.\nCustom decision algorithm - can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. - type: number - maxReroutePercentage: - description: 'MaxReroutePercentage: Specifies upper boundary below which ReroutePercentage will stay.' - type: number - minReroutePercentage: - description: 'MinReroutePercentage: Specifies lower boundary above which ReroutePercentage will stay.' - type: number - name: - description: |- - Name: Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the - experiment. - type: string - reroutePercentage: - description: 'ReroutePercentage: Percentage of the traffic which will be redirected to ActionHostName.' - type: number - type: object - type: array + sharedGalleryImageId: + type: string type: object - ftpsState: - description: 'FtpsState: State of FTP / FTPS service' - enum: - - AllAllowed - - Disabled - - FtpsOnly - type: string - functionAppScaleLimit: - description: |- - FunctionAppScaleLimit: Maximum number of workers that a site can scale out to. - This setting only applies to the Consumption and Elastic Premium Plans - minimum: 0 + logicalSectorSize: type: integer - functionsRuntimeScaleMonitoringEnabled: - description: |- - FunctionsRuntimeScaleMonitoringEnabled: Gets or sets a value indicating whether functions runtime scale monitoring is - enabled. When enabled, - the ScaleController will not monitor event sources directly, but will instead call to the - runtime to get scale status. - type: boolean - handlerMappings: - description: 'HandlerMappings: Handler mappings.' - items: - description: |- - The IIS handler mappings used to define which handler processes HTTP requests with certain extension. - For example, it - is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. - properties: - arguments: - description: 'Arguments: Command-line arguments to be passed to the script processor.' - type: string - extension: - description: 'Extension: Requests with this extension will be handled using the specified FastCGI application.' - type: string - scriptProcessor: - description: 'ScriptProcessor: The absolute path to the FastCGI application.' - type: string - type: object - type: array - healthCheckPath: - description: 'HealthCheckPath: Health check path' - type: string - http20Enabled: - description: 'Http20Enabled: Http20Enabled: configures a web site to allow clients to connect over http2.0' - type: boolean - httpLoggingEnabled: - description: 'HttpLoggingEnabled: true if HTTP logging is enabled; otherwise, false.' + performancePlus: type: boolean - ipSecurityRestrictions: - description: 'IpSecurityRestrictions: IP security restrictions for main.' - items: - description: IP security restriction on an app. - properties: - action: - description: 'Action: Allow or Deny access for this IP range.' - type: string - description: - description: 'Description: IP restriction rule description.' - type: string - headers: - additionalProperties: - items: - type: string - type: array - description: |- - Headers: IP restriction rule headers. - X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). - The matching logic is .. - - If the property is null or empty (default), all hosts(or lack of) are allowed. - - A value is compared using ordinal-ignore-case (excluding port number). - - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain - foo.contoso.com - but not the root domain contoso.com or multi-level foo.bar.contoso.com - - Unicode host names are allowed but are converted to Punycode for matching. - X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). - The matching logic is .. - - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. - - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. - X-Azure-FDID and X-FD-HealthProbe. - The matching logic is exact match. - type: object - ipAddress: - description: |- - IpAddress: IP address the security restriction is valid for. - It can be in form of pure ipv4 address (required SubnetMask property) or - CIDR notation such as ipv4/mask (leading bit match). For CIDR, - SubnetMask property must not be specified. - type: string - name: - description: 'Name: IP restriction rule name.' - type: string - priority: - description: 'Priority: Priority of IP restriction rule.' - type: integer - subnetMask: - description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' - type: string - subnetTrafficTag: - description: 'SubnetTrafficTag: (internal) Subnet traffic tag' - type: integer - tag: - description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' - enum: - - Default - - ServiceTag - - XffProxy - type: string - vnetSubnetResourceReference: - description: 'VnetSubnetResourceReference: Virtual network resource id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - vnetTrafficTag: - description: 'VnetTrafficTag: (internal) Vnet traffic tag' - type: integer - type: object - type: array - javaContainer: - description: 'JavaContainer: Java container.' - type: string - javaContainerVersion: - description: 'JavaContainerVersion: Java container version.' - type: string - javaVersion: - description: 'JavaVersion: Java version.' + provisionedBandwidthCopySpeed: type: string - keyVaultReferenceIdentity: - description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' + securityDataUri: type: string - limits: - description: 'Limits: Site limits.' + sourceResourceReference: + description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' properties: - maxDiskSizeInMb: - description: 'MaxDiskSizeInMb: Maximum allowed disk size usage in MB.' - type: integer - maxMemoryInMb: - description: 'MaxMemoryInMb: Maximum allowed memory usage in MB.' - type: integer - maxPercentageCpu: - description: 'MaxPercentageCpu: Maximum allowed CPU usage percentage.' - type: number + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string type: object - linuxFxVersion: - description: 'LinuxFxVersion: Linux App Framework and version' - type: string - loadBalancing: - description: 'LoadBalancing: Site load balancing.' - enum: - - LeastRequests - - LeastResponseTime - - PerSiteRoundRobin - - RequestHash - - WeightedRoundRobin - - WeightedTotalTraffic - type: string - localMySqlEnabled: - description: 'LocalMySqlEnabled: true to enable local MySQL; otherwise, false.' - type: boolean - logsDirectorySizeLimit: - description: 'LogsDirectorySizeLimit: HTTP logs directory size limit.' - type: integer - managedPipelineMode: - description: 'ManagedPipelineMode: Managed pipeline mode.' - enum: - - Classic - - Integrated - type: string - managedServiceIdentityId: - description: 'ManagedServiceIdentityId: Managed Service Identity Id' - type: integer - minTlsVersion: - description: 'MinTlsVersion: MinTlsVersion: configures the minimum version of TLS required for SSL requests' - enum: - - "1.0" - - "1.1" - - "1.2" - type: string - minimumElasticInstanceCount: - description: |- - MinimumElasticInstanceCount: Number of minimum instance count for a site - This setting only applies to the Elastic Plans - maximum: 20 - minimum: 0 - type: integer - netFrameworkVersion: - description: 'NetFrameworkVersion: .NET Framework version.' + sourceUri: type: string - nodeVersion: - description: 'NodeVersion: Version of Node.js.' + storageAccountId: type: string - numberOfWorkers: - description: 'NumberOfWorkers: Number of workers.' + uploadSizeBytes: type: integer - phpVersion: - description: 'PhpVersion: Version of PHP.' + type: object + dataAccessAuthMode: + type: string + diskAccessReference: + description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - powerShellVersion: - description: 'PowerShellVersion: Version of PowerShell.' + group: + description: Group is the Kubernetes group of the resource. type: string - preWarmedInstanceCount: - description: |- - PreWarmedInstanceCount: Number of preWarmed instances. - This setting only applies to the Consumption and Elastic Plans - maximum: 10 - minimum: 0 - type: integer - publicNetworkAccess: - description: 'PublicNetworkAccess: Property to allow or block all public traffic.' + kind: + description: Kind is the Kubernetes kind of the resource. type: string - publishingUsername: - description: 'PublishingUsername: Publishing user name.' + name: + description: Name is the Kubernetes name of the resource. type: string - push: - description: 'Push: Push endpoint settings.' + type: object + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20240302.Encryption + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetReference: + description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' properties: - dynamicTagsJson: + armId: description: |- - DynamicTagsJson: Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in - the push registration endpoint. + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - isPushEnabled: - description: 'IsPushEnabled: Gets or sets a flag indicating whether the Push endpoint is enabled.' - type: boolean - kind: - description: 'Kind: Kind of resource.' + group: + description: Group is the Kubernetes group of the resource. type: string - tagWhitelistJson: - description: |- - TagWhitelistJson: Gets or sets a JSON string containing a list of tags that are in the allowed list for use by the push - registration endpoint. + kind: + description: Kind is the Kubernetes kind of the resource. type: string - tagsRequiringAuth: - description: |- - TagsRequiringAuth: Gets or sets a JSON string containing a list of tags that require user authentication to be used in - the push registration endpoint. - Tags can consist of alphanumeric characters and the following: - '_', '@', '#', '.', ':', '-'. - Validation should be performed at the PushRequestHandler. + name: + description: Name is the Kubernetes name of the resource. type: string - required: - - isPushEnabled type: object - pythonVersion: - description: 'PythonVersion: Version of Python.' - type: string - remoteDebuggingEnabled: - description: 'RemoteDebuggingEnabled: true if remote debugging is enabled; otherwise, false.' - type: boolean - remoteDebuggingVersion: - description: 'RemoteDebuggingVersion: Remote debugging version.' + type: type: string - requestTracingEnabled: - description: 'RequestTracingEnabled: true if request tracing is enabled; otherwise, false.' + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: type: boolean - requestTracingExpirationTime: - description: 'RequestTracingExpirationTime: Request tracing expiration time.' - type: string - scmIpSecurityRestrictions: - description: 'ScmIpSecurityRestrictions: IP security restrictions for scm.' + encryptionSettings: items: - description: IP security restriction on an app. + description: |- + Storage version of v1api20240302.EncryptionSettingsElement + Encryption settings for one disk volume. properties: - action: - description: 'Action: Allow or Deny access for this IP range.' - type: string - description: - description: 'Description: IP restriction rule description.' - type: string - headers: + $propertyBag: additionalProperties: - items: - type: string - type: array + type: string description: |- - Headers: IP restriction rule headers. - X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). - The matching logic is .. - - If the property is null or empty (default), all hosts(or lack of) are allowed. - - A value is compared using ordinal-ignore-case (excluding port number). - - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain - foo.contoso.com - but not the root domain contoso.com or multi-level foo.bar.contoso.com - - Unicode host names are allowed but are converted to Punycode for matching. - X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). - The matching logic is .. - - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. - - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. - X-Azure-FDID and X-FD-HealthProbe. - The matching logic is exact match. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - ipAddress: + diskEncryptionKey: description: |- - IpAddress: IP address the security restriction is valid for. - It can be in form of pure ipv4 address (required SubnetMask property) or - CIDR notation such as ipv4/mask (leading bit match). For CIDR, - SubnetMask property must not be specified. - type: string - name: - description: 'Name: IP restriction rule name.' - type: string - priority: - description: 'Priority: Priority of IP restriction rule.' - type: integer - subnetMask: - description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' - type: string - subnetTrafficTag: - description: 'SubnetTrafficTag: (internal) Subnet traffic tag' - type: integer - tag: - description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' - enum: - - Default - - ServiceTag - - XffProxy - type: string - vnetSubnetResourceReference: - description: 'VnetSubnetResourceReference: Virtual network resource id' + Storage version of v1api20240302.KeyVaultAndSecretReference + Key Vault Secret Url and vault id of the encryption key properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: type: string - name: - description: Name is the Kubernetes name of the resource. + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: type: string + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + reference: + description: 'Reference: Resource Id' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + type: object type: object - vnetTrafficTag: - description: 'VnetTrafficTag: (internal) Vnet traffic tag' - type: integer type: object type: array - scmIpSecurityRestrictionsUseMain: - description: 'ScmIpSecurityRestrictionsUseMain: IP security restrictions for scm to use main.' - type: boolean - scmMinTlsVersion: - description: 'ScmMinTlsVersion: ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site' - enum: - - "1.0" - - "1.1" - - "1.2" + encryptionSettingsVersion: type: string - scmType: - description: 'ScmType: SCM type.' - enum: - - BitbucketGit - - BitbucketHg - - CodePlexGit - - CodePlexHg - - Dropbox - - ExternalGit - - ExternalHg - - GitHub - - LocalGit - - None - - OneDrive - - Tfs - - VSO - - VSTSRM + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: type: string - tracingOptions: - description: 'TracingOptions: Tracing options.' + type: type: string - use32BitWorkerProcess: - description: 'Use32BitWorkerProcess: true to use 32-bit worker process; otherwise, false.' - type: boolean - virtualApplications: - description: 'VirtualApplications: Virtual applications.' + type: object + hyperVGeneration: + type: string + incremental: + type: boolean + location: + type: string + networkAccessPolicy: + type: string + operatorSpec: + description: |- + Storage version of v1api20240302.SnapshotOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: items: - description: Virtual application in an app. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - physicalPath: - description: 'PhysicalPath: Physical path.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - preloadEnabled: - description: 'PreloadEnabled: true if preloading is enabled; otherwise, false.' - type: boolean - virtualDirectories: - description: 'VirtualDirectories: Virtual directories for virtual application.' - items: - description: Directory for virtual application. - properties: - physicalPath: - description: 'PhysicalPath: Physical path.' - type: string - virtualPath: - description: 'VirtualPath: Path to virtual application.' - type: string - type: object - type: array - virtualPath: - description: 'VirtualPath: Virtual path.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - vnetName: - description: 'VnetName: Virtual Network name.' - type: string - vnetPrivatePortsCount: - description: 'VnetPrivatePortsCount: The number of private ports assigned to this app. These will be assigned dynamically on runtime.' - type: integer - vnetRouteAllEnabled: - description: |- - VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network - Security Groups and User Defined Routes applied. - type: boolean - webSocketsEnabled: - description: 'WebSocketsEnabled: true if WebSocket is enabled; otherwise, false.' - type: boolean - websiteTimeZone: - description: |- - WebsiteTimeZone: Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App - Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database - values https://www.iana.org/time-zones (for a quick reference see - https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones - type: string - windowsFxVersion: - description: 'WindowsFxVersion: Xenon App Framework and version' - type: string - xManagedServiceIdentityId: - description: 'XManagedServiceIdentityId: Explicit Managed Service Identity Id' - type: integer - type: object - storageAccountRequired: - description: 'StorageAccountRequired: Checks if Customer provided storage account is required' - type: boolean - tags: - additionalProperties: - type: string - description: 'Tags: Resource tags.' type: object - virtualNetworkSubnetReference: + originalVersion: + type: string + osType: + type: string + owner: description: |- - VirtualNetworkSubnetReference: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET - Integration. - This must be of the form - /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - vnetContentShareEnabled: - description: 'VnetContentShareEnabled: To enable accessing content over virtual network' - type: boolean - vnetImagePullEnabled: - description: 'VnetImagePullEnabled: To enable pulling image over Virtual Network' - type: boolean - vnetRouteAllEnabled: - description: |- - VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network - Security Groups and User Defined Routes applied. - type: boolean - required: - - location - - owner - type: object - status: - description: A web app, a mobile app backend, or an API app. - properties: - availabilityState: - description: 'AvailabilityState: Management information availability state for the app.' - type: string - clientAffinityEnabled: - description: |- - ClientAffinityEnabled: true to enable client affinity; false to stop sending session affinity - cookies, which route client requests in the same session to the same instance. Default is true. - type: boolean - clientCertEnabled: - description: |- - ClientCertEnabled: true to enable client certificate authentication (TLS mutual authentication); otherwise, - false. Default is false. - type: boolean - clientCertExclusionPaths: - description: 'ClientCertExclusionPaths: client certificate authentication comma-separated exclusion paths' + publicNetworkAccess: type: string - clientCertMode: + purchasePlan: description: |- - ClientCertMode: This composes with ClientCertEnabled setting. - - ClientCertEnabled: false means ClientCert is ignored. - - ClientCertEnabled: true and ClientCertMode: Required means ClientCert is required. - - ClientCertEnabled: true and ClientCertMode: Optional means ClientCert is optional or accepted. - type: string - cloningInfo: - description: 'CloningInfo: If specified during app creation, the app is cloned from a source app.' + Storage version of v1api20240302.PurchasePlan + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. properties: - appSettingsOverrides: + $propertyBag: additionalProperties: type: string description: |- - AppSettingsOverrides: Application setting overrides for cloned app. If specified, these settings override the settings - cloned - from source app. Otherwise, application settings from source app are retained. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - cloneCustomHostNames: - description: 'CloneCustomHostNames: true to clone custom hostnames from source app; otherwise, false.' - type: boolean - cloneSourceControl: - description: 'CloneSourceControl: true to clone source control from source app; otherwise, false.' - type: boolean - configureLoadBalancing: - description: 'ConfigureLoadBalancing: true to configure load balancing for source and destination app.' - type: boolean - correlationId: - description: |- - CorrelationId: Correlation ID of cloning operation. This ID ties multiple cloning operations - together to use the same snapshot. + name: type: string - hostingEnvironment: - description: 'HostingEnvironment: App Service Environment.' + product: type: string - overwrite: - description: 'Overwrite: true to overwrite destination app; otherwise, false.' - type: boolean - sourceWebAppId: - description: |- - SourceWebAppId: ARM resource ID of the source app. App resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots - and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for - other slots. + promotionCode: type: string - sourceWebAppLocation: - description: 'SourceWebAppLocation: Location of source app ex: West US or North Europe' + publisher: type: string - trafficManagerProfileId: + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - TrafficManagerProfileId: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource - ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetReference: + description: |- + SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk + encrypted with customer managed key + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + securityType: type: string - trafficManagerProfileName: + type: object + sku: + description: |- + Storage version of v1api20240302.SnapshotSku + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string description: |- - TrafficManagerProfileName: Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile - does not already exist. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: + type: boolean + architecture: + type: string + diskControllerTypes: type: string type: object + supportsHibernation: + type: boolean + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: |- + Storage version of v1api20240302.Snapshot_STATUS + Snapshot resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + completionPercent: + type: number conditions: - description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -314702,926 +402073,956 @@ spec: - type type: object type: array - containerSize: - description: 'ContainerSize: Size of the function container.' - type: integer - customDomainVerificationId: - description: |- - CustomDomainVerificationId: Unique identifier that verifies the custom domains assigned to the app. Customer will add - this id to a txt record for verification. - type: string - dailyMemoryTimeQuota: - description: 'DailyMemoryTimeQuota: Maximum allowed daily memory-time quota (applicable on dynamic apps only).' - type: integer - defaultHostName: - description: 'DefaultHostName: Default hostname of the app. Read-only.' - type: string - enabled: - description: |- - Enabled: true if the app is enabled; otherwise, false. Setting this value to false disables - the app (takes the app offline). - type: boolean - enabledHostNames: - description: |- - EnabledHostNames: Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, - the app is not served on those hostnames. - items: - type: string - type: array - extendedLocation: - description: 'ExtendedLocation: Extended Location.' - properties: - name: - description: 'Name: Name of extended location.' - type: string - type: - description: 'Type: Type of extended location.' - type: string - type: object - hostNameSslStates: - description: 'HostNameSslStates: Hostname SSL states are used to manage the SSL bindings for app''s hostnames.' - items: - description: SSL-enabled hostname. - properties: - hostType: - description: 'HostType: Indicates whether the hostname is a standard or repository hostname.' - type: string - name: - description: 'Name: Hostname.' - type: string - sslState: - description: 'SslState: SSL type.' - type: string - thumbprint: - description: 'Thumbprint: SSL certificate thumbprint.' - type: string - toUpdate: - description: 'ToUpdate: Set to true to update existing hostname.' - type: boolean - virtualIP: - description: 'VirtualIP: Virtual IP address assigned to the hostname if IP based SSL is enabled.' - type: string - type: object - type: array - hostNames: - description: 'HostNames: Hostnames associated with the app.' - items: - type: string - type: array - hostNamesDisabled: - description: |- - HostNamesDisabled: true to disable the public hostnames of the app; otherwise, false. - If true, the app is only accessible via API management process. - type: boolean - hostingEnvironmentProfile: - description: 'HostingEnvironmentProfile: App Service Environment to use for the app.' - properties: - id: - description: 'Id: Resource ID of the App Service Environment.' - type: string - name: - description: 'Name: Name of the App Service Environment.' - type: string - type: - description: 'Type: Resource type of the App Service Environment.' - type: string - type: object - httpsOnly: + copyCompletionError: description: |- - HttpsOnly: HttpsOnly: configures a web site to accept only https requests. Issues redirect for - http requests - type: boolean - hyperV: - description: 'HyperV: Hyper-V sandbox.' - type: boolean - id: - description: 'Id: Resource Id.' - type: string - identity: - description: 'Identity: Managed service identity.' + Storage version of v1api20240302.CopyCompletionError_STATUS + Indicates the error details if the background copy of a resource created via the CopyStart operation fails. properties: - principalId: - description: 'PrincipalId: Principal Id of managed service identity.' - type: string - tenantId: - description: 'TenantId: Tenant of managed service identity.' - type: string - type: - description: 'Type: Type of managed service identity.' - type: string - userAssignedIdentities: + $propertyBag: additionalProperties: - description: User Assigned identity. - properties: - clientId: - description: 'ClientId: Client Id of user assigned identity' - type: string - principalId: - description: 'PrincipalId: Principal Id of user assigned identity' - type: string - type: object + type: string description: |- - UserAssignedIdentities: The list of user assigned identities associated with the resource. The user identity dictionary - key references will be ARM resource ids in the form: - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} - type: object - type: object - inProgressOperationId: - description: 'InProgressOperationId: Specifies an operation id if this site has a pending operation.' - type: string - isDefaultContainer: - description: 'IsDefaultContainer: true if the app is a default container; otherwise, false.' - type: boolean - isXenon: - description: 'IsXenon: Obsolete: Hyper-V sandbox.' - type: boolean - keyVaultReferenceIdentity: - description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' - type: string - kind: - description: 'Kind: Kind of resource.' - type: string - lastModifiedTimeUtc: - description: 'LastModifiedTimeUtc: Last time the app was modified, in UTC. Read-only.' - type: string - location: - description: 'Location: Resource Location.' - type: string - maxNumberOfWorkers: - description: |- - MaxNumberOfWorkers: Maximum number of workers. - This only applies to Functions container. - type: integer - name: - description: 'Name: Resource Name.' - type: string - outboundIpAddresses: - description: |- - OutboundIpAddresses: List of IP addresses that the app uses for outbound connections (e.g. database access). Includes - VIPs from tenants that site can be hosted with current settings. Read-only. - type: string - possibleOutboundIpAddresses: - description: |- - PossibleOutboundIpAddresses: List of IP addresses that the app uses for outbound connections (e.g. database access). - Includes VIPs from all tenants except dataComponent. Read-only. - type: string - publicNetworkAccess: - description: |- - PublicNetworkAccess: Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled' or an empty - string. - type: string - redundancyMode: - description: 'RedundancyMode: Site redundancy mode' - type: string - repositorySiteName: - description: 'RepositorySiteName: Name of the repository site.' - type: string - reserved: - description: 'Reserved: true if reserved; otherwise, false.' - type: boolean - resourceGroup: - description: 'ResourceGroup: Name of the resource group the app belongs to. Read-only.' - type: string - scmSiteAlsoStopped: - description: |- - ScmSiteAlsoStopped: true to stop SCM (KUDU) site when the app is stopped; otherwise, false. - The default is false. - type: boolean - serverFarmId: - description: |- - ServerFarmId: Resource ID of the associated App Service plan, formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - type: string - siteConfig: - description: 'SiteConfig: Configuration of the app.' - properties: - acrUseManagedIdentityCreds: - description: 'AcrUseManagedIdentityCreds: Flag to use Managed Identity Creds for ACR pull' - type: boolean - acrUserManagedIdentityID: - description: 'AcrUserManagedIdentityID: If using user managed identity, the user managed identity ClientId' - type: string - alwaysOn: - description: 'AlwaysOn: true if Always On is enabled; otherwise, false.' - type: boolean - apiDefinition: - description: 'ApiDefinition: Information about the formal API definition for the app.' - properties: - url: - description: 'Url: The URL of the API definition.' - type: string - type: object - apiManagementConfig: - description: 'ApiManagementConfig: Azure API management settings linked to the app.' - properties: - id: - description: 'Id: APIM-Api Identifier.' - type: string - type: object - appCommandLine: - description: 'AppCommandLine: App command line to launch.' - type: string - appSettings: - description: 'AppSettings: Application settings.' - items: - description: Name value pair. - properties: - name: - description: 'Name: Pair name.' - type: string - value: - description: 'Value: Pair value.' - type: string - type: object - type: array - autoHealEnabled: - description: 'AutoHealEnabled: true if Auto Heal is enabled; otherwise, false.' - type: boolean - autoHealRules: - description: 'AutoHealRules: Auto Heal rules.' - properties: - actions: - description: 'Actions: Actions to be executed when a rule is triggered.' - properties: - actionType: - description: 'ActionType: Predefined action to be taken.' - type: string - customAction: - description: 'CustomAction: Custom action to be taken.' - properties: - exe: - description: 'Exe: Executable to be run.' - type: string - parameters: - description: 'Parameters: Parameters for the executable.' - type: string - type: object - minProcessExecutionTime: - description: |- - MinProcessExecutionTime: Minimum time the process must execute - before taking the action - type: string - type: object - triggers: - description: 'Triggers: Conditions that describe when to execute the auto-heal actions.' - properties: - privateBytesInKB: - description: 'PrivateBytesInKB: A rule based on private bytes.' - type: integer - requests: - description: 'Requests: A rule based on total requests.' - properties: - count: - description: 'Count: Request Count.' - type: integer - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - type: object - slowRequests: - description: 'SlowRequests: A rule based on request execution time.' - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - description: 'Path: Request Path.' - type: string - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - timeTaken: - description: 'TimeTaken: Time taken.' - type: string - type: object - slowRequestsWithPath: - description: 'SlowRequestsWithPath: A rule based on multiple Slow Requests Rule with path' - items: - description: Trigger based on request execution time. - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - description: 'Path: Request Path.' - type: string - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - timeTaken: - description: 'TimeTaken: Time taken.' - type: string - type: object - type: array - statusCodes: - description: 'StatusCodes: A rule based on status codes.' - items: - description: Trigger based on status code. - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - description: 'Path: Request Path' - type: string - status: - description: 'Status: HTTP status code.' - type: integer - subStatus: - description: 'SubStatus: Request Sub Status.' - type: integer - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - win32Status: - description: 'Win32Status: Win32 error code.' - type: integer - type: object - type: array - statusCodesRange: - description: 'StatusCodesRange: A rule based on status codes ranges.' - items: - description: Trigger based on range of status codes. - properties: - count: - description: 'Count: Request Count.' - type: integer - path: - type: string - statusCodes: - description: 'StatusCodes: HTTP status code.' - type: string - timeInterval: - description: 'TimeInterval: Time interval.' - type: string - type: object - type: array - type: object + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - autoSwapSlotName: - description: 'AutoSwapSlotName: Auto-swap slot name.' + errorCode: type: string - azureStorageAccounts: + errorMessage: + type: string + type: object + creationData: + description: |- + Storage version of v1api20240302.CreationData_STATUS + Data used when creating a disk. + properties: + $propertyBag: additionalProperties: - description: Azure Files or Blob Storage access information value for dictionary storage. - properties: - accountName: - description: 'AccountName: Name of the storage account.' - type: string - mountPath: - description: 'MountPath: Path to mount the storage within the site''s runtime environment.' - type: string - shareName: - description: 'ShareName: Name of the file share (container name, for Blob storage).' - type: string - state: - description: 'State: State of the storage account.' - type: string - type: - description: 'Type: Type of storage.' - type: string - type: object - description: 'AzureStorageAccounts: List of Azure Storage Accounts.' + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - connectionStrings: - description: 'ConnectionStrings: Connection strings.' - items: - description: Database connection string information. - properties: - connectionString: - description: 'ConnectionString: Connection string value.' - type: string - name: - description: 'Name: Name of connection string.' - type: string - type: - description: 'Type: Type of database.' - type: string - type: object - type: array - cors: - description: 'Cors: Cross-Origin Resource Sharing (CORS) settings.' + createOption: + type: string + elasticSanResourceId: + type: string + galleryImageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. properties: - allowedOrigins: + $propertyBag: + additionalProperties: + type: string description: |- - AllowedOrigins: Gets or sets the list of origins that should be allowed to make cross-origin - calls (for example: http://example.com:12345). Use "*" to allow all. - items: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string + type: object + imageReference: + description: |- + Storage version of v1api20240302.ImageDiskReference_STATUS + The source image used for creating the disk. + properties: + $propertyBag: + additionalProperties: type: string - type: array - supportCredentials: description: |- - SupportCredentials: Gets or sets whether CORS requests with credentials are allowed. See - https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials - for more details. - type: boolean + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + communityGalleryImageId: + type: string + id: + type: string + lun: + type: integer + sharedGalleryImageId: + type: string type: object - defaultDocuments: - description: 'DefaultDocuments: Default documents.' - items: - type: string - type: array - detailedErrorLoggingEnabled: - description: 'DetailedErrorLoggingEnabled: true if detailed error logging is enabled; otherwise, false.' + logicalSectorSize: + type: integer + performancePlus: type: boolean - documentRoot: - description: 'DocumentRoot: Document root.' + provisionedBandwidthCopySpeed: type: string - experiments: - description: 'Experiments: This is work around for polymorphic types.' - properties: - rampUpRules: - description: 'RampUpRules: List of ramp-up rules.' - items: + securityDataUri: + type: string + sourceResourceId: + type: string + sourceUniqueId: + type: string + sourceUri: + type: string + storageAccountId: + type: string + uploadSizeBytes: + type: integer + type: object + dataAccessAuthMode: + type: string + diskAccessId: + type: string + diskSizeBytes: + type: integer + diskSizeGB: + type: integer + diskState: + type: string + encryption: + description: |- + Storage version of v1api20240302.Encryption_STATUS + Encryption at rest settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionSetId: + type: string + type: + type: string + type: object + encryptionSettingsCollection: + description: |- + Storage version of v1api20240302.EncryptionSettingsCollection_STATUS + Encryption settings for disk or snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + enabled: + type: boolean + encryptionSettings: + items: + description: |- + Storage version of v1api20240302.EncryptionSettingsElement_STATUS + Encryption settings for one disk volume. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change - routing % based on performance. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + diskEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndSecretReference_STATUS + Key Vault Secret Url and vault id of the encryption key properties: - actionHostName: - description: |- - ActionHostName: Hostname of a slot to which the traffic will be redirected if decided to. E.g. - myapp-stage.azurewebsites.net. - type: string - changeDecisionCallbackUrl: + $propertyBag: + additionalProperties: + type: string description: |- - ChangeDecisionCallbackUrl: Custom decision algorithm can be provided in TiPCallback site extension which URL can be - specified. See TiPCallback site extension for the scaffold and contracts. - https://www.siteextensions.net/packages/TiPCallback/ + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secretUrl: type: string - changeIntervalInMinutes: - description: 'ChangeIntervalInMinutes: Specifies interval in minutes to reevaluate ReroutePercentage.' - type: integer - changeStep: + sourceVault: description: |- - ChangeStep: In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches - \nMinReroutePercentage or - MaxReroutePercentage. Site metrics are checked every N minutes specified in - ChangeIntervalInMinutes.\nCustom decision algorithm - can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. - type: number - maxReroutePercentage: - description: 'MaxReroutePercentage: Specifies upper boundary below which ReroutePercentage will stay.' - type: number - minReroutePercentage: - description: 'MinReroutePercentage: Specifies lower boundary above which ReroutePercentage will stay.' - type: number - name: + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object + type: object + keyEncryptionKey: + description: |- + Storage version of v1api20240302.KeyVaultAndKeyReference_STATUS + Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Name: Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the - experiment. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + keyUrl: type: string - reroutePercentage: - description: 'ReroutePercentage: Percentage of the traffic which will be redirected to ActionHostName.' - type: number + sourceVault: + description: |- + Storage version of v1api20240302.SourceVault_STATUS + The vault id is an Azure Resource Manager Resource id in the form + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + id: + type: string + type: object type: object - type: array + type: object + type: array + encryptionSettingsVersion: + type: string + type: object + extendedLocation: + description: |- + Storage version of v1api20240302.ExtendedLocation_STATUS + The complex type of the extended location. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - ftpsState: - description: 'FtpsState: State of FTP / FTPS service' + name: type: string - functionAppScaleLimit: + type: + type: string + type: object + hyperVGeneration: + type: string + id: + type: string + incremental: + type: boolean + incrementalSnapshotFamilyId: + type: string + location: + type: string + managedBy: + type: string + name: + type: string + networkAccessPolicy: + type: string + osType: + type: string + provisioningState: + type: string + publicNetworkAccess: + type: string + purchasePlan: + description: |- + Storage version of v1api20240302.PurchasePlan_STATUS + Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - FunctionAppScaleLimit: Maximum number of workers that a site can scale out to. - This setting only applies to the Consumption and Elastic Premium Plans - type: integer - functionsRuntimeScaleMonitoringEnabled: + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + product: + type: string + promotionCode: + type: string + publisher: + type: string + type: object + securityProfile: + description: |- + Storage version of v1api20240302.DiskSecurityProfile_STATUS + Contains the security related information for the resource. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - FunctionsRuntimeScaleMonitoringEnabled: Gets or sets a value indicating whether functions runtime scale monitoring is - enabled. When enabled, - the ScaleController will not monitor event sources directly, but will instead call to the - runtime to get scale status. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + secureVMDiskEncryptionSetId: + type: string + securityType: + type: string + type: object + sku: + description: |- + Storage version of v1api20240302.SnapshotSku_STATUS + The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental + snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + tier: + type: string + type: object + supportedCapabilities: + description: |- + Storage version of v1api20240302.SupportedCapabilities_STATUS + List of supported capabilities persisted on the disk resource for VM use. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + acceleratedNetwork: type: boolean - handlerMappings: - description: 'HandlerMappings: Handler mappings.' + architecture: + type: string + diskControllerTypes: + type: string + type: object + supportsHibernation: + type: boolean + tags: + additionalProperties: + type: string + type: object + timeCreated: + type: string + type: + type: string + uniqueId: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: sqldatabasecontainers.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainer + listKind: SqlDatabaseContainerList + plural: sqldatabasecontainers + singular: sqldatabasecontainer + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- - The IIS handler mappings used to define which handler processes HTTP requests with certain extension. - For example, it - is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - arguments: - description: 'Arguments: Command-line arguments to be passed to the script processor.' + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - extension: - description: 'Extension: Requests with this extension will be handled using the specified FastCGI application.' + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - scriptProcessor: - description: 'ScriptProcessor: The absolute path to the FastCGI application.' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object type: array - healthCheckPath: - description: 'HealthCheckPath: Health check path' - type: string - http20Enabled: - description: 'Http20Enabled: Http20Enabled: configures a web site to allow clients to connect over http2.0' - type: boolean - httpLoggingEnabled: - description: 'HttpLoggingEnabled: true if HTTP logging is enabled; otherwise, false.' - type: boolean - ipSecurityRestrictions: - description: 'IpSecurityRestrictions: IP security restrictions for main.' + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: - description: IP security restriction on an app. + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - action: - description: 'Action: Allow or Deny access for this IP range.' - type: string - description: - description: 'Description: IP restriction rule description.' - type: string - headers: - additionalProperties: - items: - type: string - type: array - description: |- - Headers: IP restriction rule headers. - X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). - The matching logic is .. - - If the property is null or empty (default), all hosts(or lack of) are allowed. - - A value is compared using ordinal-ignore-case (excluding port number). - - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain - foo.contoso.com - but not the root domain contoso.com or multi-level foo.bar.contoso.com - - Unicode host names are allowed but are converted to Punycode for matching. - X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). - The matching logic is .. - - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. - - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. - X-Azure-FDID and X-FD-HealthProbe. - The matching logic is exact match. - type: object - ipAddress: + key: description: |- - IpAddress: IP address the security restriction is valid for. - It can be in form of pure ipv4 address (required SubnetMask property) or - CIDR notation such as ipv4/mask (leading bit match). For CIDR, - SubnetMask property must not be specified. + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string name: - description: 'Name: IP restriction rule name.' - type: string - priority: - description: 'Priority: Priority of IP restriction rule.' - type: integer - subnetMask: - description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' - type: string - subnetTrafficTag: - description: 'SubnetTrafficTag: (internal) Subnet traffic tag' - type: integer - tag: - description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. type: string - vnetSubnetResourceId: - description: 'VnetSubnetResourceId: Virtual network resource id' + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string - vnetTrafficTag: - description: 'VnetTrafficTag: (internal) Vnet traffic tag' - type: integer + required: + - name + - value type: object type: array - javaContainer: - description: 'JavaContainer: Java container.' - type: string - javaContainerVersion: - description: 'JavaContainerVersion: Java container version.' - type: string - javaVersion: - description: 'JavaVersion: Java version.' - type: string - keyVaultReferenceIdentity: - description: 'KeyVaultReferenceIdentity: Identity to use for Key Vault Reference authentication.' - type: string - limits: - description: 'Limits: Site limits.' + type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' properties: - maxDiskSizeInMb: - description: 'MaxDiskSizeInMb: Maximum allowed disk size usage in MB.' - type: integer - maxMemoryInMb: - description: 'MaxMemoryInMb: Maximum allowed memory usage in MB.' + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' type: integer - maxPercentageCpu: - description: 'MaxPercentageCpu: Maximum allowed CPU usage percentage.' - type: number type: object - linuxFxVersion: - description: 'LinuxFxVersion: Linux App Framework and version' + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - loadBalancing: - description: 'LoadBalancing: Site load balancing.' + name: + description: This is the name of the Kubernetes resource to reference. type: string - localMySqlEnabled: - description: 'LocalMySqlEnabled: true to enable local MySQL; otherwise, false.' - type: boolean - logsDirectorySizeLimit: - description: 'LogsDirectorySizeLimit: HTTP logs directory size limit.' + type: object + resource: + description: 'Resource: The standard JSON format of a container' + properties: + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' type: integer - machineKey: - description: 'MachineKey: Site MachineKey.' + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' properties: - decryption: - description: 'Decryption: Algorithm used for decryption.' - type: string - decryptionKey: - description: 'DecryptionKey: Decryption key.' + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' type: string - validation: - description: 'Validation: MachineKey validation.' + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' type: string - validationKey: - description: 'ValidationKey: Validation key.' + mode: + description: 'Mode: Indicates the conflict resolution mode.' + enum: + - Custom + - LastWriterWins type: string type: object - managedPipelineMode: - description: 'ManagedPipelineMode: Managed pipeline mode.' - type: string - managedServiceIdentityId: - description: 'ManagedServiceIdentityId: Managed Service Identity Id' - type: integer - minTlsVersion: - description: 'MinTlsVersion: MinTlsVersion: configures the minimum version of TLS required for SSL requests' - type: string - minimumElasticInstanceCount: - description: |- - MinimumElasticInstanceCount: Number of minimum instance count for a site - This setting only applies to the Elastic Plans - type: integer - netFrameworkVersion: - description: 'NetFrameworkVersion: .NET Framework version.' - type: string - nodeVersion: - description: 'NodeVersion: Version of Node.js.' - type: string - numberOfWorkers: - description: 'NumberOfWorkers: Number of workers.' + defaultTtl: + description: 'DefaultTtl: Default time to live' type: integer - phpVersion: - description: 'PhpVersion: Version of PHP.' - type: string - powerShellVersion: - description: 'PowerShellVersion: Version of PowerShell.' + id: + description: 'Id: Name of the Cosmos DB SQL container' type: string - preWarmedInstanceCount: + indexingPolicy: description: |- - PreWarmedInstanceCount: Number of preWarmed instances. - This setting only applies to the Consumption and Elastic Plans - type: integer - publicNetworkAccess: - description: 'PublicNetworkAccess: Property to allow or block all public traffic.' - type: string - publishingUsername: - description: 'PublishingUsername: Publishing user name.' - type: string - push: - description: 'Push: Push endpoint settings.' + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container properties: - dynamicTagsJson: - description: |- - DynamicTagsJson: Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in - the push registration endpoint. - type: string - id: - description: 'Id: Resource Id.' - type: string - isPushEnabled: - description: 'IsPushEnabled: Gets or sets a flag indicating whether the Push endpoint is enabled.' + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' type: boolean - kind: - description: 'Kind: Kind of resource.' - type: string - name: - description: 'Name: Resource Name.' - type: string - tagWhitelistJson: - description: |- - TagWhitelistJson: Gets or sets a JSON string containing a list of tags that are in the allowed list for use by the push - registration endpoint. + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + enum: + - ascending + - descending + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + enum: + - LineString + - MultiPolygon + - Number + - Point + - Polygon + - String + type: string + kind: + description: 'Kind: Indicates the type of index.' + enum: + - Hash + - Range + - Spatial + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + enum: + - consistent + - lazy + - none type: string - tagsRequiringAuth: + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + enum: + - LineString + - MultiPolygon + - Point + - Polygon + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: description: |- - TagsRequiringAuth: Gets or sets a JSON string containing a list of tags that require user authentication to be used in - the push registration endpoint. - Tags can consist of alphanumeric characters and the following: - '_', '@', '#', '.', ':', '-'. - Validation should be performed at the PushRequestHandler. - type: string - type: - description: 'Type: Resource type.' + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + enum: + - Hash + - MultiHash + - Range type: string - type: object - pythonVersion: - description: 'PythonVersion: Version of Python.' - type: string - remoteDebuggingEnabled: - description: 'RemoteDebuggingEnabled: true if remote debugging is enabled; otherwise, false.' - type: boolean - remoteDebuggingVersion: - description: 'RemoteDebuggingVersion: Remote debugging version.' - type: string - requestTracingEnabled: - description: 'RequestTracingEnabled: true if request tracing is enabled; otherwise, false.' - type: boolean - requestTracingExpirationTime: - description: 'RequestTracingExpirationTime: Request tracing expiration time.' - type: string - scmIpSecurityRestrictions: - description: 'ScmIpSecurityRestrictions: IP security restrictions for scm.' - items: - description: IP security restriction on an app. - properties: - action: - description: 'Action: Allow or Deny access for this IP range.' - type: string - description: - description: 'Description: IP restriction rule description.' + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: type: string - headers: - additionalProperties: - items: - type: string - type: array - description: |- - Headers: IP restriction rule headers. - X-Forwarded-Host (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Host#Examples). - The matching logic is .. - - If the property is null or empty (default), all hosts(or lack of) are allowed. - - A value is compared using ordinal-ignore-case (excluding port number). - - Subdomain wildcards are permitted but don't match the root domain. For example, *.contoso.com matches the subdomain - foo.contoso.com - but not the root domain contoso.com or multi-level foo.bar.contoso.com - - Unicode host names are allowed but are converted to Punycode for matching. - X-Forwarded-For (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For#Examples). - The matching logic is .. - - If the property is null or empty (default), any forwarded-for chains (or lack of) are allowed. - - If any address (excluding port number) in the chain (comma separated) matches the CIDR defined by the property. - X-Azure-FDID and X-FD-HealthProbe. - The matching logic is exact match. + type: array + version: + description: 'Version: Indicates the version of the partition key definition' + maximum: 2 + minimum: 1 + type: integer + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array type: object - ipAddress: - description: |- - IpAddress: IP address the security restriction is valid for. - It can be in form of pure ipv4 address (required SubnetMask property) or - CIDR notation such as ipv4/mask (leading bit match). For CIDR, - SubnetMask property must not be specified. - type: string - name: - description: 'Name: IP restriction rule name.' - type: string - priority: - description: 'Priority: Priority of IP restriction rule.' - type: integer - subnetMask: - description: 'SubnetMask: Subnet mask for the range of IP addresses the restriction is valid for.' - type: string - subnetTrafficTag: - description: 'SubnetTrafficTag: (internal) Subnet traffic tag' - type: integer - tag: - description: 'Tag: Defines what this IP filter will be used for. This is to support IP filtering on proxies.' - type: string - vnetSubnetResourceId: - description: 'VnetSubnetResourceId: Virtual network resource id' - type: string - vnetTrafficTag: - description: 'VnetTrafficTag: (internal) Vnet traffic tag' - type: integer - type: object - type: array - scmIpSecurityRestrictionsUseMain: - description: 'ScmIpSecurityRestrictionsUseMain: IP security restrictions for scm to use main.' - type: boolean - scmMinTlsVersion: - description: 'ScmMinTlsVersion: ScmMinTlsVersion: configures the minimum version of TLS required for SSL requests for SCM site' + type: array + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - scmType: - description: 'ScmType: SCM type.' + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - tracingOptions: - description: 'TracingOptions: Tracing options.' + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + type: string + type: object + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' type: string - use32BitWorkerProcess: - description: 'Use32BitWorkerProcess: true to use 32-bit worker process; otherwise, false.' - type: boolean - virtualApplications: - description: 'VirtualApplications: Virtual applications.' - items: - description: Virtual application in an app. - properties: - physicalPath: - description: 'PhysicalPath: Physical path.' - type: string - preloadEnabled: - description: 'PreloadEnabled: true if preloading is enabled; otherwise, false.' - type: boolean - virtualDirectories: - description: 'VirtualDirectories: Virtual directories for virtual application.' + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: items: - description: Directory for virtual application. properties: - physicalPath: - description: 'PhysicalPath: Physical path.' + order: + description: 'Order: Sort order for composite paths.' type: string - virtualPath: - description: 'VirtualPath: Path to virtual application.' + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) type: string type: object type: array - virtualPath: - description: 'VirtualPath: Virtual path.' + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + type: string + kind: + description: 'Kind: Indicates the type of index.' + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: type: string - type: object - type: array - vnetName: - description: 'VnetName: Virtual Network name.' - type: string - vnetPrivatePortsCount: - description: 'VnetPrivatePortsCount: The number of private ports assigned to this app. These will be assigned dynamically on runtime.' - type: integer - vnetRouteAllEnabled: - description: |- - VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network - Security Groups and User Defined Routes applied. - type: boolean - webSocketsEnabled: - description: 'WebSocketsEnabled: true if WebSocket is enabled; otherwise, false.' - type: boolean - websiteTimeZone: + type: array + systemKey: + description: 'SystemKey: Indicates if the container is using a system generated partition key' + type: boolean + version: + description: 'Version: Indicates the version of the partition key definition' + type: integer + type: object + uniqueKeyPolicy: description: |- - WebsiteTimeZone: Sets the time zone a site uses for generating timestamps. Compatible with Linux and Windows App - Service. Setting the WEBSITE_TIME_ZONE app setting takes precedence over this config. For Linux, expects tz database - values https://www.iana.org/time-zones (for a quick reference see - https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). For Windows, expects one of the time zones listed under - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones - type: string - windowsFxVersion: - description: 'WindowsFxVersion: Xenon App Framework and version' - type: string - xManagedServiceIdentityId: - description: 'XManagedServiceIdentityId: Explicit Managed Service Identity Id' - type: integer - type: object - slotSwapStatus: - description: 'SlotSwapStatus: Status of the last deployment slot swap operation.' - properties: - destinationSlotName: - description: 'DestinationSlotName: The destination slot of the last swap operation.' - type: string - sourceSlotName: - description: 'SourceSlotName: The source slot of the last swap operation.' - type: string - timestampUtc: - description: 'TimestampUtc: The time the last successful slot swap completed.' - type: string + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object type: object - state: - description: 'State: Current state of the app.' - type: string - storageAccountRequired: - description: 'StorageAccountRequired: Checks if Customer provided storage account is required' - type: boolean - suspendedTill: - description: 'SuspendedTill: App suspended till in case memory-time quota is exceeded.' - type: string tags: additionalProperties: type: string - description: 'Tags: Resource tags.' type: object - targetSwapSlot: - description: 'TargetSwapSlot: Specifies which deployment slot this app will swap into. Read-only.' - type: string - trafficManagerHostNames: - description: 'TrafficManagerHostNames: Azure Traffic Manager hostnames associated with the app. Read-only.' - items: - type: string - type: array type: - description: 'Type: Resource type.' - type: string - usageState: - description: 'UsageState: State indicating whether the app has exceeded its quota usage. Read-only.' - type: string - virtualNetworkSubnetId: - description: |- - VirtualNetworkSubnetId: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET - Integration. - This must be of the form - /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} + description: 'Type: The type of Azure resource.' type: string - vnetContentShareEnabled: - description: 'VnetContentShareEnabled: To enable accessing content over virtual network' - type: boolean - vnetImagePullEnabled: - description: 'VnetImagePullEnabled: To enable pulling image over Virtual Network' - type: boolean - vnetRouteAllEnabled: - description: |- - VnetRouteAllEnabled: Virtual Network Route All enabled. This causes all outbound traffic to have Virtual Network - Security Groups and User Defined Routes applied. - type: boolean type: object type: object served: true @@ -315641,14 +403042,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220301storage + name: v1api20210515storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220301.Site + Storage version of v1api20210515.SqlDatabaseContainer Generator information: - - Generated from: /web/resource-manager/Microsoft.Web/stable/2022-03-01/WebApps.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} properties: apiVersion: description: |- @@ -315668,7 +403069,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220301.Site_Spec + description: Storage version of v1api20210515.SqlDatabaseContainer_Spec properties: $propertyBag: additionalProperties: @@ -315682,18 +403083,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - clientAffinityEnabled: - type: boolean - clientCertEnabled: - type: boolean - clientCertExclusionPaths: - type: string - clientCertMode: + location: type: string - cloningInfo: + operatorSpec: description: |- - Storage version of v1api20220301.CloningInfo - Information needed for cloning operation. + Storage version of v1api20210515.SqlDatabaseContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -315702,133 +403097,379 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - appSettingsOverrides: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: additionalProperties: type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - cloneCustomHostNames: - type: boolean - cloneSourceControl: - type: boolean - configureLoadBalancing: - type: boolean - correlationId: - type: string - hostingEnvironment: + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - overwrite: - type: boolean - sourceWebAppLocation: + name: + description: This is the name of the Kubernetes resource to reference. type: string - sourceWebAppReference: + type: object + resource: + description: |- + Storage version of v1api20210515.SqlContainerResource + Cosmos DB SQL container resource object + properties: + $propertyBag: + additionalProperties: + type: string description: |- - SourceWebAppReference: ARM resource ID of the source app. App resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots - and - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for - other slots. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + conflictResolutionPolicy: + description: |- + Storage version of v1api20210515.ConflictResolutionPolicy + The conflict resolution policy for the container. properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + conflictResolutionProcedure: type: string - name: - description: Name is the Kubernetes name of the resource. + mode: type: string type: object - trafficManagerProfileName: + defaultTtl: + type: integer + id: type: string - trafficManagerProfileReference: + indexingPolicy: description: |- - TrafficManagerProfileReference: ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager - resource ID is of the form - /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + Storage version of v1api20210515.IndexingPolicy + Cosmos DB indexing policy properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20210515.CompositePath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20210515.ExcludedPath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20210515.IncludedPath + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20210515.Indexes + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: type: string + spatialIndexes: + items: + description: Storage version of v1api20210515.SpatialSpec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20210515.ContainerPartitionKey + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. type: string + paths: + items: + type: string + type: array + version: + type: integer type: object - required: - - sourceWebAppReference - type: object - containerSize: - type: integer - customDomainVerificationId: - type: string - dailyMemoryTimeQuota: - type: integer - enabled: - type: boolean - extendedLocation: - description: |- - Storage version of v1api20220301.ExtendedLocation - Extended Location. - properties: - $propertyBag: - additionalProperties: - type: string + uniqueKeyPolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20210515.UniqueKeyPolicy + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20210515.UniqueKey + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array type: object - name: - type: string type: object - hostNameSslStates: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: items: - description: |- - Storage version of v1api20220301.HostNameSslState - SSL-enabled hostname. + description: Condition defines an extension to status (an observation) of a resource properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - hostType: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string - name: + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string - sslState: + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. type: string - thumbprint: + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown type: string - toUpdate: - type: boolean - virtualIP: + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. type: string + required: + - lastTransitionTime + - reason + - status + - type type: object type: array - hostNamesDisabled: - type: boolean - hostingEnvironmentProfile: + id: + type: string + location: + type: string + name: + type: string + options: description: |- - Storage version of v1api20220301.HostingEnvironmentProfile - Specification for an App Service Environment to use for this resource. + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object properties: $propertyBag: additionalProperties: @@ -315837,35 +403478,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - reference: - description: 'Reference: Resource ID of the App Service Environment.' + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer type: object + throughput: + type: integer type: object - httpsOnly: - type: boolean - hyperV: - type: boolean - identity: - description: |- - Storage version of v1api20220301.ManagedServiceIdentity - Managed service identity. + resource: + description: Storage version of v1api20210515.SqlContainerGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -315874,65 +403504,269 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - type: + _etag: type: string - userAssignedIdentities: - items: - description: |- - Storage version of v1api20220301.UserAssignedIdentityDetails - Information about the user assigned identity for the resource - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + conflictResolutionPolicy: + description: |- + Storage version of v1api20210515.ConflictResolutionPolicy_STATUS + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20210515.IndexingPolicy_STATUS + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20210515.CompositePath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20210515.ExcludedPath_STATUS properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: type: string - kind: - description: Kind is the Kubernetes kind of the resource. + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20210515.IncludedPath_STATUS + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20210515.Indexes_STATUS + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: type: string - name: - description: Name is the Kubernetes name of the resource. + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20210515.SpatialSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: type: string + types: + items: + type: string + type: array type: object - type: object - type: array + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20210515.ContainerPartitionKey_STATUS + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + systemKey: + type: boolean + version: + type: integer + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20210515.UniqueKeyPolicy_STATUS + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20210515.UniqueKey_STATUS + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object type: object - isXenon: - type: boolean - keyVaultReferenceIdentity: + tags: + additionalProperties: + type: string + type: object + type: type: string - kind: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string operatorSpec: description: |- - Storage version of v1api20220301.SiteOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -315962,6 +403796,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -315991,13 +403826,29 @@ spec: type: object type: array type: object - originalVersion: - type: string + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -316006,843 +403857,268 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - redundancyMode: - type: string - reserved: - type: boolean - scmSiteAlsoStopped: - type: boolean - serverFarmReference: - description: |- - ServerFarmReference: Resource ID of the associated App Service plan, formatted as: - "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - siteConfig: - description: |- - Storage version of v1api20220301.SiteConfig - Configuration of an App Service app. + resource: + description: 'Resource: The standard JSON format of a container' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - acrUseManagedIdentityCreds: - type: boolean - acrUserManagedIdentityID: - type: string - alwaysOn: - type: boolean - apiDefinition: - description: |- - Storage version of v1api20220301.ApiDefinitionInfo - Information about the formal API definition for the app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - url: - type: string - type: object - apiManagementConfig: - description: |- - Storage version of v1api20220301.ApiManagementConfig - Azure API management (APIM) configuration linked to the app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: APIM-Api Identifier.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - appCommandLine: - type: string - appSettings: - items: - description: |- - Storage version of v1api20220301.NameValuePair - Name value pair. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - value: - type: string - type: object - type: array - autoHealEnabled: - type: boolean - autoHealRules: - description: |- - Storage version of v1api20220301.AutoHealRules - Rules that can be defined for auto-heal. + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actions: - description: |- - Storage version of v1api20220301.AutoHealActions - Actions which to take by the auto-heal module when a rule is triggered. - properties: - $propertyBag: - additionalProperties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionType: - type: string - customAction: - description: |- - Storage version of v1api20220301.AutoHealCustomAction - Custom action to be executed - when an auto heal rule is triggered. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exe: - type: string - parameters: - type: string - type: object - minProcessExecutionTime: - type: string - type: object - triggers: - description: |- - Storage version of v1api20220301.AutoHealTriggers - Triggers for auto-heal. - properties: - $propertyBag: - additionalProperties: + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - privateBytesInKB: - type: integer - requests: - description: |- - Storage version of v1api20220301.RequestsBasedTrigger - Trigger based on total requests. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - timeInterval: - type: string - type: object - slowRequests: - description: |- - Storage version of v1api20220301.SlowRequestsBasedTrigger - Trigger based on request execution time. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - timeInterval: - type: string - timeTaken: - type: string - type: object - slowRequestsWithPath: - items: - description: |- - Storage version of v1api20220301.SlowRequestsBasedTrigger - Trigger based on request execution time. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - timeInterval: - type: string - timeTaken: - type: string - type: object - type: array - statusCodes: - items: - description: |- - Storage version of v1api20220301.StatusCodesBasedTrigger - Trigger based on status code. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - status: - type: integer - subStatus: - type: integer - timeInterval: - type: string - win32Status: - type: integer - type: object - type: array - statusCodesRange: - items: - description: |- - Storage version of v1api20220301.StatusCodesRangeBasedTrigger - Trigger based on range of status codes. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - statusCodes: - type: string - timeInterval: - type: string - type: object - type: array - type: object - type: object - autoSwapSlotName: - type: string - azureStorageAccounts: - additionalProperties: - description: |- - Storage version of v1api20220301.AzureStorageInfoValue - Azure Files or Blob Storage access information value for dictionary storage. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accessKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource + path: + description: 'Path: Path that needs to be encrypted.' type: string required: - - key - - name + - clientEncryptionKeyId + - encryptionAlgorithm + - encryptionType + - path type: object - accountName: - type: string - mountPath: - type: string - shareName: - type: string - type: - type: string - type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + maximum: 2 + minimum: 1 + type: integer + required: + - includedPaths + - policyFormatVersion type: object - connectionStrings: + computedProperties: + description: 'ComputedProperties: List of computed properties' items: - description: |- - Storage version of v1api20220301.ConnStringInfo - Database connection string information. + description: The definition of a computed property properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - connectionString: - type: string name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' type: string - type: + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' type: string type: object type: array - cors: - description: |- - Storage version of v1api20220301.CorsSettings - Cross-Origin Resource Sharing (CORS) settings for the app. + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedOrigins: - items: - type: string - type: array - supportCredentials: - type: boolean + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + enum: + - Custom + - LastWriterWins + type: string type: object - defaultDocuments: - items: - type: string - type: array - detailedErrorLoggingEnabled: - type: boolean - documentRoot: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore type: string - experiments: + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: description: |- - Storage version of v1api20220301.Experiments - Routing rules in production experiments. + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - rampUpRules: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' items: - description: |- - Storage version of v1api20220301.RampUpRule - Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change - routing % based on performance. - properties: - $propertyBag: - additionalProperties: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + enum: + - ascending + - descending type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionHostName: - type: string - changeDecisionCallbackUrl: - type: string - changeIntervalInMinutes: - type: integer - changeStep: - type: number - maxReroutePercentage: - type: number - minReroutePercentage: - type: number - name: + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) type: string - reroutePercentage: - type: number type: object type: array - type: object - ftpsState: - type: string - functionAppScaleLimit: - type: integer - functionsRuntimeScaleMonitoringEnabled: - type: boolean - handlerMappings: - items: - description: |- - Storage version of v1api20220301.HandlerMapping - The IIS handler mappings used to define which handler processes HTTP requests with certain extension. - For example, it - is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - arguments: - type: string - extension: - type: string - scriptProcessor: - type: string - type: object - type: array - healthCheckPath: - type: string - http20Enabled: - type: boolean - httpLoggingEnabled: - type: boolean - ipSecurityRestrictions: - items: - description: |- - Storage version of v1api20220301.IpSecurityRestriction - IP security restriction on an app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - description: - type: string - headers: - additionalProperties: - items: + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + enum: + - LineString + - MultiPolygon + - Number + - Point + - Polygon + - String + type: string + kind: + description: 'Kind: Indicates the type of index.' + enum: + - Hash + - Range + - Spatial + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) type: string - type: array type: object - ipAddress: - type: string - name: - type: string - priority: - type: integer - subnetMask: - type: string - subnetTrafficTag: - type: integer - tag: - type: string - vnetSubnetResourceReference: - description: 'VnetSubnetResourceReference: Virtual network resource id' + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + enum: + - consistent + - lazy + - none + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: properties: - armId: + path: description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + enum: + - LineString + - MultiPolygon + - Point + - Polygon + type: string + type: array type: object - vnetTrafficTag: - type: integer - type: object - type: array - javaContainer: - type: string - javaContainerVersion: - type: string - javaVersion: - type: string - keyVaultReferenceIdentity: - type: string - limits: - description: |- - Storage version of v1api20220301.SiteLimits - Metric limits set on an app. + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' properties: - $propertyBag: - additionalProperties: - type: string + kind: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxDiskSizeInMb: - type: integer - maxMemoryInMb: + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + enum: + - Hash + - MultiHash + - Range + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + version: + description: 'Version: Indicates the version of the partition key definition' + maximum: 2 + minimum: 1 type: integer - maxPercentageCpu: - type: number type: object - linuxFxVersion: - type: string - loadBalancing: - type: string - localMySqlEnabled: - type: boolean - logsDirectorySizeLimit: - type: integer - managedPipelineMode: - type: string - managedServiceIdentityId: - type: integer - minTlsVersion: - type: string - minimumElasticInstanceCount: - type: integer - netFrameworkVersion: - type: string - nodeVersion: - type: string - numberOfWorkers: - type: integer - phpVersion: - type: string - powerShellVersion: - type: string - preWarmedInstanceCount: - type: integer - publicNetworkAccess: - type: string - publishingUsername: - type: string - push: - description: |- - Storage version of v1api20220301.PushSettings - Push settings for the App. + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' properties: - $propertyBag: - additionalProperties: - type: string + restoreSource: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dynamicTagsJson: - type: string - isPushEnabled: - type: boolean - kind: - type: string - tagWhitelistJson: + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} type: string - tagsRequiringAuth: + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' type: string type: object - pythonVersion: - type: string - remoteDebuggingEnabled: - type: boolean - remoteDebuggingVersion: - type: string - requestTracingEnabled: - type: boolean - requestTracingExpirationTime: - type: string - scmIpSecurityRestrictions: - items: - description: |- - Storage version of v1api20220301.IpSecurityRestriction - IP security restriction on an app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - description: - type: string - headers: - additionalProperties: - items: - type: string - type: array - type: object - ipAddress: - type: string - name: - type: string - priority: - type: integer - subnetMask: - type: string - subnetTrafficTag: - type: integer - tag: - type: string - vnetSubnetResourceReference: - description: 'VnetSubnetResourceReference: Virtual network resource id' + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - vnetTrafficTag: - type: integer - type: object - type: array - scmIpSecurityRestrictionsUseMain: - type: boolean - scmMinTlsVersion: - type: string - scmType: - type: string - tracingOptions: - type: string - use32BitWorkerProcess: - type: boolean - virtualApplications: - items: - description: |- - Storage version of v1api20220301.VirtualApplication - Virtual application in an app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - physicalPath: - type: string - preloadEnabled: - type: boolean - virtualDirectories: - items: - description: |- - Storage version of v1api20220301.VirtualDirectory - Directory for virtual application. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - physicalPath: - type: string - virtualPath: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: type: string - type: object - type: array - virtualPath: - type: string - type: object - type: array - vnetName: - type: string - vnetPrivatePortsCount: - type: integer - vnetRouteAllEnabled: - type: boolean - webSocketsEnabled: - type: boolean - websiteTimeZone: - type: string - windowsFxVersion: - type: string - xManagedServiceIdentityId: - type: integer - type: object - storageAccountRequired: - type: boolean - tags: - additionalProperties: - type: string + type: array + type: object + type: array + type: object + required: + - id type: object - virtualNetworkSubnetReference: - description: |- - VirtualNetworkSubnetReference: Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET - Integration. - This must be of the form - /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName} - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + tags: + additionalProperties: + type: string type: object - vnetContentShareEnabled: - type: boolean - vnetImagePullEnabled: - type: boolean - vnetRouteAllEnabled: - type: boolean required: - owner + - resource type: object status: - description: |- - Storage version of v1api20220301.Site_STATUS - A web app, a mobile app backend, or an API app. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - availabilityState: - type: string - clientAffinityEnabled: - type: boolean - clientCertEnabled: - type: boolean - clientCertExclusionPaths: - type: string - clientCertMode: - type: string - cloningInfo: - description: |- - Storage version of v1api20220301.CloningInfo_STATUS - Information needed for cloning operation. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - appSettingsOverrides: - additionalProperties: - type: string - type: object - cloneCustomHostNames: - type: boolean - cloneSourceControl: - type: boolean - configureLoadBalancing: - type: boolean - correlationId: - type: string - hostingEnvironment: - type: string - overwrite: - type: boolean - sourceWebAppId: - type: string - sourceWebAppLocation: - type: string - trafficManagerProfileId: - type: string - trafficManagerProfileName: - type: string - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -316885,99 +404161,318 @@ spec: - type type: object type: array - containerSize: - type: integer - customDomainVerificationId: + id: + description: 'Id: The unique resource identifier of the ARM resource.' type: string - dailyMemoryTimeQuota: - type: integer - defaultHostName: + location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string - enabled: - type: boolean - enabledHostNames: - items: - type: string - type: array - extendedLocation: - description: |- - Storage version of v1api20220301.ExtendedLocation_STATUS - Extended Location. + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer type: object - name: + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - type: + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - type: object - hostNameSslStates: - items: - description: |- - Storage version of v1api20220301.HostNameSslState_STATUS - SSL-enabled hostname. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + type: integer + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' + items: + description: The definition of a computed property + properties: + name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' + type: string + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' + type: string type: object - hostType: - type: string - name: - type: string - sslState: - type: string - thumbprint: - type: string - toUpdate: - type: boolean - virtualIP: - type: string - type: object - type: array - hostNames: - items: - type: string - type: array - hostNamesDisabled: - type: boolean - hostingEnvironmentProfile: - description: |- - Storage version of v1api20220301.HostingEnvironmentProfile_STATUS - Specification for an App Service Environment to use for this resource. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + type: array + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + type: string type: object - id: - type: string - name: + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' type: string - type: + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + type: string + kind: + description: 'Kind: Indicates the type of index.' + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + systemKey: + description: 'SystemKey: Indicates if the container is using a system generated partition key' + type: boolean + version: + description: 'Version: Indicates the version of the partition key definition' + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object type: object - httpsOnly: - type: boolean - hyperV: - type: boolean - id: + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' type: string - identity: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainer + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainer_Spec + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.ManagedServiceIdentity_STATUS - Managed service identity. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -316986,72 +404481,70 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - principalId: - type: string - tenantId: - type: string - type: - type: string - userAssignedIdentities: - additionalProperties: + configMapExpressions: + items: description: |- - Storage version of v1api20220301.UserAssignedIdentity_STATUS - User Assigned identity. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientId: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - principalId: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ type: string + required: + - name + - value type: object - type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - inProgressOperationId: - type: string - isDefaultContainer: - type: boolean - isXenon: - type: boolean - keyVaultReferenceIdentity: - type: string - kind: - type: string - lastModifiedTimeUtc: - type: string - location: - type: string - maxNumberOfWorkers: - type: integer - name: - type: string - outboundIpAddresses: - type: string - possibleOutboundIpAddresses: - type: string - publicNetworkAccess: - type: string - redundancyMode: - type: string - repositorySiteName: - type: string - reserved: - type: boolean - resourceGroup: - type: string - scmSiteAlsoStopped: - type: boolean - serverFarmId: - type: string - siteConfig: + options: description: |- - Storage version of v1api20220301.SiteConfig_STATUS - Configuration of an App Service app. + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" properties: $propertyBag: additionalProperties: @@ -317060,16 +404553,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - acrUseManagedIdentityCreds: - type: boolean - acrUserManagedIdentityID: - type: string - alwaysOn: - type: boolean - apiDefinition: - description: |- - Storage version of v1api20220301.ApiDefinitionInfo_STATUS - Information about the formal API definition for the app. + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -317078,13 +404563,45 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - url: - type: string + maxThroughput: + type: integer type: object - apiManagementConfig: + throughput: + type: integer + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabase resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: |- + Storage version of v1api20231115.SqlContainerResource + Cosmos DB SQL container resource object + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.ApiManagementConfig_STATUS - Azure API management (APIM) configuration linked to the app. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20231115.ClientEncryptionPolicy + Cosmos DB client encryption policy. properties: $propertyBag: additionalProperties: @@ -317093,16 +404610,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + includedPaths: + items: + description: |- + Storage version of v1api20231115.ClientEncryptionIncludedPath + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer type: object - appCommandLine: - type: string - appSettings: + computedProperties: items: description: |- - Storage version of v1api20220301.NameValuePair_STATUS - Name value pair. + Storage version of v1api20231115.ComputedProperty + The definition of a computed property properties: $propertyBag: additionalProperties: @@ -317113,16 +404651,14 @@ spec: type: object name: type: string - value: + query: type: string type: object type: array - autoHealEnabled: - type: boolean - autoHealRules: + conflictResolutionPolicy: description: |- - Storage version of v1api20220301.AutoHealRules_STATUS - Rules that can be defined for auto-heal. + Storage version of v1api20231115.ConflictResolutionPolicy + The conflict resolution policy for the container. properties: $propertyBag: additionalProperties: @@ -317131,59 +404667,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actions: + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20231115.IndexingPolicy + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.AutoHealActions_STATUS - Actions which to take by the auto-heal module when a rule is triggered. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - actionType: - type: string - customAction: - description: |- - Storage version of v1api20220301.AutoHealCustomAction_STATUS - Custom action to be executed - when an auto heal rule is triggered. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - exe: - type: string - parameters: - type: string - type: object - minProcessExecutionTime: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - triggers: - description: |- - Storage version of v1api20220301.AutoHealTriggers_STATUS - Triggers for auto-heal. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - privateBytesInKB: - type: integer - requests: - description: |- - Storage version of v1api20220301.RequestsBasedTrigger_STATUS - Trigger based on total requests. + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20231115.CompositePath properties: $propertyBag: additionalProperties: @@ -317192,159 +404706,240 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - count: - type: integer - timeInterval: + order: type: string - type: object - slowRequests: - description: |- - Storage version of v1api20220301.SlowRequestsBasedTrigger_STATUS - Trigger based on request execution time. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer path: type: string - timeInterval: - type: string - timeTaken: - type: string type: object - slowRequestsWithPath: - items: + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20231115.ExcludedPath + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.SlowRequestsBasedTrigger_STATUS - Trigger based on request execution time. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - timeInterval: - type: string - timeTaken: - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - statusCodes: - items: + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20231115.IncludedPath + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.StatusCodesBasedTrigger_STATUS - Trigger based on status code. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - status: - type: integer - subStatus: - type: integer - timeInterval: - type: string - win32Status: - type: integer + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - statusCodesRange: - items: - description: |- - Storage version of v1api20220301.StatusCodesRangeBasedTrigger_STATUS - Trigger based on range of status codes. - properties: - $propertyBag: - additionalProperties: + indexes: + items: + description: |- + Storage version of v1api20231115.Indexes + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - count: - type: integer - path: - type: string - statusCodes: - type: string - timeInterval: - type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20231115.SpatialSpec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: array - type: object - type: object - autoSwapSlotName: - type: string - azureStorageAccounts: - additionalProperties: - description: |- - Storage version of v1api20220301.AzureStorageInfoValue_STATUS - Azure Files or Blob Storage access information value for dictionary storage. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + path: + type: string + types: + items: + type: string + type: array type: object - accountName: - type: string - mountPath: + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20231115.ContainerPartitionKey + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: type: string - shareName: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: type: string - state: + type: array + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: type: string - type: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20231115.UniqueKeyPolicy + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: type: string - type: object + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20231115.UniqueKey + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array type: object - connectionStrings: - items: + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainer_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: description: |- - Storage version of v1api20220301.ConnStringInfo_STATUS - Database connection string information. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - connectionString: - type: string - name: - type: string - type: - type: string - type: object - type: array - cors: + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + options: + description: |- + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20220301.CorsSettings_STATUS - Cross-Origin Resource Sharing (CORS) settings for the app. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS properties: $propertyBag: additionalProperties: @@ -317353,25 +404948,34 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedOrigins: - items: - type: string - type: array - supportCredentials: - type: boolean + maxThroughput: + type: integer type: object - defaultDocuments: - items: + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20231115.SqlContainerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: array - detailedErrorLoggingEnabled: - type: boolean - documentRoot: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: type: string - experiments: + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: description: |- - Storage version of v1api20220301.Experiments_STATUS - Routing rules in production experiments. + Storage version of v1api20231115.ClientEncryptionPolicy_STATUS + Cosmos DB client encryption policy. properties: $propertyBag: additionalProperties: @@ -317380,12 +404984,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - rampUpRules: + includedPaths: items: description: |- - Storage version of v1api20220301.RampUpRule_STATUS - Routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or to gradually change - routing % based on performance. + Storage version of v1api20231115.ClientEncryptionIncludedPath_STATUS + . properties: $propertyBag: additionalProperties: @@ -317394,65 +404997,24 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionHostName: + clientEncryptionKeyId: type: string - changeDecisionCallbackUrl: + encryptionAlgorithm: type: string - changeIntervalInMinutes: - type: integer - changeStep: - type: number - maxReroutePercentage: - type: number - minReroutePercentage: - type: number - name: + encryptionType: + type: string + path: type: string - reroutePercentage: - type: number type: object type: array + policyFormatVersion: + type: integer type: object - ftpsState: - type: string - functionAppScaleLimit: - type: integer - functionsRuntimeScaleMonitoringEnabled: - type: boolean - handlerMappings: - items: - description: |- - Storage version of v1api20220301.HandlerMapping_STATUS - The IIS handler mappings used to define which handler processes HTTP requests with certain extension. - For example, it - is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - arguments: - type: string - extension: - type: string - scriptProcessor: - type: string - type: object - type: array - healthCheckPath: - type: string - http20Enabled: - type: boolean - httpLoggingEnabled: - type: boolean - ipSecurityRestrictions: + computedProperties: items: description: |- - Storage version of v1api20220301.IpSecurityRestriction_STATUS - IP security restriction on an app. + Storage version of v1api20231115.ComputedProperty_STATUS + The definition of a computed property properties: $propertyBag: additionalProperties: @@ -317461,73 +405023,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - action: - type: string - description: - type: string - headers: - additionalProperties: - items: - type: string - type: array - type: object - ipAddress: - type: string name: type: string - priority: - type: integer - subnetMask: - type: string - subnetTrafficTag: - type: integer - tag: - type: string - vnetSubnetResourceId: + query: type: string - vnetTrafficTag: - type: integer type: object type: array - javaContainer: - type: string - javaContainerVersion: - type: string - javaVersion: - type: string - keyVaultReferenceIdentity: - type: string - limits: - description: |- - Storage version of v1api20220301.SiteLimits_STATUS - Metric limits set on an app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxDiskSizeInMb: - type: integer - maxMemoryInMb: - type: integer - maxPercentageCpu: - type: number - type: object - linuxFxVersion: - type: string - loadBalancing: - type: string - localMySqlEnabled: - type: boolean - logsDirectorySizeLimit: - type: integer - machineKey: + conflictResolutionPolicy: description: |- - Storage version of v1api20220301.SiteMachineKey_STATUS - MachineKey of an app. + Storage version of v1api20231115.ConflictResolutionPolicy_STATUS + The conflict resolution policy for the container. properties: $propertyBag: additionalProperties: @@ -317536,43 +405041,23 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - decryption: - type: string - decryptionKey: + conflictResolutionPath: type: string - validation: + conflictResolutionProcedure: type: string - validationKey: + mode: type: string type: object - managedPipelineMode: - type: string - managedServiceIdentityId: - type: integer - minTlsVersion: - type: string - minimumElasticInstanceCount: - type: integer - netFrameworkVersion: - type: string - nodeVersion: - type: string - numberOfWorkers: - type: integer - phpVersion: - type: string - powerShellVersion: + createMode: type: string - preWarmedInstanceCount: + defaultTtl: type: integer - publicNetworkAccess: - type: string - publishingUsername: + id: type: string - push: + indexingPolicy: description: |- - Storage version of v1api20220301.PushSettings_STATUS - Push settings for the App. + Storage version of v1api20231115.IndexingPolicy_STATUS + Cosmos DB indexing policy properties: $propertyBag: additionalProperties: @@ -317581,106 +405066,12 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - dynamicTagsJson: - type: string - id: - type: string - isPushEnabled: + automatic: type: boolean - kind: - type: string - name: - type: string - tagWhitelistJson: - type: string - tagsRequiringAuth: - type: string - type: - type: string - type: object - pythonVersion: - type: string - remoteDebuggingEnabled: - type: boolean - remoteDebuggingVersion: - type: string - requestTracingEnabled: - type: boolean - requestTracingExpirationTime: - type: string - scmIpSecurityRestrictions: - items: - description: |- - Storage version of v1api20220301.IpSecurityRestriction_STATUS - IP security restriction on an app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - action: - type: string - description: - type: string - headers: - additionalProperties: - items: - type: string - type: array - type: object - ipAddress: - type: string - name: - type: string - priority: - type: integer - subnetMask: - type: string - subnetTrafficTag: - type: integer - tag: - type: string - vnetSubnetResourceId: - type: string - vnetTrafficTag: - type: integer - type: object - type: array - scmIpSecurityRestrictionsUseMain: - type: boolean - scmMinTlsVersion: - type: string - scmType: - type: string - tracingOptions: - type: string - use32BitWorkerProcess: - type: boolean - virtualApplications: - items: - description: |- - Storage version of v1api20220301.VirtualApplication_STATUS - Virtual application in an app. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - physicalPath: - type: string - preloadEnabled: - type: boolean - virtualDirectories: + compositeIndexes: + items: items: - description: |- - Storage version of v1api20220301.VirtualDirectory_STATUS - Directory for virtual application. + description: Storage version of v1api20231115.CompositePath_STATUS properties: $propertyBag: additionalProperties: @@ -317689,116 +405080,174 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - physicalPath: + order: type: string - virtualPath: + path: type: string type: object type: array - virtualPath: + type: array + excludedPaths: + items: + description: Storage version of v1api20231115.ExcludedPath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20231115.IncludedPath_STATUS + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20231115.Indexes_STATUS + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20231115.SpatialSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20231115.ContainerPartitionKey_STATUS + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: type: string - type: object - type: array - vnetName: - type: string - vnetPrivatePortsCount: - type: integer - vnetRouteAllEnabled: - type: boolean - webSocketsEnabled: - type: boolean - websiteTimeZone: - type: string - windowsFxVersion: - type: string - xManagedServiceIdentityId: - type: integer - type: object - slotSwapStatus: - description: |- - Storage version of v1api20220301.SlotSwapStatus_STATUS - The status of the last successful slot swap operation. - properties: - $propertyBag: - additionalProperties: - type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + systemKey: + type: boolean + version: + type: integer + type: object + restoreParameters: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20231115.UniqueKeyPolicy_STATUS + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20231115.UniqueKey_STATUS + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array type: object - destinationSlotName: - type: string - sourceSlotName: - type: string - timestampUtc: - type: string type: object - state: - type: string - storageAccountRequired: - type: boolean - suspendedTill: - type: string tags: additionalProperties: type: string type: object - targetSwapSlot: - type: string - trafficManagerHostNames: - items: - type: string - type: array type: type: string - usageState: - type: string - virtualNetworkSubnetId: - type: string - vnetContentShareEnabled: - type: boolean - vnetImagePullEnabled: - type: boolean - vnetRouteAllEnabled: - type: boolean type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: smartdetectoralertrules.alertsmanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: alertsmanagement.azure.com - names: - kind: SmartDetectorAlertRule - listKind: SmartDetectorAlertRuleList - plural: smartdetectoralertrules - singular: smartdetectoralertrule - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -317812,13 +405261,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210401 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} properties: apiVersion: description: |- @@ -317839,70 +405288,13 @@ spec: type: object spec: properties: - actionGroups: - description: 'ActionGroups: The alert rule actions.' - properties: - customEmailSubject: - description: 'CustomEmailSubject: An optional custom email subject to use in email notifications.' - type: string - customWebhookPayload: - description: 'CustomWebhookPayload: An optional custom web-hook payload to use in web-hook notifications.' - type: string - groupReferences: - description: 'GroupReferences: The Action Group resource IDs.' - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - required: - - groupReferences - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - description: - description: 'Description: The alert rule description.' - type: string - detector: - description: 'Detector: The alert rule''s detector.' - properties: - id: - description: 'Id: The detector id.' - type: string - parameters: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Parameters: The detector''s parameters.''' - type: object - required: - - id - type: object - frequency: - description: |- - Frequency: The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 - minute, depending on the detector. - type: string location: - description: 'Location: The resource location.' + description: 'Location: The location of the resource group to which the resource belongs.' type: string operatorSpec: description: |- @@ -317970,11 +405362,29 @@ spec: type: object type: array type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -317983,84 +405393,271 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scopeReferences: - description: 'ScopeReferences: The alert rule resources scope.' - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - severity: - description: 'Severity: The alert rule severity.' - enum: - - Sev0 - - Sev1 - - Sev2 - - Sev3 - - Sev4 - type: string - state: - description: 'State: The alert rule state.' - enum: - - Disabled - - Enabled - type: string - tags: - additionalProperties: - type: string - description: 'Tags: The resource tags.' - type: object - throttling: - description: 'Throttling: The alert rule throttling information.' - properties: - duration: - description: |- - Duration: The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time - granularity must be in minutes and minimum value is 0 minutes - type: string - type: object - required: - - actionGroups - - detector - - frequency - - owner - - scopeReferences - - severity - - state - type: object - status: - properties: - actionGroups: - description: 'ActionGroups: The alert rule actions.' + resource: + description: 'Resource: The standard JSON format of a container' properties: - customEmailSubject: - description: 'CustomEmailSubject: An optional custom email subject to use in email notifications.' - type: string - customWebhookPayload: - description: 'CustomWebhookPayload: An optional custom web-hook payload to use in web-hook notifications.' - type: string - groupIds: - description: 'GroupIds: The Action Group resource IDs.' + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + required: + - clientEncryptionKeyId + - encryptionAlgorithm + - encryptionType + - path + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + maximum: 2 + minimum: 1 + type: integer + required: + - includedPaths + - policyFormatVersion + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' items: - type: string + description: The definition of a computed property + properties: + name: + description: 'Name: The name of a computed property, for example - "cp_lowerName"' + type: string + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' + type: string + type: object type: array + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + enum: + - Custom + - LastWriterWins + type: string + type: object + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore + type: string + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + enum: + - ascending + - descending + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + enum: + - LineString + - MultiPolygon + - Number + - Point + - Polygon + - String + type: string + kind: + description: 'Kind: Indicates the type of index.' + enum: + - Hash + - Range + - Spatial + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + enum: + - consistent + - lazy + - none + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + enum: + - LineString + - MultiPolygon + - Point + - Polygon + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + enum: + - Hash + - MultiHash + - Range + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + version: + description: 'Version: Indicates the version of the partition key definition' + maximum: 2 + minimum: 1 + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array + type: object + required: + - id + type: object + tags: + additionalProperties: + type: string type: object + required: + - owner + - resource + type: object + status: + properties: conditions: description: 'Conditions: The observed state of the resource' items: @@ -318105,105 +405702,256 @@ spec: - type type: object type: array - description: - description: 'Description: The alert rule description.' + id: + description: 'Id: The unique resource identifier of the ARM resource.' type: string - detector: - description: 'Detector: The alert rule''s detector.' + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + options: + description: 'Options: Cosmos DB options resource object' properties: - description: - description: 'Description: The Smart Detector description.' - type: string - id: - description: 'Id: The detector id.' + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - imagePaths: - description: 'ImagePaths: The Smart Detector image path. By default this is not populated, unless it''s specified in expandDetector' - items: - type: string - type: array - name: - description: 'Name: The Smart Detector name.' + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - parameterDefinitions: - description: 'ParameterDefinitions: The Smart Detector parameters definitions.''' + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + analyticalStorageTtl: + description: 'AnalyticalStorageTtl: Analytical TTL.' + type: integer + clientEncryptionPolicy: + description: 'ClientEncryptionPolicy: The client encryption policy for the container.' + properties: + includedPaths: + description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' + items: + description: . + properties: + clientEncryptionKeyId: + description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' + type: string + encryptionAlgorithm: + description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' + type: string + encryptionType: + description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' + type: string + path: + description: 'Path: Path that needs to be encrypted.' + type: string + type: object + type: array + policyFormatVersion: + description: |- + PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 + supports id and partition key path encryption. + type: integer + type: object + computedProperties: + description: 'ComputedProperties: List of computed properties' items: - description: The detector parameter definition. + description: The definition of a computed property properties: - description: - description: 'Description: The detector parameter description.' - type: string - displayName: - description: 'DisplayName: The detector parameter display name.' - type: string - isMandatory: - description: 'IsMandatory: A value indicating whether this detector parameter is mandatory.' - type: boolean name: - description: 'Name: The detector parameter name.' + description: 'Name: The name of a computed property, for example - "cp_lowerName"' type: string - type: - description: 'Type: The detector parameter type.' + query: + description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' type: string type: object type: array - parameters: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - description: 'Parameters: The detector''s parameters.''' + conflictResolutionPolicy: + description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' + properties: + conflictResolutionPath: + description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' + type: string + conflictResolutionProcedure: + description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' + type: string + mode: + description: 'Mode: Indicates the conflict resolution mode.' + type: string + type: object + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + type: string + defaultTtl: + description: 'DefaultTtl: Default time to live' + type: integer + id: + description: 'Id: Name of the Cosmos DB SQL container' + type: string + indexingPolicy: + description: |- + IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths + within the container + properties: + automatic: + description: 'Automatic: Indicates if the indexing policy is automatic' + type: boolean + compositeIndexes: + description: 'CompositeIndexes: List of composite path list' + items: + items: + properties: + order: + description: 'Order: Sort order for composite paths.' + type: string + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + type: array + excludedPaths: + description: 'ExcludedPaths: List of paths to exclude from indexing' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + includedPaths: + description: 'IncludedPaths: List of paths to include in the indexing' + items: + description: The paths that are included in indexing + properties: + indexes: + description: 'Indexes: List of indexes for this path' + items: + description: The indexes for the path. + properties: + dataType: + description: 'DataType: The datatype for which the indexing behavior is applied to.' + type: string + kind: + description: 'Kind: Indicates the type of index.' + type: string + precision: + description: 'Precision: The precision of the index. -1 is maximum precision.' + type: integer + type: object + type: array + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + type: object + type: array + indexingMode: + description: 'IndexingMode: Indicates the indexing mode.' + type: string + spatialIndexes: + description: 'SpatialIndexes: List of spatial specifics' + items: + properties: + path: + description: |- + Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard + (/path/*) + type: string + types: + description: 'Types: List of path''s spatial type' + items: + description: Indicates the spatial type of index. + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' + properties: + kind: + description: |- + Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) + are supported for container create + type: string + paths: + description: 'Paths: List of paths using which data within the container can be partitioned' + items: + type: string + type: array + systemKey: + description: 'SystemKey: Indicates if the container is using a system generated partition key' + type: boolean + version: + description: 'Version: Indicates the version of the partition key definition' + type: integer + type: object + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object + uniqueKeyPolicy: + description: |- + UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the + collection in the Azure Cosmos DB service. + properties: + uniqueKeys: + description: |- + UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure + Cosmos DB service. + items: + description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + paths: + description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' + items: + type: string + type: array + type: object + type: array type: object - supportedCadences: - description: 'SupportedCadences: The Smart Detector supported cadences.' - items: - type: integer - type: array - supportedResourceTypes: - description: 'SupportedResourceTypes: The Smart Detector supported resource types.' - items: - type: string - type: array type: object - frequency: - description: |- - Frequency: The alert rule frequency in ISO8601 format. The time granularity must be in minutes and minimum value is 1 - minute, depending on the detector. - type: string - id: - description: 'Id: The resource ID.' - type: string - location: - description: 'Location: The resource location.' - type: string - name: - description: 'Name: The resource name.' - type: string - scope: - description: 'Scope: The alert rule resources scope.' - items: - type: string - type: array - severity: - description: 'Severity: The alert rule severity.' - type: string - state: - description: 'State: The alert rule state.' - type: string tags: additionalProperties: type: string - description: 'Tags: The resource tags.' - type: object - throttling: - description: 'Throttling: The alert rule throttling information.' - properties: - duration: - description: |- - Duration: The required duration (in ISO8601 format) to wait before notifying on the alert rule again. The time - granularity must be in minutes and minimum value is 0 minutes - type: string type: object type: - description: 'Type: The resource type.' + description: 'Type: The type of Azure resource.' type: string type: object type: object @@ -318224,14 +405972,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210401storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210401.SmartDetectorAlertRule + Storage version of v1api20240815.SqlDatabaseContainer Generator information: - - Generated from: /alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.alertsManagement/smartDetectorAlertRules/{alertRuleName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} properties: apiVersion: description: |- @@ -318251,7 +405999,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210401.SmartDetectorAlertRule_Spec + description: Storage version of v1api20240815.SqlDatabaseContainer_Spec properties: $propertyBag: additionalProperties: @@ -318260,78 +406008,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionGroups: - description: |- - Storage version of v1api20210401.ActionGroupsInformation - The Action Groups information, used by the alert rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customEmailSubject: - type: string - customWebhookPayload: - type: string - groupReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - description: - type: string - detector: - description: |- - Storage version of v1api20210401.Detector - The detector information. By default this is not populated, unless it's specified in expandDetector - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - parameters: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true - type: object - type: object - frequency: - type: string location: type: string operatorSpec: description: |- - Storage version of v1api20210401.SmartDetectorAlertRuleOperatorSpec + Storage version of v1api20240815.SqlDatabaseContainerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -318400,13 +406086,42 @@ spec: type: object type: array type: object + options: + description: |- + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -318415,40 +406130,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - scopeReferences: - items: - description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: array - severity: - type: string - state: - type: string - tags: - additionalProperties: - type: string - type: object - throttling: + resource: description: |- - Storage version of v1api20210401.ThrottlingInformation - Optional throttling information for the alert rule. + Storage version of v1api20240815.SqlContainerResource + Cosmos DB SQL container resource object properties: $propertyBag: additionalProperties: @@ -318457,14 +406142,281 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - duration: + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20240815.ClientEncryptionPolicy + Cosmos DB client encryption policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includedPaths: + items: + description: |- + Storage version of v1api20240815.ClientEncryptionIncludedPath + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer + type: object + computedProperties: + items: + description: |- + Storage version of v1api20240815.ComputedProperty + The definition of a computed property + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + name: + type: string + query: + type: string + type: object + type: array + conflictResolutionPolicy: + description: |- + Storage version of v1api20240815.ConflictResolutionPolicy + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: type: string + indexingPolicy: + description: |- + Storage version of v1api20240815.IndexingPolicy + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20240815.CompositePath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20240815.ExcludedPath + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20240815.IncludedPath + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20240815.Indexes + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20240815.SpatialSpec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20240815.ContainerPartitionKey + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20240815.UniqueKeyPolicy + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20240815.UniqueKey + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array + type: object + type: object + tags: + additionalProperties: + type: string type: object required: - owner type: object status: - description: Storage version of v1api20210401.SmartDetectorAlertRule_STATUS + description: Storage version of v1api20240815.SqlDatabaseContainer_STATUS properties: $propertyBag: additionalProperties: @@ -318473,27 +406425,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - actionGroups: - description: |- - Storage version of v1api20210401.ActionGroupsInformation_STATUS - The Action Groups information, used by the alert rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - customEmailSubject: - type: string - customWebhookPayload: - type: string - groupIds: - items: - type: string - type: array - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -318537,12 +406468,16 @@ spec: - type type: object type: array - description: + id: type: string - detector: + location: + type: string + name: + type: string + options: description: |- - Storage version of v1api20210401.Detector_STATUS - The detector information. By default this is not populated, unless it's specified in expandDetector + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object properties: $propertyBag: additionalProperties: @@ -318551,21 +406486,83 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: - type: string - id: - type: string - imagePaths: - items: + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object + resource: + description: Storage version of v1api20240815.SqlContainerGetProperties_Resource_STATUS + properties: + $propertyBag: + additionalProperties: type: string - type: array - name: + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: type: string - parameterDefinitions: + _rid: + type: string + _ts: + type: number + analyticalStorageTtl: + type: integer + clientEncryptionPolicy: + description: |- + Storage version of v1api20240815.ClientEncryptionPolicy_STATUS + Cosmos DB client encryption policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + includedPaths: + items: + description: |- + Storage version of v1api20240815.ClientEncryptionIncludedPath_STATUS + . + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientEncryptionKeyId: + type: string + encryptionAlgorithm: + type: string + encryptionType: + type: string + path: + type: string + type: object + type: array + policyFormatVersion: + type: integer + type: object + computedProperties: items: description: |- - Storage version of v1api20210401.DetectorParameterDefinition_STATUS - The detector parameter definition. + Storage version of v1api20240815.ComputedProperty_STATUS + The definition of a computed property properties: $propertyBag: additionalProperties: @@ -318574,66 +406571,225 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - description: - type: string - displayName: - type: string - isMandatory: - type: boolean name: type: string - type: + query: type: string type: object type: array - parameters: - additionalProperties: - x-kubernetes-preserve-unknown-fields: true + conflictResolutionPolicy: + description: |- + Storage version of v1api20240815.ConflictResolutionPolicy_STATUS + The conflict resolution policy for the container. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conflictResolutionPath: + type: string + conflictResolutionProcedure: + type: string + mode: + type: string + type: object + createMode: + type: string + defaultTtl: + type: integer + id: + type: string + indexingPolicy: + description: |- + Storage version of v1api20240815.IndexingPolicy_STATUS + Cosmos DB indexing policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + automatic: + type: boolean + compositeIndexes: + items: + items: + description: Storage version of v1api20240815.CompositePath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + order: + type: string + path: + type: string + type: object + type: array + type: array + excludedPaths: + items: + description: Storage version of v1api20240815.ExcludedPath_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + type: object + type: array + includedPaths: + items: + description: |- + Storage version of v1api20240815.IncludedPath_STATUS + The paths that are included in indexing + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + indexes: + items: + description: |- + Storage version of v1api20240815.Indexes_STATUS + The indexes for the path. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + dataType: + type: string + kind: + type: string + precision: + type: integer + type: object + type: array + path: + type: string + type: object + type: array + indexingMode: + type: string + spatialIndexes: + items: + description: Storage version of v1api20240815.SpatialSpec_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + path: + type: string + types: + items: + type: string + type: array + type: object + type: array + type: object + partitionKey: + description: |- + Storage version of v1api20240815.ContainerPartitionKey_STATUS + The configuration of the partition key to be used for partitioning data into multiple partitions + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + kind: + type: string + paths: + items: + type: string + type: array + systemKey: + type: boolean + version: + type: integer + type: object + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object + uniqueKeyPolicy: + description: |- + Storage version of v1api20240815.UniqueKeyPolicy_STATUS + The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure + Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + uniqueKeys: + items: + description: |- + Storage version of v1api20240815.UniqueKey_STATUS + The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + paths: + items: + type: string + type: array + type: object + type: array type: object - supportedCadences: - items: - type: integer - type: array - supportedResourceTypes: - items: - type: string - type: array type: object - frequency: - type: string - id: - type: string - location: - type: string - name: - type: string - scope: - items: - type: string - type: array - severity: - type: string - state: - type: string tags: additionalProperties: type: string type: object - throttling: - description: |- - Storage version of v1api20210401.ThrottlingInformation_STATUS - Optional throttling information for the alert rule. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - duration: - type: string - type: object type: type: string type: object @@ -318648,11 +406804,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: snapshots.compute.azure.com + app.kubernetes.io/version: v2.15.0 + name: sqldatabasecontainerstoredprocedures.documentdb.azure.com spec: conversion: strategy: Webhook @@ -318665,12 +406821,15 @@ spec: port: 443 conversionReviewVersions: - v1 - group: compute.azure.com + group: documentdb.azure.com names: - kind: Snapshot - listKind: SnapshotList - plural: snapshots - singular: snapshot + categories: + - azure + - documentdb + kind: SqlDatabaseContainerStoredProcedure + listKind: SqlDatabaseContainerStoredProcedureList + plural: sqldatabasecontainerstoredprocedures + singular: sqldatabasecontainerstoredprocedure preserveUnknownFields: false scope: Namespaced versions: @@ -318687,13 +406846,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200930 + name: v1api20210515 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} properties: apiVersion: description: |- @@ -318719,319 +406878,8 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' - properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' - enum: - - Attach - - Copy - - Empty - - FromImage - - Import - - Restore - - Upload - type: string - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of - the shared galley image version from which to create a disk. - properties: - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - imageReference: - description: 'ImageReference: Disk source information.' - properties: - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer - required: - - createOption - type: object - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - diskSizeGB: - description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - diskState: - description: 'DiskState: The state of the snapshot.' - enum: - - ActiveSAS - - ActiveUpload - - Attached - - ReadyToUpload - - Reserved - - Unattached - type: string - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' - properties: - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: - description: 'Type: The type of key used to encrypt the data of the disk.' - enum: - - EncryptionAtRestWithCustomerKey - - EncryptionAtRestWithPlatformAndCustomerKeys - - EncryptionAtRestWithPlatformKey - type: string - type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. - properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - secretUrl - - sourceVault - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - keyUrl - - sourceVault - type: object - type: object - type: array - encryptionSettingsVersion: - description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. - type: string - required: - - enabled - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone - type: string - type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - enum: - - V1 - - V2 - type: string - incremental: - description: |- - Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full - snapshots and can be diffed. - type: boolean location: - description: 'Location: Resource location' - type: string - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - enum: - - AllowAll - - AllowPrivate - - DenyAll + description: 'Location: The location of the resource group to which the resource belongs.' type: string operatorSpec: description: |- @@ -319099,17 +406947,27 @@ spec: type: object type: array type: object - osType: - description: 'OsType: The Operating System type.' - enum: - - Linux - - Windows - type: string + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -319118,53 +406976,27 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - purchasePlan: - description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + resource: + description: 'Resource: The standard JSON format of a storedProcedure' properties: - name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + body: + description: 'Body: Body of the Stored Procedure' type: string - publisher: - description: 'Publisher: The publisher ID.' + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' type: string required: - - name - - product - - publisher - type: object - sku: - description: |- - Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for - incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot - properties: - name: - description: 'Name: The sku name.' - enum: - - Premium_LRS - - Standard_LRS - - Standard_ZRS - type: string + - id type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object required: - - creationData - - location - owner + - resource type: object status: - description: Snapshot resource. properties: conditions: description: 'Conditions: The observed state of the resource' @@ -319210,223 +407042,39 @@ spec: - type type: object type: array - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' - properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' - type: string - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of - the shared galley image version from which to create a disk. - properties: - id: - description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - type: object - imageReference: - description: 'ImageReference: Disk source information.' - properties: - id: - description: 'Id: A relative uri containing either a Platform Image Repository or user image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - sourceResourceId: - description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - type: string - sourceUniqueId: - description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' - type: string - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer - type: object - diskAccessId: - description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' - type: string - diskSizeBytes: - description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' - type: integer - diskSizeGB: - description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - diskState: - description: 'DiskState: The state of the snapshot.' - type: string - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' - properties: - diskEncryptionSetId: - description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' - type: string - type: - description: 'Type: The type of key used to encrypt the data of the disk.' - type: string - type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. - properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: - description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. - type: string - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - type: string id: - description: 'Id: Resource Id' + description: 'Id: The unique resource identifier of the ARM resource.' type: string - incremental: - description: |- - Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full - snapshots and can be diffed. - type: boolean location: - description: 'Location: Resource location' - type: string - managedBy: - description: 'ManagedBy: Unused. Always Null.' + description: 'Location: The location of the resource group to which the resource belongs.' type: string name: - description: 'Name: Resource name' - type: string - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - type: string - osType: - description: 'OsType: The Operating System type.' - type: string - provisioningState: - description: 'ProvisioningState: The disk provisioning state.' + description: 'Name: The name of the ARM resource.' type: string - purchasePlan: - description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + resource: properties: - name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - publisher: - description: 'Publisher: The publisher ID.' + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - type: object - sku: - description: |- - Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for - incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot - properties: - name: - description: 'Name: The sku name.' + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Stored Procedure' type: string - tier: - description: 'Tier: The sku tier.' + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' type: string type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object - timeCreated: - description: 'TimeCreated: The time when the snapshot was created.' - type: string type: - description: 'Type: Resource type' - type: string - uniqueId: - description: 'UniqueId: Unique Guid identifying the resource.' + description: 'Type: The type of Azure resource.' type: string type: object type: object @@ -319447,14 +407095,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20200930storage + name: v1api20210515storage schema: openAPIV3Schema: description: |- - Storage version of v1api20200930.Snapshot + Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2020-09-30/disk.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} properties: apiVersion: description: |- @@ -319474,7 +407122,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20200930.Snapshot_Spec + description: Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure_Spec properties: $propertyBag: additionalProperties: @@ -319488,10 +407136,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - creationData: + location: + type: string + operatorSpec: description: |- - Storage version of v1api20200930.CreationData - Data used when creating a disk. + Storage version of v1api20210515.SqlDatabaseContainerStoredProcedureOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -319500,49 +407150,80 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: - type: string - galleryImageReference: - description: |- - Storage version of v1api20200930.ImageDiskReference - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - lun: - type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - imageReference: + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20200930.ImageDiskReference - The source image used for creating the disk. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -319551,88 +407232,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - lun: + maxThroughput: type: integer - reference: - description: 'Reference: A relative uri containing either a Platform Image Repository or user image reference.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - logicalSectorSize: - type: integer - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string type: object - sourceUri: - type: string - storageAccountId: - type: string - uploadSizeBytes: + throughput: type: integer type: object - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - diskSizeGB: - type: integer - diskState: - type: string - encryption: + resource: description: |- - Storage version of v1api20200930.Encryption - Encryption at rest settings for disk or snapshot + Storage version of v1api20210515.SqlStoredProcedureResource + Cosmos DB SQL storedProcedure resource object properties: $propertyBag: additionalProperties: @@ -319641,163 +407265,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: + body: type: string - type: object - encryptionSettingsCollection: - description: |- - Storage version of v1api20200930.EncryptionSettingsCollection - Encryption settings for disk or snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - encryptionSettings: - items: - description: |- - Storage version of v1api20200930.EncryptionSettingsElement - Encryption settings for one disk volume. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndSecretReference - Key Vault Secret Url and vault id of the encryption key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - keyEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndKeyReference - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - type: object - type: array - encryptionSettingsVersion: + id: type: string type: object - extendedLocation: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20200930.ExtendedLocation - The complex type of the extended location. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.SqlStoredProcedureGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -319806,32 +407346,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + _etag: type: string - type: + _rid: + type: string + _ts: + type: number + body: + type: string + id: type: string type: object - hyperVGeneration: + tags: + additionalProperties: + type: string + type: object + type: type: string - incremental: - type: boolean - location: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - networkAccessPolicy: + location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string operatorSpec: description: |- - Storage version of v1api20200930.SnapshotOperatorSpec - Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -319861,6 +407453,7 @@ spec: type: object type: array secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' items: description: |- DestinationExpression is a CEL expression and a destination to store the result in. The destination may @@ -319890,15 +407483,29 @@ spec: type: object type: array type: object - originalVersion: - type: string - osType: - type: string + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -319907,42 +407514,17 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - purchasePlan: - description: |- - Storage version of v1api20200930.PurchasePlan - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + resource: + description: 'Resource: The standard JSON format of a storedProcedure' properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - product: - type: string - promotionCode: - type: string - publisher: + body: + description: 'Body: Body of the Stored Procedure' type: string - type: object - sku: - description: |- - Storage version of v1api20200930.SnapshotSku - The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental - snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' type: string + required: + - id type: object tags: additionalProperties: @@ -319950,20 +407532,12 @@ spec: type: object required: - owner + - resource type: object status: - description: |- - Storage version of v1api20200930.Snapshot_STATUS - Snapshot resource. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object conditions: + description: 'Conditions: The observed state of the resource' items: description: Condition defines an extension to status (an observation) of a resource properties: @@ -320006,269 +407580,39 @@ spec: - type type: object type: array - creationData: - description: |- - Storage version of v1api20200930.CreationData_STATUS - Data used when creating a disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - createOption: - type: string - galleryImageReference: - description: |- - Storage version of v1api20200930.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - lun: - type: integer - type: object - imageReference: - description: |- - Storage version of v1api20200930.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - lun: - type: integer - type: object - logicalSectorSize: - type: integer - sourceResourceId: - type: string - sourceUniqueId: - type: string - sourceUri: - type: string - storageAccountId: - type: string - uploadSizeBytes: - type: integer - type: object - diskAccessId: - type: string - diskSizeBytes: - type: integer - diskSizeGB: - type: integer - diskState: - type: string - encryption: - description: |- - Storage version of v1api20200930.Encryption_STATUS - Encryption at rest settings for disk or snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionSetId: - type: string - type: - type: string - type: object - encryptionSettingsCollection: - description: |- - Storage version of v1api20200930.EncryptionSettingsCollection_STATUS - Encryption settings for disk or snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - encryptionSettings: - items: - description: |- - Storage version of v1api20200930.EncryptionSettingsElement_STATUS - Encryption settings for one disk volume. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndSecretReference_STATUS - Key Vault Secret Url and vault id of the encryption key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - keyEncryptionKey: - description: |- - Storage version of v1api20200930.KeyVaultAndKeyReference_STATUS - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20200930.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: - type: string - type: object - extendedLocation: - description: |- - Storage version of v1api20200930.ExtendedLocation_STATUS - The complex type of the extended location. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: - type: string - type: object - hyperVGeneration: - type: string id: + description: 'Id: The unique resource identifier of the ARM resource.' type: string - incremental: - type: boolean location: - type: string - managedBy: + description: 'Location: The location of the resource group to which the resource belongs.' type: string name: + description: 'Name: The name of the ARM resource.' type: string - networkAccessPolicy: - type: string - osType: - type: string - provisioningState: - type: string - purchasePlan: - description: |- - Storage version of v1api20200930.PurchasePlan_STATUS - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + resource: properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - product: - type: string - promotionCode: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - publisher: + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - type: object - sku: - description: |- - Storage version of v1api20200930.SnapshotSku_STATUS - The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental - snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Stored Procedure' type: string - tier: + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' type: string type: object tags: additionalProperties: type: string type: object - timeCreated: - type: string type: - type: string - uniqueId: + description: 'Type: The type of Azure resource.' type: string type: object type: object @@ -320289,13 +407633,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302 + name: v1api20231115storage schema: openAPIV3Schema: description: |- + Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/snapshot.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} properties: apiVersion: description: |- @@ -320315,407 +407660,300 @@ spec: metadata: type: object spec: + description: Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure_Spec properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - completionPercent: - description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' - type: number - copyCompletionError: + location: + type: string + operatorSpec: description: |- - CopyCompletionError: Indicates the error details if the background copy of a resource created via the CopyStart - operation fails. + Storage version of v1api20231115.SqlDatabaseContainerStoredProcedureOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: - errorCode: - description: 'ErrorCode: Indicates the error code if the background copy of a resource created via the CopyStart operation fails.' - enum: - - CopySourceNotFound - type: string - errorMessage: - description: 'ErrorMessage: Indicates the error message if the background copy of a resource created via the CopyStart operation fails.' - type: string - required: - - errorCode - - errorMessage + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' - enum: - - Attach - - Copy - - CopyFromSanSnapshot - - CopyStart - - Empty - - FromImage - - Import - - ImportSecure - - Restore - - Upload - - UploadPreparedSecure - type: string - elasticSanResourceReference: + $propertyBag: + additionalProperties: + type: string description: |- - ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic - san volume snapshot. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of - the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - reference: + $propertyBag: + additionalProperties: + type: string description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' - type: string - type: object - imageReference: - description: 'ImageReference: Disk source information for PIR or user images.' - properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. + maxThroughput: type: integer - reference: - description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' - type: string - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - performancePlus: - description: |- - PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the - respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. - type: boolean - provisionedBandwidthCopySpeed: - description: |- - ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be - copied at a quicker speed. - enum: - - Enhanced - - None - type: string - securityDataUri: - description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' - type: string - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string type: object - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). + throughput: type: integer - required: - - createOption type: object - dataAccessAuthMode: - description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' - enum: - - AzureActiveDirectory - - None + originalVersion: type: string - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - diskSizeGB: + resource: description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - diskState: - description: 'DiskState: The state of the snapshot.' - enum: - - ActiveSAS - - ActiveSASFrozen - - ActiveUpload - - Attached - - Frozen - - ReadyToUpload - - Reserved - - Unattached - type: string - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' + Storage version of v1api20231115.SqlStoredProcedureResource + Cosmos DB SQL storedProcedure resource object properties: - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - type: - description: 'Type: The type of key used to encrypt the data of the disk.' - enum: - - EncryptionAtRestWithCustomerKey - - EncryptionAtRestWithPlatformAndCustomerKeys - - EncryptionAtRestWithPlatformKey + body: + type: string + id: type: string type: object - encryptionSettingsCollection: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. - properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - secretUrl - - sourceVault - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - required: - - keyUrl - - sourceVault - type: object - type: object - type: array - encryptionSettingsVersion: - description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. - type: string - required: - - enabled + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.SqlStoredProcedureGetProperties_Resource_STATUS properties: - name: - description: 'Name: The name of the extended location.' + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + _etag: type: string - type: - description: 'Type: The type of the extended location.' - enum: - - EdgeZone + _rid: + type: string + _ts: + type: number + body: + type: string + id: type: string type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - enum: - - V1 - - V2 + tags: + additionalProperties: + type: string + type: object + type: type: string - incremental: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20240815 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: description: |- - Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full - snapshots and can be diffed. - type: boolean - location: - description: 'Location: Resource location' + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - enum: - - AllowAll - - AllowPrivate - - DenyAll + location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string operatorSpec: description: |- @@ -320783,17 +408021,29 @@ spec: type: object type: array type: object - osType: - description: 'OsType: The Operating System type.' - enum: - - Linux - - Windows - type: string + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -320802,119 +408052,28 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - description: 'PublicNetworkAccess: Policy for controlling export on the disk.' - enum: - - Disabled - - Enabled - type: string - purchasePlan: - description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' + resource: + description: 'Resource: The standard JSON format of a storedProcedure' properties: - name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' + body: + description: 'Body: Body of the Stored Procedure' type: string - publisher: - description: 'Publisher: The publisher ID.' + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' type: string required: - - name - - product - - publisher - type: object - securityProfile: - description: 'SecurityProfile: Contains the security related information for the resource.' - properties: - secureVMDiskEncryptionSetReference: - description: |- - SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk - encrypted with customer managed key - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityType: - description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' - enum: - - ConfidentialVM_DiskEncryptedWithCustomerKey - - ConfidentialVM_DiskEncryptedWithPlatformKey - - ConfidentialVM_NonPersistedTPM - - ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey - - TrustedLaunch - type: string - type: object - sku: - description: |- - Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for - incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot - properties: - name: - description: 'Name: The sku name.' - enum: - - Premium_LRS - - Standard_LRS - - Standard_ZRS - type: string - type: object - supportedCapabilities: - description: |- - SupportedCapabilities: List of supported capabilities for the image from which the source disk from the snapshot was - originally created. - properties: - acceleratedNetwork: - description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' - type: boolean - architecture: - description: 'Architecture: CPU architecture supported by an OS disk.' - enum: - - Arm64 - - x64 - type: string - diskControllerTypes: - description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' - type: string + - id type: object - supportsHibernation: - description: 'SupportsHibernation: Indicates the OS on a snapshot supports hibernation.' - type: boolean tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object required: - - creationData - - location - owner + - resource type: object status: - description: Snapshot resource. properties: - completionPercent: - description: 'CompletionPercent: Percentage complete for the background copy when a resource is created via the CopyStart operation.' - type: number conditions: description: 'Conditions: The observed state of the resource' items: @@ -320959,306 +408118,39 @@ spec: - type type: object type: array - copyCompletionError: - description: |- - CopyCompletionError: Indicates the error details if the background copy of a resource created via the CopyStart - operation fails. - properties: - errorCode: - description: 'ErrorCode: Indicates the error code if the background copy of a resource created via the CopyStart operation fails.' - type: string - errorMessage: - description: 'ErrorMessage: Indicates the error message if the background copy of a resource created via the CopyStart operation fails.' - type: string - type: object - creationData: - description: 'CreationData: Disk source information. CreationData information cannot be changed after the disk has been created.' - properties: - createOption: - description: 'CreateOption: This enumerates the possible sources of a disk''s creation.' - type: string - elasticSanResourceId: - description: |- - ElasticSanResourceId: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic san - volume snapshot. - type: string - galleryImageReference: - description: |- - GalleryImageReference: Required if creating from a Gallery Image. The id/sharedGalleryImageId/communityGalleryImageId of - the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk. - properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - id: - description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' - type: string - type: object - imageReference: - description: 'ImageReference: Disk source information for PIR or user images.' - properties: - communityGalleryImageId: - description: 'CommunityGalleryImageId: A relative uri containing a community Azure Compute Gallery image reference.' - type: string - id: - description: 'Id: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.' - type: string - lun: - description: |- - Lun: If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the - image to use. For OS disks, this field is null. - type: integer - sharedGalleryImageId: - description: 'SharedGalleryImageId: A relative uri containing a direct shared Azure Compute Gallery image reference.' - type: string - type: object - logicalSectorSize: - description: 'LogicalSectorSize: Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default.' - type: integer - performancePlus: - description: |- - PerformancePlus: Set this flag to true to get a boost on the performance target of the disk deployed, see here on the - respective performance target. This flag can only be set on disk creation time and cannot be disabled after enabled. - type: boolean - provisionedBandwidthCopySpeed: - description: |- - ProvisionedBandwidthCopySpeed: If this field is set on a snapshot and createOption is CopyStart, the snapshot will be - copied at a quicker speed. - type: string - securityDataUri: - description: 'SecurityDataUri: If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state.' - type: string - sourceResourceId: - description: 'SourceResourceId: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - type: string - sourceUniqueId: - description: 'SourceUniqueId: If this field is set, this is the unique id identifying the source of this resource.' - type: string - sourceUri: - description: 'SourceUri: If createOption is Import, this is the URI of a blob to be imported into a managed disk.' - type: string - storageAccountId: - description: |- - StorageAccountId: Required if createOption is Import. The Azure Resource Manager identifier of the storage account - containing the blob to import as a disk. - type: string - uploadSizeBytes: - description: |- - UploadSizeBytes: If createOption is Upload, this is the size of the contents of the upload including the VHD footer. - This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 - bytes for the VHD footer). - type: integer - type: object - dataAccessAuthMode: - description: 'DataAccessAuthMode: Additional authentication requirements when exporting or uploading to a disk or snapshot.' - type: string - diskAccessId: - description: 'DiskAccessId: ARM id of the DiskAccess resource for using private endpoints on disks.' - type: string - diskSizeBytes: - description: 'DiskSizeBytes: The size of the disk in bytes. This field is read only.' - type: integer - diskSizeGB: - description: |- - DiskSizeGB: If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to - create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only - allowed if the disk is not attached to a running VM, and can only increase the disk's size. - type: integer - diskState: - description: 'DiskState: The state of the snapshot.' - type: string - encryption: - description: 'Encryption: Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.' - properties: - diskEncryptionSetId: - description: 'DiskEncryptionSetId: ResourceId of the disk encryption set to use for enabling encryption at rest.' - type: string - type: - description: 'Type: The type of key used to encrypt the data of the disk.' - type: string - type: object - encryptionSettingsCollection: - description: |- - EncryptionSettingsCollection: Encryption settings collection used be Azure Disk Encryption, can contain multiple - encryption settings per disk or snapshot. - properties: - enabled: - description: |- - Enabled: Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set - this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is - null in the request object, the existing settings remain unchanged. - type: boolean - encryptionSettings: - description: 'EncryptionSettings: A collection of encryption settings, one for each disk volume.' - items: - description: Encryption settings for one disk volume. - properties: - diskEncryptionKey: - description: 'DiskEncryptionKey: Key Vault Secret Url and vault id of the disk encryption key' - properties: - secretUrl: - description: 'SecretUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - keyEncryptionKey: - description: |- - KeyEncryptionKey: Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when - provided is used to unwrap the disk encryption key. - properties: - keyUrl: - description: 'KeyUrl: Url pointing to a key or secret in KeyVault' - type: string - sourceVault: - description: 'SourceVault: Resource id of the KeyVault containing the key or secret' - properties: - id: - description: 'Id: Resource Id' - type: string - type: object - type: object - type: object - type: array - encryptionSettingsVersion: - description: |- - EncryptionSettingsVersion: Describes what type of encryption is used for the disks. Once this field is set, it cannot be - overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. - type: string - type: object - extendedLocation: - description: 'ExtendedLocation: The extended location where the snapshot will be created. Extended location cannot be changed.' - properties: - name: - description: 'Name: The name of the extended location.' - type: string - type: - description: 'Type: The type of the extended location.' - type: string - type: object - hyperVGeneration: - description: 'HyperVGeneration: The hypervisor generation of the Virtual Machine. Applicable to OS disks only.' - type: string id: - description: 'Id: Resource Id' - type: string - incremental: - description: |- - Incremental: Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full - snapshots and can be diffed. - type: boolean - incrementalSnapshotFamilyId: - description: |- - IncrementalSnapshotFamilyId: Incremental snapshots for a disk share an incremental snapshot family id. The Get Page - Range Diff API can only be called on incremental snapshots with the same family id. + description: 'Id: The unique resource identifier of the ARM resource.' type: string location: - description: 'Location: Resource location' - type: string - managedBy: - description: 'ManagedBy: Unused. Always Null.' + description: 'Location: The location of the resource group to which the resource belongs.' type: string name: - description: 'Name: Resource name' - type: string - networkAccessPolicy: - description: 'NetworkAccessPolicy: Policy for accessing the disk via network.' - type: string - osType: - description: 'OsType: The Operating System type.' - type: string - provisioningState: - description: 'ProvisioningState: The disk provisioning state.' - type: string - publicNetworkAccess: - description: 'PublicNetworkAccess: Policy for controlling export on the disk.' + description: 'Name: The name of the ARM resource.' type: string - purchasePlan: - description: 'PurchasePlan: Purchase plan information for the image from which the source disk for the snapshot was originally created.' - properties: - name: - description: 'Name: The plan ID.' - type: string - product: - description: |- - Product: Specifies the product of the image from the marketplace. This is the same value as Offer under the - imageReference element. - type: string - promotionCode: - description: 'PromotionCode: The Offer Promotion Code.' - type: string - publisher: - description: 'Publisher: The publisher ID.' - type: string - type: object - securityProfile: - description: 'SecurityProfile: Contains the security related information for the resource.' - properties: - secureVMDiskEncryptionSetId: - description: |- - SecureVMDiskEncryptionSetId: ResourceId of the disk encryption set associated to Confidential VM supported disk - encrypted with customer managed key - type: string - securityType: - description: 'SecurityType: Specifies the SecurityType of the VM. Applicable for OS disks only.' - type: string - type: object - sku: - description: |- - Sku: The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for - incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + resource: properties: - name: - description: 'Name: The sku name.' + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string - tier: - description: 'Tier: The sku tier.' + _rid: + description: 'Rid: A system generated property. A unique identifier.' type: string - type: object - supportedCapabilities: - description: |- - SupportedCapabilities: List of supported capabilities for the image from which the source disk from the snapshot was - originally created. - properties: - acceleratedNetwork: - description: 'AcceleratedNetwork: True if the image from which the OS disk is created supports accelerated networking.' - type: boolean - architecture: - description: 'Architecture: CPU architecture supported by an OS disk.' + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + body: + description: 'Body: Body of the Stored Procedure' type: string - diskControllerTypes: - description: 'DiskControllerTypes: The disk controllers that an OS disk supports. If set it can be SCSI or SCSI, NVME or NVME, SCSI.' + id: + description: 'Id: Name of the Cosmos DB SQL storedProcedure' type: string type: object - supportsHibernation: - description: 'SupportsHibernation: Indicates the OS on a snapshot supports hibernation.' - type: boolean tags: additionalProperties: type: string - description: 'Tags: Resource tags' type: object - timeCreated: - description: 'TimeCreated: The time when the snapshot was created.' - type: string type: - description: 'Type: Resource type' - type: string - uniqueId: - description: 'UniqueId: Unique Guid identifying the resource.' + description: 'Type: The type of Azure resource.' type: string type: object type: object @@ -321279,14 +408171,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20240302storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20240302.Snapshot + Storage version of v1api20240815.SqlDatabaseContainerStoredProcedure Generator information: - - Generated from: /compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/snapshot.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} properties: apiVersion: description: |- @@ -321306,7 +408198,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20240302.Snapshot_Spec + description: Storage version of v1api20240815.SqlDatabaseContainerStoredProcedure_Spec properties: $propertyBag: additionalProperties: @@ -321320,12 +408212,12 @@ spec: AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - completionPercent: - type: number - copyCompletionError: + location: + type: string + operatorSpec: description: |- - Storage version of v1api20240302.CopyCompletionError - Indicates the error details if the background copy of a resource created via the CopyStart operation fails. + Storage version of v1api20240815.SqlDatabaseContainerStoredProcedureOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -321334,15 +408226,70 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - errorCode: - type: string - errorMessage: - type: string + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array type: object - creationData: + options: description: |- - Storage version of v1api20240302.CreationData - Data used when creating a disk. + Storage version of v1api20240815.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" properties: $propertyBag: additionalProperties: @@ -321351,75 +408298,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: - type: string - elasticSanResourceReference: - description: |- - ElasticSanResourceReference: Required if createOption is CopyFromSanSnapshot. This is the ARM id of the source elastic - san volume snapshot. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - galleryImageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - communityGalleryImageId: - type: string - lun: - type: integer - reference: - description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - type: string - type: object - imageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference - The source image used for creating the disk. + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -321428,100 +408308,31 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - communityGalleryImageId: - type: string - lun: + maxThroughput: type: integer - reference: - description: |- - Reference: A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image - reference. - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - sharedGalleryImageId: - type: string - type: object - logicalSectorSize: - type: integer - performancePlus: - type: boolean - provisionedBandwidthCopySpeed: - type: string - securityDataUri: - type: string - sourceResourceReference: - description: 'SourceResourceReference: If createOption is Copy, this is the ARM id of the source snapshot or disk.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string type: object - sourceUri: - type: string - storageAccountId: - type: string - uploadSizeBytes: + throughput: type: integer type: object - dataAccessAuthMode: + originalVersion: type: string - diskAccessReference: - description: 'DiskAccessReference: ARM id of the DiskAccess resource for using private endpoints on disks.' + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string name: - description: Name is the Kubernetes name of the resource. + description: This is the name of the Kubernetes resource to reference. type: string type: object - diskSizeGB: - type: integer - diskState: - type: string - encryption: + resource: description: |- - Storage version of v1api20240302.Encryption - Encryption at rest settings for disk or snapshot + Storage version of v1api20240815.SqlStoredProcedureResource + Cosmos DB SQL storedProcedure resource object properties: $propertyBag: additionalProperties: @@ -321530,33 +408341,79 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - diskEncryptionSetReference: - description: 'DiskEncryptionSetReference: ResourceId of the disk encryption set to use for enabling encryption at rest.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: + body: + type: string + id: type: string type: object - encryptionSettingsCollection: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20240815.SqlDatabaseContainerStoredProcedure_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240302.EncryptionSettingsCollection - Encryption settings for disk or snapshot + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20240815.SqlStoredProcedureGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -321565,152 +408422,401 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - enabled: - type: boolean - encryptionSettings: + _etag: + type: string + _rid: + type: string + _ts: + type: number + body: + type: string + id: + type: string + type: object + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: sqldatabasecontainerthroughputsettings.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainerThroughputSetting + listKind: SqlDatabaseContainerThroughputSettingList + plural: sqldatabasecontainerthroughputsettings + singular: sqldatabasecontainerthroughputsetting + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- - Storage version of v1api20240302.EncryptionSettingsElement - Encryption settings for one disk volume. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionKey: + key: description: |- - Storage version of v1api20240302.KeyVaultAndSecretReference - Key Vault Secret Url and vault id of the encryption key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object - keyEncryptionKey: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - Storage version of v1api20240302.KeyVaultAndKeyReference - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - reference: - description: 'Reference: Resource Id' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - type: object - type: object + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - encryptionSettingsVersion: - type: string type: object - extendedLocation: + owner: description: |- - Storage version of v1api20240302.ExtendedLocation - The complex type of the extended location. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: - $propertyBag: - additionalProperties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer type: object - name: + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' type: string - type: + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - hyperVGeneration: + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' type: string - incremental: - type: boolean + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210515storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object location: type: string - networkAccessPolicy: - type: string operatorSpec: description: |- - Storage version of v1api20240302.SnapshotOperatorSpec + Storage version of v1api20210515.SqlDatabaseContainerThroughputSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -321781,13 +408887,11 @@ spec: type: object originalVersion: type: string - osType: - type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a resources.azure.com/ResourceGroup resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -321796,33 +408900,10 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - publicNetworkAccess: - type: string - purchasePlan: - description: |- - Storage version of v1api20240302.PurchasePlan - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - product: - type: string - promotionCode: - type: string - publisher: - type: string - type: object - securityProfile: + resource: description: |- - Storage version of v1api20240302.DiskSecurityProfile - Contains the security related information for the resource. + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -321831,68 +408912,54 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - secureVMDiskEncryptionSetReference: + autoscaleSettings: description: |- - SecureVMDiskEncryptionSetReference: ResourceId of the disk encryption set associated to Confidential VM supported disk - encrypted with customer managed key + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: - armId: + $propertyBag: + additionalProperties: + type: string description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - securityType: - type: string - type: object - sku: - description: |- - Storage version of v1api20240302.SnapshotSku - The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental - snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - type: object - supportedCapabilities: - description: |- - Storage version of v1api20240302.SupportedCapabilities - List of supported capabilities persisted on the disk resource for VM use. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer type: object - acceleratedNetwork: - type: boolean - architecture: - type: string - diskControllerTypes: - type: string + throughput: + type: integer type: object - supportsHibernation: - type: boolean tags: additionalProperties: type: string @@ -321901,9 +408968,7 @@ spec: - owner type: object status: - description: |- - Storage version of v1api20240302.Snapshot_STATUS - Snapshot resource. + description: Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting_STATUS properties: $propertyBag: additionalProperties: @@ -321912,8 +408977,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - completionPercent: - type: number conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -321957,27 +409020,14 @@ spec: - type type: object type: array - copyCompletionError: - description: |- - Storage version of v1api20240302.CopyCompletionError_STATUS - Indicates the error details if the background copy of a resource created via the CopyStart operation fails. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - errorCode: - type: string - errorMessage: - type: string - type: object - creationData: - description: |- - Storage version of v1api20240302.CreationData_STATUS - Data used when creating a disk. + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -321986,14 +409036,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createOption: + _etag: type: string - elasticSanResourceId: + _rid: type: string - galleryImageReference: + _ts: + type: number + autoscaleSettings: description: |- - Storage version of v1api20240302.ImageDiskReference_STATUS - The source image used for creating the disk. + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -322002,219 +409054,406 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - communityGalleryImageId: - type: string - id: - type: string - lun: - type: integer - sharedGalleryImageId: - type: string - type: object - imageReference: - description: |- - Storage version of v1api20240302.ImageDiskReference_STATUS - The source image used for creating the disk. - properties: - $propertyBag: - additionalProperties: - type: string + autoUpgradePolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object type: object - communityGalleryImageId: - type: string - id: - type: string - lun: + maxThroughput: + type: integer + targetMaxThroughput: type: integer - sharedGalleryImageId: - type: string type: object - logicalSectorSize: - type: integer - performancePlus: - type: boolean - provisionedBandwidthCopySpeed: - type: string - securityDataUri: - type: string - sourceResourceId: - type: string - sourceUniqueId: - type: string - sourceUri: + minimumThroughput: type: string - storageAccountId: + offerReplacePending: type: string - uploadSizeBytes: + throughput: type: integer type: object - dataAccessAuthMode: - type: string - diskAccessId: + tags: + additionalProperties: + type: string + type: object + type: type: string - diskSizeBytes: - type: integer - diskSizeGB: - type: integer - diskState: + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + location: + description: 'Location: The location of the resource group to which the resource belongs.' type: string - encryption: - description: |- - Storage version of v1api20240302.Encryption_STATUS - Encryption at rest settings for disk or snapshot - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionSetId: - type: string - type: - type: string - type: object - encryptionSettingsCollection: + operatorSpec: description: |- - Storage version of v1api20240302.EncryptionSettingsCollection_STATUS - Encryption settings for disk or snapshot + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - enabled: - type: boolean - encryptionSettings: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' items: description: |- - Storage version of v1api20240302.EncryptionSettingsElement_STATUS - Encryption settings for one disk volume. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - diskEncryptionKey: + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: description: |- - Storage version of v1api20240302.KeyVaultAndSecretReference_STATUS - Key Vault Secret Url and vault id of the encryption key - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - secretUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object - keyEncryptionKey: + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: description: |- - Storage version of v1api20240302.KeyVaultAndKeyReference_STATUS - Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - keyUrl: - type: string - sourceVault: - description: |- - Storage version of v1api20240302.SourceVault_STATUS - The vault id is an Azure Resource Manager Resource id in the form - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName} - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - id: - type: string - type: object - type: object + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array - encryptionSettingsVersion: - type: string type: object - extendedLocation: + owner: description: |- - Storage version of v1api20240302.ExtendedLocation_STATUS - The complex type of the extended location. + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: - $propertyBag: - additionalProperties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + resource: + description: 'Resource: The standard JSON format of a resource throughput' + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + - resource + type: object + status: + properties: + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: The unique resource identifier of the ARM resource.' + type: string + location: + description: 'Location: The location of the resource group to which the resource belongs.' + type: string + name: + description: 'Name: The name of the ARM resource.' + type: string + resource: + properties: + _etag: + description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' + type: string + _rid: + description: 'Rid: A system generated property. A unique identifier.' + type: string + _ts: + description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' + type: number + autoscaleSettings: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer type: object - name: + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' type: string - type: + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object - hyperVGeneration: - type: string - id: - type: string - incremental: - type: boolean - incrementalSnapshotFamilyId: + tags: + additionalProperties: + type: string + type: object + type: + description: 'Type: The type of Azure resource.' type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20231115storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting + Generator information: + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object location: type: string - managedBy: - type: string - name: - type: string - networkAccessPolicy: - type: string - osType: - type: string - provisioningState: - type: string - publicNetworkAccess: - type: string - purchasePlan: + operatorSpec: description: |- - Storage version of v1api20240302.PurchasePlan_STATUS - Used for establishing the purchase context of any 3rd Party artifact through MarketPlace. + Storage version of v1api20231115.SqlDatabaseContainerThroughputSettingOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -322223,19 +409462,84 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: - type: string - product: - type: string - promotionCode: + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a documentdb.azure.com/SqlDatabaseContainer resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) type: string - publisher: + name: + description: This is the name of the Kubernetes resource to reference. type: string type: object - securityProfile: + resource: description: |- - Storage version of v1api20240302.DiskSecurityProfile_STATUS - Contains the security related information for the resource. + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -322244,16 +409548,122 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - secureVMDiskEncryptionSetId: - type: string - securityType: - type: string + autoscaleSettings: + description: |- + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer type: object - sku: + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting_STATUS + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20240302.SnapshotSku_STATUS - The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental - snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + resource: + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -322262,80 +409672,82 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - name: + _etag: type: string - tier: + _rid: type: string - type: object - supportedCapabilities: - description: |- - Storage version of v1api20240302.SupportedCapabilities_STATUS - List of supported capabilities persisted on the disk resource for VM use. - properties: - $propertyBag: - additionalProperties: - type: string + _ts: + type: number + autoscaleSettings: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer type: object - acceleratedNetwork: - type: boolean - architecture: + instantMaximumThroughput: type: string - diskControllerTypes: + minimumThroughput: + type: string + offerReplacePending: type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer type: object - supportsHibernation: - type: boolean tags: additionalProperties: type: string type: object - timeCreated: - type: string type: type: string - uniqueId: - type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabasecontainers.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: SqlDatabaseContainer - listKind: SqlDatabaseContainerList - plural: sqldatabasecontainers - singular: sqldatabasecontainer - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -322349,13 +409761,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default properties: apiVersion: description: |- @@ -322376,11 +409788,6 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string location: description: 'Location: The location of the resource group to which the resource belongs.' type: string @@ -322450,27 +409857,11 @@ spec: type: object type: array type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer - type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabase resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -322480,185 +409871,38 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a container' + description: 'Resource: The standard JSON format of a resource throughput' properties: - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - conflictResolutionPolicy: - description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' - properties: - conflictResolutionPath: - description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' - type: string - conflictResolutionProcedure: - description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' - type: string - mode: - description: 'Mode: Indicates the conflict resolution mode.' - enum: - - Custom - - LastWriterWins - type: string - type: object - defaultTtl: - description: 'DefaultTtl: Default time to live' - type: integer - id: - description: 'Id: Name of the Cosmos DB SQL container' - type: string - indexingPolicy: + autoscaleSettings: description: |- - IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths - within the container + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - automatic: - description: 'Automatic: Indicates if the indexing policy is automatic' - type: boolean - compositeIndexes: - description: 'CompositeIndexes: List of composite path list' - items: - items: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' properties: - order: - description: 'Order: Sort order for composite paths.' - enum: - - ascending - - descending - type: string - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean type: object - type: array - type: array - excludedPaths: - description: 'ExcludedPaths: List of paths to exclude from indexing' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - includedPaths: - description: 'IncludedPaths: List of paths to include in the indexing' - items: - description: The paths that are included in indexing - properties: - indexes: - description: 'Indexes: List of indexes for this path' - items: - description: The indexes for the path. - properties: - dataType: - description: 'DataType: The datatype for which the indexing behavior is applied to.' - enum: - - LineString - - MultiPolygon - - Number - - Point - - Polygon - - String - type: string - kind: - description: 'Kind: Indicates the type of index.' - enum: - - Hash - - Range - - Spatial - type: string - precision: - description: 'Precision: The precision of the index. -1 is maximum precision.' - type: integer - type: object - type: array - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - indexingMode: - description: 'IndexingMode: Indicates the indexing mode.' - enum: - - consistent - - lazy - - none - type: string - spatialIndexes: - description: 'SpatialIndexes: List of spatial specifics' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - types: - description: 'Types: List of path''s spatial type' - items: - description: Indicates the spatial type of index. - enum: - - LineString - - MultiPolygon - - Point - - Polygon - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' - properties: - kind: - description: |- - Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) - are supported for container create - enum: - - Hash - - MultiHash - - Range - type: string - paths: - description: 'Paths: List of paths using which data within the container can be partitioned' - items: - type: string - type: array - version: - description: 'Version: Indicates the version of the partition key definition' - maximum: 2 - minimum: 1 + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' type: integer + required: + - maxThroughput type: object - uniqueKeyPolicy: + throughput: description: |- - UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the - collection in the Azure Cosmos DB service. - properties: - uniqueKeys: - description: |- - UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure - Cosmos DB service. - items: - description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - paths: - description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - type: array - type: object - required: - - id + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: @@ -322723,22 +409967,6 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object resource: properties: _etag: @@ -322750,152 +409978,53 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - conflictResolutionPolicy: - description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' - properties: - conflictResolutionPath: - description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' - type: string - conflictResolutionProcedure: - description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' - type: string - mode: - description: 'Mode: Indicates the conflict resolution mode.' - type: string - type: object - defaultTtl: - description: 'DefaultTtl: Default time to live' - type: integer - id: - description: 'Id: Name of the Cosmos DB SQL container' - type: string - indexingPolicy: + autoscaleSettings: description: |- - IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths - within the container + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - automatic: - description: 'Automatic: Indicates if the indexing policy is automatic' - type: boolean - compositeIndexes: - description: 'CompositeIndexes: List of composite path list' - items: - items: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' properties: - order: - description: 'Order: Sort order for composite paths.' - type: string - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean type: object - type: array - type: array - excludedPaths: - description: 'ExcludedPaths: List of paths to exclude from indexing' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - includedPaths: - description: 'IncludedPaths: List of paths to include in the indexing' - items: - description: The paths that are included in indexing - properties: - indexes: - description: 'Indexes: List of indexes for this path' - items: - description: The indexes for the path. - properties: - dataType: - description: 'DataType: The datatype for which the indexing behavior is applied to.' - type: string - kind: - description: 'Kind: Indicates the type of index.' - type: string - precision: - description: 'Precision: The precision of the index. -1 is maximum precision.' - type: integer - type: object - type: array - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - indexingMode: - description: 'IndexingMode: Indicates the indexing mode.' - type: string - spatialIndexes: - description: 'SpatialIndexes: List of spatial specifics' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - types: - description: 'Types: List of path''s spatial type' - items: - description: Indicates the spatial type of index. - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' - properties: - kind: + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: description: |- - Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) - are supported for container create - type: string - paths: - description: 'Paths: List of paths using which data within the container can be partitioned' - items: - type: string - type: array - systemKey: - description: 'SystemKey: Indicates if the container is using a system generated partition key' - type: boolean - version: - description: 'Version: Indicates the version of the partition key definition' + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. type: integer type: object - uniqueKeyPolicy: + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: description: |- - UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the - collection in the Azure Cosmos DB service. - properties: - uniqueKeys: - description: |- - UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure - Cosmos DB service. - items: - description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - paths: - description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - type: array - type: object + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: @@ -322923,14 +410052,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabaseContainer + Storage version of v1api20240815.SqlDatabaseContainerThroughputSetting Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default properties: apiVersion: description: |- @@ -322950,7 +410079,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabaseContainer_Spec + description: Storage version of v1api20240815.SqlDatabaseContainerThroughputSetting_Spec properties: $propertyBag: additionalProperties: @@ -322959,16 +410088,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string location: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseContainerOperatorSpec + Storage version of v1api20240815.SqlDatabaseContainerThroughputSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -323037,42 +410161,13 @@ spec: type: object type: array type: object - options: - description: |- - Storage version of v1api20210515.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabase resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -323083,8 +410178,8 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.SqlContainerResource - Cosmos DB SQL container resource object + Storage version of v1api20240815.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -323093,12 +410188,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - analyticalStorageTtl: - type: integer - conflictResolutionPolicy: + autoscaleSettings: description: |- - Storage version of v1api20210515.ConflictResolutionPolicy - The conflict resolution policy for the container. + Storage version of v1api20240815.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -323107,35 +410200,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - conflictResolutionPath: - type: string - conflictResolutionProcedure: - type: string - mode: - type: string - type: object - defaultTtl: - type: integer - id: - type: string - indexingPolicy: - description: |- - Storage version of v1api20210515.IndexingPolicy - Cosmos DB indexing policy - properties: - $propertyBag: - additionalProperties: - type: string + autoUpgradePolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - automatic: - type: boolean - compositeIndexes: - items: - items: - description: Storage version of v1api20210515.CompositePath + Storage version of v1api20240815.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource + Cosmos DB resource throughput policy properties: $propertyBag: additionalProperties: @@ -323144,142 +410224,17 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - order: - type: string - path: - type: string + incrementPercent: + type: integer + isEnabled: + type: boolean type: object - type: array - type: array - excludedPaths: - items: - description: Storage version of v1api20210515.ExcludedPath - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - type: object - type: array - includedPaths: - items: - description: |- - Storage version of v1api20210515.IncludedPath - The paths that are included in indexing - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - indexes: - items: - description: |- - Storage version of v1api20210515.Indexes - The indexes for the path. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataType: - type: string - kind: - type: string - precision: - type: integer - type: object - type: array - path: - type: string - type: object - type: array - indexingMode: - type: string - spatialIndexes: - items: - description: Storage version of v1api20210515.SpatialSpec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - types: - items: - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: |- - Storage version of v1api20210515.ContainerPartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - kind: - type: string - paths: - items: - type: string - type: array - version: + maxThroughput: type: integer type: object - uniqueKeyPolicy: - description: |- - Storage version of v1api20210515.UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure - Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - uniqueKeys: - items: - description: |- - Storage version of v1api20210515.UniqueKey - The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paths: - items: - type: string - type: array - type: object - type: array - type: object + throughput: + type: integer type: object tags: additionalProperties: @@ -323289,7 +410244,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabaseContainer_STATUS + description: Storage version of v1api20240815.SqlDatabaseContainerThroughputSetting_STATUS properties: $propertyBag: additionalProperties: @@ -323342,41 +410297,13 @@ spec: type: object type: array id: - type: string - location: - type: string - name: - type: string - options: - description: |- - Storage version of v1api20210515.OptionsResource_STATUS - Cosmos DB options resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object + type: string + location: + type: string + name: + type: string resource: - description: Storage version of v1api20210515.SqlContainerGetProperties_Resource_STATUS + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -323391,12 +410318,10 @@ spec: type: string _ts: type: number - analyticalStorageTtl: - type: integer - conflictResolutionPolicy: + autoscaleSettings: description: |- - Storage version of v1api20210515.ConflictResolutionPolicy_STATUS - The conflict resolution policy for the container. + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -323405,35 +410330,22 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - conflictResolutionPath: - type: string - conflictResolutionProcedure: - type: string - mode: - type: string - type: object - defaultTtl: - type: integer - id: - type: string - indexingPolicy: - description: |- - Storage version of v1api20210515.IndexingPolicy_STATUS - Cosmos DB indexing policy - properties: - $propertyBag: - additionalProperties: - type: string + autoUpgradePolicy: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - automatic: - type: boolean - compositeIndexes: - items: - items: - description: Storage version of v1api20210515.CompositePath_STATUS + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20240815.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy properties: $propertyBag: additionalProperties: @@ -323442,144 +410354,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - order: - type: string - path: - type: string + incrementPercent: + type: integer + isEnabled: + type: boolean type: object - type: array - type: array - excludedPaths: - items: - description: Storage version of v1api20210515.ExcludedPath_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - type: object - type: array - includedPaths: - items: - description: |- - Storage version of v1api20210515.IncludedPath_STATUS - The paths that are included in indexing - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - indexes: - items: - description: |- - Storage version of v1api20210515.Indexes_STATUS - The indexes for the path. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataType: - type: string - kind: - type: string - precision: - type: integer - type: object - type: array - path: - type: string - type: object - type: array - indexingMode: - type: string - spatialIndexes: - items: - description: Storage version of v1api20210515.SpatialSpec_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - types: - items: - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: |- - Storage version of v1api20210515.ContainerPartitionKey_STATUS - The configuration of the partition key to be used for partitioning data into multiple partitions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions type: object - kind: - type: string - paths: - items: - type: string - type: array - systemKey: - type: boolean - version: + maxThroughput: + type: integer + targetMaxThroughput: type: integer type: object - uniqueKeyPolicy: - description: |- - Storage version of v1api20210515.UniqueKeyPolicy_STATUS - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure - Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - uniqueKeys: - items: - description: |- - Storage version of v1api20210515.UniqueKey_STATUS - The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paths: - items: - type: string - type: array - type: object - type: array - type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer type: object tags: additionalProperties: @@ -323590,9 +410385,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: sqldatabasecontainertriggers.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabaseContainerTrigger + listKind: SqlDatabaseContainerTriggerList + plural: sqldatabasecontainertriggers + singular: sqldatabasecontainertrigger + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -323606,13 +410436,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20210515 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} properties: apiVersion: description: |- @@ -323713,9 +410543,7 @@ spec: request. properties: autoscaleSettings: - description: |- - AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not - both. + description: 'AutoscaleSettings: Specifies the Autoscale settings.' properties: maxThroughput: description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' @@ -323729,7 +410557,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabase resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -323739,252 +410567,29 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a container' + description: 'Resource: The standard JSON format of a trigger' properties: - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - clientEncryptionPolicy: - description: 'ClientEncryptionPolicy: The client encryption policy for the container.' - properties: - includedPaths: - description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' - items: - description: . - properties: - clientEncryptionKeyId: - description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' - type: string - encryptionAlgorithm: - description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' - type: string - encryptionType: - description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' - type: string - path: - description: 'Path: Path that needs to be encrypted.' - type: string - required: - - clientEncryptionKeyId - - encryptionAlgorithm - - encryptionType - - path - type: object - type: array - policyFormatVersion: - description: |- - PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 - supports id and partition key path encryption. - maximum: 2 - minimum: 1 - type: integer - required: - - includedPaths - - policyFormatVersion - type: object - computedProperties: - description: 'ComputedProperties: List of computed properties' - items: - description: The definition of a computed property - properties: - name: - description: 'Name: The name of a computed property, for example - "cp_lowerName"' - type: string - query: - description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' - type: string - type: object - type: array - conflictResolutionPolicy: - description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' - properties: - conflictResolutionPath: - description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' - type: string - conflictResolutionProcedure: - description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' - type: string - mode: - description: 'Mode: Indicates the conflict resolution mode.' - enum: - - Custom - - LastWriterWins - type: string - type: object - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' - enum: - - Default - - Restore + body: + description: 'Body: Body of the Trigger' type: string - defaultTtl: - description: 'DefaultTtl: Default time to live' - type: integer id: - description: 'Id: Name of the Cosmos DB SQL container' + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + enum: + - All + - Create + - Delete + - Replace + - Update + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + enum: + - Post + - Pre type: string - indexingPolicy: - description: |- - IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths - within the container - properties: - automatic: - description: 'Automatic: Indicates if the indexing policy is automatic' - type: boolean - compositeIndexes: - description: 'CompositeIndexes: List of composite path list' - items: - items: - properties: - order: - description: 'Order: Sort order for composite paths.' - enum: - - ascending - - descending - type: string - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - type: array - excludedPaths: - description: 'ExcludedPaths: List of paths to exclude from indexing' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - includedPaths: - description: 'IncludedPaths: List of paths to include in the indexing' - items: - description: The paths that are included in indexing - properties: - indexes: - description: 'Indexes: List of indexes for this path' - items: - description: The indexes for the path. - properties: - dataType: - description: 'DataType: The datatype for which the indexing behavior is applied to.' - enum: - - LineString - - MultiPolygon - - Number - - Point - - Polygon - - String - type: string - kind: - description: 'Kind: Indicates the type of index.' - enum: - - Hash - - Range - - Spatial - type: string - precision: - description: 'Precision: The precision of the index. -1 is maximum precision.' - type: integer - type: object - type: array - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - indexingMode: - description: 'IndexingMode: Indicates the indexing mode.' - enum: - - consistent - - lazy - - none - type: string - spatialIndexes: - description: 'SpatialIndexes: List of spatial specifics' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - types: - description: 'Types: List of path''s spatial type' - items: - description: Indicates the spatial type of index. - enum: - - LineString - - MultiPolygon - - Point - - Polygon - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' - properties: - kind: - description: |- - Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) - are supported for container create - enum: - - Hash - - MultiHash - - Range - type: string - paths: - description: 'Paths: List of paths using which data within the container can be partitioned' - items: - type: string - type: array - version: - description: 'Version: Indicates the version of the partition key definition' - maximum: 2 - minimum: 1 - type: integer - type: object - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' - properties: - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string - type: object - uniqueKeyPolicy: - description: |- - UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the - collection in the Azure Cosmos DB service. - properties: - uniqueKeys: - description: |- - UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure - Cosmos DB service. - items: - description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - paths: - description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - type: array - type: object required: - id type: object @@ -324051,22 +410656,6 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object resource: properties: _etag: @@ -324078,208 +410667,18 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - analyticalStorageTtl: - description: 'AnalyticalStorageTtl: Analytical TTL.' - type: integer - clientEncryptionPolicy: - description: 'ClientEncryptionPolicy: The client encryption policy for the container.' - properties: - includedPaths: - description: 'IncludedPaths: Paths of the item that need encryption along with path-specific settings.' - items: - description: . - properties: - clientEncryptionKeyId: - description: 'ClientEncryptionKeyId: The identifier of the Client Encryption Key to be used to encrypt the path.' - type: string - encryptionAlgorithm: - description: 'EncryptionAlgorithm: The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256.' - type: string - encryptionType: - description: 'EncryptionType: The type of encryption to be performed. Eg - Deterministic, Randomized.' - type: string - path: - description: 'Path: Path that needs to be encrypted.' - type: string - type: object - type: array - policyFormatVersion: - description: |- - PolicyFormatVersion: Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 - supports id and partition key path encryption. - type: integer - type: object - computedProperties: - description: 'ComputedProperties: List of computed properties' - items: - description: The definition of a computed property - properties: - name: - description: 'Name: The name of a computed property, for example - "cp_lowerName"' - type: string - query: - description: 'Query: The query that evaluates the value for computed property, for example - "SELECT VALUE LOWER(c.name) FROM c"' - type: string - type: object - type: array - conflictResolutionPolicy: - description: 'ConflictResolutionPolicy: The conflict resolution policy for the container.' - properties: - conflictResolutionPath: - description: 'ConflictResolutionPath: The conflict resolution path in the case of LastWriterWins mode.' - type: string - conflictResolutionProcedure: - description: 'ConflictResolutionProcedure: The procedure to resolve conflicts in the case of custom mode.' - type: string - mode: - description: 'Mode: Indicates the conflict resolution mode.' - type: string - type: object - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' + body: + description: 'Body: Body of the Trigger' type: string - defaultTtl: - description: 'DefaultTtl: Default time to live' - type: integer id: - description: 'Id: Name of the Cosmos DB SQL container' + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' type: string - indexingPolicy: - description: |- - IndexingPolicy: The configuration of the indexing policy. By default, the indexing is automatic for all document paths - within the container - properties: - automatic: - description: 'Automatic: Indicates if the indexing policy is automatic' - type: boolean - compositeIndexes: - description: 'CompositeIndexes: List of composite path list' - items: - items: - properties: - order: - description: 'Order: Sort order for composite paths.' - type: string - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - type: array - excludedPaths: - description: 'ExcludedPaths: List of paths to exclude from indexing' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - includedPaths: - description: 'IncludedPaths: List of paths to include in the indexing' - items: - description: The paths that are included in indexing - properties: - indexes: - description: 'Indexes: List of indexes for this path' - items: - description: The indexes for the path. - properties: - dataType: - description: 'DataType: The datatype for which the indexing behavior is applied to.' - type: string - kind: - description: 'Kind: Indicates the type of index.' - type: string - precision: - description: 'Precision: The precision of the index. -1 is maximum precision.' - type: integer - type: object - type: array - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - type: object - type: array - indexingMode: - description: 'IndexingMode: Indicates the indexing mode.' - type: string - spatialIndexes: - description: 'SpatialIndexes: List of spatial specifics' - items: - properties: - path: - description: |- - Path: The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard - (/path/*) - type: string - types: - description: 'Types: List of path''s spatial type' - items: - description: Indicates the spatial type of index. - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: 'PartitionKey: The configuration of the partition key to be used for partitioning data into multiple partitions' - properties: - kind: - description: |- - Kind: Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) - are supported for container create - type: string - paths: - description: 'Paths: List of paths using which data within the container can be partitioned' - items: - type: string - type: array - systemKey: - description: 'SystemKey: Indicates if the container is using a system generated partition key' - type: boolean - version: - description: 'Version: Indicates the version of the partition key definition' - type: integer - type: object - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' - properties: - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string - type: object - uniqueKeyPolicy: - description: |- - UniqueKeyPolicy: The unique key policy configuration for specifying uniqueness constraints on documents in the - collection in the Azure Cosmos DB service. - properties: - uniqueKeys: - description: |- - UniqueKeys: List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure - Cosmos DB service. - items: - description: The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - paths: - description: 'Paths: List of paths must be unique for each document in the Azure Cosmos DB service' - items: - type: string - type: array - type: object - type: array - type: object type: object tags: additionalProperties: @@ -324307,14 +410706,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20210515storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabaseContainer + Storage version of v1api20210515.SqlDatabaseContainerTrigger Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} properties: apiVersion: description: |- @@ -324334,7 +410733,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabaseContainer_Spec + description: Storage version of v1api20210515.SqlDatabaseContainerTrigger_Spec properties: $propertyBag: additionalProperties: @@ -324352,7 +410751,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseContainerOperatorSpec + Storage version of v1api20210515.SqlDatabaseContainerTriggerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -324423,7 +410822,7 @@ spec: type: object options: description: |- - Storage version of v1api20231115.CreateUpdateOptions + Storage version of v1api20210515.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -324435,7 +410834,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings + description: Storage version of v1api20210515.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -324456,7 +410855,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabase resource + reference to a documentdb.azure.com/SqlDatabaseContainer resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -324467,8 +410866,8 @@ spec: type: object resource: description: |- - Storage version of v1api20231115.SqlContainerResource - Cosmos DB SQL container resource object + Storage version of v1api20210515.SqlTriggerResource + Cosmos DB SQL trigger resource object properties: $propertyBag: additionalProperties: @@ -324477,269 +410876,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - analyticalStorageTtl: - type: integer - clientEncryptionPolicy: - description: |- - Storage version of v1api20231115.ClientEncryptionPolicy - Cosmos DB client encryption policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - includedPaths: - items: - description: |- - Storage version of v1api20231115.ClientEncryptionIncludedPath - . - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientEncryptionKeyId: - type: string - encryptionAlgorithm: - type: string - encryptionType: - type: string - path: - type: string - type: object - type: array - policyFormatVersion: - type: integer - type: object - computedProperties: - items: - description: |- - Storage version of v1api20231115.ComputedProperty - The definition of a computed property - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - query: - type: string - type: object - type: array - conflictResolutionPolicy: - description: |- - Storage version of v1api20231115.ConflictResolutionPolicy - The conflict resolution policy for the container. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conflictResolutionPath: - type: string - conflictResolutionProcedure: - type: string - mode: - type: string - type: object - createMode: + body: type: string - defaultTtl: - type: integer id: type: string - indexingPolicy: - description: |- - Storage version of v1api20231115.IndexingPolicy - Cosmos DB indexing policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - automatic: - type: boolean - compositeIndexes: - items: - items: - description: Storage version of v1api20231115.CompositePath - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - order: - type: string - path: - type: string - type: object - type: array - type: array - excludedPaths: - items: - description: Storage version of v1api20231115.ExcludedPath - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - type: object - type: array - includedPaths: - items: - description: |- - Storage version of v1api20231115.IncludedPath - The paths that are included in indexing - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - indexes: - items: - description: |- - Storage version of v1api20231115.Indexes - The indexes for the path. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataType: - type: string - kind: - type: string - precision: - type: integer - type: object - type: array - path: - type: string - type: object - type: array - indexingMode: - type: string - spatialIndexes: - items: - description: Storage version of v1api20231115.SpatialSpec - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - types: - items: - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: |- - Storage version of v1api20231115.ContainerPartitionKey - The configuration of the partition key to be used for partitioning data into multiple partitions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - kind: - type: string - paths: - items: - type: string - type: array - version: - type: integer - type: object - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParametersBase - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string - type: object - uniqueKeyPolicy: - description: |- - Storage version of v1api20231115.UniqueKeyPolicy - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure - Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - uniqueKeys: - items: - description: |- - Storage version of v1api20231115.UniqueKey - The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paths: - items: - type: string - type: array - type: object - type: array - type: object + triggerOperation: + type: string + triggerType: + type: string type: object tags: additionalProperties: @@ -324749,7 +410893,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabaseContainer_STATUS + description: Storage version of v1api20210515.SqlDatabaseContainerTrigger_STATUS properties: $propertyBag: additionalProperties: @@ -324807,36 +410951,8 @@ spec: type: string name: type: string - options: - description: |- - Storage version of v1api20231115.OptionsResource_STATUS - Cosmos DB options resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object resource: - description: Storage version of v1api20231115.SqlContainerGetProperties_Resource_STATUS + description: Storage version of v1api20210515.SqlTriggerGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -324851,271 +410967,14 @@ spec: type: string _ts: type: number - analyticalStorageTtl: - type: integer - clientEncryptionPolicy: - description: |- - Storage version of v1api20231115.ClientEncryptionPolicy_STATUS - Cosmos DB client encryption policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - includedPaths: - items: - description: |- - Storage version of v1api20231115.ClientEncryptionIncludedPath_STATUS - . - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - clientEncryptionKeyId: - type: string - encryptionAlgorithm: - type: string - encryptionType: - type: string - path: - type: string - type: object - type: array - policyFormatVersion: - type: integer - type: object - computedProperties: - items: - description: |- - Storage version of v1api20231115.ComputedProperty_STATUS - The definition of a computed property - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - name: - type: string - query: - type: string - type: object - type: array - conflictResolutionPolicy: - description: |- - Storage version of v1api20231115.ConflictResolutionPolicy_STATUS - The conflict resolution policy for the container. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - conflictResolutionPath: - type: string - conflictResolutionProcedure: - type: string - mode: - type: string - type: object - createMode: + body: type: string - defaultTtl: - type: integer id: type: string - indexingPolicy: - description: |- - Storage version of v1api20231115.IndexingPolicy_STATUS - Cosmos DB indexing policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - automatic: - type: boolean - compositeIndexes: - items: - items: - description: Storage version of v1api20231115.CompositePath_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - order: - type: string - path: - type: string - type: object - type: array - type: array - excludedPaths: - items: - description: Storage version of v1api20231115.ExcludedPath_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - type: object - type: array - includedPaths: - items: - description: |- - Storage version of v1api20231115.IncludedPath_STATUS - The paths that are included in indexing - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - indexes: - items: - description: |- - Storage version of v1api20231115.Indexes_STATUS - The indexes for the path. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - dataType: - type: string - kind: - type: string - precision: - type: integer - type: object - type: array - path: - type: string - type: object - type: array - indexingMode: - type: string - spatialIndexes: - items: - description: Storage version of v1api20231115.SpatialSpec_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - path: - type: string - types: - items: - type: string - type: array - type: object - type: array - type: object - partitionKey: - description: |- - Storage version of v1api20231115.ContainerPartitionKey_STATUS - The configuration of the partition key to be used for partitioning data into multiple partitions - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - kind: - type: string - paths: - items: - type: string - type: array - systemKey: - type: boolean - version: - type: integer - type: object - restoreParameters: - description: |- - Storage version of v1api20231115.RestoreParametersBase_STATUS - Parameters to indicate the information about the restore. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string - type: object - uniqueKeyPolicy: - description: |- - Storage version of v1api20231115.UniqueKeyPolicy_STATUS - The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure - Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - uniqueKeys: - items: - description: |- - Storage version of v1api20231115.UniqueKey_STATUS - The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - paths: - items: - type: string - type: array - type: object - type: array - type: object + triggerOperation: + type: string + triggerType: + type: string type: object tags: additionalProperties: @@ -325126,41 +410985,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabasecontainerstoredprocedures.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: SqlDatabaseContainerStoredProcedure - listKind: SqlDatabaseContainerStoredProcedureList - plural: sqldatabasecontainerstoredprocedures - singular: sqldatabasecontainerstoredprocedure - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -325174,13 +411001,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20231115 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} properties: apiVersion: description: |- @@ -325281,7 +411108,9 @@ spec: request. properties: autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. properties: maxThroughput: description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' @@ -325305,13 +411134,28 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a storedProcedure' + description: 'Resource: The standard JSON format of a trigger' properties: body: - description: 'Body: Body of the Stored Procedure' + description: 'Body: Body of the Trigger' type: string id: - description: 'Id: Name of the Cosmos DB SQL storedProcedure' + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + enum: + - All + - Create + - Delete + - Replace + - Update + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + enum: + - Post + - Pre type: string required: - id @@ -325391,10 +411235,16 @@ spec: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number body: - description: 'Body: Body of the Stored Procedure' + description: 'Body: Body of the Trigger' type: string id: - description: 'Id: Name of the Cosmos DB SQL storedProcedure' + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' type: string type: object tags: @@ -325423,14 +411273,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20231115storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure + Storage version of v1api20231115.SqlDatabaseContainerTrigger Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} properties: apiVersion: description: |- @@ -325450,7 +411300,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure_Spec + description: Storage version of v1api20231115.SqlDatabaseContainerTrigger_Spec properties: $propertyBag: additionalProperties: @@ -325468,7 +411318,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseContainerStoredProcedureOperatorSpec + Storage version of v1api20231115.SqlDatabaseContainerTriggerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -325539,7 +411389,7 @@ spec: type: object options: description: |- - Storage version of v1api20210515.CreateUpdateOptions + Storage version of v1api20231115.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -325551,7 +411401,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings + description: Storage version of v1api20231115.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -325583,8 +411433,8 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.SqlStoredProcedureResource - Cosmos DB SQL storedProcedure resource object + Storage version of v1api20231115.SqlTriggerResource + Cosmos DB SQL trigger resource object properties: $propertyBag: additionalProperties: @@ -325597,6 +411447,10 @@ spec: type: string id: type: string + triggerOperation: + type: string + triggerType: + type: string type: object tags: additionalProperties: @@ -325606,7 +411460,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabaseContainerStoredProcedure_STATUS + description: Storage version of v1api20231115.SqlDatabaseContainerTrigger_STATUS properties: $propertyBag: additionalProperties: @@ -325665,7 +411519,7 @@ spec: name: type: string resource: - description: Storage version of v1api20210515.SqlStoredProcedureGetProperties_Resource_STATUS + description: Storage version of v1api20231115.SqlTriggerGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -325684,6 +411538,10 @@ spec: type: string id: type: string + triggerOperation: + type: string + triggerType: + type: string type: object tags: additionalProperties: @@ -325710,13 +411568,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} properties: apiVersion: description: |- @@ -325843,13 +411701,28 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a storedProcedure' + description: 'Resource: The standard JSON format of a trigger' properties: body: - description: 'Body: Body of the Stored Procedure' + description: 'Body: Body of the Trigger' type: string id: - description: 'Id: Name of the Cosmos DB SQL storedProcedure' + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + enum: + - All + - Create + - Delete + - Replace + - Update + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' + enum: + - Post + - Pre type: string required: - id @@ -325929,10 +411802,16 @@ spec: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number body: - description: 'Body: Body of the Stored Procedure' + description: 'Body: Body of the Trigger' type: string id: - description: 'Id: Name of the Cosmos DB SQL storedProcedure' + description: 'Id: Name of the Cosmos DB SQL trigger' + type: string + triggerOperation: + description: 'TriggerOperation: The operation the trigger is associated with' + type: string + triggerType: + description: 'TriggerType: Type of the Trigger' type: string type: object tags: @@ -325961,14 +411840,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure + Storage version of v1api20240815.SqlDatabaseContainerTrigger Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures/{storedProcedureName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} properties: apiVersion: description: |- @@ -325988,7 +411867,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure_Spec + description: Storage version of v1api20240815.SqlDatabaseContainerTrigger_Spec properties: $propertyBag: additionalProperties: @@ -326006,7 +411885,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseContainerStoredProcedureOperatorSpec + Storage version of v1api20240815.SqlDatabaseContainerTriggerOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -326077,7 +411956,7 @@ spec: type: object options: description: |- - Storage version of v1api20231115.CreateUpdateOptions + Storage version of v1api20240815.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -326089,7 +411968,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings + description: Storage version of v1api20240815.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -326121,8 +412000,8 @@ spec: type: object resource: description: |- - Storage version of v1api20231115.SqlStoredProcedureResource - Cosmos DB SQL storedProcedure resource object + Storage version of v1api20240815.SqlTriggerResource + Cosmos DB SQL trigger resource object properties: $propertyBag: additionalProperties: @@ -326135,6 +412014,10 @@ spec: type: string id: type: string + triggerOperation: + type: string + triggerType: + type: string type: object tags: additionalProperties: @@ -326144,7 +412027,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabaseContainerStoredProcedure_STATUS + description: Storage version of v1api20240815.SqlDatabaseContainerTrigger_STATUS properties: $propertyBag: additionalProperties: @@ -326203,7 +412086,7 @@ spec: name: type: string resource: - description: Storage version of v1api20231115.SqlStoredProcedureGetProperties_Resource_STATUS + description: Storage version of v1api20240815.SqlTriggerGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -326222,6 +412105,10 @@ spec: type: string id: type: string + triggerOperation: + type: string + triggerType: + type: string type: object tags: additionalProperties: @@ -326241,11 +412128,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabasecontainerthroughputsettings.documentdb.azure.com + app.kubernetes.io/version: v2.15.0 + name: sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com spec: conversion: strategy: Webhook @@ -326260,10 +412147,13 @@ spec: - v1 group: documentdb.azure.com names: - kind: SqlDatabaseContainerThroughputSetting - listKind: SqlDatabaseContainerThroughputSettingList - plural: sqldatabasecontainerthroughputsettings - singular: sqldatabasecontainerthroughputsetting + categories: + - azure + - documentdb + kind: SqlDatabaseContainerUserDefinedFunction + listKind: SqlDatabaseContainerUserDefinedFunctionList + plural: sqldatabasecontaineruserdefinedfunctions + singular: sqldatabasecontaineruserdefinedfunction preserveUnknownFields: false scope: Namespaced versions: @@ -326286,7 +412176,7 @@ spec: description: |- Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} properties: apiVersion: description: |- @@ -326307,6 +412197,11 @@ spec: type: object spec: properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string location: description: 'Location: The location of the resource group to which the resource belongs.' type: string @@ -326376,6 +412271,22 @@ spec: type: object type: array type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -326390,38 +412301,16 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a resource throughput' + description: 'Resource: The standard JSON format of a userDefinedFunction' properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + required: + - id type: object tags: additionalProperties: @@ -326497,45 +412386,12 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' + body: + description: 'Body: Body of the User Defined Function' type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' type: string - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer type: object tags: additionalProperties: @@ -326567,10 +412423,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting + Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} properties: apiVersion: description: |- @@ -326590,7 +412446,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting_Spec + description: Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction_Spec properties: $propertyBag: additionalProperties: @@ -326599,11 +412455,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string location: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseContainerThroughputSettingOperatorSpec + Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunctionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -326672,6 +412533,35 @@ spec: type: object type: array type: object + options: + description: |- + Storage version of v1api20210515.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object originalVersion: type: string owner: @@ -326689,8 +412579,8 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + Storage version of v1api20210515.SqlUserDefinedFunctionResource + Cosmos DB SQL userDefinedFunction resource object properties: $propertyBag: additionalProperties: @@ -326699,53 +412589,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoscaleSettings: - description: |- - Storage version of v1api20210515.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20210515.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer + body: + type: string + id: + type: string type: object tags: additionalProperties: @@ -326755,7 +412602,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabaseContainerThroughputSetting_STATUS + description: Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction_STATUS properties: $propertyBag: additionalProperties: @@ -326814,7 +412661,7 @@ spec: name: type: string resource: - description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + description: Storage version of v1api20210515.SqlUserDefinedFunctionGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -326829,59 +412676,10 @@ spec: type: string _ts: type: number - autoscaleSettings: - description: |- - Storage version of v1api20210515.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20210515.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer - type: object - minimumThroughput: + body: type: string - offerReplacePending: + id: type: string - throughput: - type: integer type: object tags: additionalProperties: @@ -326914,7 +412712,7 @@ spec: description: |- Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} properties: apiVersion: description: |- @@ -326935,6 +412733,11 @@ spec: type: object spec: properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string location: description: 'Location: The location of the resource group to which the resource belongs.' type: string @@ -327004,6 +412807,24 @@ spec: type: object type: array type: object + options: + description: |- + Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the + request. + properties: + autoscaleSettings: + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: 'Throughput: Request Units per second. For example, "throughput": 10000.' + type: integer + type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also @@ -327018,38 +412839,16 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a resource throughput' + description: 'Resource: The standard JSON format of a userDefinedFunction' properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer + body: + description: 'Body: Body of the User Defined Function' + type: string + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + type: string + required: + - id type: object tags: additionalProperties: @@ -327125,53 +412924,12 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - instantMaximumThroughput: - description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' - type: string - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' - type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' + body: + description: 'Body: Body of the User Defined Function' type: string - softAllowedMaximumThroughput: - description: |- - SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can - be specified + id: + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' type: string - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer type: object tags: additionalProperties: @@ -327203,10 +412961,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting + Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} properties: apiVersion: description: |- @@ -327226,7 +412984,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting_Spec + description: Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction_Spec properties: $propertyBag: additionalProperties: @@ -327235,11 +412993,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string location: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseContainerThroughputSettingOperatorSpec + Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunctionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -327308,6 +413071,35 @@ spec: type: object type: array type: object + options: + description: |- + Storage version of v1api20231115.CreateUpdateOptions + CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", + "If-None-Match", "Session-Token" and "Throughput" + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object originalVersion: type: string owner: @@ -327325,8 +413117,8 @@ spec: type: object resource: description: |- - Storage version of v1api20231115.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + Storage version of v1api20231115.SqlUserDefinedFunctionResource + Cosmos DB SQL userDefinedFunction resource object properties: $propertyBag: additionalProperties: @@ -327335,53 +413127,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20231115.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer + body: + type: string + id: + type: string type: object tags: additionalProperties: @@ -327391,7 +413140,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabaseContainerThroughputSetting_STATUS + description: Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction_STATUS properties: $propertyBag: additionalProperties: @@ -327450,7 +413199,7 @@ spec: name: type: string resource: - description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS + description: Storage version of v1api20231115.SqlUserDefinedFunctionGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -327465,63 +413214,10 @@ spec: type: string _ts: type: number - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20231115.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer - type: object - instantMaximumThroughput: - type: string - minimumThroughput: - type: string - offerReplacePending: + body: type: string - softAllowedMaximumThroughput: + id: type: string - throughput: - type: integer type: object tags: additionalProperties: @@ -327532,41 +413228,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabasecontainertriggers.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: SqlDatabaseContainerTrigger - listKind: SqlDatabaseContainerTriggerList - plural: sqldatabasecontainertriggers - singular: sqldatabasecontainertrigger - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -327580,13 +413244,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} properties: apiVersion: description: |- @@ -327687,7 +413351,9 @@ spec: request. properties: autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. properties: maxThroughput: description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' @@ -327711,28 +413377,13 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a trigger' + description: 'Resource: The standard JSON format of a userDefinedFunction' properties: body: - description: 'Body: Body of the Trigger' + description: 'Body: Body of the User Defined Function' type: string id: - description: 'Id: Name of the Cosmos DB SQL trigger' - type: string - triggerOperation: - description: 'TriggerOperation: The operation the trigger is associated with' - enum: - - All - - Create - - Delete - - Replace - - Update - type: string - triggerType: - description: 'TriggerType: Type of the Trigger' - enum: - - Post - - Pre + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' type: string required: - id @@ -327812,16 +413463,10 @@ spec: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number body: - description: 'Body: Body of the Trigger' + description: 'Body: Body of the User Defined Function' type: string id: - description: 'Id: Name of the Cosmos DB SQL trigger' - type: string - triggerOperation: - description: 'TriggerOperation: The operation the trigger is associated with' - type: string - triggerType: - description: 'TriggerType: Type of the Trigger' + description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' type: string type: object tags: @@ -327850,14 +413495,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabaseContainerTrigger + Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunction Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} properties: apiVersion: description: |- @@ -327877,7 +413522,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabaseContainerTrigger_Spec + description: Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunction_Spec properties: $propertyBag: additionalProperties: @@ -327895,7 +413540,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseContainerTriggerOperatorSpec + Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunctionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -327966,7 +413611,7 @@ spec: type: object options: description: |- - Storage version of v1api20210515.CreateUpdateOptions + Storage version of v1api20240815.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -327978,7 +413623,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings + description: Storage version of v1api20240815.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -328010,8 +413655,8 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.SqlTriggerResource - Cosmos DB SQL trigger resource object + Storage version of v1api20240815.SqlUserDefinedFunctionResource + Cosmos DB SQL userDefinedFunction resource object properties: $propertyBag: additionalProperties: @@ -328024,10 +413669,6 @@ spec: type: string id: type: string - triggerOperation: - type: string - triggerType: - type: string type: object tags: additionalProperties: @@ -328037,7 +413678,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabaseContainerTrigger_STATUS + description: Storage version of v1api20240815.SqlDatabaseContainerUserDefinedFunction_STATUS properties: $propertyBag: additionalProperties: @@ -328096,7 +413737,7 @@ spec: name: type: string resource: - description: Storage version of v1api20210515.SqlTriggerGetProperties_Resource_STATUS + description: Storage version of v1api20240815.SqlUserDefinedFunctionGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -328115,10 +413756,6 @@ spec: type: string id: type: string - triggerOperation: - type: string - triggerType: - type: string type: object tags: additionalProperties: @@ -328129,9 +413766,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: sqldatabases.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlDatabase + listKind: SqlDatabaseList + plural: sqldatabases + singular: sqldatabase + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -328145,13 +413817,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20210515 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} properties: apiVersion: description: |- @@ -328252,9 +413924,7 @@ spec: request. properties: autoscaleSettings: - description: |- - AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not - both. + description: 'AutoscaleSettings: Specifies the Autoscale settings.' properties: maxThroughput: description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' @@ -328268,7 +413938,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabaseContainer resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -328278,28 +413948,10 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a trigger' + description: 'Resource: The standard JSON format of a SQL database' properties: - body: - description: 'Body: Body of the Trigger' - type: string id: - description: 'Id: Name of the Cosmos DB SQL trigger' - type: string - triggerOperation: - description: 'TriggerOperation: The operation the trigger is associated with' - enum: - - All - - Create - - Delete - - Replace - - Update - type: string - triggerType: - description: 'TriggerType: Type of the Trigger' - enum: - - Post - - Pre + description: 'Id: Name of the Cosmos DB SQL database' type: string required: - id @@ -328367,8 +414019,27 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object resource: properties: + _colls: + description: 'Colls: A system generated property that specified the addressable path of the collections resource.' + type: string _etag: description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string @@ -328378,17 +414049,11 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - body: - description: 'Body: Body of the Trigger' + _users: + description: 'Users: A system generated property that specifies the addressable path of the users resource.' type: string id: - description: 'Id: Name of the Cosmos DB SQL trigger' - type: string - triggerOperation: - description: 'TriggerOperation: The operation the trigger is associated with' - type: string - triggerType: - description: 'TriggerType: Type of the Trigger' + description: 'Id: Name of the Cosmos DB SQL database' type: string type: object tags: @@ -328417,14 +414082,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20210515storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabaseContainerTrigger + Storage version of v1api20210515.SqlDatabase Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/triggers/{triggerName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} properties: apiVersion: description: |- @@ -328444,7 +414109,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabaseContainerTrigger_Spec + description: Storage version of v1api20210515.SqlDatabase_Spec properties: $propertyBag: additionalProperties: @@ -328462,7 +414127,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseContainerTriggerOperatorSpec + Storage version of v1api20210515.SqlDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -328533,7 +414198,7 @@ spec: type: object options: description: |- - Storage version of v1api20231115.CreateUpdateOptions + Storage version of v1api20210515.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -328545,7 +414210,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings + description: Storage version of v1api20210515.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -328566,7 +414231,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabaseContainer resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -328577,8 +414242,8 @@ spec: type: object resource: description: |- - Storage version of v1api20231115.SqlTriggerResource - Cosmos DB SQL trigger resource object + Storage version of v1api20210515.SqlDatabaseResource + Cosmos DB SQL database resource object properties: $propertyBag: additionalProperties: @@ -328587,14 +414252,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - body: - type: string id: type: string - triggerOperation: - type: string - triggerType: - type: string type: object tags: additionalProperties: @@ -328604,7 +414263,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabaseContainerTrigger_STATUS + description: Storage version of v1api20210515.SqlDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -328662,8 +414321,36 @@ spec: type: string name: type: string + options: + description: |- + Storage version of v1api20210515.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20210515.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object resource: - description: Storage version of v1api20231115.SqlTriggerGetProperties_Resource_STATUS + description: Storage version of v1api20210515.SqlDatabaseGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -328672,20 +414359,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + _colls: + type: string _etag: type: string _rid: type: string _ts: type: number - body: + _users: type: string id: type: string - triggerOperation: - type: string - triggerType: - type: string type: object tags: additionalProperties: @@ -328696,41 +414381,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: SqlDatabaseContainerUserDefinedFunction - listKind: SqlDatabaseContainerUserDefinedFunctionList - plural: sqldatabasecontaineruserdefinedfunctions - singular: sqldatabasecontaineruserdefinedfunction - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -328744,13 +414397,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20231115 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} properties: apiVersion: description: |- @@ -328851,7 +414504,9 @@ spec: request. properties: autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' + description: |- + AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not + both. properties: maxThroughput: description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' @@ -328865,7 +414520,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabaseContainer resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -328875,14 +414530,29 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a userDefinedFunction' + description: 'Resource: The standard JSON format of a SQL database' properties: - body: - description: 'Body: Body of the User Defined Function' + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore type: string id: - description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + description: 'Id: Name of the Cosmos DB SQL database' type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object required: - id type: object @@ -328949,8 +414619,27 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object resource: properties: + _colls: + description: 'Colls: A system generated property that specified the addressable path of the collections resource.' + type: string _etag: description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string @@ -328960,12 +414649,27 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - body: - description: 'Body: Body of the User Defined Function' + _users: + description: 'Users: A system generated property that specifies the addressable path of the users resource.' + type: string + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' type: string id: - description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + description: 'Id: Name of the Cosmos DB SQL database' type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + type: object type: object tags: additionalProperties: @@ -328993,14 +414697,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20231115storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction + Storage version of v1api20231115.SqlDatabase Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} properties: apiVersion: description: |- @@ -329020,7 +414724,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction_Spec + description: Storage version of v1api20231115.SqlDatabase_Spec properties: $propertyBag: additionalProperties: @@ -329038,7 +414742,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunctionOperatorSpec + Storage version of v1api20231115.SqlDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -329109,7 +414813,7 @@ spec: type: object options: description: |- - Storage version of v1api20210515.CreateUpdateOptions + Storage version of v1api20231115.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -329121,7 +414825,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings + description: Storage version of v1api20231115.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -329142,7 +414846,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabaseContainer resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -329153,8 +414857,8 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.SqlUserDefinedFunctionResource - Cosmos DB SQL userDefinedFunction resource object + Storage version of v1api20231115.SqlDatabaseResource + Cosmos DB SQL database resource object properties: $propertyBag: additionalProperties: @@ -329163,10 +414867,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - body: + createMode: type: string id: type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object type: object tags: additionalProperties: @@ -329176,7 +414897,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabaseContainerUserDefinedFunction_STATUS + description: Storage version of v1api20231115.SqlDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -329234,8 +414955,36 @@ spec: type: string name: type: string + options: + description: |- + Storage version of v1api20231115.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20231115.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object resource: - description: Storage version of v1api20210515.SqlUserDefinedFunctionGetProperties_Resource_STATUS + description: Storage version of v1api20231115.SqlDatabaseGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -329244,16 +414993,37 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + _colls: + type: string _etag: type: string _rid: type: string _ts: type: number - body: + _users: + type: string + createMode: type: string id: type: string + restoreParameters: + description: |- + Storage version of v1api20231115.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + type: object type: object tags: additionalProperties: @@ -329280,13 +415050,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} properties: apiVersion: description: |- @@ -329403,7 +415173,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabaseContainer resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -329413,14 +415183,34 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a userDefinedFunction' + description: 'Resource: The standard JSON format of a SQL database' properties: - body: - description: 'Body: Body of the User Defined Function' + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' + enum: + - Default + - Restore type: string id: - description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + description: 'Id: Name of the Cosmos DB SQL database' type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object required: - id type: object @@ -329487,8 +415277,27 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string + options: + description: 'Options: Cosmos DB options resource object' + properties: + autoscaleSettings: + description: 'AutoscaleSettings: Specifies the Autoscale settings.' + properties: + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' + type: integer + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when + retrieving offer details. + type: integer + type: object resource: properties: + _colls: + description: 'Colls: A system generated property that specified the addressable path of the collections resource.' + type: string _etag: description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string @@ -329498,12 +415307,32 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - body: - description: 'Body: Body of the User Defined Function' + _users: + description: 'Users: A system generated property that specifies the addressable path of the users resource.' + type: string + createMode: + description: 'CreateMode: Enum to indicate the mode of resource creation.' type: string id: - description: 'Id: Name of the Cosmos DB SQL userDefinedFunction' + description: 'Id: Name of the Cosmos DB SQL database' type: string + restoreParameters: + description: 'RestoreParameters: Parameters to indicate the information about the restore' + properties: + restoreSource: + description: |- + RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: + /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} + type: string + restoreTimestampInUtc: + description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' + type: string + restoreWithTtlDisabled: + description: |- + RestoreWithTtlDisabled: Specifies whether the restored account will have Time-To-Live disabled upon the successful + restore. + type: boolean + type: object type: object tags: additionalProperties: @@ -329531,14 +415360,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction + Storage version of v1api20240815.SqlDatabase Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/userDefinedFunctions/{userDefinedFunctionName} + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} properties: apiVersion: description: |- @@ -329558,7 +415387,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction_Spec + description: Storage version of v1api20240815.SqlDatabase_Spec properties: $propertyBag: additionalProperties: @@ -329576,7 +415405,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunctionOperatorSpec + Storage version of v1api20240815.SqlDatabaseOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -329647,7 +415476,7 @@ spec: type: object options: description: |- - Storage version of v1api20231115.CreateUpdateOptions + Storage version of v1api20240815.CreateUpdateOptions CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", "If-None-Match", "Session-Token" and "Throughput" properties: @@ -329659,7 +415488,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings + description: Storage version of v1api20240815.AutoscaleSettings properties: $propertyBag: additionalProperties: @@ -329680,7 +415509,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabaseContainer resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -329691,8 +415520,8 @@ spec: type: object resource: description: |- - Storage version of v1api20231115.SqlUserDefinedFunctionResource - Cosmos DB SQL userDefinedFunction resource object + Storage version of v1api20240815.SqlDatabaseResource + Cosmos DB SQL database resource object properties: $propertyBag: additionalProperties: @@ -329701,10 +415530,29 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - body: + createMode: type: string id: type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object type: object tags: additionalProperties: @@ -329714,7 +415562,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabaseContainerUserDefinedFunction_STATUS + description: Storage version of v1api20240815.SqlDatabase_STATUS properties: $propertyBag: additionalProperties: @@ -329772,8 +415620,36 @@ spec: type: string name: type: string + options: + description: |- + Storage version of v1api20240815.OptionsResource_STATUS + Cosmos DB options resource object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoscaleSettings: + description: Storage version of v1api20240815.AutoscaleSettings_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer + type: object resource: - description: Storage version of v1api20231115.SqlUserDefinedFunctionGetProperties_Resource_STATUS + description: Storage version of v1api20240815.SqlDatabaseGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -329782,16 +415658,39 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + _colls: + type: string _etag: type: string _rid: type: string _ts: type: number - body: + _users: + type: string + createMode: type: string id: type: string + restoreParameters: + description: |- + Storage version of v1api20240815.RestoreParametersBase_STATUS + Parameters to indicate the information about the restore. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + restoreSource: + type: string + restoreTimestampInUtc: + type: string + restoreWithTtlDisabled: + type: boolean + type: object type: object tags: additionalProperties: @@ -329811,11 +415710,11 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabases.documentdb.azure.com + app.kubernetes.io/version: v2.15.0 + name: sqldatabasethroughputsettings.documentdb.azure.com spec: conversion: strategy: Webhook @@ -329830,10 +415729,13 @@ spec: - v1 group: documentdb.azure.com names: - kind: SqlDatabase - listKind: SqlDatabaseList - plural: sqldatabases - singular: sqldatabase + categories: + - azure + - documentdb + kind: SqlDatabaseThroughputSetting + listKind: SqlDatabaseThroughputSettingList + plural: sqldatabasethroughputsettings + singular: sqldatabasethroughputsetting preserveUnknownFields: false scope: Namespaced versions: @@ -329856,7 +415758,7 @@ spec: description: |- Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default properties: apiVersion: description: |- @@ -329877,11 +415779,6 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string location: description: 'Location: The location of the resource group to which the resource belongs.' type: string @@ -329951,27 +415848,11 @@ spec: type: object type: array type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer - type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -329981,13 +415862,38 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a SQL database' + description: 'Resource: The standard JSON format of a resource throughput' properties: - id: - description: 'Id: Name of the Cosmos DB SQL database' - type: string - required: - - id + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput + type: object + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: @@ -330052,27 +415958,8 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object resource: properties: - _colls: - description: 'Colls: A system generated property that specified the addressable path of the collections resource.' - type: string _etag: description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string @@ -330082,12 +415969,45 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - _users: - description: 'Users: A system generated property that specifies the addressable path of the users resource.' + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. + properties: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: + description: |- + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer + type: object + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' type: string - id: - description: 'Id: Name of the Cosmos DB SQL database' + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: @@ -330119,10 +416039,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabase + Storage version of v1api20210515.SqlDatabaseThroughputSetting Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default properties: apiVersion: description: |- @@ -330142,7 +416062,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabase_Spec + description: Storage version of v1api20210515.SqlDatabaseThroughputSetting_Spec properties: $propertyBag: additionalProperties: @@ -330151,16 +416071,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string location: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseOperatorSpec + Storage version of v1api20210515.SqlDatabaseThroughputSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -330229,42 +416144,13 @@ spec: type: object type: array type: object - options: - description: |- - Storage version of v1api20210515.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -330275,8 +416161,8 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.SqlDatabaseResource - Cosmos DB SQL database resource object + Storage version of v1api20210515.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -330285,8 +416171,53 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - id: - type: string + autoscaleSettings: + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + type: object + throughput: + type: integer type: object tags: additionalProperties: @@ -330296,7 +416227,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabase_STATUS + description: Storage version of v1api20210515.SqlDatabaseThroughputSetting_STATUS properties: $propertyBag: additionalProperties: @@ -330354,10 +416285,8 @@ spec: type: string name: type: string - options: - description: |- - Storage version of v1api20210515.OptionsResource_STATUS - Cosmos DB options resource object + resource: + description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -330366,8 +416295,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + _etag: + type: string + _rid: + type: string + _ts: + type: number autoscaleSettings: - description: Storage version of v1api20210515.AutoscaleSettings_STATUS + description: |- + Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -330376,34 +416313,47 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + autoUpgradePolicy: + description: |- + Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object maxThroughput: type: integer + targetMaxThroughput: + type: integer type: object - throughput: - type: integer - type: object - resource: - description: Storage version of v1api20210515.SqlDatabaseGetProperties_Resource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - _colls: - type: string - _etag: - type: string - _rid: - type: string - _ts: - type: number - _users: + minimumThroughput: type: string - id: + offerReplacePending: type: string + throughput: + type: integer type: object tags: additionalProperties: @@ -330436,7 +416386,7 @@ spec: description: |- Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default properties: apiVersion: description: |- @@ -330457,11 +416407,6 @@ spec: type: object spec: properties: - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string location: description: 'Location: The location of the resource group to which the resource belongs.' type: string @@ -330531,29 +416476,11 @@ spec: type: object type: array type: object - options: - description: |- - Options: A key-value pair of options to be applied for the request. This corresponds to the headers sent with the - request. - properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Specifies the Autoscale settings. Note: Either throughput or autoscaleSettings is required, but not - both. - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: 'Throughput: Request Units per second. For example, "throughput": 10000.' - type: integer - type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -330563,31 +416490,38 @@ spec: type: string type: object resource: - description: 'Resource: The standard JSON format of a SQL database' + description: 'Resource: The standard JSON format of a resource throughput' properties: - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' - enum: - - Default - - Restore - type: string - id: - description: 'Id: Name of the Cosmos DB SQL database' - type: string - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - restoreSource: - description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + required: + - maxThroughput type: object - required: - - id + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: @@ -330652,27 +416586,8 @@ spec: name: description: 'Name: The name of the ARM resource.' type: string - options: - description: 'Options: Cosmos DB options resource object' - properties: - autoscaleSettings: - description: 'AutoscaleSettings: Specifies the Autoscale settings.' - properties: - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput, the resource can scale up to.' - type: integer - type: object - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when - retrieving offer details. - type: integer - type: object resource: properties: - _colls: - description: 'Colls: A system generated property that specified the addressable path of the collections resource.' - type: string _etag: description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' type: string @@ -330682,27 +416597,53 @@ spec: _ts: description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' type: number - _users: - description: 'Users: A system generated property that specifies the addressable path of the users resource.' - type: string - createMode: - description: 'CreateMode: Enum to indicate the mode of resource creation.' - type: string - id: - description: 'Id: Name of the Cosmos DB SQL database' - type: string - restoreParameters: - description: 'RestoreParameters: Parameters to indicate the information about the restore' + autoscaleSettings: + description: |- + AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is + required, but not both. properties: - restoreSource: + autoUpgradePolicy: + description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' + properties: + throughputPolicy: + description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' + properties: + incrementPercent: + description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' + type: integer + isEnabled: + description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' + type: boolean + type: object + type: object + maxThroughput: + description: 'MaxThroughput: Represents maximum throughput container can scale up to.' + type: integer + targetMaxThroughput: description: |- - RestoreSource: The id of the restorable database account from which the restore has to be initiated. For example: - /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} - type: string - restoreTimestampInUtc: - description: 'RestoreTimestampInUtc: Time to which the account has to be restored (ISO-8601 format).' - type: string + TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending + state. + type: integer type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string + minimumThroughput: + description: 'MinimumThroughput: The minimum throughput of the resource' + type: string + offerReplacePending: + description: 'OfferReplacePending: The throughput replace is pending' + type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string + throughput: + description: |- + Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, + but not both. + type: integer type: object tags: additionalProperties: @@ -330734,10 +416675,10 @@ spec: schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabase + Storage version of v1api20231115.SqlDatabaseThroughputSetting Generator information: - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName} + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default properties: apiVersion: description: |- @@ -330757,7 +416698,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabase_Spec + description: Storage version of v1api20231115.SqlDatabaseThroughputSetting_Spec properties: $propertyBag: additionalProperties: @@ -330766,16 +416707,11 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string location: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseOperatorSpec + Storage version of v1api20231115.SqlDatabaseThroughputSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -330844,42 +416780,13 @@ spec: type: object type: array type: object - options: - description: |- - Storage version of v1api20231115.CreateUpdateOptions - CreateUpdateOptions are a list of key-value pairs that describe the resource. Supported keys are "If-Match", - "If-None-Match", "Session-Token" and "Throughput" - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object originalVersion: type: string owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/DatabaseAccount resource + reference to a documentdb.azure.com/SqlDatabase resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -330890,8 +416797,8 @@ spec: type: object resource: description: |- - Storage version of v1api20231115.SqlDatabaseResource - Cosmos DB SQL database resource object + Storage version of v1api20231115.ThroughputSettingsResource + Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: additionalProperties: @@ -330900,14 +416807,10 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - createMode: - type: string - id: - type: string - restoreParameters: + autoscaleSettings: description: |- - Storage version of v1api20231115.RestoreParametersBase - Parameters to indicate the information about the restore. + Storage version of v1api20231115.AutoscaleSettingsResource + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -330916,11 +416819,41 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer type: object + throughput: + type: integer type: object tags: additionalProperties: @@ -330930,7 +416863,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabase_STATUS + description: Storage version of v1api20231115.SqlDatabaseThroughputSetting_STATUS properties: $propertyBag: additionalProperties: @@ -330988,36 +416921,8 @@ spec: type: string name: type: string - options: - description: |- - Storage version of v1api20231115.OptionsResource_STATUS - Cosmos DB options resource object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: - description: Storage version of v1api20231115.AutoscaleSettings_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object resource: - description: Storage version of v1api20231115.SqlDatabaseGetProperties_Resource_STATUS + description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -331026,24 +416931,16 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - _colls: - type: string _etag: type: string _rid: type: string _ts: type: number - _users: - type: string - createMode: - type: string - id: - type: string - restoreParameters: + autoscaleSettings: description: |- - Storage version of v1api20231115.RestoreParametersBase_STATUS - Parameters to indicate the information about the restore. + Storage version of v1api20231115.AutoscaleSettingsResource_STATUS + Cosmos DB provisioned throughput settings object properties: $propertyBag: additionalProperties: @@ -331052,11 +416949,51 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - restoreSource: - type: string - restoreTimestampInUtc: - type: string + autoUpgradePolicy: + description: |- + Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS + Cosmos DB resource auto-upgrade policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + throughputPolicy: + description: |- + Storage version of v1api20231115.ThroughputPolicyResource_STATUS + Cosmos DB resource throughput policy + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + incrementPercent: + type: integer + isEnabled: + type: boolean + type: object + type: object + maxThroughput: + type: integer + targetMaxThroughput: + type: integer type: object + instantMaximumThroughput: + type: string + minimumThroughput: + type: string + offerReplacePending: + type: string + softAllowedMaximumThroughput: + type: string + throughput: + type: integer type: object tags: additionalProperties: @@ -331067,41 +417004,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqldatabasethroughputsettings.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: SqlDatabaseThroughputSetting - listKind: SqlDatabaseThroughputSettingList - plural: sqldatabasethroughputsettings - singular: sqldatabasethroughputsetting - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -331115,12 +417020,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default properties: apiVersion: @@ -331360,12 +417265,20 @@ spec: state. type: integer type: object + instantMaximumThroughput: + description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' + type: string minimumThroughput: description: 'MinimumThroughput: The minimum throughput of the resource' type: string offerReplacePending: description: 'OfferReplacePending: The throughput replace is pending' type: string + softAllowedMaximumThroughput: + description: |- + SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can + be specified + type: string throughput: description: |- Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, @@ -331398,13 +417311,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlDatabaseThroughputSetting + Storage version of v1api20240815.SqlDatabaseThroughputSetting Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/cosmos-db.json + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/cosmos-db.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default properties: apiVersion: @@ -331425,7 +417338,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlDatabaseThroughputSetting_Spec + description: Storage version of v1api20240815.SqlDatabaseThroughputSetting_Spec properties: $propertyBag: additionalProperties: @@ -331438,7 +417351,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlDatabaseThroughputSettingOperatorSpec + Storage version of v1api20240815.SqlDatabaseThroughputSettingOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -331524,7 +417437,7 @@ spec: type: object resource: description: |- - Storage version of v1api20210515.ThroughputSettingsResource + Storage version of v1api20240815.ThroughputSettingsResource Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. properties: $propertyBag: @@ -331536,7 +417449,7 @@ spec: type: object autoscaleSettings: description: |- - Storage version of v1api20210515.AutoscaleSettingsResource + Storage version of v1api20240815.AutoscaleSettingsResource Cosmos DB provisioned throughput settings object properties: $propertyBag: @@ -331548,7 +417461,7 @@ spec: type: object autoUpgradePolicy: description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource + Storage version of v1api20240815.AutoUpgradePolicyResource Cosmos DB resource auto-upgrade policy properties: $propertyBag: @@ -331560,7 +417473,7 @@ spec: type: object throughputPolicy: description: |- - Storage version of v1api20210515.ThroughputPolicyResource + Storage version of v1api20240815.ThroughputPolicyResource Cosmos DB resource throughput policy properties: $propertyBag: @@ -331590,7 +417503,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlDatabaseThroughputSetting_STATUS + description: Storage version of v1api20240815.SqlDatabaseThroughputSetting_STATUS properties: $propertyBag: additionalProperties: @@ -331649,7 +417562,7 @@ spec: name: type: string resource: - description: Storage version of v1api20210515.ThroughputSettingsGetProperties_Resource_STATUS + description: Storage version of v1api20240815.ThroughputSettingsGetProperties_Resource_STATUS properties: $propertyBag: additionalProperties: @@ -331666,7 +417579,7 @@ spec: type: number autoscaleSettings: description: |- - Storage version of v1api20210515.AutoscaleSettingsResource_STATUS + Storage version of v1api20240815.AutoscaleSettingsResource_STATUS Cosmos DB provisioned throughput settings object properties: $propertyBag: @@ -331678,7 +417591,7 @@ spec: type: object autoUpgradePolicy: description: |- - Storage version of v1api20210515.AutoUpgradePolicyResource_STATUS + Storage version of v1api20240815.AutoUpgradePolicyResource_STATUS Cosmos DB resource auto-upgrade policy properties: $propertyBag: @@ -331690,7 +417603,7 @@ spec: type: object throughputPolicy: description: |- - Storage version of v1api20210515.ThroughputPolicyResource_STATUS + Storage version of v1api20240815.ThroughputPolicyResource_STATUS Cosmos DB resource throughput policy properties: $propertyBag: @@ -331711,10 +417624,14 @@ spec: targetMaxThroughput: type: integer type: object + instantMaximumThroughput: + type: string minimumThroughput: type: string offerReplacePending: type: string + softAllowedMaximumThroughput: + type: string throughput: type: integer type: object @@ -331727,9 +417644,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: sqlroleassignments.documentdb.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: documentdb.azure.com + names: + categories: + - azure + - documentdb + kind: SqlRoleAssignment + listKind: SqlRoleAssignmentList + plural: sqlroleassignments + singular: sqlroleassignment + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -331743,13 +417695,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20210515 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} properties: apiVersion: description: |- @@ -331770,8 +417722,10 @@ spec: type: object spec: properties: - location: - description: 'Location: The location of the resource group to which the resource belongs.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- @@ -331843,7 +417797,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabase resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -331852,47 +417806,37 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: - description: 'Resource: The standard JSON format of a resource throughput' + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + principalIdFromConfig: + description: |- + PrincipalIdFromConfig: The unique identifier for the associated AAD principal in the AAD graph to which access is being + granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the + subscription. properties: - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - required: - - maxThroughput - type: object - throughput: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: - type: string + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' + type: string required: - owner - - resource type: object status: properties: @@ -331941,77 +417885,22 @@ spec: type: object type: array id: - description: 'Id: The unique resource identifier of the ARM resource.' - type: string - location: - description: 'Location: The location of the resource group to which the resource belongs.' + description: 'Id: The unique resource identifier of the database account.' type: string name: - description: 'Name: The name of the ARM resource.' + description: 'Name: The name of the database account.' + type: string + principalId: + description: |- + PrincipalId: The unique identifier for the associated AAD principal in the AAD graph to which access is being granted + through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription. + type: string + roleDefinitionId: + description: 'RoleDefinitionId: The unique identifier for the associated Role Definition.' + type: string + scope: + description: 'Scope: The data plane resource path for which access is being granted through this Role Assignment.' type: string - resource: - properties: - _etag: - description: 'Etag: A system generated property representing the resource etag required for optimistic concurrency control.' - type: string - _rid: - description: 'Rid: A system generated property. A unique identifier.' - type: string - _ts: - description: 'Ts: A system generated property that denotes the last updated timestamp of the resource.' - type: number - autoscaleSettings: - description: |- - AutoscaleSettings: Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is - required, but not both. - properties: - autoUpgradePolicy: - description: 'AutoUpgradePolicy: Cosmos DB resource auto-upgrade policy' - properties: - throughputPolicy: - description: 'ThroughputPolicy: Represents throughput policy which service must adhere to for auto-upgrade' - properties: - incrementPercent: - description: 'IncrementPercent: Represents the percentage by which throughput can increase every time throughput policy kicks in.' - type: integer - isEnabled: - description: 'IsEnabled: Determines whether the ThroughputPolicy is active or not' - type: boolean - type: object - type: object - maxThroughput: - description: 'MaxThroughput: Represents maximum throughput container can scale up to.' - type: integer - targetMaxThroughput: - description: |- - TargetMaxThroughput: Represents target maximum throughput container can scale up to once offer is no longer in pending - state. - type: integer - type: object - instantMaximumThroughput: - description: 'InstantMaximumThroughput: The offer throughput value to instantly scale up without triggering splits' - type: string - minimumThroughput: - description: 'MinimumThroughput: The minimum throughput of the resource' - type: string - offerReplacePending: - description: 'OfferReplacePending: The throughput replace is pending' - type: string - softAllowedMaximumThroughput: - description: |- - SoftAllowedMaximumThroughput: The maximum throughput value or the maximum maxThroughput value (for autoscale) that can - be specified - type: string - throughput: - description: |- - Throughput: Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, - but not both. - type: integer - type: object - tags: - additionalProperties: - type: string - type: object type: description: 'Type: The type of Azure resource.' type: string @@ -332034,14 +417923,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20210515storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlDatabaseThroughputSetting + Storage version of v1api20210515.SqlRoleAssignment Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/cosmos-db.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} properties: apiVersion: description: |- @@ -332061,7 +417950,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlDatabaseThroughputSetting_Spec + description: Storage version of v1api20210515.SqlRoleAssignment_Spec properties: $propertyBag: additionalProperties: @@ -332070,11 +417959,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - location: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlDatabaseThroughputSettingOperatorSpec + Storage version of v1api20210515.SqlRoleAssignmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -332149,7 +418041,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a documentdb.azure.com/SqlDatabase resource + reference to a documentdb.azure.com/DatabaseAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -332158,75 +418050,34 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - resource: + principalId: + type: string + principalIdFromConfig: description: |- - Storage version of v1api20231115.ThroughputSettingsResource - Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both. + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoscaleSettings: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: description: |- - Storage version of v1api20231115.AutoscaleSettingsResource - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20231115.ThroughputPolicyResource - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - type: object - throughput: - type: integer - type: object - tags: - additionalProperties: - type: string + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name type: object + roleDefinitionId: + type: string + scope: + type: string required: - owner type: object status: - description: Storage version of v1api20231115.SqlDatabaseThroughputSetting_STATUS + description: Storage version of v1api20210515.SqlRoleAssignment_STATUS properties: $propertyBag: additionalProperties: @@ -332280,128 +418131,22 @@ spec: type: array id: type: string - location: - type: string name: type: string - resource: - description: Storage version of v1api20231115.ThroughputSettingsGetProperties_Resource_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - _etag: - type: string - _rid: - type: string - _ts: - type: number - autoscaleSettings: - description: |- - Storage version of v1api20231115.AutoscaleSettingsResource_STATUS - Cosmos DB provisioned throughput settings object - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - autoUpgradePolicy: - description: |- - Storage version of v1api20231115.AutoUpgradePolicyResource_STATUS - Cosmos DB resource auto-upgrade policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - throughputPolicy: - description: |- - Storage version of v1api20231115.ThroughputPolicyResource_STATUS - Cosmos DB resource throughput policy - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - incrementPercent: - type: integer - isEnabled: - type: boolean - type: object - type: object - maxThroughput: - type: integer - targetMaxThroughput: - type: integer - type: object - instantMaximumThroughput: - type: string - minimumThroughput: - type: string - offerReplacePending: - type: string - softAllowedMaximumThroughput: - type: string - throughput: - type: integer - type: object - tags: - additionalProperties: - type: string - type: object + principalId: + type: string + roleDefinitionId: + type: string + scope: + type: string type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: sqlroleassignments.documentdb.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: documentdb.azure.com - names: - kind: SqlRoleAssignment - listKind: SqlRoleAssignmentList - plural: sqlroleassignments - singular: sqlroleassignment - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -332415,12 +418160,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515 + name: v1api20231115 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/rbac.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} properties: apiVersion: @@ -332643,13 +418388,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210515storage + name: v1api20231115storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210515.SqlRoleAssignment + Storage version of v1api20231115.SqlRoleAssignment Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-05-15/rbac.json + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/rbac.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} properties: apiVersion: @@ -332670,7 +418415,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210515.SqlRoleAssignment_Spec + description: Storage version of v1api20231115.SqlRoleAssignment_Spec properties: $propertyBag: additionalProperties: @@ -332686,7 +418431,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20210515.SqlRoleAssignmentOperatorSpec + Storage version of v1api20231115.SqlRoleAssignmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -332797,7 +418542,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210515.SqlRoleAssignment_STATUS + description: Storage version of v1api20231115.SqlRoleAssignment_STATUS properties: $propertyBag: additionalProperties: @@ -332880,12 +418625,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115 + name: v1api20240815 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/rbac.json + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/rbac.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} properties: apiVersion: @@ -333108,13 +418853,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20231115storage + name: v1api20240815storage schema: openAPIV3Schema: description: |- - Storage version of v1api20231115.SqlRoleAssignment + Storage version of v1api20240815.SqlRoleAssignment Generator information: - - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2023-11-15/rbac.json + - Generated from: /cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-08-15/rbac.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId} properties: apiVersion: @@ -333135,7 +418880,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20231115.SqlRoleAssignment_Spec + description: Storage version of v1api20240815.SqlRoleAssignment_Spec properties: $propertyBag: additionalProperties: @@ -333151,7 +418896,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20231115.SqlRoleAssignmentOperatorSpec + Storage version of v1api20240815.SqlRoleAssignmentOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -333262,7 +419007,7 @@ spec: - owner type: object status: - description: Storage version of v1api20231115.SqlRoleAssignment_STATUS + description: Storage version of v1api20240815.SqlRoleAssignment_STATUS properties: $propertyBag: additionalProperties: @@ -333338,10 +419083,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccounts.storage.azure.com spec: conversion: @@ -333357,6 +419102,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccount listKind: StorageAccountList plural: storageaccounts @@ -333753,8 +419501,21 @@ spec: value: description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' type: string - required: - - value + valueFromConfig: + description: 'ValueFromConfig: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array resourceAccessRules: @@ -335262,6 +421023,23 @@ spec: type: string value: type: string + valueFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array resourceAccessRules: @@ -337010,8 +422788,21 @@ spec: value: description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' type: string - required: - - value + valueFromConfig: + description: 'ValueFromConfig: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array resourceAccessRules: @@ -338681,6 +424472,23 @@ spec: type: string value: type: string + valueFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array resourceAccessRules: @@ -340508,8 +426316,21 @@ spec: value: description: 'Value: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' type: string - required: - - value + valueFromConfig: + description: 'ValueFromConfig: Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.' + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array resourceAccessRules: @@ -342199,6 +428020,23 @@ spec: type: string value: type: string + valueFromConfig: + description: |- + ConfigMapReference is a reference to a Kubernetes configmap and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes configmap being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes configmap being referenced. + The configmap must be in the same namespace as the resource + type: string + required: + - key + - name + type: object type: object type: array resourceAccessRules: @@ -343561,10 +429399,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccountsblobservices.storage.azure.com spec: conversion: @@ -343580,6 +429418,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccountsBlobService listKind: StorageAccountsBlobServiceList plural: storageaccountsblobservices @@ -346628,10 +432469,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccountsblobservicescontainers.storage.azure.com spec: conversion: @@ -346647,6 +432488,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccountsBlobServicesContainer listKind: StorageAccountsBlobServicesContainerList plural: storageaccountsblobservicescontainers @@ -349042,10 +434886,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccountsfileservices.storage.azure.com spec: conversion: @@ -349061,6 +434905,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccountsFileService listKind: StorageAccountsFileServiceList plural: storageaccountsfileservices @@ -350792,10 +436639,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccountsfileservicesshares.storage.azure.com spec: conversion: @@ -350811,6 +436658,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccountsFileServicesShare listKind: StorageAccountsFileServicesShareList plural: storageaccountsfileservicesshares @@ -352212,10 +438062,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccountsmanagementpolicies.storage.azure.com spec: conversion: @@ -352231,6 +438081,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccountsManagementPolicy listKind: StorageAccountsManagementPolicyList plural: storageaccountsmanagementpolicies @@ -357690,10 +443543,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: storageaccountsqueueservices.storage.azure.com spec: conversion: @@ -357709,6 +443562,9 @@ spec: - v1 group: storage.azure.com names: + categories: + - azure + - storage kind: StorageAccountsQueueService listKind: StorageAccountsQueueServiceList plural: storageaccountsqueueservices @@ -359414,10 +445270,368 @@ spec: - type type: object type: array - cors: + cors: + description: |- + Storage version of v1api20230101.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20230101.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object + id: + type: string + name: + type: string + type: + type: string + type: object + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: storageaccountsqueueservicesqueues.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsQueueServicesQueue + listKind: StorageAccountsQueueServicesQueueList + plural: storageaccountsqueueservicesqueues + singular: storageaccountsqueueservicesqueue + preserveUnknownFields: false + scope: Namespaced + versions: + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + properties: + approximateMessageCount: + description: |- + ApproximateMessageCount: Integer indicating an approximate number of messages in the queue. This number is not lower + than the actual number of messages in the queue, but could be higher. + type: integer + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: description: |- - Storage version of v1api20230101.CorsRules_STATUS - Sets the CORS rules. You can include up to five CorsRule elements in the request. + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + metadata: + additionalProperties: + type: string + description: 'Metadata: A name-value pair that represents queue metadata.' + type: object + name: + description: 'Name: The name of the resource' + type: string + type: + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20210401storage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20210401.StorageAccountsQueueServicesQueue + Generator information: + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20210401.StorageAccountsQueueServicesQueue_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + metadata: + additionalProperties: + type: string + type: object + operatorSpec: + description: |- + Storage version of v1api20210401.StorageAccountsQueueServicesQueueOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: additionalProperties: @@ -359426,42 +445640,144 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - corsRules: + configMapExpressions: items: description: |- - Storage version of v1api20230101.CorsRule_STATUS - Specifies a CORS rule for the Blob service. + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. properties: - $propertyBag: - additionalProperties: - type: string + key: description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHeaders: - items: - type: string - type: array - allowedMethods: - items: - type: string - type: array - allowedOrigins: - items: - type: string - type: array - exposedHeaders: - items: - type: string - type: array - maxAgeInSeconds: - type: integer + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value type: object type: array type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a storage.azure.com/StorageAccountsQueueService resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20210401.StorageAccountsQueueServicesQueue_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + approximateMessageCount: + type: integer + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array id: type: string + metadata: + additionalProperties: + type: string + type: object name: type: string type: @@ -359469,41 +445785,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: storageaccountsqueueservicesqueues.storage.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: storage.azure.com - names: - kind: StorageAccountsQueueServicesQueue - listKind: StorageAccountsQueueServicesQueueList - plural: storageaccountsqueueservicesqueues - singular: storageaccountsqueueservicesqueue - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -359517,12 +445801,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210401 + name: v1api20220901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} properties: apiVersion: @@ -359724,13 +446008,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20210401storage + name: v1api20220901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20210401.StorageAccountsQueueServicesQueue + Storage version of v1api20220901.StorageAccountsQueueServicesQueue Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2021-04-01/queue.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} properties: apiVersion: @@ -359751,7 +446035,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20210401.StorageAccountsQueueServicesQueue_Spec + description: Storage version of v1api20220901.StorageAccountsQueueServicesQueue_Spec properties: $propertyBag: additionalProperties: @@ -359771,7 +446055,7 @@ spec: type: object operatorSpec: description: |- - Storage version of v1api20210401.StorageAccountsQueueServicesQueueOperatorSpec + Storage version of v1api20220901.StorageAccountsQueueServicesQueueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -359859,7 +446143,7 @@ spec: - owner type: object status: - description: Storage version of v1api20210401.StorageAccountsQueueServicesQueue_STATUS + description: Storage version of v1api20220901.StorageAccountsQueueServicesQueue_STATUS properties: $propertyBag: additionalProperties: @@ -359942,12 +446226,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901 + name: v1api20230101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} properties: apiVersion: @@ -360149,13 +446433,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901storage + name: v1api20230101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220901.StorageAccountsQueueServicesQueue + Storage version of v1api20230101.StorageAccountsQueueServicesQueue Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/queue.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} properties: apiVersion: @@ -360176,7 +446460,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220901.StorageAccountsQueueServicesQueue_Spec + description: Storage version of v1api20230101.StorageAccountsQueueServicesQueue_Spec properties: $propertyBag: additionalProperties: @@ -360196,7 +446480,7 @@ spec: type: object operatorSpec: description: |- - Storage version of v1api20220901.StorageAccountsQueueServicesQueueOperatorSpec + Storage version of v1api20230101.StorageAccountsQueueServicesQueueOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -360284,7 +446568,7 @@ spec: - owner type: object status: - description: Storage version of v1api20220901.StorageAccountsQueueServicesQueue_STATUS + description: Storage version of v1api20230101.StorageAccountsQueueServicesQueue_STATUS properties: $propertyBag: additionalProperties: @@ -360351,9 +446635,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: storageaccountstableservices.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsTableService + listKind: StorageAccountsTableServiceList + plural: storageaccountstableservices + singular: storageaccountstableservice + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -360367,13 +446686,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101 + name: v1api20220901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default properties: apiVersion: description: |- @@ -360394,17 +446713,65 @@ spec: type: object spec: properties: - azureName: + cors: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - maxLength: 63 - minLength: 3 - type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: A name-value pair that represents queue metadata.' + Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Table service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + enum: + - DELETE + - GET + - HEAD + - MERGE + - OPTIONS + - PATCH + - POST + - PUT + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + required: + - allowedHeaders + - allowedMethods + - allowedOrigins + - exposedHeaders + - maxAgeInSeconds + type: object + type: array type: object operatorSpec: description: |- @@ -360476,7 +446843,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a storage.azure.com/StorageAccountsQueueService resource + reference to a storage.azure.com/StorageAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -360490,11 +446857,6 @@ spec: type: object status: properties: - approximateMessageCount: - description: |- - ApproximateMessageCount: Integer indicating an approximate number of messages in the queue. This number is not lower - than the actual number of messages in the queue, but could be higher. - type: integer conditions: description: 'Conditions: The observed state of the resource' items: @@ -360539,16 +446901,56 @@ spec: - type type: object type: array + cors: + description: |- + Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no + CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the + Table service. + properties: + corsRules: + description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' + items: + description: Specifies a CORS rule for the Blob service. + properties: + allowedHeaders: + description: |- + AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin + request. + items: + type: string + type: array + allowedMethods: + description: |- + AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the + origin. + items: + type: string + type: array + allowedOrigins: + description: |- + AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" + to allow all domains + items: + type: string + type: array + exposedHeaders: + description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' + items: + type: string + type: array + maxAgeInSeconds: + description: |- + MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a + preflight response. + type: integer + type: object + type: array + type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string - metadata: - additionalProperties: - type: string - description: 'Metadata: A name-value pair that represents queue metadata.' - type: object name: description: 'Name: The name of the resource' type: string @@ -360574,14 +446976,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101storage + name: v1api20220901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230101.StorageAccountsQueueServicesQueue + Storage version of v1api20220901.StorageAccountsTableService Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/queue.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName} + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default properties: apiVersion: description: |- @@ -360601,7 +447003,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230101.StorageAccountsQueueServicesQueue_Spec + description: Storage version of v1api20220901.StorageAccountsTableService_Spec properties: $propertyBag: additionalProperties: @@ -360610,18 +447012,55 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - azureName: + cors: description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. - type: string - metadata: - additionalProperties: - type: string + Storage version of v1api20220901.CorsRules + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array type: object operatorSpec: description: |- - Storage version of v1api20230101.StorageAccountsQueueServicesQueueOperatorSpec + Storage version of v1api20220901.StorageAccountsTableServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -360696,7 +447135,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a storage.azure.com/StorageAccountsQueueService resource + reference to a storage.azure.com/StorageAccount resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -360709,7 +447148,7 @@ spec: - owner type: object status: - description: Storage version of v1api20230101.StorageAccountsQueueServicesQueue_STATUS + description: Storage version of v1api20220901.StorageAccountsTableService_STATUS properties: $propertyBag: additionalProperties: @@ -360718,8 +447157,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - approximateMessageCount: - type: integer conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -360763,12 +447200,54 @@ spec: - type type: object type: array + cors: + description: |- + Storage version of v1api20220901.CorsRules_STATUS + Sets the CORS rules. You can include up to five CorsRule elements in the request. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + corsRules: + items: + description: |- + Storage version of v1api20220901.CorsRule_STATUS + Specifies a CORS rule for the Blob service. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + allowedHeaders: + items: + type: string + type: array + allowedMethods: + items: + type: string + type: array + allowedOrigins: + items: + type: string + type: array + exposedHeaders: + items: + type: string + type: array + maxAgeInSeconds: + type: integer + type: object + type: array + type: object id: type: string - metadata: - additionalProperties: - type: string - type: object name: type: string type: @@ -360776,41 +447255,9 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: storageaccountstableservices.storage.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: storage.azure.com - names: - kind: StorageAccountsTableService - listKind: StorageAccountsTableServiceList - plural: storageaccountstableservices - singular: storageaccountstableservice - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -360824,12 +447271,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901 + name: v1api20230101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default properties: apiVersion: @@ -360875,6 +447322,7 @@ spec: origin. items: enum: + - CONNECT - DELETE - GET - HEAD @@ -360883,6 +447331,7 @@ spec: - PATCH - POST - PUT + - TRACE type: string type: array allowedOrigins: @@ -361114,13 +447563,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901storage + name: v1api20230101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220901.StorageAccountsTableService + Storage version of v1api20230101.StorageAccountsTableService Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default properties: apiVersion: @@ -361141,7 +447590,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220901.StorageAccountsTableService_Spec + description: Storage version of v1api20230101.StorageAccountsTableService_Spec properties: $propertyBag: additionalProperties: @@ -361152,7 +447601,7 @@ spec: type: object cors: description: |- - Storage version of v1api20220901.CorsRules + Storage version of v1api20230101.CorsRules Sets the CORS rules. You can include up to five CorsRule elements in the request. properties: $propertyBag: @@ -361165,7 +447614,7 @@ spec: corsRules: items: description: |- - Storage version of v1api20220901.CorsRule + Storage version of v1api20230101.CorsRule Specifies a CORS rule for the Blob service. properties: $propertyBag: @@ -361198,7 +447647,7 @@ spec: type: object operatorSpec: description: |- - Storage version of v1api20220901.StorageAccountsTableServiceOperatorSpec + Storage version of v1api20230101.StorageAccountsTableServiceOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -361286,7 +447735,7 @@ spec: - owner type: object status: - description: Storage version of v1api20220901.StorageAccountsTableService_STATUS + description: Storage version of v1api20230101.StorageAccountsTableService_STATUS properties: $propertyBag: additionalProperties: @@ -361340,7 +447789,7 @@ spec: type: array cors: description: |- - Storage version of v1api20220901.CorsRules_STATUS + Storage version of v1api20230101.CorsRules_STATUS Sets the CORS rules. You can include up to five CorsRule elements in the request. properties: $propertyBag: @@ -361353,7 +447802,7 @@ spec: corsRules: items: description: |- - Storage version of v1api20220901.CorsRule_STATUS + Storage version of v1api20230101.CorsRule_STATUS Specifies a CORS rule for the Blob service. properties: $propertyBag: @@ -361393,9 +447842,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: storageaccountstableservicestables.storage.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: storage.azure.com + names: + categories: + - azure + - storage + kind: StorageAccountsTableServicesTable + listKind: StorageAccountsTableServicesTableList + plural: storageaccountstableservicestables + singular: storageaccountstableservicestable + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -361409,13 +447893,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101 + name: v1api20220901 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} properties: apiVersion: description: |- @@ -361436,68 +447920,14 @@ spec: type: object spec: properties: - cors: + azureName: description: |- - Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no - CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the - Table service. - properties: - corsRules: - description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' - items: - description: Specifies a CORS rule for the Blob service. - properties: - allowedHeaders: - description: |- - AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin - request. - items: - type: string - type: array - allowedMethods: - description: |- - AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the - origin. - items: - enum: - - CONNECT - - DELETE - - GET - - HEAD - - MERGE - - OPTIONS - - PATCH - - POST - - PUT - - TRACE - type: string - type: array - allowedOrigins: - description: |- - AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" - to allow all domains - items: - type: string - type: array - exposedHeaders: - description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' - items: - type: string - type: array - maxAgeInSeconds: - description: |- - MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a - preflight response. - type: integer - required: - - allowedHeaders - - allowedMethods - - allowedOrigins - - exposedHeaders - - maxAgeInSeconds - type: object - type: array - type: object + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + maxLength: 63 + minLength: 3 + pattern: ^[A-Za-z][A-Za-z0-9]{2,62}$ + type: string operatorSpec: description: |- OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not @@ -361568,7 +447998,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a storage.azure.com/StorageAccount resource + reference to a storage.azure.com/StorageAccountsTableService resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -361577,6 +448007,50 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the table.' + items: + description: Object to set Table Access Policy. + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + required: + - permission + type: object + reference: + description: 'Reference: unique-64-character-value of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array required: - owner type: object @@ -361626,51 +448100,6 @@ spec: - type type: object type: array - cors: - description: |- - Cors: Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no - CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the - Table service. - properties: - corsRules: - description: 'CorsRules: The List of CORS rules. You can include up to five CorsRule elements in the request.' - items: - description: Specifies a CORS rule for the Blob service. - properties: - allowedHeaders: - description: |- - AllowedHeaders: Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin - request. - items: - type: string - type: array - allowedMethods: - description: |- - AllowedMethods: Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the - origin. - items: - type: string - type: array - allowedOrigins: - description: |- - AllowedOrigins: Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or "*" - to allow all domains - items: - type: string - type: array - exposedHeaders: - description: 'ExposedHeaders: Required if CorsRule element is present. A list of response headers to expose to CORS clients.' - items: - type: string - type: array - maxAgeInSeconds: - description: |- - MaxAgeInSeconds: Required if CorsRule element is present. The number of seconds that the client/browser should cache a - preflight response. - type: integer - type: object - type: array - type: object id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -361679,6 +448108,32 @@ spec: name: description: 'Name: The name of the resource' type: string + signedIdentifiers: + description: 'SignedIdentifiers: List of stored access policies specified on the table.' + items: + description: Object to set Table Access Policy. + properties: + accessPolicy: + description: 'AccessPolicy: Access policy' + properties: + expiryTime: + description: 'ExpiryTime: Expiry time of the access policy' + type: string + permission: + description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' + type: string + startTime: + description: 'StartTime: Start time of the access policy' + type: string + type: object + id: + description: 'Id: unique-64-character-value of the stored access policy.' + type: string + type: object + type: array + tableName: + description: 'TableName: Table name under the specified account' + type: string type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' type: string @@ -361701,14 +448156,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101storage + name: v1api20220901storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230101.StorageAccountsTableService + Storage version of v1api20220901.StorageAccountsTableServicesTable Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} properties: apiVersion: description: |- @@ -361728,7 +448183,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230101.StorageAccountsTableService_Spec + description: Storage version of v1api20220901.StorageAccountsTableServicesTable_Spec properties: $propertyBag: additionalProperties: @@ -361737,55 +448192,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - cors: + azureName: description: |- - Storage version of v1api20230101.CorsRules - Sets the CORS rules. You can include up to five CorsRule elements in the request. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - corsRules: - items: - description: |- - Storage version of v1api20230101.CorsRule - Specifies a CORS rule for the Blob service. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - allowedHeaders: - items: - type: string - type: array - allowedMethods: - items: - type: string - type: array - allowedOrigins: - items: - type: string - type: array - exposedHeaders: - items: - type: string - type: array - maxAgeInSeconds: - type: integer - type: object - type: array - type: object + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string operatorSpec: description: |- - Storage version of v1api20230101.StorageAccountsTableServiceOperatorSpec + Storage version of v1api20220901.StorageAccountsTableServicesTableOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -361860,7 +448274,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a storage.azure.com/StorageAccount resource + reference to a storage.azure.com/StorageAccountsTableService resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -361869,11 +448283,67 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + signedIdentifiers: + items: + description: |- + Storage version of v1api20220901.TableSignedIdentifier + Object to set Table Access Policy. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: |- + Storage version of v1api20220901.TableAccessPolicy + Table Access Policy Properties Object. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + expiryTime: + type: string + permission: + type: string + startTime: + type: string + type: object + reference: + description: 'Reference: unique-64-character-value of the stored access policy.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + required: + - reference + type: object + type: array required: - owner type: object status: - description: Storage version of v1api20230101.StorageAccountsTableService_STATUS + description: Storage version of v1api20220901.StorageAccountsTableServicesTable_STATUS properties: $propertyBag: additionalProperties: @@ -361925,23 +448395,27 @@ spec: - type type: object type: array - cors: - description: |- - Storage version of v1api20230101.CorsRules_STATUS - Sets the CORS rules. You can include up to five CorsRule elements in the request. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - corsRules: - items: + id: + type: string + name: + type: string + signedIdentifiers: + items: + description: |- + Storage version of v1api20220901.TableSignedIdentifier_STATUS + Object to set Table Access Policy. + properties: + $propertyBag: + additionalProperties: + type: string description: |- - Storage version of v1api20230101.CorsRule_STATUS - Specifies a CORS rule for the Blob service. + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + accessPolicy: + description: |- + Storage version of v1api20220901.TableAccessPolicy_STATUS + Table Access Policy Properties Object. properties: $propertyBag: additionalProperties: @@ -361950,71 +448424,27 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowedHeaders: - items: - type: string - type: array - allowedMethods: - items: - type: string - type: array - allowedOrigins: - items: - type: string - type: array - exposedHeaders: - items: - type: string - type: array - maxAgeInSeconds: - type: integer + expiryTime: + type: string + permission: + type: string + startTime: + type: string type: object - type: array - type: object - id: - type: string - name: + id: + type: string + type: object + type: array + tableName: type: string type: type: string type: object type: object served: true - storage: true + storage: false subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: storageaccountstableservicestables.storage.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: storage.azure.com - names: - kind: StorageAccountsTableServicesTable - listKind: StorageAccountsTableServicesTableList - plural: storageaccountstableservicestables - singular: storageaccountstableservicestable - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -362028,12 +448458,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901 + name: v1api20230101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} properties: apiVersion: @@ -362291,13 +448721,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220901storage + name: v1api20230101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220901.StorageAccountsTableServicesTable + Storage version of v1api20230101.StorageAccountsTableServicesTable Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2022-09-01/table.json + - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} properties: apiVersion: @@ -362318,7 +448748,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220901.StorageAccountsTableServicesTable_Spec + description: Storage version of v1api20230101.StorageAccountsTableServicesTable_Spec properties: $propertyBag: additionalProperties: @@ -362334,7 +448764,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20220901.StorageAccountsTableServicesTableOperatorSpec + Storage version of v1api20230101.StorageAccountsTableServicesTableOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -362421,7 +448851,7 @@ spec: signedIdentifiers: items: description: |- - Storage version of v1api20220901.TableSignedIdentifier + Storage version of v1api20230101.TableSignedIdentifier Object to set Table Access Policy. properties: $propertyBag: @@ -362433,7 +448863,7 @@ spec: type: object accessPolicy: description: |- - Storage version of v1api20220901.TableAccessPolicy + Storage version of v1api20230101.TableAccessPolicy Table Access Policy Properties Object. properties: $propertyBag: @@ -362478,7 +448908,7 @@ spec: - owner type: object status: - description: Storage version of v1api20220901.StorageAccountsTableServicesTable_STATUS + description: Storage version of v1api20230101.StorageAccountsTableServicesTable_STATUS properties: $propertyBag: additionalProperties: @@ -362537,7 +448967,7 @@ spec: signedIdentifiers: items: description: |- - Storage version of v1api20220901.TableSignedIdentifier_STATUS + Storage version of v1api20230101.TableSignedIdentifier_STATUS Object to set Table Access Policy. properties: $propertyBag: @@ -362549,7 +448979,7 @@ spec: type: object accessPolicy: description: |- - Storage version of v1api20220901.TableAccessPolicy_STATUS + Storage version of v1api20230101.TableAccessPolicy_STATUS Table Access Policy Properties Object. properties: $propertyBag: @@ -362577,9 +449007,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: subscriptions.apimanagement.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: apimanagement.azure.com + names: + categories: + - azure + - apimanagement + kind: Subscription + listKind: SubscriptionList + plural: subscriptions + singular: subscription + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -362593,13 +449058,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101 + name: v1api20220801 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} properties: apiVersion: description: |- @@ -362620,13 +449085,20 @@ spec: type: object spec: properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing can be enabled' + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 63 - minLength: 3 - pattern: ^[A-Za-z][A-Za-z0-9]{2,62}$ + maxLength: 256 + pattern: ^[^*#&+:<>?]+$ + type: string + displayName: + description: 'DisplayName: Subscription name.' + maxLength: 100 + minLength: 1 type: string operatorSpec: description: |- @@ -362693,12 +449165,50 @@ spec: - value type: object type: array + secrets: + description: 'Secrets: configures where to place Azure generated secrets.' + properties: + primaryKey: + description: |- + PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from + Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved + from Azure. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a storage.azure.com/StorageAccountsTableService resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -362707,55 +449217,85 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - signedIdentifiers: - description: 'SignedIdentifiers: List of stored access policies specified on the table.' - items: - description: Object to set Table Access Policy. - properties: - accessPolicy: - description: 'AccessPolicy: Access policy' - properties: - expiryTime: - description: 'ExpiryTime: Expiry time of the access policy' - type: string - permission: - description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' - type: string - startTime: - description: 'StartTime: Start time of the access policy' - type: string - required: - - permission - type: object - reference: - description: 'Reference: unique-64-character-value of the stored access policy.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - type: array + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: 'PrimaryKey: Primary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + secondaryKey: + description: 'SecondaryKey: Secondary subscription key. If not specified during request key will be generated automatically.' + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + description: |- + State: Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible + states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber + cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has + not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * + cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription + reached its expiration date and was deactivated. + enum: + - active + - cancelled + - expired + - rejected + - submitted + - suspended + type: string required: + - displayName - owner + - scope type: object status: properties: + allowTracing: + description: 'AllowTracing: Determines whether tracing is enabled' + type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -362800,6 +449340,26 @@ spec: - type type: object type: array + createdDate: + description: |- + CreatedDate: Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified + by the ISO 8601 standard. + type: string + displayName: + description: 'DisplayName: The name of the subscription, or null if the subscription has no name.' + type: string + endDate: + description: |- + EndDate: Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is + not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms + to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + expirationDate: + description: |- + ExpirationDate: Subscription expiration date. The setting is for audit purposes only and the subscription is not + automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the + following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - @@ -362808,31 +449368,35 @@ spec: name: description: 'Name: The name of the resource' type: string - signedIdentifiers: - description: 'SignedIdentifiers: List of stored access policies specified on the table.' - items: - description: Object to set Table Access Policy. - properties: - accessPolicy: - description: 'AccessPolicy: Access policy' - properties: - expiryTime: - description: 'ExpiryTime: Expiry time of the access policy' - type: string - permission: - description: 'Permission: Required. List of abbreviated permissions. Supported permission values include ''r'',''a'',''u'',''d''' - type: string - startTime: - description: 'StartTime: Start time of the access policy' - type: string - type: object - id: - description: 'Id: unique-64-character-value of the stored access policy.' - type: string - type: object - type: array - tableName: - description: 'TableName: Table name under the specified account' + notificationDate: + description: |- + NotificationDate: Upcoming subscription expiration notification date. The date conforms to the following format: + `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + ownerId: + description: |- + OwnerId: The user resource identifier of the subscription owner. The value is a valid relative URL in the format of + /users/{userId} where {userId} is a user identifier. + type: string + scope: + description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' + type: string + startDate: + description: |- + StartDate: Subscription activation date. The setting is for audit purposes only and the subscription is not + automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to + the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. + type: string + state: + description: |- + State: Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription + is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been + made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been + denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * + expired – the subscription reached its expiration date and was deactivated. + type: string + stateComment: + description: 'StateComment: Optional subscription comment added by an administrator when the state is changed to the ''rejected''.' type: string type: description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' @@ -362856,14 +449420,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230101storage + name: v1api20220801storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230101.StorageAccountsTableServicesTable + Storage version of v1api20220801.Subscription Generator information: - - Generated from: /storage/resource-manager/Microsoft.Storage/stable/2023-01-01/table.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName} + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimsubscriptions.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} properties: apiVersion: description: |- @@ -362883,7 +449447,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230101.StorageAccountsTableServicesTable_Spec + description: Storage version of v1api20220801.Subscription_Spec properties: $propertyBag: additionalProperties: @@ -362892,14 +449456,18 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + allowTracing: + type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string + displayName: + type: string operatorSpec: description: |- - Storage version of v1api20230101.StorageAccountsTableServicesTableOperatorSpec + Storage version of v1api20220801.SubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -362967,6 +449535,53 @@ spec: - value type: object type: array + secrets: + description: Storage version of v1api20220801.SubscriptionOperatorSecrets + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + primaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + secondaryKey: + description: |- + SecretDestination describes the location to store a single secret value. + Note: This is similar to: ConfigMapDestination in configmaps.go. + Changes to one may need to be made to the others as well. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced. + type: string + name: + description: |- + Name is the name of the Kubernetes secret to write to. + The secret will be created in the same namespace as the resource. + type: string + required: + - key + - name + type: object + type: object type: object originalVersion: type: string @@ -362974,7 +449589,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a storage.azure.com/StorageAccountsTableService resource + reference to a apimanagement.azure.com/Service resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -362983,67 +449598,69 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - signedIdentifiers: - items: - description: |- - Storage version of v1api20230101.TableSignedIdentifier - Object to set Table Access Policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accessPolicy: - description: |- - Storage version of v1api20230101.TableAccessPolicy - Table Access Policy Properties Object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiryTime: - type: string - permission: - type: string - startTime: - type: string - type: object - reference: - description: 'Reference: unique-64-character-value of the stored access policy.' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - required: - - reference - type: object - type: array + ownerReference: + description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + primaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + scope: + type: string + secondaryKey: + description: |- + SecretReference is a reference to a Kubernetes secret and key in the same namespace as + the resource it is on. + properties: + key: + description: Key is the key in the Kubernetes secret being referenced + type: string + name: + description: |- + Name is the name of the Kubernetes secret being referenced. + The secret must be in the same namespace as the resource + type: string + required: + - key + - name + type: object + state: + type: string required: - owner type: object status: - description: Storage version of v1api20230101.StorageAccountsTableServicesTable_STATUS + description: Storage version of v1api20220801.Subscription_STATUS properties: $propertyBag: additionalProperties: @@ -363052,6 +449669,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object + allowTracing: + type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -363095,47 +449714,29 @@ spec: - type type: object type: array + createdDate: + type: string + displayName: + type: string + endDate: + type: string + expirationDate: + type: string id: type: string name: type: string - signedIdentifiers: - items: - description: |- - Storage version of v1api20230101.TableSignedIdentifier_STATUS - Object to set Table Access Policy. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - accessPolicy: - description: |- - Storage version of v1api20230101.TableAccessPolicy_STATUS - Table Access Policy Properties Object. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - expiryTime: - type: string - permission: - type: string - startTime: - type: string - type: object - id: - type: string - type: object - type: array - tableName: + notificationDate: + type: string + ownerId: + type: string + scope: + type: string + startDate: + type: string + state: + type: string + stateComment: type: string type: type: string @@ -363145,38 +449746,6 @@ spec: storage: true subresources: status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 - labels: - app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 - name: subscriptions.apimanagement.azure.com -spec: - conversion: - strategy: Webhook - webhook: - clientConfig: - service: - name: azureserviceoperator-webhook-service - namespace: azureserviceoperator-system - path: /convert - port: 443 - conversionReviewVersions: - - v1 - group: apimanagement.azure.com - names: - kind: Subscription - listKind: SubscriptionList - plural: subscriptions - singular: subscription - preserveUnknownFields: false - scope: Namespaced - versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -363190,12 +449759,12 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801 + name: v1api20230501preview schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimsubscriptions.json + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimsubscriptions.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} properties: apiVersion: @@ -363552,13 +450121,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220801storage + name: v1api20230501previewstorage schema: openAPIV3Schema: description: |- - Storage version of v1api20220801.Subscription + Storage version of v1api20230501preview.Subscription Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/stable/2022-08-01/apimsubscriptions.json + - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimsubscriptions.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} properties: apiVersion: @@ -363579,7 +450148,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220801.Subscription_Spec + description: Storage version of v1api20230501preview.Subscription_Spec properties: $propertyBag: additionalProperties: @@ -363599,7 +450168,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20220801.SubscriptionOperatorSpec + Storage version of v1api20230501preview.SubscriptionOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -363668,7 +450237,7 @@ spec: type: object type: array secrets: - description: Storage version of v1api20220801.SubscriptionOperatorSecrets + description: Storage version of v1api20230501preview.SubscriptionOperatorSecrets properties: $propertyBag: additionalProperties: @@ -363792,7 +450361,7 @@ spec: - owner type: object status: - description: Storage version of v1api20220801.Subscription_STATUS + description: Storage version of v1api20230501preview.Subscription_STATUS properties: $propertyBag: additionalProperties: @@ -363875,9 +450444,44 @@ spec: type: object type: object served: true - storage: true + storage: false subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: topicauthorizationrules.servicebus.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: servicebus.azure.com + names: + categories: + - azure + - servicebus + kind: TopicAuthorizationRule + listKind: TopicAuthorizationRuleList + plural: topicauthorizationrules + singular: topicauthorizationrule + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -363891,13 +450495,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501preview + name: v1api20240101 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimsubscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -363918,19 +450522,11 @@ spec: type: object spec: properties: - allowTracing: - description: 'AllowTracing: Determines whether tracing can be enabled' - type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. - maxLength: 256 - pattern: ^[^*#&+:<>?]+$ - type: string - displayName: - description: 'DisplayName: Subscription name.' - maxLength: 100 + maxLength: 50 minLength: 1 type: string operatorSpec: @@ -363998,50 +450594,12 @@ spec: - value type: object type: array - secrets: - description: 'Secrets: configures where to place Azure generated secrets.' - properties: - primaryKey: - description: |- - PrimaryKey: indicates where the PrimaryKey secret should be placed. If omitted, the secret will not be retrieved from - Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecondaryKey: indicates where the SecondaryKey secret should be placed. If omitted, the secret will not be retrieved - from Azure. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object owner: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -364050,85 +450608,21 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ownerReference: - description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryKey: - description: 'PrimaryKey: Primary subscription key. If not specified during request key will be generated automatically.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - scope: - description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' - type: string - secondaryKey: - description: 'SecondaryKey: Secondary subscription key. If not specified during request key will be generated automatically.' - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - state: - description: |- - State: Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible - states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber - cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has - not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * - cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription - reached its expiration date and was deactivated. - enum: - - active - - cancelled - - expired - - rejected - - submitted - - suspended - type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + enum: + - Listen + - Manage + - Send + type: string + type: array required: - - displayName - owner - - scope + - rights type: object status: properties: - allowTracing: - description: 'AllowTracing: Determines whether tracing is enabled' - type: boolean conditions: description: 'Conditions: The observed state of the resource' items: @@ -364173,66 +450667,46 @@ spec: - type type: object type: array - createdDate: - description: |- - CreatedDate: Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified - by the ISO 8601 standard. - type: string - displayName: - description: 'DisplayName: The name of the subscription, or null if the subscription has no name.' - type: string - endDate: - description: |- - EndDate: Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is - not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms - to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - type: string - expirationDate: - description: |- - ExpirationDate: Subscription expiration date. The setting is for audit purposes only and the subscription is not - automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the - following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - type: string id: description: |- Id: Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} type: string + location: + description: 'Location: The geo-location where the resource lives' + type: string name: description: 'Name: The name of the resource' type: string - notificationDate: - description: |- - NotificationDate: Upcoming subscription expiration notification date. The date conforms to the following format: - `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - type: string - ownerId: - description: |- - OwnerId: The user resource identifier of the subscription owner. The value is a valid relative URL in the format of - /users/{userId} where {userId} is a user identifier. - type: string - scope: - description: 'Scope: Scope like /products/{productId} or /apis or /apis/{apiId}.' - type: string - startDate: - description: |- - StartDate: Subscription activation date. The setting is for audit purposes only and the subscription is not - automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to - the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - type: string - state: - description: |- - State: Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription - is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been - made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been - denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * - expired – the subscription reached its expiration date and was deactivated. - type: string - stateComment: - description: 'StateComment: Optional subscription comment added by an administrator when the state is changed to the ''rejected''.' - type: string + rights: + description: 'Rights: The rights associated with the rule.' + items: + type: string + type: array + systemData: + description: 'SystemData: The system meta data relating to this resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The type of identity that last modified the resource.' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object type: - description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + description: 'Type: The type of the resource. E.g. "Microsoft.EventHub/Namespaces" or "Microsoft.EventHub/Namespaces/EventHubs"' type: string type: object type: object @@ -364253,14 +450727,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20230501previewstorage + name: v1api20240101storage schema: openAPIV3Schema: description: |- - Storage version of v1api20230501preview.Subscription + Storage version of v1api20240101.TopicAuthorizationRule Generator information: - - Generated from: /apimanagement/resource-manager/Microsoft.ApiManagement/preview/2023-05-01-preview/apimsubscriptions.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid} + - Generated from: /servicebus/resource-manager/Microsoft.ServiceBus/stable/2024-01-01/AuthorizationRules.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName} properties: apiVersion: description: |- @@ -364280,7 +450754,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20230501preview.Subscription_Spec + description: Storage version of v1api20240101.TopicAuthorizationRule_Spec properties: $propertyBag: additionalProperties: @@ -364289,18 +450763,14 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowTracing: - type: boolean azureName: description: |- AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it doesn't have to be. type: string - displayName: - type: string operatorSpec: description: |- - Storage version of v1api20230501preview.SubscriptionOperatorSpec + Storage version of v1api20240101.TopicAuthorizationRuleOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -364368,53 +450838,6 @@ spec: - value type: object type: array - secrets: - description: Storage version of v1api20230501preview.SubscriptionOperatorSecrets - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - primaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - secondaryKey: - description: |- - SecretDestination describes the location to store a single secret value. - Note: This is similar to: ConfigMapDestination in configmaps.go. - Changes to one may need to be made to the others as well. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced. - type: string - name: - description: |- - Name is the name of the Kubernetes secret to write to. - The secret will be created in the same namespace as the resource. - type: string - required: - - key - - name - type: object - type: object type: object originalVersion: type: string @@ -364422,7 +450845,7 @@ spec: description: |- Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a - reference to a apimanagement.azure.com/Service resource + reference to a servicebus.azure.com/NamespacesTopic resource properties: armId: pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) @@ -364431,69 +450854,15 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object - ownerReference: - description: 'OwnerReference: User (user id path) for whom subscription is being created in form /users/{userId}' - properties: - armId: - description: |- - ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. - The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level - ARMID is mutually exclusive with Group, Kind, Namespace and Name. - pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) - type: string - group: - description: Group is the Kubernetes group of the resource. - type: string - kind: - description: Kind is the Kubernetes kind of the resource. - type: string - name: - description: Name is the Kubernetes name of the resource. - type: string - type: object - primaryKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - scope: - type: string - secondaryKey: - description: |- - SecretReference is a reference to a Kubernetes secret and key in the same namespace as - the resource it is on. - properties: - key: - description: Key is the key in the Kubernetes secret being referenced - type: string - name: - description: |- - Name is the name of the Kubernetes secret being referenced. - The secret must be in the same namespace as the resource - type: string - required: - - key - - name - type: object - state: - type: string + rights: + items: + type: string + type: array required: - owner type: object status: - description: Storage version of v1api20230501preview.Subscription_STATUS + description: Storage version of v1api20240101.TopicAuthorizationRule_STATUS properties: $propertyBag: additionalProperties: @@ -364502,8 +450871,6 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - allowTracing: - type: boolean conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -364547,36 +450914,47 @@ spec: - type type: object type: array - createdDate: - type: string - displayName: - type: string - endDate: - type: string - expirationDate: - type: string id: type: string - name: - type: string - notificationDate: - type: string - ownerId: - type: string - scope: - type: string - startDate: - type: string - state: + location: type: string - stateComment: + name: type: string + rights: + items: + type: string + type: array + systemData: + description: |- + Storage version of v1api20240101.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object type: type: string type: object type: object served: true - storage: false + storage: true subresources: status: {} --- @@ -364585,10 +450963,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: topics.eventgrid.azure.com spec: conversion: @@ -364604,6 +450982,9 @@ spec: - v1 group: eventgrid.azure.com names: + categories: + - azure + - eventgrid kind: Topic listKind: TopicList plural: topics @@ -365788,10 +452169,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: trafficmanagerprofiles.network.azure.com spec: conversion: @@ -365807,6 +452188,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: TrafficManagerProfile listKind: TrafficManagerProfileList plural: trafficmanagerprofiles @@ -366721,10 +453105,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: trafficmanagerprofilesazureendpoints.network.azure.com spec: conversion: @@ -366740,6 +453124,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: TrafficManagerProfilesAzureEndpoint listKind: TrafficManagerProfilesAzureEndpointList plural: trafficmanagerprofilesazureendpoints @@ -367509,10 +453896,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: trafficmanagerprofilesexternalendpoints.network.azure.com spec: conversion: @@ -367528,6 +453915,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: TrafficManagerProfilesExternalEndpoint listKind: TrafficManagerProfilesExternalEndpointList plural: trafficmanagerprofilesexternalendpoints @@ -368297,10 +454687,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: trafficmanagerprofilesnestedendpoints.network.azure.com spec: conversion: @@ -368316,6 +454706,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: TrafficManagerProfilesNestedEndpoint listKind: TrafficManagerProfilesNestedEndpointList plural: trafficmanagerprofilesnestedendpoints @@ -369085,10 +455478,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: trustedaccessrolebindings.containerservice.azure.com spec: conversion: @@ -369104,6 +455497,9 @@ spec: - v1 group: containerservice.azure.com names: + categories: + - azure + - containerservice kind: TrustedAccessRoleBinding listKind: TrustedAccessRoleBindingList plural: trustedaccessrolebindings @@ -370686,10 +457082,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: userassignedidentities.managedidentity.azure.com spec: conversion: @@ -370705,6 +457101,9 @@ spec: - v1 group: managedidentity.azure.com names: + categories: + - azure + - managedidentity kind: UserAssignedIdentity listKind: UserAssignedIdentityList plural: userassignedidentities @@ -371993,10 +458392,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: users.dbformysql.azure.com spec: conversion: @@ -372012,6 +458411,9 @@ spec: - v1 group: dbformysql.azure.com names: + categories: + - azure + - dbformysql kind: User listKind: UserList plural: users @@ -372237,10 +458639,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: users.dbforpostgresql.azure.com spec: conversion: @@ -372256,6 +458658,9 @@ spec: - v1 group: dbforpostgresql.azure.com names: + categories: + - azure + - dbforpostgresql kind: User listKind: UserList plural: users @@ -372452,10 +458857,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: users.sql.azure.com spec: conversion: @@ -372471,6 +458876,9 @@ spec: - v1 group: sql.azure.com names: + categories: + - azure + - sql kind: User listKind: UserList plural: users @@ -372656,10 +459064,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: vaults.keyvault.azure.com spec: conversion: @@ -372675,6 +459083,9 @@ spec: - v1 group: keyvault.azure.com names: + categories: + - azure + - keyvault kind: Vault listKind: VaultList plural: vaults @@ -375633,10 +462044,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualmachines.compute.azure.com spec: conversion: @@ -375652,6 +462063,9 @@ spec: - v1 group: compute.azure.com names: + categories: + - azure + - compute kind: VirtualMachine listKind: VirtualMachineList plural: virtualmachines @@ -389404,10 +475818,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualmachinescalesets.compute.azure.com spec: conversion: @@ -389423,6 +475837,9 @@ spec: - v1 group: compute.azure.com names: + categories: + - azure + - compute kind: VirtualMachineScaleSet listKind: VirtualMachineScaleSetList plural: virtualmachinescalesets @@ -401654,10 +488071,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualmachinescalesetsextensions.compute.azure.com spec: conversion: @@ -401673,6 +488090,9 @@ spec: - v1 group: compute.azure.com names: + categories: + - azure + - compute kind: VirtualMachineScaleSetsExtension listKind: VirtualMachineScaleSetsExtensionList plural: virtualmachinescalesetsextensions @@ -402900,10 +489320,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualmachinesextensions.compute.azure.com spec: conversion: @@ -402919,6 +489339,9 @@ spec: - v1 group: compute.azure.com names: + categories: + - azure + - compute kind: VirtualMachinesExtension listKind: VirtualMachinesExtensionList plural: virtualmachinesextensions @@ -404679,10 +491102,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualnetworkgateways.network.azure.com spec: conversion: @@ -404698,6 +491121,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: VirtualNetworkGateway listKind: VirtualNetworkGatewayList plural: virtualnetworkgateways @@ -409369,10 +495795,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualnetworks.network.azure.com spec: conversion: @@ -409388,6 +495814,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: VirtualNetwork listKind: VirtualNetworkList plural: virtualnetworks @@ -411215,10 +497644,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualnetworkssubnets.network.azure.com spec: conversion: @@ -411234,6 +497663,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: VirtualNetworksSubnet listKind: VirtualNetworksSubnetList plural: virtualnetworkssubnets @@ -411690,7 +498122,9 @@ spec: type: object type: array ipConfigurations: - description: 'IpConfigurations: An array of references to the network interface IP configurations using subnet.' + description: |- + IpConfigurations: An array of references to the network interface IP configurations using subnet. This field is not + included if there are more than 2000 entries. items: description: IP configuration. properties: @@ -413010,7 +499444,9 @@ spec: type: object type: array ipConfigurations: - description: 'IpConfigurations: An array of references to the network interface IP configurations using subnet.' + description: |- + IpConfigurations: An array of references to the network interface IP configurations using subnet. This field is not + included if there are more than 2000 entries. items: description: IP configuration. properties: @@ -413911,10 +500347,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: virtualnetworksvirtualnetworkpeerings.network.azure.com spec: conversion: @@ -413930,6 +500366,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: VirtualNetworksVirtualNetworkPeering listKind: VirtualNetworksVirtualNetworkPeeringList plural: virtualnetworksvirtualnetworkpeerings @@ -415557,10 +501996,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: webapplicationfirewallpolicies.network.azure.com spec: conversion: @@ -415576,6 +502015,9 @@ spec: - v1 group: network.azure.com names: + categories: + - azure + - network kind: WebApplicationFirewallPolicy listKind: WebApplicationFirewallPolicyList plural: webapplicationfirewallpolicies @@ -417396,10 +503838,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: webapplicationfirewallpolicies.network.frontdoor.azure.com spec: conversion: @@ -417415,6 +503857,9 @@ spec: - v1 group: network.frontdoor.azure.com names: + categories: + - azure + - networkfrontdoor kind: WebApplicationFirewallPolicy listKind: WebApplicationFirewallPolicyList plural: webapplicationfirewallpolicies @@ -418976,10 +505421,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: webtests.insights.azure.com spec: conversion: @@ -418995,6 +505440,9 @@ spec: - v1 group: insights.azure.com names: + categories: + - azure + - insights kind: Webtest listKind: WebtestList plural: webtests @@ -419451,13 +505899,914 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20180501previewstorage + name: v1api20180501previewstorage + schema: + openAPIV3Schema: + description: |- + Storage version of v1api20180501preview.Webtest + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/webTests_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: Storage version of v1api20180501preview.Webtest_Spec + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Configuration: + description: Storage version of v1api20180501preview.WebTestProperties_Configuration + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + WebTest: + type: string + type: object + Description: + type: string + Enabled: + type: boolean + Frequency: + type: integer + Kind: + type: string + Locations: + items: + description: |- + Storage version of v1api20180501preview.WebTestGeolocation + Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Id: + type: string + type: object + type: array + Name: + type: string + Request: + description: Storage version of v1api20180501preview.WebTestProperties_Request + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + FollowRedirects: + type: boolean + Headers: + items: + description: |- + Storage version of v1api20180501preview.HeaderField + A header to add to the WebTest. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + HttpVerb: + type: string + ParseDependentRequests: + type: boolean + RequestBody: + type: string + RequestUrl: + type: string + type: object + RetryEnabled: + type: boolean + SyntheticMonitorId: + type: string + Timeout: + type: integer + ValidationRules: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentValidation: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_ContentValidation + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentMatch: + type: string + IgnoreCase: + type: boolean + PassIfTextFound: + type: boolean + type: object + ExpectedHttpStatusCode: + type: integer + IgnoreHttpsStatusCode: + type: boolean + SSLCertRemainingLifetimeCheck: + type: integer + SSLCheck: + type: boolean + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + type: string + operatorSpec: + description: |- + Storage version of v1api20180501preview.WebtestOperatorSpec + Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + configMapExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + originalVersion: + type: string + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + type: object + required: + - owner + type: object + status: + description: Storage version of v1api20180501preview.Webtest_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Configuration: + description: Storage version of v1api20180501preview.WebTestProperties_Configuration_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + WebTest: + type: string + type: object + Description: + type: string + Enabled: + type: boolean + Frequency: + type: integer + Kind: + type: string + Locations: + items: + description: |- + Storage version of v1api20180501preview.WebTestGeolocation_STATUS + Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + Id: + type: string + type: object + type: array + Request: + description: Storage version of v1api20180501preview.WebTestProperties_Request_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + FollowRedirects: + type: boolean + Headers: + items: + description: |- + Storage version of v1api20180501preview.HeaderField_STATUS + A header to add to the WebTest. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + key: + type: string + value: + type: string + type: object + type: array + HttpVerb: + type: string + ParseDependentRequests: + type: boolean + RequestBody: + type: string + RequestUrl: + type: string + type: object + RetryEnabled: + type: boolean + SyntheticMonitorId: + type: string + Timeout: + type: integer + ValidationRules: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentValidation: + description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_ContentValidation_STATUS + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + ContentMatch: + type: string + IgnoreCase: + type: boolean + PassIfTextFound: + type: boolean + type: object + ExpectedHttpStatusCode: + type: integer + IgnoreHttpsStatusCode: + type: boolean + SSLCertRemainingLifetimeCheck: + type: integer + SSLCheck: + type: boolean + type: object + conditions: + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + type: string + location: + type: string + name: + type: string + properties_name: + type: string + provisioningState: + type: string + tags: + additionalProperties: + type: string + type: object + type: + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220615 + schema: + openAPIV3Schema: + description: |- + Generator information: + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2022-06-15/webTests_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + properties: + Configuration: + description: 'Configuration: An XML configuration specification for a WebTest.' + properties: + WebTest: + description: 'WebTest: The XML specification of a WebTest to run against an application.' + type: string + type: object + Description: + description: 'Description: User defined description for this WebTest.' + type: string + Enabled: + description: 'Enabled: Is the test actively being monitored.' + type: boolean + Frequency: + description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' + type: integer + Kind: + description: 'Kind: The kind of web test this is, valid choices are ping, multistep and standard.' + enum: + - multistep + - ping + - standard + type: string + Locations: + description: |- + Locations: A list of where to physically run the tests from to give global coverage for accessibility of your + application. + items: + description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + Id: + description: 'Id: Location ID for the WebTest to run from.' + type: string + type: object + type: array + Name: + description: 'Name: User defined name if this WebTest.' + type: string + Request: + description: 'Request: The collection of request properties' + properties: + FollowRedirects: + description: 'FollowRedirects: Follow redirects for this web test.' + type: boolean + Headers: + description: 'Headers: List of headers and their values to add to the WebTest call.' + items: + description: A header to add to the WebTest. + properties: + key: + description: 'Key: The name of the header.' + type: string + value: + description: 'Value: The value of the header.' + type: string + type: object + type: array + HttpVerb: + description: 'HttpVerb: Http verb to use for this web test.' + type: string + ParseDependentRequests: + description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' + type: boolean + RequestBody: + description: 'RequestBody: Base64 encoded string body to send with this web test.' + type: string + RequestUrl: + description: 'RequestUrl: Url location to test.' + type: string + type: object + RetryEnabled: + description: 'RetryEnabled: Allow for retries should this WebTest fail.' + type: boolean + SyntheticMonitorId: + description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + type: string + Timeout: + description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' + type: integer + ValidationRules: + description: 'ValidationRules: The collection of validation rule properties' + properties: + ContentValidation: + description: 'ContentValidation: The collection of content validation properties' + properties: + ContentMatch: + description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' + type: string + IgnoreCase: + description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' + type: boolean + PassIfTextFound: + description: |- + PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation + will fail if there is a match + type: boolean + type: object + ExpectedHttpStatusCode: + description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' + type: integer + IgnoreHttpStatusCode: + description: 'IgnoreHttpStatusCode: When set, validation will ignore the status code.' + type: boolean + SSLCertRemainingLifetimeCheck: + description: |- + SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value + must be positive and the SSLCheck must be set to true. + type: integer + SSLCheck: + description: 'SSLCheck: Checks to see if the SSL cert is still valid.' + type: boolean + type: object + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. + type: string + location: + description: 'Location: Resource location' + type: string + operatorSpec: + description: |- + OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + passed directly to Azure + properties: + configMapExpressions: + description: 'ConfigMapExpressions: configures where to place operator written dynamic ConfigMaps (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + secretExpressions: + description: 'SecretExpressions: configures where to place operator written dynamic secrets (created with CEL expressions).' + items: + description: |- + DestinationExpression is a CEL expression and a destination to store the result in. The destination may + be a secret or a configmap. The value of the expression is stored at the specified location in + the destination. + properties: + key: + description: |- + Key is the key in the ConfigMap or Secret being written to. If the CEL expression in Value returns a string + this is required to identify what key to write to. If the CEL expression in Value returns a map[string]string + Key must not be set, instead the keys written will be determined dynamically based on the keys of the resulting + map[string]string. + type: string + name: + description: |- + Name is the name of the Kubernetes configmap or secret to write to. + The configmap or secret will be created in the same namespace as the resource. + type: string + value: + description: |- + Value is a CEL expression. The CEL expression may return a string or a map[string]string. For more information + on CEL in ASO see https://azure.github.io/azure-service-operator/guide/expressions/ + type: string + required: + - name + - value + type: object + type: array + type: object + owner: + description: |- + Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + reference to a resources.azure.com/ResourceGroup resource + properties: + armId: + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + name: + description: This is the name of the Kubernetes resource to reference. + type: string + type: object + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + required: + - Kind + - Locations + - Name + - SyntheticMonitorId + - location + - owner + type: object + status: + properties: + Configuration: + description: 'Configuration: An XML configuration specification for a WebTest.' + properties: + WebTest: + description: 'WebTest: The XML specification of a WebTest to run against an application.' + type: string + type: object + Description: + description: 'Description: User defined description for this WebTest.' + type: string + Enabled: + description: 'Enabled: Is the test actively being monitored.' + type: boolean + Frequency: + description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' + type: integer + Kind: + description: 'Kind: The kind of web test this is, valid choices are ping, multistep and standard.' + type: string + Locations: + description: |- + Locations: A list of where to physically run the tests from to give global coverage for accessibility of your + application. + items: + description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. + properties: + Id: + description: 'Id: Location ID for the WebTest to run from.' + type: string + type: object + type: array + Request: + description: 'Request: The collection of request properties' + properties: + FollowRedirects: + description: 'FollowRedirects: Follow redirects for this web test.' + type: boolean + Headers: + description: 'Headers: List of headers and their values to add to the WebTest call.' + items: + description: A header to add to the WebTest. + properties: + key: + description: 'Key: The name of the header.' + type: string + value: + description: 'Value: The value of the header.' + type: string + type: object + type: array + HttpVerb: + description: 'HttpVerb: Http verb to use for this web test.' + type: string + ParseDependentRequests: + description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' + type: boolean + RequestBody: + description: 'RequestBody: Base64 encoded string body to send with this web test.' + type: string + RequestUrl: + description: 'RequestUrl: Url location to test.' + type: string + type: object + RetryEnabled: + description: 'RetryEnabled: Allow for retries should this WebTest fail.' + type: boolean + SyntheticMonitorId: + description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + type: string + Timeout: + description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' + type: integer + ValidationRules: + description: 'ValidationRules: The collection of validation rule properties' + properties: + ContentValidation: + description: 'ContentValidation: The collection of content validation properties' + properties: + ContentMatch: + description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' + type: string + IgnoreCase: + description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' + type: boolean + PassIfTextFound: + description: |- + PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation + will fail if there is a match + type: boolean + type: object + ExpectedHttpStatusCode: + description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' + type: integer + IgnoreHttpStatusCode: + description: 'IgnoreHttpStatusCode: When set, validation will ignore the status code.' + type: boolean + SSLCertRemainingLifetimeCheck: + description: |- + SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value + must be positive and the SSLCheck must be set to true. + type: integer + SSLCheck: + description: 'SSLCheck: Checks to see if the SSL cert is still valid.' + type: boolean + type: object + conditions: + description: 'Conditions: The observed state of the resource' + items: + description: Condition defines an extension to status (an observation) of a resource + properties: + lastTransitionTime: + description: LastTransitionTime is the last time the condition transitioned from one status to another. + format: date-time + type: string + message: + description: Message is a human readable message indicating details about the transition. This field may be empty. + type: string + observedGeneration: + description: |- + ObservedGeneration is the .metadata.generation that the condition was set based upon. For instance, if + .metadata.generation is currently 12, but the .status.condition[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + type: integer + reason: + description: |- + Reason for the condition's last transition. + Reasons are upper CamelCase (PascalCase) with no spaces. A reason is always provided, this field will not be empty. + type: string + severity: + description: |- + Severity with which to treat failures of this type of condition. + For conditions which have positive polarity (Status == True is their normal/healthy state), this will be omitted when Status == True + For conditions which have negative polarity (Status == False is their normal/healthy state), this will be omitted when Status == False. + This is omitted in all cases when Status == Unknown + type: string + status: + description: Status of the condition, one of True, False, or Unknown. + type: string + type: + description: Type of condition. + type: string + required: + - lastTransitionTime + - reason + - status + - type + type: object + type: array + id: + description: 'Id: Azure resource Id' + type: string + location: + description: 'Location: Resource location' + type: string + name: + description: 'Name: Azure resource name' + type: string + properties_name: + description: 'PropertiesName: User defined name if this WebTest.' + type: string + provisioningState: + description: |- + ProvisioningState: Current state of this component, whether or not is has been provisioned within the resource group it + is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, + Canceled, and Failed. + type: string + tags: + additionalProperties: + type: string + description: 'Tags: Resource tags' + type: object + type: + description: 'Type: Azure resource type' + type: string + type: object + type: object + served: true + storage: false + subresources: + status: {} + - additionalPrinterColumns: + - jsonPath: .status.conditions[?(@.type=='Ready')].status + name: Ready + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].severity + name: Severity + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].reason + name: Reason + type: string + - jsonPath: .status.conditions[?(@.type=='Ready')].message + name: Message + type: string + name: v1api20220615storage schema: openAPIV3Schema: description: |- - Storage version of v1api20180501preview.Webtest + Storage version of v1api20220615.Webtest Generator information: - - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/preview/2018-05-01-preview/webTests_API.json + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2022-06-15/webTests_API.json - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} properties: apiVersion: @@ -419478,7 +506827,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20180501preview.Webtest_Spec + description: Storage version of v1api20220615.Webtest_Spec properties: $propertyBag: additionalProperties: @@ -419488,7 +506837,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object Configuration: - description: Storage version of v1api20180501preview.WebTestProperties_Configuration + description: Storage version of v1api20220615.WebTestProperties_Configuration properties: $propertyBag: additionalProperties: @@ -419511,7 +506860,7 @@ spec: Locations: items: description: |- - Storage version of v1api20180501preview.WebTestGeolocation + Storage version of v1api20220615.WebTestGeolocation Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. properties: $propertyBag: @@ -419528,7 +506877,7 @@ spec: Name: type: string Request: - description: Storage version of v1api20180501preview.WebTestProperties_Request + description: Storage version of v1api20220615.WebTestProperties_Request properties: $propertyBag: additionalProperties: @@ -419542,7 +506891,7 @@ spec: Headers: items: description: |- - Storage version of v1api20180501preview.HeaderField + Storage version of v1api20220615.HeaderField A header to add to the WebTest. properties: $propertyBag: @@ -419574,7 +506923,7 @@ spec: Timeout: type: integer ValidationRules: - description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules + description: Storage version of v1api20220615.WebTestProperties_ValidationRules properties: $propertyBag: additionalProperties: @@ -419584,7 +506933,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object ContentValidation: - description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_ContentValidation + description: Storage version of v1api20220615.WebTestProperties_ValidationRules_ContentValidation properties: $propertyBag: additionalProperties: @@ -419602,7 +506951,7 @@ spec: type: object ExpectedHttpStatusCode: type: integer - IgnoreHttpsStatusCode: + IgnoreHttpStatusCode: type: boolean SSLCertRemainingLifetimeCheck: type: integer @@ -419618,7 +506967,7 @@ spec: type: string operatorSpec: description: |- - Storage version of v1api20180501preview.WebtestOperatorSpec + Storage version of v1api20220615.WebtestOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -419710,7 +507059,7 @@ spec: - owner type: object status: - description: Storage version of v1api20180501preview.Webtest_STATUS + description: Storage version of v1api20220615.Webtest_STATUS properties: $propertyBag: additionalProperties: @@ -419720,7 +507069,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object Configuration: - description: Storage version of v1api20180501preview.WebTestProperties_Configuration_STATUS + description: Storage version of v1api20220615.WebTestProperties_Configuration_STATUS properties: $propertyBag: additionalProperties: @@ -419743,7 +507092,7 @@ spec: Locations: items: description: |- - Storage version of v1api20180501preview.WebTestGeolocation_STATUS + Storage version of v1api20220615.WebTestGeolocation_STATUS Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. properties: $propertyBag: @@ -419758,7 +507107,7 @@ spec: type: object type: array Request: - description: Storage version of v1api20180501preview.WebTestProperties_Request_STATUS + description: Storage version of v1api20220615.WebTestProperties_Request_STATUS properties: $propertyBag: additionalProperties: @@ -419772,7 +507121,7 @@ spec: Headers: items: description: |- - Storage version of v1api20180501preview.HeaderField_STATUS + Storage version of v1api20220615.HeaderField_STATUS A header to add to the WebTest. properties: $propertyBag: @@ -419804,7 +507153,7 @@ spec: Timeout: type: integer ValidationRules: - description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_STATUS + description: Storage version of v1api20220615.WebTestProperties_ValidationRules_STATUS properties: $propertyBag: additionalProperties: @@ -419814,7 +507163,7 @@ spec: resources, allowing for full fidelity round trip conversions type: object ContentValidation: - description: Storage version of v1api20180501preview.WebTestProperties_ValidationRules_ContentValidation_STATUS + description: Storage version of v1api20220615.WebTestProperties_ValidationRules_ContentValidation_STATUS properties: $propertyBag: additionalProperties: @@ -419832,7 +507181,7 @@ spec: type: object ExpectedHttpStatusCode: type: integer - IgnoreHttpsStatusCode: + IgnoreHttpStatusCode: type: boolean SSLCertRemainingLifetimeCheck: type: integer @@ -419901,9 +507250,44 @@ spec: type: object type: object served: true - storage: false + storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + controller-gen.kubebuilder.io/version: v0.17.3 + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: workbooks.insights.azure.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /convert + port: 443 + conversionReviewVersions: + - v1 + group: insights.azure.com + names: + categories: + - azure + - insights + kind: Workbook + listKind: WorkbookList + plural: workbooks + singular: workbook + preserveUnknownFields: false + scope: Namespaced + versions: - additionalPrinterColumns: - jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready @@ -419917,13 +507301,13 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220615 + name: v1api20230601 schema: openAPIV3Schema: description: |- Generator information: - - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2022-06-15/webTests_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2023-06-01/workbooks_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName} properties: apiVersion: description: |- @@ -419944,125 +507328,67 @@ spec: type: object spec: properties: - Configuration: - description: 'Configuration: An XML configuration specification for a WebTest.' - properties: - WebTest: - description: 'WebTest: The XML specification of a WebTest to run against an application.' - type: string - type: object - Description: - description: 'Description: User defined description for this WebTest.' + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - Enabled: - description: 'Enabled: Is the test actively being monitored.' - type: boolean - Frequency: - description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' - type: integer - Kind: - description: 'Kind: The kind of web test this is, valid choices are ping, multistep and standard.' - enum: - - multistep - - ping - - standard + category: + description: 'Category: Workbook category, as defined by the user at creation time.' type: string - Locations: - description: |- - Locations: A list of where to physically run the tests from to give global coverage for accessibility of your - application. - items: - description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. - properties: - Id: - description: 'Id: Location ID for the WebTest to run from.' - type: string - type: object - type: array - Name: - description: 'Name: User defined name if this WebTest.' + description: + description: 'Description: The description of the workbook.' type: string - Request: - description: 'Request: The collection of request properties' + displayName: + description: 'DisplayName: The user-defined name (display name) of the workbook.' + type: string + identity: + description: 'Identity: Identity used for BYOS' properties: - FollowRedirects: - description: 'FollowRedirects: Follow redirects for this web test.' - type: boolean - Headers: - description: 'Headers: List of headers and their values to add to the WebTest call.' + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + enum: + - None + - SystemAssigned + - SystemAssigned,UserAssigned + - UserAssigned + type: string + userAssignedIdentities: items: - description: A header to add to the WebTest. + description: Information about the user assigned identity for the resource properties: - key: - description: 'Key: The name of the header.' - type: string - value: - description: 'Value: The value of the header.' - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array - HttpVerb: - description: 'HttpVerb: Http verb to use for this web test.' - type: string - ParseDependentRequests: - description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' - type: boolean - RequestBody: - description: 'RequestBody: Base64 encoded string body to send with this web test.' - type: string - RequestUrl: - description: 'RequestUrl: Url location to test.' - type: string - type: object - RetryEnabled: - description: 'RetryEnabled: Allow for retries should this WebTest fail.' - type: boolean - SyntheticMonitorId: - description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' - type: string - Timeout: - description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' - type: integer - ValidationRules: - description: 'ValidationRules: The collection of validation rule properties' - properties: - ContentValidation: - description: 'ContentValidation: The collection of content validation properties' - properties: - ContentMatch: - description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' - type: string - IgnoreCase: - description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' - type: boolean - PassIfTextFound: - description: |- - PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation - will fail if there is a match - type: boolean - type: object - ExpectedHttpStatusCode: - description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' - type: integer - IgnoreHttpStatusCode: - description: 'IgnoreHttpStatusCode: When set, validation will ignore the status code.' - type: boolean - SSLCertRemainingLifetimeCheck: - description: |- - SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value - must be positive and the SSLCheck must be set to true. - type: integer - SSLCheck: - description: 'SSLCheck: Checks to see if the SSL cert is still valid.' - type: boolean + required: + - type type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + kind: + description: 'Kind: The kind of workbook. Only valid value is shared.' + enum: + - shared type: string location: - description: 'Location: Resource location' + description: 'Location: The geo-location where the resource lives' type: string operatorSpec: description: |- @@ -420143,126 +507469,75 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + properties_tags: + description: 'PropertiesTags: Being deprecated, please use the other tags field' + items: + type: string + type: array + serializedData: + description: 'SerializedData: Configuration of this particular workbook. Configuration data is a string containing valid JSON' + type: string + sourceReference: + description: 'SourceReference: ResourceId for a source resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageUriReference: + description: 'StorageUriReference: The resourceId to the storage account when bring your own storage is used' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object + version: + description: 'Version: Workbook schema version format, like ''Notebook/1.0'', which should match the workbook in serializedData' + type: string required: - - Kind - - Locations - - Name - - SyntheticMonitorId + - category + - displayName - location - owner + - serializedData type: object status: + description: A workbook definition. properties: - Configuration: - description: 'Configuration: An XML configuration specification for a WebTest.' - properties: - WebTest: - description: 'WebTest: The XML specification of a WebTest to run against an application.' - type: string - type: object - Description: - description: 'Description: User defined description for this WebTest.' - type: string - Enabled: - description: 'Enabled: Is the test actively being monitored.' - type: boolean - Frequency: - description: 'Frequency: Interval in seconds between test runs for this WebTest. Default value is 300.' - type: integer - Kind: - description: 'Kind: The kind of web test this is, valid choices are ping, multistep and standard.' - type: string - Locations: - description: |- - Locations: A list of where to physically run the tests from to give global coverage for accessibility of your - application. - items: - description: Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. - properties: - Id: - description: 'Id: Location ID for the WebTest to run from.' - type: string - type: object - type: array - Request: - description: 'Request: The collection of request properties' - properties: - FollowRedirects: - description: 'FollowRedirects: Follow redirects for this web test.' - type: boolean - Headers: - description: 'Headers: List of headers and their values to add to the WebTest call.' - items: - description: A header to add to the WebTest. - properties: - key: - description: 'Key: The name of the header.' - type: string - value: - description: 'Value: The value of the header.' - type: string - type: object - type: array - HttpVerb: - description: 'HttpVerb: Http verb to use for this web test.' - type: string - ParseDependentRequests: - description: 'ParseDependentRequests: Parse Dependent request for this WebTest.' - type: boolean - RequestBody: - description: 'RequestBody: Base64 encoded string body to send with this web test.' - type: string - RequestUrl: - description: 'RequestUrl: Url location to test.' - type: string - type: object - RetryEnabled: - description: 'RetryEnabled: Allow for retries should this WebTest fail.' - type: boolean - SyntheticMonitorId: - description: 'SyntheticMonitorId: Unique ID of this WebTest. This is typically the same value as the Name field.' + category: + description: 'Category: Workbook category, as defined by the user at creation time.' type: string - Timeout: - description: 'Timeout: Seconds until this WebTest will timeout and fail. Default value is 30.' - type: integer - ValidationRules: - description: 'ValidationRules: The collection of validation rule properties' - properties: - ContentValidation: - description: 'ContentValidation: The collection of content validation properties' - properties: - ContentMatch: - description: 'ContentMatch: Content to look for in the return of the WebTest. Must not be null or empty.' - type: string - IgnoreCase: - description: 'IgnoreCase: When set, this value makes the ContentMatch validation case insensitive.' - type: boolean - PassIfTextFound: - description: |- - PassIfTextFound: When true, validation will pass if there is a match for the ContentMatch string. If false, validation - will fail if there is a match - type: boolean - type: object - ExpectedHttpStatusCode: - description: 'ExpectedHttpStatusCode: Validate that the WebTest returns the http status code provided.' - type: integer - IgnoreHttpStatusCode: - description: 'IgnoreHttpStatusCode: When set, validation will ignore the status code.' - type: boolean - SSLCertRemainingLifetimeCheck: - description: |- - SSLCertRemainingLifetimeCheck: A number of days to check still remain before the the existing SSL cert expires. Value - must be positive and the SSLCheck must be set to true. - type: integer - SSLCheck: - description: 'SSLCheck: Checks to see if the SSL cert is still valid.' - type: boolean - type: object conditions: description: 'Conditions: The observed state of the resource' items: @@ -420307,31 +507582,113 @@ spec: - type type: object type: array + description: + description: 'Description: The description of the workbook.' + type: string + displayName: + description: 'DisplayName: The user-defined name (display name) of the workbook.' + type: string + etag: + description: 'Etag: Resource etag' + type: string id: - description: 'Id: Azure resource Id' + description: |- + Id: Fully qualified resource ID for the resource. Ex - + /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + type: string + identity: + description: 'Identity: Identity used for BYOS' + properties: + principalId: + description: |- + PrincipalId: The service principal ID of the system assigned identity. This property will only be provided for a system + assigned identity. + type: string + tenantId: + description: |- + TenantId: The tenant ID of the system assigned identity. This property will only be provided for a system assigned + identity. + type: string + type: + description: 'Type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).' + type: string + userAssignedIdentities: + additionalProperties: + description: User assigned identity properties + properties: + clientId: + description: 'ClientId: The client ID of the assigned identity.' + type: string + principalId: + description: 'PrincipalId: The principal ID of the assigned identity.' + type: string + type: object + type: object + type: object + kind: + description: 'Kind: The kind of workbook. Only valid value is shared.' type: string location: - description: 'Location: Resource location' + description: 'Location: The geo-location where the resource lives' type: string name: - description: 'Name: Azure resource name' + description: 'Name: The name of the resource' type: string - properties_name: - description: 'PropertiesName: User defined name if this WebTest.' + properties_tags: + description: 'PropertiesTags: Being deprecated, please use the other tags field' + items: + type: string + type: array + revision: + description: 'Revision: The unique revision id for this workbook definition' type: string - provisioningState: - description: |- - ProvisioningState: Current state of this component, whether or not is has been provisioned within the resource group it - is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, - Canceled, and Failed. + serializedData: + description: 'SerializedData: Configuration of this particular workbook. Configuration data is a string containing valid JSON' + type: string + sourceId: + description: 'SourceId: ResourceId for a source resource.' + type: string + storageUri: + description: 'StorageUri: The resourceId to the storage account when bring your own storage is used' type: string + systemData: + description: 'SystemData: Metadata pertaining to creation and last modification of the resource.' + properties: + createdAt: + description: 'CreatedAt: The timestamp of resource creation (UTC).' + type: string + createdBy: + description: 'CreatedBy: The identity that created the resource.' + type: string + createdByType: + description: 'CreatedByType: The type of identity that created the resource.' + type: string + lastModifiedAt: + description: 'LastModifiedAt: The timestamp of resource last modification (UTC)' + type: string + lastModifiedBy: + description: 'LastModifiedBy: The identity that last modified the resource.' + type: string + lastModifiedByType: + description: 'LastModifiedByType: The type of identity that last modified the resource.' + type: string + type: object tags: additionalProperties: type: string - description: 'Tags: Resource tags' + description: 'Tags: Resource tags.' type: object + timeModified: + description: 'TimeModified: Date and time in UTC of the last modification that was made to this workbook definition.' + type: string type: - description: 'Type: Azure resource type' + description: 'Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"' + type: string + userId: + description: 'UserId: Unique user id of the specific user that owns this workbook.' + type: string + version: + description: 'Version: Workbook schema version format, like ''Notebook/1.0'', which should match the workbook in serializedData' type: string type: object type: object @@ -420352,14 +507709,14 @@ spec: - jsonPath: .status.conditions[?(@.type=='Ready')].message name: Message type: string - name: v1api20220615storage + name: v1api20230601storage schema: openAPIV3Schema: description: |- - Storage version of v1api20220615.Webtest + Storage version of v1api20230601.Workbook Generator information: - - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2022-06-15/webTests_API.json - - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/webtests/{webTestName} + - Generated from: /applicationinsights/resource-manager/Microsoft.Insights/stable/2023-06-01/workbooks_API.json + - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/workbooks/{resourceName} properties: apiVersion: description: |- @@ -420379,7 +507736,7 @@ spec: metadata: type: object spec: - description: Storage version of v1api20220615.Webtest_Spec + description: Storage version of v1api20230601.Workbook_Spec properties: $propertyBag: additionalProperties: @@ -420388,48 +507745,21 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - Configuration: - description: Storage version of v1api20220615.WebTestProperties_Configuration - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - WebTest: - type: string - type: object - Description: + azureName: + description: |- + AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + doesn't have to be. type: string - Enabled: - type: boolean - Frequency: - type: integer - Kind: + category: type: string - Locations: - items: - description: |- - Storage version of v1api20220615.WebTestGeolocation - Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - Id: - type: string - type: object - type: array - Name: + description: type: string - Request: - description: Storage version of v1api20220615.WebTestProperties_Request + displayName: + type: string + identity: + description: |- + Storage version of v1api20230601.ManagedServiceIdentity + Managed service identity (system assigned and/or user assigned identities) properties: $propertyBag: additionalProperties: @@ -420438,13 +507768,13 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - FollowRedirects: - type: boolean - Headers: + type: + type: string + userAssignedIdentities: items: description: |- - Storage version of v1api20220615.HeaderField - A header to add to the WebTest. + Storage version of v1api20230601.UserAssignedIdentityDetails + Information about the user assigned identity for the resource properties: $propertyBag: additionalProperties: @@ -420453,73 +507783,36 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - key: - type: string - value: - type: string + reference: + description: ResourceReference represents a resource reference, either to a Kubernetes resource or directly to an Azure resource via ARMID + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object type: object type: array - HttpVerb: - type: string - ParseDependentRequests: - type: boolean - RequestBody: - type: string - RequestUrl: - type: string - type: object - RetryEnabled: - type: boolean - SyntheticMonitorId: - type: string - Timeout: - type: integer - ValidationRules: - description: Storage version of v1api20220615.WebTestProperties_ValidationRules - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ContentValidation: - description: Storage version of v1api20220615.WebTestProperties_ValidationRules_ContentValidation - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ContentMatch: - type: string - IgnoreCase: - type: boolean - PassIfTextFound: - type: boolean - type: object - ExpectedHttpStatusCode: - type: integer - IgnoreHttpStatusCode: - type: boolean - SSLCertRemainingLifetimeCheck: - type: integer - SSLCheck: - type: boolean type: object - azureName: - description: |- - AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it - doesn't have to be. + kind: type: string location: type: string operatorSpec: description: |- - Storage version of v1api20220615.WebtestOperatorSpec + Storage version of v1api20230601.WorkbookOperatorSpec Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure properties: $propertyBag: @@ -420603,15 +507896,65 @@ spec: description: This is the name of the Kubernetes resource to reference. type: string type: object + properties_tags: + items: + type: string + type: array + serializedData: + type: string + sourceReference: + description: 'SourceReference: ResourceId for a source resource.' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object + storageUriReference: + description: 'StorageUriReference: The resourceId to the storage account when bring your own storage is used' + properties: + armId: + description: |- + ARMID is a string of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. + The /resourcegroups/{resourceGroupName} bit is optional as some resources are scoped at the subscription level + ARMID is mutually exclusive with Group, Kind, Namespace and Name. + pattern: (?i)(^(/subscriptions/([^/]+)(/resourcegroups/([^/]+))?)?/providers/([^/]+)/([^/]+/[^/]+)(/([^/]+/[^/]+))*$|^/subscriptions/([^/]+)(/resourcegroups/([^/]+))?$) + type: string + group: + description: Group is the Kubernetes group of the resource. + type: string + kind: + description: Kind is the Kubernetes kind of the resource. + type: string + name: + description: Name is the Kubernetes name of the resource. + type: string + type: object tags: additionalProperties: type: string type: object + version: + type: string required: - owner type: object status: - description: Storage version of v1api20220615.Webtest_STATUS + description: |- + Storage version of v1api20230601.Workbook_STATUS + A workbook definition. properties: $propertyBag: additionalProperties: @@ -420620,126 +507963,8 @@ spec: PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage resources, allowing for full fidelity round trip conversions type: object - Configuration: - description: Storage version of v1api20220615.WebTestProperties_Configuration_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - WebTest: - type: string - type: object - Description: - type: string - Enabled: - type: boolean - Frequency: - type: integer - Kind: - type: string - Locations: - items: - description: |- - Storage version of v1api20220615.WebTestGeolocation_STATUS - Geo-physical location to run a WebTest from. You must specify one or more locations for the test to run from. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - Id: - type: string - type: object - type: array - Request: - description: Storage version of v1api20220615.WebTestProperties_Request_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - FollowRedirects: - type: boolean - Headers: - items: - description: |- - Storage version of v1api20220615.HeaderField_STATUS - A header to add to the WebTest. - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - key: - type: string - value: - type: string - type: object - type: array - HttpVerb: - type: string - ParseDependentRequests: - type: boolean - RequestBody: - type: string - RequestUrl: - type: string - type: object - RetryEnabled: - type: boolean - SyntheticMonitorId: + category: type: string - Timeout: - type: integer - ValidationRules: - description: Storage version of v1api20220615.WebTestProperties_ValidationRules_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ContentValidation: - description: Storage version of v1api20220615.WebTestProperties_ValidationRules_ContentValidation_STATUS - properties: - $propertyBag: - additionalProperties: - type: string - description: |- - PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage - resources, allowing for full fidelity round trip conversions - type: object - ContentMatch: - type: string - IgnoreCase: - type: boolean - PassIfTextFound: - type: boolean - type: object - ExpectedHttpStatusCode: - type: integer - IgnoreHttpStatusCode: - type: boolean - SSLCertRemainingLifetimeCheck: - type: integer - SSLCheck: - type: boolean - type: object conditions: items: description: Condition defines an extension to status (an observation) of a resource @@ -420783,22 +508008,107 @@ spec: - type type: object type: array + description: + type: string + displayName: + type: string + etag: + type: string id: type: string + identity: + description: |- + Storage version of v1api20230601.ManagedServiceIdentity_STATUS + Managed service identity (system assigned and/or user assigned identities) + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + principalId: + type: string + tenantId: + type: string + type: + type: string + userAssignedIdentities: + additionalProperties: + description: |- + Storage version of v1api20230601.UserAssignedIdentity_STATUS + User assigned identity properties + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + clientId: + type: string + principalId: + type: string + type: object + type: object + type: object + kind: + type: string location: type: string name: type: string - properties_name: + properties_tags: + items: + type: string + type: array + revision: type: string - provisioningState: + serializedData: + type: string + sourceId: type: string + storageUri: + type: string + systemData: + description: |- + Storage version of v1api20230601.SystemData_STATUS + Metadata pertaining to creation and last modification of the resource. + properties: + $propertyBag: + additionalProperties: + type: string + description: |- + PropertyBag is an unordered set of stashed information that used for properties not directly supported by storage + resources, allowing for full fidelity round trip conversions + type: object + createdAt: + type: string + createdBy: + type: string + createdByType: + type: string + lastModifiedAt: + type: string + lastModifiedBy: + type: string + lastModifiedByType: + type: string + type: object tags: additionalProperties: type: string type: object + timeModified: + type: string type: type: string + userId: + type: string + version: + type: string type: object type: object served: true @@ -420811,10 +508121,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: workspaces.machinelearningservices.azure.com spec: conversion: @@ -420830,6 +508140,9 @@ spec: - v1 group: machinelearningservices.azure.com names: + categories: + - azure + - machinelearningservices kind: Workspace listKind: WorkspaceList plural: workspaces @@ -425426,10 +512739,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: workspaces.operationalinsights.azure.com spec: conversion: @@ -425445,6 +512758,9 @@ spec: - v1 group: operationalinsights.azure.com names: + categories: + - azure + - operationalinsights kind: Workspace listKind: WorkspaceList plural: workspaces @@ -426272,10 +513588,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: workspaces.synapse.azure.com spec: conversion: @@ -426291,6 +513607,9 @@ spec: - v1 group: synapse.azure.com names: + categories: + - azure + - synapse kind: Workspace listKind: WorkspaceList plural: workspaces @@ -427788,10 +515107,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: workspacesbigdatapools.synapse.azure.com spec: conversion: @@ -427807,6 +515126,9 @@ spec: - v1 group: synapse.azure.com names: + categories: + - azure + - synapse kind: WorkspacesBigDataPool listKind: WorkspacesBigDataPoolList plural: workspacesbigdatapools @@ -428792,10 +516114,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: workspacescomputes.machinelearningservices.azure.com spec: conversion: @@ -428811,6 +516133,9 @@ spec: - v1 group: machinelearningservices.azure.com names: + categories: + - azure + - machinelearningservices kind: WorkspacesCompute listKind: WorkspacesComputeList plural: workspacescomputes @@ -443941,10 +531266,10 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert - controller-gen.kubebuilder.io/version: v0.16.3 + controller-gen.kubebuilder.io/version: v0.17.3 labels: app.kubernetes.io/name: azure-service-operator - app.kubernetes.io/version: v2.11.0 + app.kubernetes.io/version: v2.15.0 name: workspacesconnections.machinelearningservices.azure.com spec: conversion: @@ -443960,6 +531285,9 @@ spec: - v1 group: machinelearningservices.azure.com names: + categories: + - azure + - machinelearningservices kind: WorkspacesConnection listKind: WorkspacesConnectionList plural: workspacesconnections @@ -445765,6 +533093,7 @@ spec: properties: authUrl: description: 'AuthUrl: Required by Concur connection category' + pattern: ^https?://[^\s]+$ type: string clientId: description: 'ClientId: Client id in the format of UUID' @@ -448877,3 +536206,20512 @@ spec: storage: true subresources: status: {} +--- +apiVersion: v1 +kind: Namespace +metadata: + name: azureserviceoperator-system +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: azureserviceoperator-leader-election-role + namespace: azureserviceoperator-system +rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - configmaps/status + verbs: + - get + - update + - patch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-crd-manager-role +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + - customresourcedefinitions/status + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-crd-reader-role +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: azureserviceoperator-manager-role +rules: + - apiGroups: + - "" + resources: + - configmaps + - secrets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - events + verbs: + - create + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - get + - list + - watch + - apiGroups: + - alertsmanagement.azure.com + resources: + - prometheusrulegroups + - smartdetectoralertrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - alertsmanagement.azure.com + resources: + - prometheusrulegroups/finalizers + - prometheusrulegroups/status + - smartdetectoralertrules/finalizers + - smartdetectoralertrules/status + verbs: + - get + - patch + - update + - apiGroups: + - apimanagement.azure.com + resources: + - apis + - apiversionsets + - authorizationproviders + - authorizationprovidersauthorizations + - authorizationprovidersauthorizationsaccesspolicies + - backends + - namedvalues + - policies + - policyfragments + - productapis + - productpolicies + - products + - services + - subscriptions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apimanagement.azure.com + resources: + - apis/finalizers + - apis/status + - apiversionsets/finalizers + - apiversionsets/status + - authorizationproviders/finalizers + - authorizationproviders/status + - authorizationprovidersauthorizations/finalizers + - authorizationprovidersauthorizations/status + - authorizationprovidersauthorizationsaccesspolicies/finalizers + - authorizationprovidersauthorizationsaccesspolicies/status + - backends/finalizers + - backends/status + - namedvalues/finalizers + - namedvalues/status + - policies/finalizers + - policies/status + - policyfragments/finalizers + - policyfragments/status + - productapis/finalizers + - productapis/status + - productpolicies/finalizers + - productpolicies/status + - products/finalizers + - products/status + - services/finalizers + - services/status + - subscriptions/finalizers + - subscriptions/status + verbs: + - get + - patch + - update + - apiGroups: + - app.azure.com + resources: + - authconfigs + - containerapps + - jobs + - managedenvironments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - app.azure.com + resources: + - authconfigs/finalizers + - authconfigs/status + - containerapps/finalizers + - containerapps/status + - jobs/finalizers + - jobs/status + - managedenvironments/finalizers + - managedenvironments/status + verbs: + - get + - patch + - update + - apiGroups: + - appconfiguration.azure.com + resources: + - configurationstores + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - appconfiguration.azure.com + resources: + - configurationstores/finalizers + - configurationstores/status + verbs: + - get + - patch + - update + - apiGroups: + - authorization.azure.com + resources: + - roleassignments + - roledefinitions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - authorization.azure.com + resources: + - roleassignments/finalizers + - roleassignments/status + - roledefinitions/finalizers + - roledefinitions/status + verbs: + - get + - patch + - update + - apiGroups: + - batch.azure.com + resources: + - batchaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - batch.azure.com + resources: + - batchaccounts/finalizers + - batchaccounts/status + verbs: + - get + - patch + - update + - apiGroups: + - cache.azure.com + resources: + - redis + - redisenterprisedatabases + - redisenterprises + - redisfirewallrules + - redislinkedservers + - redispatchschedules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cache.azure.com + resources: + - redis/finalizers + - redis/status + - redisenterprisedatabases/finalizers + - redisenterprisedatabases/status + - redisenterprises/finalizers + - redisenterprises/status + - redisfirewallrules/finalizers + - redisfirewallrules/status + - redislinkedservers/finalizers + - redislinkedservers/status + - redispatchschedules/finalizers + - redispatchschedules/status + verbs: + - get + - patch + - update + - apiGroups: + - cdn.azure.com + resources: + - afdcustomdomains + - afdendpoints + - afdorigingroups + - afdorigins + - profiles + - profilesendpoints + - routes + - rules + - rulesets + - secrets + - securitypolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cdn.azure.com + resources: + - afdcustomdomains/finalizers + - afdcustomdomains/status + - afdendpoints/finalizers + - afdendpoints/status + - afdorigingroups/finalizers + - afdorigingroups/status + - afdorigins/finalizers + - afdorigins/status + - profiles/finalizers + - profiles/status + - profilesendpoints/finalizers + - profilesendpoints/status + - routes/finalizers + - routes/status + - rules/finalizers + - rules/status + - rulesets/finalizers + - rulesets/status + - secrets/finalizers + - secrets/status + - securitypolicies/finalizers + - securitypolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - cognitiveservices.azure.com + resources: + - accounts + - deployments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - cognitiveservices.azure.com + resources: + - accounts/finalizers + - accounts/status + - deployments/finalizers + - deployments/status + verbs: + - get + - patch + - update + - apiGroups: + - compute.azure.com + resources: + - availabilitysets + - diskaccesses + - diskencryptionsets + - disks + - images + - snapshots + - virtualmachines + - virtualmachinescalesets + - virtualmachinescalesetsextensions + - virtualmachinesextensions + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - compute.azure.com + resources: + - availabilitysets/finalizers + - availabilitysets/status + - diskaccesses/finalizers + - diskaccesses/status + - diskencryptionsets/finalizers + - diskencryptionsets/status + - disks/finalizers + - disks/status + - images/finalizers + - images/status + - snapshots/finalizers + - snapshots/status + - virtualmachines/finalizers + - virtualmachines/status + - virtualmachinescalesets/finalizers + - virtualmachinescalesets/status + - virtualmachinescalesetsextensions/finalizers + - virtualmachinescalesetsextensions/status + - virtualmachinesextensions/finalizers + - virtualmachinesextensions/status + verbs: + - get + - patch + - update + - apiGroups: + - containerinstance.azure.com + resources: + - containergroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerinstance.azure.com + resources: + - containergroups/finalizers + - containergroups/status + verbs: + - get + - patch + - update + - apiGroups: + - containerregistry.azure.com + resources: + - registries + - registryreplications + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerregistry.azure.com + resources: + - registries/finalizers + - registries/status + - registryreplications/finalizers + - registryreplications/status + verbs: + - get + - patch + - update + - apiGroups: + - containerservice.azure.com + resources: + - fleets + - fleetsmembers + - fleetsupdateruns + - maintenanceconfigurations + - managedclusters + - managedclustersagentpools + - trustedaccessrolebindings + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - containerservice.azure.com + resources: + - fleets/finalizers + - fleets/status + - fleetsmembers/finalizers + - fleetsmembers/status + - fleetsupdateruns/finalizers + - fleetsupdateruns/status + - maintenanceconfigurations/finalizers + - maintenanceconfigurations/status + - managedclusters/finalizers + - managedclusters/status + - managedclustersagentpools/finalizers + - managedclustersagentpools/status + - trustedaccessrolebindings/finalizers + - trustedaccessrolebindings/status + verbs: + - get + - patch + - update + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datafactory.azure.com + resources: + - factories + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datafactory.azure.com + resources: + - factories/finalizers + - factories/status + verbs: + - get + - patch + - update + - apiGroups: + - dataprotection.azure.com + resources: + - backupvaults + - backupvaultsbackupinstances + - backupvaultsbackuppolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dataprotection.azure.com + resources: + - backupvaults/finalizers + - backupvaults/status + - backupvaultsbackupinstances/finalizers + - backupvaultsbackupinstances/status + - backupvaultsbackuppolicies/finalizers + - backupvaultsbackuppolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - dbformariadb.azure.com + resources: + - configurations + - databases + - servers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbformariadb.azure.com + resources: + - configurations/finalizers + - configurations/status + - databases/finalizers + - databases/status + - servers/finalizers + - servers/status + verbs: + - get + - patch + - update + - apiGroups: + - dbformysql.azure.com + resources: + - flexibleservers + - flexibleserversadministrators + - flexibleserversconfigurations + - flexibleserversdatabases + - flexibleserversfirewallrules + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbformysql.azure.com + resources: + - flexibleservers/finalizers + - flexibleservers/status + - flexibleserversadministrators/finalizers + - flexibleserversadministrators/status + - flexibleserversconfigurations/finalizers + - flexibleserversconfigurations/status + - flexibleserversdatabases/finalizers + - flexibleserversdatabases/status + - flexibleserversfirewallrules/finalizers + - flexibleserversfirewallrules/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - dbforpostgresql.azure.com + resources: + - flexibleservers + - flexibleserversadvancedthreatprotectionsettings + - flexibleserversbackups + - flexibleserversconfigurations + - flexibleserversdatabases + - flexibleserversfirewallrules + - flexibleserversvirtualendpoints + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dbforpostgresql.azure.com + resources: + - flexibleservers/finalizers + - flexibleservers/status + - flexibleserversadvancedthreatprotectionsettings/finalizers + - flexibleserversadvancedthreatprotectionsettings/status + - flexibleserversbackups/finalizers + - flexibleserversbackups/status + - flexibleserversconfigurations/finalizers + - flexibleserversconfigurations/status + - flexibleserversdatabases/finalizers + - flexibleserversdatabases/status + - flexibleserversfirewallrules/finalizers + - flexibleserversfirewallrules/status + - flexibleserversvirtualendpoints/finalizers + - flexibleserversvirtualendpoints/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - devices.azure.com + resources: + - iothubs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - devices.azure.com + resources: + - iothubs/finalizers + - iothubs/status + verbs: + - get + - patch + - update + - apiGroups: + - documentdb.azure.com + resources: + - databaseaccounts + - firewallrules + - mongoclusters + - mongodbdatabasecollections + - mongodbdatabasecollectionthroughputsettings + - mongodbdatabases + - mongodbdatabasethroughputsettings + - mongodbroledefinitions + - mongodbuserdefinitions + - sqldatabasecontainers + - sqldatabasecontainerstoredprocedures + - sqldatabasecontainerthroughputsettings + - sqldatabasecontainertriggers + - sqldatabasecontaineruserdefinedfunctions + - sqldatabases + - sqldatabasethroughputsettings + - sqlroleassignments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - documentdb.azure.com + resources: + - databaseaccounts/finalizers + - databaseaccounts/status + - firewallrules/finalizers + - firewallrules/status + - mongoclusters/finalizers + - mongoclusters/status + - mongodbdatabasecollections/finalizers + - mongodbdatabasecollections/status + - mongodbdatabasecollectionthroughputsettings/finalizers + - mongodbdatabasecollectionthroughputsettings/status + - mongodbdatabases/finalizers + - mongodbdatabases/status + - mongodbdatabasethroughputsettings/finalizers + - mongodbdatabasethroughputsettings/status + - mongodbroledefinitions/finalizers + - mongodbroledefinitions/status + - mongodbuserdefinitions/finalizers + - mongodbuserdefinitions/status + - sqldatabasecontainers/finalizers + - sqldatabasecontainers/status + - sqldatabasecontainerstoredprocedures/finalizers + - sqldatabasecontainerstoredprocedures/status + - sqldatabasecontainerthroughputsettings/finalizers + - sqldatabasecontainerthroughputsettings/status + - sqldatabasecontainertriggers/finalizers + - sqldatabasecontainertriggers/status + - sqldatabasecontaineruserdefinedfunctions/finalizers + - sqldatabasecontaineruserdefinedfunctions/status + - sqldatabases/finalizers + - sqldatabases/status + - sqldatabasethroughputsettings/finalizers + - sqldatabasethroughputsettings/status + - sqlroleassignments/finalizers + - sqlroleassignments/status + verbs: + - get + - patch + - update + - apiGroups: + - entra.azure.com + resources: + - securitygroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - entra.azure.com + resources: + - securitygroups/status + - users/finalizers + verbs: + - get + - patch + - update + - apiGroups: + - eventgrid.azure.com + resources: + - domains + - domainstopics + - eventsubscriptions + - topics + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventgrid.azure.com + resources: + - domains/finalizers + - domains/status + - domainstopics/finalizers + - domainstopics/status + - eventsubscriptions/finalizers + - eventsubscriptions/status + - topics/finalizers + - topics/status + verbs: + - get + - patch + - update + - apiGroups: + - eventhub.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - namespaceseventhubs + - namespaceseventhubsauthorizationrules + - namespaceseventhubsconsumergroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - eventhub.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - namespaceseventhubs/finalizers + - namespaceseventhubs/status + - namespaceseventhubsauthorizationrules/finalizers + - namespaceseventhubsauthorizationrules/status + - namespaceseventhubsconsumergroups/finalizers + - namespaceseventhubsconsumergroups/status + verbs: + - get + - patch + - update + - apiGroups: + - insights.azure.com + resources: + - actiongroups + - activitylogalerts + - autoscalesettings + - components + - datacollectionendpoints + - datacollectionruleassociations + - datacollectionrules + - diagnosticsettings + - metricalerts + - pricingplans + - scheduledqueryrules + - webtests + - workbooks + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - insights.azure.com + resources: + - actiongroups/finalizers + - actiongroups/status + - activitylogalerts/finalizers + - activitylogalerts/status + - autoscalesettings/finalizers + - autoscalesettings/status + - components/finalizers + - components/status + - datacollectionendpoints/finalizers + - datacollectionendpoints/status + - datacollectionruleassociations/finalizers + - datacollectionruleassociations/status + - datacollectionrules/finalizers + - datacollectionrules/status + - diagnosticsettings/finalizers + - diagnosticsettings/status + - metricalerts/finalizers + - metricalerts/status + - pricingplans/finalizers + - pricingplans/status + - scheduledqueryrules/finalizers + - scheduledqueryrules/status + - webtests/finalizers + - webtests/status + - workbooks/finalizers + - workbooks/status + verbs: + - get + - patch + - update + - apiGroups: + - keyvault.azure.com + resources: + - vaults + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - keyvault.azure.com + resources: + - vaults/finalizers + - vaults/status + verbs: + - get + - patch + - update + - apiGroups: + - kubernetesconfiguration.azure.com + resources: + - extensions + - fluxconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kubernetesconfiguration.azure.com + resources: + - extensions/finalizers + - extensions/status + - fluxconfigurations/finalizers + - fluxconfigurations/status + verbs: + - get + - patch + - update + - apiGroups: + - kusto.azure.com + resources: + - clusters + - databases + - dataconnections + - principalassignments + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kusto.azure.com + resources: + - clusters/finalizers + - clusters/status + - databases/finalizers + - databases/status + - dataconnections/finalizers + - dataconnections/status + - principalassignments/finalizers + - principalassignments/status + verbs: + - get + - patch + - update + - apiGroups: + - machinelearningservices.azure.com + resources: + - registries + - workspaces + - workspacescomputes + - workspacesconnections + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - machinelearningservices.azure.com + resources: + - registries/finalizers + - registries/status + - workspaces/finalizers + - workspaces/status + - workspacescomputes/finalizers + - workspacescomputes/status + - workspacesconnections/finalizers + - workspacesconnections/status + verbs: + - get + - patch + - update + - apiGroups: + - managedidentity.azure.com + resources: + - federatedidentitycredentials + - userassignedidentities + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - managedidentity.azure.com + resources: + - federatedidentitycredentials/finalizers + - federatedidentitycredentials/status + - userassignedidentities/finalizers + - userassignedidentities/status + verbs: + - get + - patch + - update + - apiGroups: + - monitor.azure.com + resources: + - accounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - monitor.azure.com + resources: + - accounts/finalizers + - accounts/status + verbs: + - get + - patch + - update + - apiGroups: + - network.azure.com + resources: + - applicationgateways + - applicationsecuritygroups + - azurefirewalls + - bastionhosts + - dnsforwardingrulesets + - dnsforwardingrulesetsforwardingrules + - dnsforwardingrulesetsvirtualnetworklinks + - dnsresolvers + - dnsresolversinboundendpoints + - dnsresolversoutboundendpoints + - dnszones + - dnszonesaaaarecords + - dnszonesarecords + - dnszonescaarecords + - dnszonescnamerecords + - dnszonesmxrecords + - dnszonesnsrecords + - dnszonesptrrecords + - dnszonessrvrecords + - dnszonestxtrecords + - firewallpolicies + - firewallpoliciesrulecollectiongroups + - loadbalancers + - loadbalancersinboundnatrules + - natgateways + - networkinterfaces + - networksecuritygroups + - networksecuritygroupssecurityrules + - privatednszones + - privatednszonesaaaarecords + - privatednszonesarecords + - privatednszonescnamerecords + - privatednszonesmxrecords + - privatednszonesptrrecords + - privatednszonessrvrecords + - privatednszonestxtrecords + - privatednszonesvirtualnetworklinks + - privateendpoints + - privateendpointsprivatednszonegroups + - privatelinkservices + - publicipaddresses + - publicipprefixes + - routetables + - routetablesroutes + - trafficmanagerprofiles + - trafficmanagerprofilesazureendpoints + - trafficmanagerprofilesexternalendpoints + - trafficmanagerprofilesnestedendpoints + - virtualnetworkgateways + - virtualnetworks + - virtualnetworkssubnets + - virtualnetworksvirtualnetworkpeerings + - webapplicationfirewallpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - network.azure.com + resources: + - applicationgateways/finalizers + - applicationgateways/status + - applicationsecuritygroups/finalizers + - applicationsecuritygroups/status + - azurefirewalls/finalizers + - azurefirewalls/status + - bastionhosts/finalizers + - bastionhosts/status + - dnsforwardingrulesets/finalizers + - dnsforwardingrulesets/status + - dnsforwardingrulesetsforwardingrules/finalizers + - dnsforwardingrulesetsforwardingrules/status + - dnsforwardingrulesetsvirtualnetworklinks/finalizers + - dnsforwardingrulesetsvirtualnetworklinks/status + - dnsresolvers/finalizers + - dnsresolvers/status + - dnsresolversinboundendpoints/finalizers + - dnsresolversinboundendpoints/status + - dnsresolversoutboundendpoints/finalizers + - dnsresolversoutboundendpoints/status + - dnszones/finalizers + - dnszones/status + - dnszonesaaaarecords/finalizers + - dnszonesaaaarecords/status + - dnszonesarecords/finalizers + - dnszonesarecords/status + - dnszonescaarecords/finalizers + - dnszonescaarecords/status + - dnszonescnamerecords/finalizers + - dnszonescnamerecords/status + - dnszonesmxrecords/finalizers + - dnszonesmxrecords/status + - dnszonesnsrecords/finalizers + - dnszonesnsrecords/status + - dnszonesptrrecords/finalizers + - dnszonesptrrecords/status + - dnszonessrvrecords/finalizers + - dnszonessrvrecords/status + - dnszonestxtrecords/finalizers + - dnszonestxtrecords/status + - firewallpolicies/finalizers + - firewallpolicies/status + - firewallpoliciesrulecollectiongroups/finalizers + - firewallpoliciesrulecollectiongroups/status + - loadbalancers/finalizers + - loadbalancers/status + - loadbalancersinboundnatrules/finalizers + - loadbalancersinboundnatrules/status + - natgateways/finalizers + - natgateways/status + - networkinterfaces/finalizers + - networkinterfaces/status + - networksecuritygroups/finalizers + - networksecuritygroups/status + - networksecuritygroupssecurityrules/finalizers + - networksecuritygroupssecurityrules/status + - privatednszones/finalizers + - privatednszones/status + - privatednszonesaaaarecords/finalizers + - privatednszonesaaaarecords/status + - privatednszonesarecords/finalizers + - privatednszonesarecords/status + - privatednszonescnamerecords/finalizers + - privatednszonescnamerecords/status + - privatednszonesmxrecords/finalizers + - privatednszonesmxrecords/status + - privatednszonesptrrecords/finalizers + - privatednszonesptrrecords/status + - privatednszonessrvrecords/finalizers + - privatednszonessrvrecords/status + - privatednszonestxtrecords/finalizers + - privatednszonestxtrecords/status + - privatednszonesvirtualnetworklinks/finalizers + - privatednszonesvirtualnetworklinks/status + - privateendpoints/finalizers + - privateendpoints/status + - privateendpointsprivatednszonegroups/finalizers + - privateendpointsprivatednszonegroups/status + - privatelinkservices/finalizers + - privatelinkservices/status + - publicipaddresses/finalizers + - publicipaddresses/status + - publicipprefixes/finalizers + - publicipprefixes/status + - routetables/finalizers + - routetables/status + - routetablesroutes/finalizers + - routetablesroutes/status + - trafficmanagerprofiles/finalizers + - trafficmanagerprofiles/status + - trafficmanagerprofilesazureendpoints/finalizers + - trafficmanagerprofilesazureendpoints/status + - trafficmanagerprofilesexternalendpoints/finalizers + - trafficmanagerprofilesexternalendpoints/status + - trafficmanagerprofilesnestedendpoints/finalizers + - trafficmanagerprofilesnestedendpoints/status + - virtualnetworkgateways/finalizers + - virtualnetworkgateways/status + - virtualnetworks/finalizers + - virtualnetworks/status + - virtualnetworkssubnets/finalizers + - virtualnetworkssubnets/status + - virtualnetworksvirtualnetworkpeerings/finalizers + - virtualnetworksvirtualnetworkpeerings/status + - webapplicationfirewallpolicies/finalizers + - webapplicationfirewallpolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - network.frontdoor.azure.com + resources: + - webapplicationfirewallpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - network.frontdoor.azure.com + resources: + - webapplicationfirewallpolicies/finalizers + - webapplicationfirewallpolicies/status + verbs: + - get + - patch + - update + - apiGroups: + - notificationhubs.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - notificationhubs + - notificationhubsauthorizationrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - notificationhubs.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - notificationhubs/finalizers + - notificationhubs/status + - notificationhubsauthorizationrules/finalizers + - notificationhubsauthorizationrules/status + verbs: + - get + - patch + - update + - apiGroups: + - operationalinsights.azure.com + resources: + - workspaces + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - operationalinsights.azure.com + resources: + - workspaces/finalizers + - workspaces/status + verbs: + - get + - patch + - update + - apiGroups: + - redhatopenshift.azure.com + resources: + - openshiftclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - redhatopenshift.azure.com + resources: + - openshiftclusters/finalizers + - openshiftclusters/status + verbs: + - get + - patch + - update + - apiGroups: + - resources.azure.com + resources: + - resourcegroups + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - resources.azure.com + resources: + - resourcegroups/finalizers + - resourcegroups/status + verbs: + - get + - patch + - update + - apiGroups: + - search.azure.com + resources: + - searchservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - search.azure.com + resources: + - searchservices/finalizers + - searchservices/status + verbs: + - get + - patch + - update + - apiGroups: + - servicebus.azure.com + resources: + - namespaces + - namespacesauthorizationrules + - namespacesqueues + - namespacestopics + - namespacestopicssubscriptions + - namespacestopicssubscriptionsrules + - topicauthorizationrules + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - servicebus.azure.com + resources: + - namespaces/finalizers + - namespaces/status + - namespacesauthorizationrules/finalizers + - namespacesauthorizationrules/status + - namespacesqueues/finalizers + - namespacesqueues/status + - namespacestopics/finalizers + - namespacestopics/status + - namespacestopicssubscriptions/finalizers + - namespacestopicssubscriptions/status + - namespacestopicssubscriptionsrules/finalizers + - namespacestopicssubscriptionsrules/status + - topicauthorizationrules/finalizers + - topicauthorizationrules/status + verbs: + - get + - patch + - update + - apiGroups: + - signalrservice.azure.com + resources: + - customcertificates + - customdomains + - replicas + - signalrs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - signalrservice.azure.com + resources: + - customcertificates/finalizers + - customcertificates/status + - customdomains/finalizers + - customdomains/status + - replicas/finalizers + - replicas/status + - signalrs/finalizers + - signalrs/status + verbs: + - get + - patch + - update + - apiGroups: + - sql.azure.com + resources: + - servers + - serversadministrators + - serversadvancedthreatprotectionsettings + - serversauditingsettings + - serversazureadonlyauthentications + - serversconnectionpolicies + - serversdatabases + - serversdatabasesadvancedthreatprotectionsettings + - serversdatabasesauditingsettings + - serversdatabasesbackuplongtermretentionpolicies + - serversdatabasesbackupshorttermretentionpolicies + - serversdatabasessecurityalertpolicies + - serversdatabasestransparentdataencryptions + - serversdatabasesvulnerabilityassessments + - serverselasticpools + - serversfailovergroups + - serversfirewallrules + - serversipv6firewallrules + - serversoutboundfirewallrules + - serverssecurityalertpolicies + - serversvirtualnetworkrules + - serversvulnerabilityassessments + - users + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - sql.azure.com + resources: + - servers/finalizers + - servers/status + - serversadministrators/finalizers + - serversadministrators/status + - serversadvancedthreatprotectionsettings/finalizers + - serversadvancedthreatprotectionsettings/status + - serversauditingsettings/finalizers + - serversauditingsettings/status + - serversazureadonlyauthentications/finalizers + - serversazureadonlyauthentications/status + - serversconnectionpolicies/finalizers + - serversconnectionpolicies/status + - serversdatabases/finalizers + - serversdatabases/status + - serversdatabasesadvancedthreatprotectionsettings/finalizers + - serversdatabasesadvancedthreatprotectionsettings/status + - serversdatabasesauditingsettings/finalizers + - serversdatabasesauditingsettings/status + - serversdatabasesbackuplongtermretentionpolicies/finalizers + - serversdatabasesbackuplongtermretentionpolicies/status + - serversdatabasesbackupshorttermretentionpolicies/finalizers + - serversdatabasesbackupshorttermretentionpolicies/status + - serversdatabasessecurityalertpolicies/finalizers + - serversdatabasessecurityalertpolicies/status + - serversdatabasestransparentdataencryptions/finalizers + - serversdatabasestransparentdataencryptions/status + - serversdatabasesvulnerabilityassessments/finalizers + - serversdatabasesvulnerabilityassessments/status + - serverselasticpools/finalizers + - serverselasticpools/status + - serversfailovergroups/finalizers + - serversfailovergroups/status + - serversfirewallrules/finalizers + - serversfirewallrules/status + - serversipv6firewallrules/finalizers + - serversipv6firewallrules/status + - serversoutboundfirewallrules/finalizers + - serversoutboundfirewallrules/status + - serverssecurityalertpolicies/finalizers + - serverssecurityalertpolicies/status + - serversvirtualnetworkrules/finalizers + - serversvirtualnetworkrules/status + - serversvulnerabilityassessments/finalizers + - serversvulnerabilityassessments/status + - users/finalizers + - users/status + verbs: + - get + - patch + - update + - apiGroups: + - storage.azure.com + resources: + - storageaccounts + - storageaccountsblobservices + - storageaccountsblobservicescontainers + - storageaccountsfileservices + - storageaccountsfileservicesshares + - storageaccountsmanagementpolicies + - storageaccountsqueueservices + - storageaccountsqueueservicesqueues + - storageaccountstableservices + - storageaccountstableservicestables + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - storage.azure.com + resources: + - storageaccounts/finalizers + - storageaccounts/status + - storageaccountsblobservices/finalizers + - storageaccountsblobservices/status + - storageaccountsblobservicescontainers/finalizers + - storageaccountsblobservicescontainers/status + - storageaccountsfileservices/finalizers + - storageaccountsfileservices/status + - storageaccountsfileservicesshares/finalizers + - storageaccountsfileservicesshares/status + - storageaccountsmanagementpolicies/finalizers + - storageaccountsmanagementpolicies/status + - storageaccountsqueueservices/finalizers + - storageaccountsqueueservices/status + - storageaccountsqueueservicesqueues/finalizers + - storageaccountsqueueservicesqueues/status + - storageaccountstableservices/finalizers + - storageaccountstableservices/status + - storageaccountstableservicestables/finalizers + - storageaccountstableservicestables/status + verbs: + - get + - patch + - update + - apiGroups: + - subscription.azure.com + resources: + - aliases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - subscription.azure.com + resources: + - aliases/finalizers + - aliases/status + verbs: + - get + - patch + - update + - apiGroups: + - synapse.azure.com + resources: + - workspaces + - workspacesbigdatapools + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - synapse.azure.com + resources: + - workspaces/finalizers + - workspaces/status + - workspacesbigdatapools/finalizers + - workspacesbigdatapools/status + verbs: + - get + - patch + - update + - apiGroups: + - web.azure.com + resources: + - serverfarms + - sites + - sitessourcecontrols + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - web.azure.com + resources: + - serverfarms/finalizers + - serverfarms/status + - sites/finalizers + - sites/status + - sitessourcecontrols/finalizers + - sitessourcecontrols/status + verbs: + - get + - patch + - update +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: azureserviceoperator-leader-election-rolebinding + namespace: azureserviceoperator-system +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: azureserviceoperator-leader-election-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-crd-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-crd-manager-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-crd-reader-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-crd-reader-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: azureserviceoperator-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: azureserviceoperator-manager-role +subjects: + - kind: ServiceAccount + name: azureserviceoperator-default + namespace: azureserviceoperator-system +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + control-plane: controller-manager + name: azureserviceoperator-controller-manager-metrics-service + namespace: azureserviceoperator-system +spec: + ports: + - name: metrics + port: 8443 + selector: + control-plane: controller-manager +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system +spec: + ports: + - port: 443 + targetPort: 9443 + selector: + control-plane: controller-manager +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + control-plane: controller-manager + name: azureserviceoperator-controller-manager + namespace: azureserviceoperator-system +spec: + replicas: 2 + revisionHistoryLimit: 10 + selector: + matchLabels: + control-plane: controller-manager + strategy: + type: Recreate + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + app.kubernetes.io/name: azure-service-operator + app.kubernetes.io/version: v2.15.0 + control-plane: controller-manager + spec: + containers: + - args: + - --metrics-addr=0.0.0.0:8443 + - --secure-metrics=true + - --profiling-metrics=false + - --health-addr=:8081 + - --enable-leader-election + - --v=2 + - --crd-pattern= + - --webhook-port=9443 + - --webhook-cert-dir=/tmp/k8s-webhook-server/serving-certs + env: + - name: GOMEMLIMIT + value: 400MiB + - name: AZURE_CLIENT_ID + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_ID + name: aso-controller-settings + - name: AZURE_CLIENT_SECRET + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_SECRET + name: aso-controller-settings + optional: true + - name: AZURE_TENANT_ID + valueFrom: + secretKeyRef: + key: AZURE_TENANT_ID + name: aso-controller-settings + - name: AZURE_ADDITIONAL_TENANTS + valueFrom: + secretKeyRef: + key: AZURE_ADDITIONAL_TENANTS + name: aso-controller-settings + optional: true + - name: AZURE_USER_ASSIGNED_IDENTITY_CREDENTIALS + valueFrom: + secretKeyRef: + key: AZURE_USER_ASSIGNED_IDENTITY_CREDENTIALS + name: aso-controller-settings + optional: true + - name: AZURE_SUBSCRIPTION_ID + valueFrom: + secretKeyRef: + key: AZURE_SUBSCRIPTION_ID + name: aso-controller-settings + - name: AZURE_CLIENT_CERTIFICATE + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_CERTIFICATE + name: aso-controller-settings + optional: true + - name: AZURE_CLIENT_CERTIFICATE_PASSWORD + valueFrom: + secretKeyRef: + key: AZURE_CLIENT_CERTIFICATE_PASSWORD + name: aso-controller-settings + optional: true + - name: AZURE_AUTHORITY_HOST + valueFrom: + secretKeyRef: + key: AZURE_AUTHORITY_HOST + name: aso-controller-settings + optional: true + - name: AZURE_RESOURCE_MANAGER_ENDPOINT + valueFrom: + secretKeyRef: + key: AZURE_RESOURCE_MANAGER_ENDPOINT + name: aso-controller-settings + optional: true + - name: AZURE_RESOURCE_MANAGER_AUDIENCE + valueFrom: + secretKeyRef: + key: AZURE_RESOURCE_MANAGER_AUDIENCE + name: aso-controller-settings + optional: true + - name: AZURE_TARGET_NAMESPACES + valueFrom: + secretKeyRef: + key: AZURE_TARGET_NAMESPACES + name: aso-controller-settings + optional: true + - name: AZURE_OPERATOR_MODE + valueFrom: + secretKeyRef: + key: AZURE_OPERATOR_MODE + name: aso-controller-settings + optional: true + - name: AZURE_SYNC_PERIOD + valueFrom: + secretKeyRef: + key: AZURE_SYNC_PERIOD + name: aso-controller-settings + optional: true + - name: USE_WORKLOAD_IDENTITY_AUTH + valueFrom: + secretKeyRef: + key: USE_WORKLOAD_IDENTITY_AUTH + name: aso-controller-settings + optional: true + - name: AZURE_USER_AGENT_SUFFIX + valueFrom: + secretKeyRef: + key: AZURE_USER_AGENT_SUFFIX + name: aso-controller-settings + optional: true + - name: MAX_CONCURRENT_RECONCILES + valueFrom: + secretKeyRef: + key: MAX_CONCURRENT_RECONCILES + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_MODE + valueFrom: + secretKeyRef: + key: RATE_LIMIT_MODE + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_QPS + valueFrom: + secretKeyRef: + key: RATE_LIMIT_QPS + name: aso-controller-settings + optional: true + - name: RATE_LIMIT_BUCKET_SIZE + valueFrom: + secretKeyRef: + key: RATE_LIMIT_BUCKET_SIZE + name: aso-controller-settings + optional: true + - name: DEFAULT_RECONCILE_POLICY + valueFrom: + secretKeyRef: + key: DEFAULT_RECONCILE_POLICY + name: aso-controller-settings + optional: true + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + image: mcr.microsoft.com/k8s/azureserviceoperator:v2.15.0 + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /healthz + port: 8081 + name: manager + ports: + - containerPort: 9443 + name: webhook-server + protocol: TCP + - containerPort: 8081 + name: health-port + protocol: TCP + - containerPort: 8443 + name: metrics-port + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: 8081 + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 200m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + runAsGroup: 65532 + runAsNonRoot: true + runAsUser: 65532 + startupProbe: + failureThreshold: 12 + httpGet: + path: /healthz + port: 8081 + periodSeconds: 10 + volumeMounts: + - mountPath: /var/run/secrets/tokens + name: azure-identity + readOnly: true + - mountPath: /tmp/k8s-webhook-server/serving-certs + name: cert + readOnly: true + nodeSelector: + kubernetes.io/os: linux + serviceAccountName: azureserviceoperator-default + terminationGracePeriodSeconds: 10 + volumes: + - name: cert + secret: + defaultMode: 420 + secretName: webhook-server-cert + - name: azure-identity + projected: + defaultMode: 420 + sources: + - serviceAccountToken: + audience: api://AzureADTokenExchange + expirationSeconds: 3600 + path: azure-identity +--- +apiVersion: policy/v1 +kind: PodDisruptionBudget +metadata: + labels: + app.kubernetes.io/name: azure-service-operator + control-plane: controller-manager + name: azureserviceoperator-pdb + namespace: azureserviceoperator-system +spec: + minAvailable: 50% + selector: + matchLabels: + control-plane: controller-manager +--- +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: azureserviceoperator-serving-cert + namespace: azureserviceoperator-system +spec: + dnsNames: + - azureserviceoperator-webhook-service.azureserviceoperator-system.svc + - azureserviceoperator-webhook-service.azureserviceoperator-system.svc.cluster.local + issuerRef: + kind: Issuer + name: azureserviceoperator-selfsigned-issuer + secretName: webhook-server-cert + subject: + organizations: + - azure +--- +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: azureserviceoperator-selfsigned-issuer + namespace: azureserviceoperator-system +spec: + selfSigned: {} +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + name: azureserviceoperator-mutating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - smartdetectoralertrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20230301 + operations: + - CREATE + - UPDATE + resources: + - prometheusrulegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20220801-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220801.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-api + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-backend + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-policy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-productapi + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-product + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-service + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-apimanagement-azure-com-v1api20230501preview-subscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501preview.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-job + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20240301-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-job + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-app-azure-com-v1api20250101-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250101.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-appconfiguration-azure-com-v1api20220501-configurationstore + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220501.configurationstores.appconfiguration.azure.com + rules: + - apiGroups: + - appconfiguration.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - configurationstores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20200801preview-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200801preview.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20200801preview + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20220401-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-authorization-azure-com-v1api20220401-roledefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.roledefinitions.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-batch-azure-com-v1api20210101-batchaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101.batchaccounts.batch.azure.com + rules: + - apiGroups: + - batch.azure.com + apiVersions: + - v1api20210101 + operations: + - CREATE + - UPDATE + resources: + - batchaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20201201-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20210301-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210301.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20210301-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210301.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230401-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230401.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230701-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230701-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redis + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20230801-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230801.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20250401-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250401.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cache-azure-com-v1api20250401-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250401.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20210601-profile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20210601-profilesendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.profilesendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profilesendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdcustomdomain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdcustomdomains.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdcustomdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdorigingroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdorigingroups.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigingroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-afdorigin + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.afdorigins.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigins + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-profile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-route + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.routes.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - routes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-rule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.rules.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-ruleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.rulesets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-secret + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.secrets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cdn-azure-com-v1api20230501-securitypolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.securitypolicies.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - securitypolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cognitiveservices-azure-com-v1api20250601-account + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250601.accounts.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-cognitiveservices-azure-com-v1api20250601-deployment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20250601.deployments.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - deployments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20200930-disk + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200930.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20200930-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200930.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20201201-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201201.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20210701-image + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-image + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220301-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20220702-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220702.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220702 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-diskaccess + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.diskaccesses.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskaccesses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-disk + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20240302-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240302.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-compute-azure-com-v1api20241101-availabilityset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.availabilitysets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - availabilitysets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerinstance-azure-com-v1api20211001-containergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.containergroups.containerinstance.azure.com + rules: + - apiGroups: + - containerinstance.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - containergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20210901-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210901.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20210901 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20230701-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerregistry-azure-com-v1api20230701-registryreplication + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.registryreplications.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registryreplications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20210501-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20210501-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230201-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230201.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230201-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230201.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230315preview.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231001.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231102preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231102preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231102preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-maintenanceconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.maintenanceconfigurations.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - maintenanceconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240901.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-datafactory-azure-com-v1api20180601-factory + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.factories.datafactory.azure.com + rules: + - apiGroups: + - datafactory.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - factories + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20230101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackupinstances + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-configuration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.configurations.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - configurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.databases.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformariadb-azure-com-v1api20180601-server + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180601.servers.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220101.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbformysql-azure-com-v1api20231230-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231230.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversadvancedthreatprotectionsettings + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversbackup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversbackups.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversbackups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-dbforpostgresql-azure-com-v1api20240801-flexibleserversvirtualendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240801.flexibleserversvirtualendpoints.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversvirtualendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-devices-azure-com-v1api20210702-iothub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210702.iothubs.devices.azure.com + rules: + - apiGroups: + - devices.azure.com + apiVersions: + - v1api20210702 + operations: + - CREATE + - UPDATE + resources: + - iothubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20210515-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210515.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20231115-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231115.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240701-firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240701.firewallrules.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240701-mongocluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240701.mongoclusters.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - mongoclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbroledefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbroledefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbroledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-mongodbuserdefinition + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.mongodbuserdefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbuserdefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-documentdb-azure-com-v1api20240815-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240815.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-entra-azure-com-v1-securitygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.securitygroups.entra.azure.com + rules: + - apiGroups: + - entra.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - securitygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-domain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.domains.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-domainstopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.domainstopics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domainstopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-eventsubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.eventsubscriptions.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - eventsubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventgrid-azure-com-v1api20200601-topic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.topics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - topics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-eventhub-azure-com-v1api20240101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20171001-pricingplan + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20171001.pricingplans.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20171001 + operations: + - CREATE + - UPDATE + resources: + - pricingplans + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20180301-metricalert + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180301.metricalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180301 + operations: + - CREATE + - UPDATE + resources: + - metricalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20180501preview-webtest + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501preview.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180501preview + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20200202-component + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200202.components.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20200202 + operations: + - CREATE + - UPDATE + resources: + - components + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20201001-activitylogalert + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201001.activitylogalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20201001 + operations: + - CREATE + - UPDATE + resources: + - activitylogalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20210501preview-diagnosticsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210501preview.diagnosticsettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20210501preview + operations: + - CREATE + - UPDATE + resources: + - diagnosticsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20220615-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220615.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20220615-webtest + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220615.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20221001-autoscalesetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001.autoscalesettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20221001 + operations: + - CREATE + - UPDATE + resources: + - autoscalesettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230101-actiongroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.actiongroups.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - actiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionendpoints.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionruleassociation + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionruleassociations.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionruleassociations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230311-datacollectionrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230311.datacollectionrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20230601-workbook + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230601.workbooks.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230601 + operations: + - CREATE + - UPDATE + resources: + - workbooks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-insights-azure-com-v1api20240101preview-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101preview.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20240101preview + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-keyvault-azure-com-v1api20210401preview-vault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401preview.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20210401preview + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-keyvault-azure-com-v1api20230701-vault + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230701.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-extension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20241101-extension + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kubernetesconfiguration-azure-com-v1api20241101-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20241101.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-cluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20230815-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230815.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-cluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-database + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-kusto-azure-com-v1api20240413-principalassignment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240413.principalassignments.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - principalassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20210701-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210701.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-registry + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.registries.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-machinelearningservices-azure-com-v1api20240401-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240401.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20181130-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20181130.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20181130 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20220131preview + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20230131-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230131.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-managedidentity-azure-com-v1api20230131-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230131.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-monitor-azure-com-v1api20230403-account + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230403.accounts.monitor.azure.com + rules: + - apiGroups: + - monitor.azure.com + apiVersions: + - v1api20230403 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com + rules: + - apiGroups: + - network.frontdoor.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonescaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonescaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesnsrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesnsrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesnsrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180501-dnszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180501.dnszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20180901-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20180901.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180901 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-routetable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofile + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofiles.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesazureendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesexternalendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesnestedendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-applicationgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.applicationgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - applicationgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingruleset + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsforwardingrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolver + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolvers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolvers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolversinboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolversinboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversinboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.dnsresolversoutboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversoutboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20220701-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220701.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240101-applicationsecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.applicationsecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - applicationsecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240101-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.webapplicationfirewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-azurefirewall + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.azurefirewalls.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - azurefirewalls + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-firewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.firewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-firewallpoliciesrulecollectiongroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.firewallpoliciesrulecollectiongroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpoliciesrulecollectiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-routetable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.namespaces.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.namespacesauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-notificationhub + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.notificationhubs.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-notificationhubs-azure-com-v1api20230901-notificationhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230901.notificationhubsauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-operationalinsights-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspaces.operationalinsights.azure.com + rules: + - apiGroups: + - operationalinsights.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-redhatopenshift-azure-com-v1api20231122-openshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231122.openshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20231122 + operations: + - CREATE + - UPDATE + resources: + - openshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-resources-azure-com-v1api20200601-resourcegroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20200601.resourcegroups.resources.azure.com + rules: + - apiGroups: + - resources.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - resourcegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-search-azure-com-v1api20220901-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-search-azure-com-v1api20231101-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20231101.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-servicebus-azure-com-v1api20240101-topicauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240101.topicauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - topicauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20211001-signalr + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-customcertificate + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.customcertificates.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customcertificates + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-customdomain + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.customdomains.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-replica + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.replicas.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - replicas + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-signalrservice-azure-com-v1api20240301-signalr + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20240301.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: default.v1.users.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-server + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.servers.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversadministrators.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversazureadonlyauthentication + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversazureadonlyauthentications.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversazureadonlyauthentications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversconnectionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversconnectionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversconnectionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabases.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackuplongtermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackupshorttermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasessecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasestransparentdataencryptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serverselasticpool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serverselasticpools.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverselasticpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversfailovergroup + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversfailovergroups.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfailovergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversipv6firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversipv6firewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversipv6firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversoutboundfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversoutboundfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversoutboundfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serverssecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serverssecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverssecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversvirtualnetworkrule + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversvirtualnetworkrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvirtualnetworkrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-sql-azure-com-v1api20211101-serversvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211101.serversvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20220901-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220901.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-storage-azure-com-v1api20230101-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20230101.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-subscription-azure-com-v1api20211001-alias + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20211001.aliases.subscription.azure.com + rules: + - apiGroups: + - subscription.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - aliases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-synapse-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspaces.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-synapse-azure-com-v1api20210601-workspacesbigdatapool + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20210601.workspacesbigdatapools.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspacesbigdatapools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-serverfarm + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.serverfarms.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - serverfarms + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-site + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.sites.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sites + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /mutate-web-azure-com-v1api20220301-sitessourcecontrol + failurePolicy: Fail + matchPolicy: Exact + name: default.v1api20220301.sitessourcecontrols.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sitessourcecontrols + sideEffects: None +--- +apiVersion: admissionregistration.k8s.io/v1 +kind: ValidatingWebhookConfiguration +metadata: + annotations: + cert-manager.io/inject-ca-from: azureserviceoperator-system/azureserviceoperator-serving-cert + name: azureserviceoperator-validating-webhook-configuration +webhooks: + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-alertsmanagement-azure-com-v1api20210401-smartdetectoralertrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.smartdetectoralertrules.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - smartdetectoralertrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-alertsmanagement-azure-com-v1api20230301-prometheusrulegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230301.prometheusrulegroups.alertsmanagement.azure.com + rules: + - apiGroups: + - alertsmanagement.azure.com + apiVersions: + - v1api20230301 + operations: + - CREATE + - UPDATE + resources: + - prometheusrulegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20220801-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220801.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20220801 + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-api + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.apis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-apiversionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.apiversionsets.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - apiversionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovider + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationproviders.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationproviders + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorization + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationprovidersauthorizations.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-authorizationprovidersauthorizationsaccesspolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.authorizationprovidersauthorizationsaccesspolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - authorizationprovidersauthorizationsaccesspolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-backend + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.backends.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - backends + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-namedvalue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.namedvalues.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - namedvalues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-policy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.policies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-policyfragment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.policyfragments.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - policyfragments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-productapi + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.productapis.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productapis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-productpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.productpolicies.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - productpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-product + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.products.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - products + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-service + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.services.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - services + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-apimanagement-azure-com-v1api20230501preview-subscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501preview.subscriptions.apimanagement.azure.com + rules: + - apiGroups: + - apimanagement.azure.com + apiVersions: + - v1api20230501preview + operations: + - CREATE + - UPDATE + resources: + - subscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-job + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20240301-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-authconfig + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.authconfigs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - authconfigs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-containerapp + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.containerapps.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - containerapps + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-job + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.jobs.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - jobs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-app-azure-com-v1api20250101-managedenvironment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250101.managedenvironments.app.azure.com + rules: + - apiGroups: + - app.azure.com + apiVersions: + - v1api20250101 + operations: + - CREATE + - UPDATE + resources: + - managedenvironments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-appconfiguration-azure-com-v1api20220501-configurationstore + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220501.configurationstores.appconfiguration.azure.com + rules: + - apiGroups: + - appconfiguration.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - configurationstores + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20200801preview-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200801preview.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20200801preview + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20220401-roleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.roleassignments.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-authorization-azure-com-v1api20220401-roledefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.roledefinitions.authorization.azure.com + rules: + - apiGroups: + - authorization.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - roledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-batch-azure-com-v1api20210101-batchaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101.batchaccounts.batch.azure.com + rules: + - apiGroups: + - batch.azure.com + apiVersions: + - v1api20210101 + operations: + - CREATE + - UPDATE + resources: + - batchaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20201201-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20210301-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210301.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20210301-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210301.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20210301 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230401-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230401.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230401 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230701-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230701-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redis + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redis.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redis + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redisfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redisfirewallrules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redisfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redislinkedserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redislinkedservers.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redislinkedservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20230801-redispatchschedule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230801.redispatchschedules.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20230801 + operations: + - CREATE + - UPDATE + resources: + - redispatchschedules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20250401-redisenterprisedatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250401.redisenterprisedatabases.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprisedatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cache-azure-com-v1api20250401-redisenterprise + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250401.redisenterprises.cache.azure.com + rules: + - apiGroups: + - cache.azure.com + apiVersions: + - v1api20250401 + operations: + - CREATE + - UPDATE + resources: + - redisenterprises + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20210601-profile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20210601-profilesendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.profilesendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - profilesendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdcustomdomain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdcustomdomains.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdcustomdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdendpoints.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdorigingroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdorigingroups.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigingroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-afdorigin + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.afdorigins.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - afdorigins + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-profile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.profiles.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - profiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-route + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.routes.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - routes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-rule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.rules.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-ruleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.rulesets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - rulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-secret + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.secrets.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - secrets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cdn-azure-com-v1api20230501-securitypolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.securitypolicies.cdn.azure.com + rules: + - apiGroups: + - cdn.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - securitypolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cognitiveservices-azure-com-v1api20250601-account + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250601.accounts.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-cognitiveservices-azure-com-v1api20250601-deployment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20250601.deployments.cognitiveservices.azure.com + rules: + - apiGroups: + - cognitiveservices.azure.com + apiVersions: + - v1api20250601 + operations: + - CREATE + - UPDATE + resources: + - deployments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20200930-disk + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200930.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20200930-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200930.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20200930 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20201201-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201201.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20201201 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20210701-image + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-image + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.images.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - images + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachine + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachines.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachines + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinescaleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinescalesets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinescalesetsextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinescalesetsextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinescalesetsextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220301-virtualmachinesextension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.virtualmachinesextensions.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - virtualmachinesextensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20220702-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220702.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20220702 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-diskaccess + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.diskaccesses.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskaccesses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-diskencryptionset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.diskencryptionsets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - diskencryptionsets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-disk + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.disks.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - disks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20240302-snapshot + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240302.snapshots.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20240302 + operations: + - CREATE + - UPDATE + resources: + - snapshots + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-compute-azure-com-v1api20241101-availabilityset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.availabilitysets.compute.azure.com + rules: + - apiGroups: + - compute.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - availabilitysets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerinstance-azure-com-v1api20211001-containergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.containergroups.containerinstance.azure.com + rules: + - apiGroups: + - containerinstance.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - containergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20210901-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210901.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20210901 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20230701-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.registries.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerregistry-azure-com-v1api20230701-registryreplication + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.registryreplications.containerregistry.azure.com + rules: + - apiGroups: + - containerregistry.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - registryreplications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20210501-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20210501-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230201-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230201.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230201-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230201.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230201 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleets.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleetsmember + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleetsmembers.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsmembers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20230315preview-fleetsupdaterun + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230315preview.fleetsupdateruns.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20230315preview + operations: + - CREATE + - UPDATE + resources: + - fleetsupdateruns + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231001-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231001.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231001 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231102preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231102preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20231102preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231102preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20231102preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240402preview-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240402preview.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240402preview + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-maintenanceconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.maintenanceconfigurations.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - maintenanceconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-managedcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.managedclusters.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-managedclustersagentpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.managedclustersagentpools.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - managedclustersagentpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-containerservice-azure-com-v1api20240901-trustedaccessrolebinding + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240901.trustedaccessrolebindings.containerservice.azure.com + rules: + - apiGroups: + - containerservice.azure.com + apiVersions: + - v1api20240901 + operations: + - CREATE + - UPDATE + resources: + - trustedaccessrolebindings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-datafactory-azure-com-v1api20180601-factory + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.factories.datafactory.azure.com + rules: + - apiGroups: + - datafactory.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - factories + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20230101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20230101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaults.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackupinstance + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaultsbackupinstances.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackupinstances + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dataprotection-azure-com-v1api20231101-backupvaultsbackuppolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.backupvaultsbackuppolicies.dataprotection.azure.com + rules: + - apiGroups: + - dataprotection.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - backupvaultsbackuppolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-configuration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.configurations.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - configurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.databases.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformariadb-azure-com-v1api20180601-server + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180601.servers.dbformariadb.azure.com + rules: + - apiGroups: + - dbformariadb.azure.com + apiVersions: + - v1api20180601 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20210501 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220101.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20220101 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20230630 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleservers.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversadministrators.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversconfigurations.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversdatabases.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbformysql-azure-com-v1api20231230-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231230.flexibleserversfirewallrules.dbformysql.azure.com + rules: + - apiGroups: + - dbformysql.azure.com + apiVersions: + - v1api20231230 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20210601-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20220120preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220120preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20220120preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20221201-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221201.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20221201 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20230601preview-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601preview.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20230601preview + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleservers.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleservers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversadvancedthreatprotectionsettings + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversadvancedthreatprotectionsettings.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversbackup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversbackups.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversbackups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversconfigurations.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversdatabases.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversfirewallrules.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-dbforpostgresql-azure-com-v1api20240801-flexibleserversvirtualendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240801.flexibleserversvirtualendpoints.dbforpostgresql.azure.com + rules: + - apiGroups: + - dbforpostgresql.azure.com + apiVersions: + - v1api20240801 + operations: + - CREATE + - UPDATE + resources: + - flexibleserversvirtualendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-devices-azure-com-v1api20210702-iothub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210702.iothubs.devices.azure.com + rules: + - apiGroups: + - devices.azure.com + apiVersions: + - v1api20210702 + operations: + - CREATE + - UPDATE + resources: + - iothubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20210515-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210515.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20210515 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20231115-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231115.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20231115 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240701-firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240701.firewallrules.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240701-mongocluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240701.mongoclusters.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240701 + operations: + - CREATE + - UPDATE + resources: + - mongoclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-databaseaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.databaseaccounts.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - databaseaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasecollection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasecollections.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasecollectionthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasecollectionthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasecollectionthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbdatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbdatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbdatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbroledefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbroledefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbroledefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-mongodbuserdefinition + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.mongodbuserdefinitions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - mongodbuserdefinitions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainerstoredprocedure + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainerstoredprocedures.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerstoredprocedures + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainerthroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainerthroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainerthroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontainertrigger + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontainertriggers.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontainertriggers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasecontaineruserdefinedfunction + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasecontaineruserdefinedfunctions.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasecontaineruserdefinedfunctions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabases.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqldatabasethroughputsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqldatabasethroughputsettings.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqldatabasethroughputsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-documentdb-azure-com-v1api20240815-sqlroleassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240815.sqlroleassignments.documentdb.azure.com + rules: + - apiGroups: + - documentdb.azure.com + apiVersions: + - v1api20240815 + operations: + - CREATE + - UPDATE + resources: + - sqlroleassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-entra-azure-com-v1-securitygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.securitygroups.entra.azure.com + rules: + - apiGroups: + - entra.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - securitygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-domain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.domains.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-domainstopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.domainstopics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - domainstopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-eventsubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.eventsubscriptions.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - eventsubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventgrid-azure-com-v1api20200601-topic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.topics.eventgrid.azure.com + rules: + - apiGroups: + - eventgrid.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - topics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20211101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaces.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubs.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubsauthorizationrules.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-eventhub-azure-com-v1api20240101-namespaceseventhubsconsumergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaceseventhubsconsumergroups.eventhub.azure.com + rules: + - apiGroups: + - eventhub.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaceseventhubsconsumergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20171001-pricingplan + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20171001.pricingplans.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20171001 + operations: + - CREATE + - UPDATE + resources: + - pricingplans + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20180301-metricalert + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180301.metricalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180301 + operations: + - CREATE + - UPDATE + resources: + - metricalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20180501preview-webtest + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501preview.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20180501preview + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20200202-component + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200202.components.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20200202 + operations: + - CREATE + - UPDATE + resources: + - components + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20201001-activitylogalert + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201001.activitylogalerts.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20201001 + operations: + - CREATE + - UPDATE + resources: + - activitylogalerts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20210501preview-diagnosticsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210501preview.diagnosticsettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20210501preview + operations: + - CREATE + - UPDATE + resources: + - diagnosticsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20220615-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220615.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20220615-webtest + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220615.webtests.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20220615 + operations: + - CREATE + - UPDATE + resources: + - webtests + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20221001-autoscalesetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001.autoscalesettings.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20221001 + operations: + - CREATE + - UPDATE + resources: + - autoscalesettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230101-actiongroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.actiongroups.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - actiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionendpoints.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionruleassociation + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionruleassociations.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionruleassociations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230311-datacollectionrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230311.datacollectionrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230311 + operations: + - CREATE + - UPDATE + resources: + - datacollectionrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20230601-workbook + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230601.workbooks.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20230601 + operations: + - CREATE + - UPDATE + resources: + - workbooks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-insights-azure-com-v1api20240101preview-scheduledqueryrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101preview.scheduledqueryrules.insights.azure.com + rules: + - apiGroups: + - insights.azure.com + apiVersions: + - v1api20240101preview + operations: + - CREATE + - UPDATE + resources: + - scheduledqueryrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-keyvault-azure-com-v1api20210401preview-vault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401preview.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20210401preview + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-keyvault-azure-com-v1api20230701-vault + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230701.vaults.keyvault.azure.com + rules: + - apiGroups: + - keyvault.azure.com + apiVersions: + - v1api20230701 + operations: + - CREATE + - UPDATE + resources: + - vaults + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20230501-extension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20230501-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230501.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20230501 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20241101-extension + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.extensions.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - extensions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kubernetesconfiguration-azure-com-v1api20241101-fluxconfiguration + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20241101.fluxconfigurations.kubernetesconfiguration.azure.com + rules: + - apiGroups: + - kubernetesconfiguration.azure.com + apiVersions: + - v1api20241101 + operations: + - CREATE + - UPDATE + resources: + - fluxconfigurations + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-cluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20230815-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230815.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20230815 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-cluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.clusters.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - clusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-database + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.databases.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - databases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-dataconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.dataconnections.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - dataconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-kusto-azure-com-v1api20240413-principalassignment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240413.principalassignments.kusto.azure.com + rules: + - apiGroups: + - kusto.azure.com + apiVersions: + - v1api20240413 + operations: + - CREATE + - UPDATE + resources: + - principalassignments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20210701-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210701.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20210701 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-registry + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.registries.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - registries + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspaces.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspacescompute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspacescomputes.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacescomputes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-machinelearningservices-azure-com-v1api20240401-workspacesconnection + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240401.workspacesconnections.machinelearningservices.azure.com + rules: + - apiGroups: + - machinelearningservices.azure.com + apiVersions: + - v1api20240401 + operations: + - CREATE + - UPDATE + resources: + - workspacesconnections + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20181130-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20181130.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20181130 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20220131preview-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220131preview.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20220131preview + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20230131-federatedidentitycredential + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230131.federatedidentitycredentials.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - federatedidentitycredentials + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-managedidentity-azure-com-v1api20230131-userassignedidentity + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230131.userassignedidentities.managedidentity.azure.com + rules: + - apiGroups: + - managedidentity.azure.com + apiVersions: + - v1api20230131 + operations: + - CREATE + - UPDATE + resources: + - userassignedidentities + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-monitor-azure-com-v1api20230403-account + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230403.accounts.monitor.azure.com + rules: + - apiGroups: + - monitor.azure.com + apiVersions: + - v1api20230403 + operations: + - CREATE + - UPDATE + resources: + - accounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-frontdoor-azure-com-v1api20220501-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220501.webapplicationfirewallpolicies.network.frontdoor.azure.com + rules: + - apiGroups: + - network.frontdoor.azure.com + apiVersions: + - v1api20220501 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonescaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonescaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesnsrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesnsrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesnsrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180501-dnszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180501.dnszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180501 + operations: + - CREATE + - UPDATE + resources: + - dnszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20180901-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20180901.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20180901 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20200601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-routetable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20201101-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20201101.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20201101 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofile + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofiles.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofiles + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesazureendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesazureendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesazureendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesexternalendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesexternalendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesexternalendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220401-trafficmanagerprofilesnestedendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220401.trafficmanagerprofilesnestedendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220401 + operations: + - CREATE + - UPDATE + resources: + - trafficmanagerprofilesnestedendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-applicationgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.applicationgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - applicationgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingruleset + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsforwardingrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesetsforwardingrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsforwardingrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsforwardingrulesetsvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsforwardingrulesetsvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsforwardingrulesetsvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolver + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolvers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolvers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolversinboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolversinboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversinboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-dnsresolversoutboundendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.dnsresolversoutboundendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - dnsresolversoutboundendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20220701-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220701.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20220701 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240101-applicationsecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.applicationsecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - applicationsecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240101-webapplicationfirewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.webapplicationfirewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - webapplicationfirewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-azurefirewall + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.azurefirewalls.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - azurefirewalls + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-bastionhost + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.bastionhosts.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - bastionhosts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-firewallpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.firewallpolicies.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-firewallpoliciesrulecollectiongroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.firewallpoliciesrulecollectiongroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - firewallpoliciesrulecollectiongroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-loadbalancer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.loadbalancers.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-loadbalancersinboundnatrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.loadbalancersinboundnatrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - loadbalancersinboundnatrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-natgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.natgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - natgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networkinterface + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networkinterfaces.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networkinterfaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networksecuritygroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networksecuritygroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-networksecuritygroupssecurityrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.networksecuritygroupssecurityrules.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - networksecuritygroupssecurityrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privateendpoint + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privateendpoints.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpoints + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privateendpointsprivatednszonegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privateendpointsprivatednszonegroups.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privateendpointsprivatednszonegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-privatelinkservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.privatelinkservices.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - privatelinkservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-publicipaddress + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.publicipaddresses.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipaddresses + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-publicipprefix + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.publicipprefixes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - publicipprefixes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-routetable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.routetables.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-routetablesroute + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.routetablesroutes.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - routetablesroutes + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworkgateway + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworkgateways.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkgateways + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetwork + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworkssubnet + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworkssubnets.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworkssubnets + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240301-virtualnetworksvirtualnetworkpeering + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.virtualnetworksvirtualnetworkpeerings.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - virtualnetworksvirtualnetworkpeerings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszone + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszones.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszones + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesaaaarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesaaaarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesaaaarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesarecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesarecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesarecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonescnamerecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonescnamerecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonescnamerecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesmxrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesmxrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesmxrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesptrrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesptrrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesptrrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonessrvrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonessrvrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonessrvrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonestxtrecord + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonestxtrecords.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonestxtrecords + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-network-azure-com-v1api20240601-privatednszonesvirtualnetworklink + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240601.privatednszonesvirtualnetworklinks.network.azure.com + rules: + - apiGroups: + - network.azure.com + apiVersions: + - v1api20240601 + operations: + - CREATE + - UPDATE + resources: + - privatednszonesvirtualnetworklinks + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.namespaces.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.namespacesauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-notificationhub + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.notificationhubs.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-notificationhubs-azure-com-v1api20230901-notificationhubsauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230901.notificationhubsauthorizationrules.notificationhubs.azure.com + rules: + - apiGroups: + - notificationhubs.azure.com + apiVersions: + - v1api20230901 + operations: + - CREATE + - UPDATE + resources: + - notificationhubsauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-operationalinsights-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspaces.operationalinsights.azure.com + rules: + - apiGroups: + - operationalinsights.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-redhatopenshift-azure-com-v1api20231122-openshiftcluster + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231122.openshiftclusters.redhatopenshift.azure.com + rules: + - apiGroups: + - redhatopenshift.azure.com + apiVersions: + - v1api20231122 + operations: + - CREATE + - UPDATE + resources: + - openshiftclusters + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-resources-azure-com-v1api20200601-resourcegroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20200601.resourcegroups.resources.azure.com + rules: + - apiGroups: + - resources.azure.com + apiVersions: + - v1api20200601 + operations: + - CREATE + - UPDATE + resources: + - resourcegroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-search-azure-com-v1api20220901-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-search-azure-com-v1api20231101-searchservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20231101.searchservices.search.azure.com + rules: + - apiGroups: + - search.azure.com + apiVersions: + - v1api20231101 + operations: + - CREATE + - UPDATE + resources: + - searchservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20210101preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210101preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20210101preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20211101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20221001preview-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20221001preview.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20221001preview + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespaces.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacesauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacesqueues.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopic + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopics.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopics + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopicssubscription + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopicssubscriptions.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-namespacestopicssubscriptionsrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.namespacestopicssubscriptionsrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - namespacestopicssubscriptionsrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-servicebus-azure-com-v1api20240101-topicauthorizationrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240101.topicauthorizationrules.servicebus.azure.com + rules: + - apiGroups: + - servicebus.azure.com + apiVersions: + - v1api20240101 + operations: + - CREATE + - UPDATE + resources: + - topicauthorizationrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20211001-signalr + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-customcertificate + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.customcertificates.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customcertificates + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-customdomain + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.customdomains.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - customdomains + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-replica + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.replicas.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - replicas + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-signalrservice-azure-com-v1api20240301-signalr + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20240301.signalrs.signalrservice.azure.com + rules: + - apiGroups: + - signalrservice.azure.com + apiVersions: + - v1api20240301 + operations: + - CREATE + - UPDATE + resources: + - signalrs + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1-user + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1.users.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1 + operations: + - CREATE + - UPDATE + resources: + - users + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-server + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.servers.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - servers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversadministrator + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversadministrators.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadministrators + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversazureadonlyauthentication + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversazureadonlyauthentications.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversazureadonlyauthentications + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversconnectionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversconnectionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversconnectionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabase + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabases.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesadvancedthreatprotectionsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesadvancedthreatprotectionsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesadvancedthreatprotectionsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesauditingsetting + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesauditingsettings.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesauditingsettings + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackuplongtermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesbackuplongtermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackuplongtermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesbackupshorttermretentionpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesbackupshorttermretentionpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesbackupshorttermretentionpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasessecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasessecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasessecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasestransparentdataencryption + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasestransparentdataencryptions.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasestransparentdataencryptions + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversdatabasesvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversdatabasesvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversdatabasesvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serverselasticpool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serverselasticpools.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverselasticpools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversfailovergroup + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversfailovergroups.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfailovergroups + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversipv6firewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversipv6firewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversipv6firewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversoutboundfirewallrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversoutboundfirewallrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversoutboundfirewallrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serverssecurityalertpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serverssecurityalertpolicies.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serverssecurityalertpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversvirtualnetworkrule + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversvirtualnetworkrules.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvirtualnetworkrules + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-sql-azure-com-v1api20211101-serversvulnerabilityassessment + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211101.serversvulnerabilityassessments.sql.azure.com + rules: + - apiGroups: + - sql.azure.com + apiVersions: + - v1api20211101 + operations: + - CREATE + - UPDATE + resources: + - serversvulnerabilityassessments + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20210401-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210401.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20210401 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20220901-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220901.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20220901 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccount + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccounts.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccounts + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsblobservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsblobservicescontainer + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsblobservicescontainers.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsblobservicescontainers + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsfileservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsfileservicesshare + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsfileservicesshares.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsfileservicesshares + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsmanagementpolicy + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsmanagementpolicies.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsmanagementpolicies + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsqueueservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountsqueueservicesqueue + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountsqueueservicesqueues.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountsqueueservicesqueues + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountstableservice + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountstableservices.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservices + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-storage-azure-com-v1api20230101-storageaccountstableservicestable + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20230101.storageaccountstableservicestables.storage.azure.com + rules: + - apiGroups: + - storage.azure.com + apiVersions: + - v1api20230101 + operations: + - CREATE + - UPDATE + resources: + - storageaccountstableservicestables + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-subscription-azure-com-v1api20211001-alias + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20211001.aliases.subscription.azure.com + rules: + - apiGroups: + - subscription.azure.com + apiVersions: + - v1api20211001 + operations: + - CREATE + - UPDATE + resources: + - aliases + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-synapse-azure-com-v1api20210601-workspace + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspaces.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspaces + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-synapse-azure-com-v1api20210601-workspacesbigdatapool + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20210601.workspacesbigdatapools.synapse.azure.com + rules: + - apiGroups: + - synapse.azure.com + apiVersions: + - v1api20210601 + operations: + - CREATE + - UPDATE + resources: + - workspacesbigdatapools + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-serverfarm + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.serverfarms.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - serverfarms + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-site + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.sites.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sites + sideEffects: None + - admissionReviewVersions: + - v1 + clientConfig: + service: + name: azureserviceoperator-webhook-service + namespace: azureserviceoperator-system + path: /validate-web-azure-com-v1api20220301-sitessourcecontrol + failurePolicy: Fail + matchPolicy: Exact + name: validate.v1api20220301.sitessourcecontrols.web.azure.com + rules: + - apiGroups: + - web.azure.com + apiVersions: + - v1api20220301 + operations: + - CREATE + - UPDATE + resources: + - sitessourcecontrols + sideEffects: None diff --git a/data/data/install.openshift.io_installconfigs.yaml b/data/data/install.openshift.io_installconfigs.yaml index f9aa81ea52d..c21ee598af2 100644 --- a/data/data/install.openshift.io_installconfigs.yaml +++ b/data/data/install.openshift.io_installconfigs.yaml @@ -5074,12 +5074,16 @@ spec: is required for Azure Stack and not applicable to Azure. type: string computeSubnet: - description: ComputeSubnet specifies an existing subnet for use - by compute nodes + description: |- + ComputeSubnet specifies an existing subnet for use by compute nodes + + Deprecated: use platform.Azure.Subnets section type: string controlPlaneSubnet: - description: ControlPlaneSubnet specifies an existing subnet for - use by the control plane nodes + description: |- + ControlPlaneSubnet specifies an existing subnet for use by the control plane nodes + + Deprecated: use platform.Azure.Subnets section type: string customerManagedKey: description: CustomerManagedKey has the keys needed to encrypt @@ -5533,6 +5537,7 @@ spec: - "" - Loadbalancer - NATGatewaySingleZone + - NATGatewayMultiZone - UserDefinedRouting type: string region: @@ -5548,6 +5553,28 @@ spec: This resource group must be empty with no other resources when trying to use it for creating a cluster. If empty, a new resource group will created for the cluster. type: string + subnets: + description: Subnets is the list of subnets the user can bring + into the cluster to be used. + items: + description: SubnetSpec specifies the properties the subnet + needs to be used in the cluster. + properties: + name: + description: Name of the subnet. + type: string + role: + description: Role specifies the actual role which the subnet + should be used in. + enum: + - node + - control-plane + type: string + required: + - name + - role + type: object + type: array userProvisionedDNS: default: Disabled description: |- diff --git a/go.mod b/go.mod index d2253e04fae..a6b1abdda75 100644 --- a/go.mod +++ b/go.mod @@ -139,7 +139,7 @@ require ( libvirt.org/go/libvirtxml v1.10002.0 sigs.k8s.io/cluster-api v1.11.2 sigs.k8s.io/cluster-api-provider-aws/v2 v2.7.1-0.20250314180547-17a09f59176c - sigs.k8s.io/cluster-api-provider-azure v1.21.1 + sigs.k8s.io/cluster-api-provider-azure v1.21.1-0.20250929163617-2c4eaa611a39 sigs.k8s.io/cluster-api-provider-gcp v1.10.1-0.20251030112604-5c2bfd5aadb3 sigs.k8s.io/cluster-api-provider-ibmcloud v0.12.0 sigs.k8s.io/cluster-api-provider-openstack v0.13.0 diff --git a/pkg/asset/installconfig/azure/client.go b/pkg/asset/installconfig/azure/client.go index e82fac983ea..da45904fed8 100644 --- a/pkg/asset/installconfig/azure/client.go +++ b/pkg/asset/installconfig/azure/client.go @@ -14,6 +14,8 @@ import ( azmarketplace "github.com/Azure/azure-sdk-for-go/profiles/latest/marketplaceordering/mgmt/marketplaceordering" "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" azstorage "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage" "github.com/Azure/go-autorest/autorest/to" "k8s.io/apimachinery/pkg/util/sets" @@ -43,8 +45,13 @@ type API interface { GetAvailabilityZones(ctx context.Context, region string, instanceType string) ([]string, error) GetLocationInfo(ctx context.Context, region string, instanceType string) (*azenc.ResourceSkuLocationInfo, error) CheckIfExistsStorageAccount(ctx context.Context, resourceGroup, storageAccountName, region string) error + GetRegionAvailabilityZones(ctx context.Context, region string) ([]string, error) + CheckSubnetNatgateway(ctx context.Context, resourceGroup, virtualNetwork, subnet string) (bool, error) } +// APIVersion describes to the version to use for Azure API calls that support both azure and azurestack. +const APIVersion = "2019-11-01" + // Client makes calls to the Azure API. type Client struct { ssn *Session @@ -451,7 +458,7 @@ func (c *Client) CheckIfExistsStorageAccount(ctx context.Context, resourceGroup, accountClientOptions := arm.ClientOptions{ ClientOptions: policy.ClientOptions{ // NOTE: the api version must support AzureStack - APIVersion: "2019-04-01", + APIVersion: APIVersion, Cloud: c.ssn.CloudConfig, }, } @@ -473,3 +480,101 @@ func (c *Client) CheckIfExistsStorageAccount(ctx context.Context, resourceGroup, } return err } + +// GetRegionAvailabilityZones checks if a given region has availabililty zones for the nat gateways to use. +func (c *Client) GetRegionAvailabilityZones(ctx context.Context, region string) ([]string, error) { + clientOptions := arm.ClientOptions{ + ClientOptions: policy.ClientOptions{ + // NOTE: the api version must support AzureStack + APIVersion: APIVersion, + Cloud: c.ssn.CloudConfig, + }, + } + providersClient, err := armresources.NewProvidersClient(c.ssn.Credentials.SubscriptionID, c.ssn.TokenCreds, &clientOptions) + if err != nil { + return nil, fmt.Errorf("failed to create providers client: %w", err) + } + + provider, err := providersClient.Get(ctx, "Microsoft.Network", nil) + if err != nil { + return nil, fmt.Errorf("failed to get Microsoft.Network provider: %w", err) + } + + if provider.ResourceTypes == nil { + return nil, fmt.Errorf("no resource types found in Microsoft.Network provider") + } + + // Find natGateways resource type + for _, rt := range provider.ResourceTypes { + if rt.ResourceType == nil || *rt.ResourceType != "natGateways" { + continue + } + if rt.ZoneMappings != nil { + for _, zm := range rt.ZoneMappings { + if zones := getZoneMappings(zm, region); zones != nil { + return zones, nil + } + } + } + if rt.Locations != nil { + for _, loc := range rt.Locations { + if loc != nil && strings.EqualFold(*loc, region) { + return nil, nil // NAT gateway available but no zones + } + } + } + return nil, fmt.Errorf("NAT gateway not available in region %s", region) + } + + return nil, fmt.Errorf("natGateways resource type not found in Microsoft.Network provider") +} + +func getZoneMappings(zm *armresources.ZoneMapping, region string) []string { + if zm.Location == nil || len(zm.Zones) == 0 { + return nil + } + if !strings.EqualFold(strings.ReplaceAll(strings.ToLower(*zm.Location), " ", ""), region) { + return nil + } + zones := []string{} + for _, zone := range zm.Zones { + if zone != nil { + zones = append(zones, *zone) + } + } + if len(zones) == 0 { + return nil + } + return zones +} + +// CheckSubnetNatgateway checks if there is an existing NAT gateway in a subnet. +func (c *Client) CheckSubnetNatgateway(ctx context.Context, resourceGroup, virtualNetwork, subnet string) (bool, error) { + clientOptions := arm.ClientOptions{ + ClientOptions: policy.ClientOptions{ + // NOTE: the api version must support AzureStack + APIVersion: APIVersion, + Cloud: c.ssn.CloudConfig, + }, + } + clientFactory, err := armnetwork.NewClientFactory(c.ssn.Credentials.SubscriptionID, c.ssn.TokenCreds, &clientOptions) + if err != nil { + return false, fmt.Errorf("failed to create client factory: %w", err) + } + + res, err := clientFactory.NewSubnetsClient().Get( + ctx, + resourceGroup, + virtualNetwork, + subnet, + &armnetwork.SubnetsClientGetOptions{Expand: nil}, + ) + if err != nil { + return false, fmt.Errorf("failed to get subnet %s: %w", subnet, err) + } + + if res.Subnet.Properties != nil { + return res.Subnet.Properties.NatGateway != nil, nil + } + return false, fmt.Errorf("unable to get subnet nat gateway") +} diff --git a/pkg/asset/installconfig/azure/metadata.go b/pkg/asset/installconfig/azure/metadata.go index 8bad666ab40..59536706a4f 100644 --- a/pkg/asset/installconfig/azure/metadata.go +++ b/pkg/asset/installconfig/azure/metadata.go @@ -1,9 +1,13 @@ package azure import ( + "context" "fmt" + "sort" "sync" + "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" + typesazure "github.com/openshift/installer/pkg/types/azure" ) @@ -11,9 +15,13 @@ import ( // does not need to be user-supplied (e.g. because it can be retrieved // from external APIs). type Metadata struct { - session *Session - client API - dnsCfg *DNSConfig + session *Session + client API + dnsCfg *DNSConfig + availabilityZones []string + vmZones []string + region string + ZonesSubnetMap map[string][]string // CloudName indicates the Azure cloud environment (e.g. public, gov't). CloudName typesazure.CloudEnvironment `json:"cloudName,omitempty"` @@ -34,17 +42,18 @@ type Metadata struct { } // NewMetadata initializes a new Metadata object. -func NewMetadata(cloudName typesazure.CloudEnvironment, armEndpoint string) *Metadata { - return NewMetadataWithCredentials(cloudName, armEndpoint, nil) +func NewMetadata(cloudName typesazure.CloudEnvironment, armEndpoint string, region string) *Metadata { + return NewMetadataWithCredentials(cloudName, armEndpoint, nil, region) } // NewMetadataWithCredentials initializes a new Metadata object // with prepopulated Azure credentials. -func NewMetadataWithCredentials(cloudName typesazure.CloudEnvironment, armEndpoint string, credentials *Credentials) *Metadata { +func NewMetadataWithCredentials(cloudName typesazure.CloudEnvironment, armEndpoint string, credentials *Credentials, region string) *Metadata { return &Metadata{ CloudName: cloudName, ARMEndpoint: armEndpoint, Credentials: credentials, + region: region, } } @@ -98,3 +107,94 @@ func (m *Metadata) DNSConfig() (*DNSConfig, error) { } return m.dnsCfg, nil } + +// AvailabilityZones retrieves a list of availability zones for the configured region. +func (m *Metadata) AvailabilityZones(ctx context.Context) ([]string, error) { + m.mutex.Lock() + defer m.mutex.Unlock() + + if len(m.availabilityZones) == 0 { + zones, err := m.client.GetRegionAvailabilityZones(ctx, m.region) + if err != nil { + return nil, fmt.Errorf("error retrieving Availability Zones: %w", err) + } + if zones != nil { + sort.Strings(zones) + m.availabilityZones = zones + } + } + + return m.availabilityZones, nil +} + +// VMAvailabilityZones retrieves a list of availability zones for the configured region and instance type. +func (m *Metadata) VMAvailabilityZones(ctx context.Context, instanceType string) ([]string, error) { + m.mutex.Lock() + defer m.mutex.Unlock() + + if len(m.vmZones) == 0 { + zones, err := m.client.GetAvailabilityZones(ctx, m.region, instanceType) + if err != nil { + return nil, fmt.Errorf("error retrieving Availability Zones: %w", err) + } + if zones != nil { + sort.Strings(zones) + m.vmZones = zones + } + } + + return m.vmZones, nil +} + +// GenerateZonesSubnetMap creates a map of all the zones that are supported for nat gateways and vms and +// sets it to the subnets provided. If no subnets are provided, it creates subnets for multi zone +// functionality. +func (m *Metadata) GenerateZonesSubnetMap(subnetSpec []typesazure.SubnetSpec, defaultComputeSubnet string) (map[string][]string, error) { + if m.ZonesSubnetMap == nil { + // Get the availability zones. + if m.availabilityZones == nil { + _, err := m.AvailabilityZones(context.TODO()) + if err != nil { + return nil, err + } + } + subnetZones := m.availabilityZones + computeSubnets := []string{} + + // Get all the byo subnets or generate subnet per az. + if len(subnetSpec) != 0 { + sort.Slice(subnetSpec, func(i, j int) bool { + return subnetSpec[i].Name < subnetSpec[j].Name + }) + for _, subnet := range subnetSpec { + if subnet.Role == v1beta1.SubnetNode { + computeSubnets = append(computeSubnets, subnet.Name) + } + } + } else { + for idx := range subnetZones { + computeName := fmt.Sprintf("%s-%d", defaultComputeSubnet, idx+1) + if idx == 0 { + computeName = defaultComputeSubnet + } + computeSubnets = append(computeSubnets, computeName) + } + } + + // Assign zone to subnets. + subnetMap := map[string][]string{} + zoneIndex := 0 + for _, subnet := range computeSubnets { + if _, ok := subnetMap[subnetZones[zoneIndex]]; !ok { + subnetMap[subnetZones[zoneIndex]] = []string{} + } + subnetMap[subnetZones[zoneIndex]] = append(subnetMap[subnetZones[zoneIndex]], subnet) + zoneIndex++ + if zoneIndex >= len(subnetZones) { + zoneIndex = 0 + } + } + m.ZonesSubnetMap = subnetMap + } + return m.ZonesSubnetMap, nil +} diff --git a/pkg/asset/installconfig/azure/mock/azureclient_generated.go b/pkg/asset/installconfig/azure/mock/azureclient_generated.go index 5544845c787..77e286c1b18 100644 --- a/pkg/asset/installconfig/azure/mock/azureclient_generated.go +++ b/pkg/asset/installconfig/azure/mock/azureclient_generated.go @@ -1,9 +1,9 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: ./client.go +// Source: client.go // // Generated by this command: // -// mockgen -source=./client.go -destination=mock/azureclient_generated.go -package=mock +// mockgen -source=client.go -destination=mock/azureclient_generated.go -package=mock // // Package mock is a generated GoMock package. @@ -88,6 +88,21 @@ func (mr *MockAPIMockRecorder) CheckIfExistsStorageAccount(ctx, resourceGroup, s return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckIfExistsStorageAccount", reflect.TypeOf((*MockAPI)(nil).CheckIfExistsStorageAccount), ctx, resourceGroup, storageAccountName, region) } +// CheckSubnetNatgateway mocks base method. +func (m *MockAPI) CheckSubnetNatgateway(ctx context.Context, resourceGroup, virtualNetwork, subnet string) (bool, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CheckSubnetNatgateway", ctx, resourceGroup, virtualNetwork, subnet) + ret0, _ := ret[0].(bool) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CheckSubnetNatgateway indicates an expected call of CheckSubnetNatgateway. +func (mr *MockAPIMockRecorder) CheckSubnetNatgateway(ctx, resourceGroup, virtualNetwork, subnet any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckSubnetNatgateway", reflect.TypeOf((*MockAPI)(nil).CheckSubnetNatgateway), ctx, resourceGroup, virtualNetwork, subnet) +} + // GetAvailabilityZones mocks base method. func (m *MockAPI) GetAvailabilityZones(ctx context.Context, region, instanceType string) ([]string, error) { m.ctrl.T.Helper() @@ -223,6 +238,21 @@ func (mr *MockAPIMockRecorder) GetMarketplaceImage(ctx, region, publisher, offer return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMarketplaceImage", reflect.TypeOf((*MockAPI)(nil).GetMarketplaceImage), ctx, region, publisher, offer, sku, version) } +// GetRegionAvailabilityZones mocks base method. +func (m *MockAPI) GetRegionAvailabilityZones(ctx context.Context, region string) ([]string, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRegionAvailabilityZones", ctx, region) + ret0, _ := ret[0].([]string) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetRegionAvailabilityZones indicates an expected call of GetRegionAvailabilityZones. +func (mr *MockAPIMockRecorder) GetRegionAvailabilityZones(ctx, region any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRegionAvailabilityZones", reflect.TypeOf((*MockAPI)(nil).GetRegionAvailabilityZones), ctx, region) +} + // GetResourcesProvider mocks base method. func (m *MockAPI) GetResourcesProvider(ctx context.Context, resourceProviderNamespace string) (*resources.Provider, error) { m.ctrl.T.Helper() diff --git a/pkg/asset/installconfig/azure/validation.go b/pkg/asset/installconfig/azure/validation.go index 746c0c26ada..269a08ef445 100644 --- a/pkg/asset/installconfig/azure/validation.go +++ b/pkg/asset/installconfig/azure/validation.go @@ -56,7 +56,7 @@ var computeReq = resourceRequirements{ func Validate(client API, ic *types.InstallConfig) error { allErrs := field.ErrorList{} - allErrs = append(allErrs, validateNetworks(client, ic.Azure, ic.Networking.MachineNetwork, field.NewPath("platform").Child("azure"))...) + allErrs = append(allErrs, validateNetworks(client, ic.Azure, field.NewPath("platform").Child("azure"))...) allErrs = append(allErrs, validateRegion(client, field.NewPath("platform").Child("azure").Child("region"), ic.Azure)...) if ic.Azure.CloudName == aztypes.StackCloud { allErrs = append(allErrs, validateAzureStackDiskType(client, ic)...) @@ -71,6 +71,7 @@ func Validate(client API, ic *types.InstallConfig) error { } allErrs = append(allErrs, validateMarketplaceImages(client, ic)...) allErrs = append(allErrs, validateBootDiagnostics(client, ic)...) + allErrs = append(allErrs, validateCustomSubnets(client, field.NewPath("platform").Child("azure").Child("subnetSpec"), ic)...) return allErrs.ToAggregate() } @@ -511,37 +512,12 @@ func validateInstanceTypes(client API, ic *types.InstallConfig) field.ErrorList return allErrs } -// validateNetworks checks that the user-provided VNet and subnets are valid. -func validateNetworks(client API, p *aztypes.Platform, machineNetworks []types.MachineNetworkEntry, fieldPath *field.Path) field.ErrorList { - allErrs := field.ErrorList{} - - if p.VirtualNetwork != "" { - _, err := client.GetVirtualNetwork(context.TODO(), p.NetworkResourceGroupName, p.VirtualNetwork) - if err != nil { - return append(allErrs, field.Invalid(fieldPath.Child("virtualNetwork"), p.VirtualNetwork, err.Error())) - } - - computeSubnet, err := client.GetComputeSubnet(context.TODO(), p.NetworkResourceGroupName, p.VirtualNetwork, p.ComputeSubnet) - if err != nil { - return append(allErrs, field.Invalid(fieldPath.Child("computeSubnet"), p.ComputeSubnet, "failed to retrieve compute subnet")) - } - - allErrs = append(allErrs, validateSubnet(client, fieldPath.Child("computeSubnet"), computeSubnet, p.ComputeSubnet, machineNetworks)...) - - controlPlaneSubnet, err := client.GetControlPlaneSubnet(context.TODO(), p.NetworkResourceGroupName, p.VirtualNetwork, p.ControlPlaneSubnet) - if err != nil { - return append(allErrs, field.Invalid(fieldPath.Child("controlPlaneSubnet"), p.ControlPlaneSubnet, "failed to retrieve control plane subnet")) - } - - allErrs = append(allErrs, validateSubnet(client, fieldPath.Child("controlPlaneSubnet"), controlPlaneSubnet, p.ControlPlaneSubnet, machineNetworks)...) - } - - return allErrs -} - // validateSubnet checks that the subnet is in the same network as the machine CIDR func validateSubnet(client API, fieldPath *field.Path, subnet *aznetwork.Subnet, subnetName string, networks []types.MachineNetworkEntry) field.ErrorList { allErrs := field.ErrorList{} + if subnet == nil || subnet.SubnetPropertiesFormat == nil { + return append(allErrs, field.Invalid(fieldPath, subnetName, "cannot get subnet information")) + } var addressPrefix string switch { @@ -573,6 +549,35 @@ func validateMachineNetworksContainIP(fldPath *field.Path, networks []types.Mach return field.ErrorList{field.Invalid(fldPath, subnetName, fmt.Sprintf("subnet %s address prefix is outside of the specified machine networks", ip))} } +// validateNetworks checks that the user-provided VNet and subnets are valid. +func validateNetworks(client API, p *aztypes.Platform, fieldPath *field.Path) field.ErrorList { + allErrs := field.ErrorList{} + if p.VirtualNetwork != "" { + _, err := client.GetVirtualNetwork(context.TODO(), p.NetworkResourceGroupName, p.VirtualNetwork) + if err != nil { + return append(allErrs, field.Invalid(fieldPath.Child("virtualNetwork"), p.VirtualNetwork, err.Error())) + } + + var computeSubnetName string + var controlPlaneSubnetName string + for _, subnet := range p.Subnets { + if subnet.Role == capz.SubnetControlPlane && controlPlaneSubnetName == "" { + controlPlaneSubnetName = subnet.Name + } else if subnet.Role == capz.SubnetNode && computeSubnetName == "" { + computeSubnetName = subnet.Name + } + } + if computeSubnetName == "" { + return append(allErrs, field.Invalid(fieldPath.Child("virtualNetwork"), p.VirtualNetwork, "must provide a compute subnet")) + } + if controlPlaneSubnetName == "" { + return append(allErrs, field.Invalid(fieldPath.Child("virtualNetwork"), p.VirtualNetwork, "must provide a control plane subnet")) + } + } + + return allErrs +} + // validateRegion checks that the desired region is valid and available to the user func validateRegion(client API, fieldPath *field.Path, p *aztypes.Platform) field.ErrorList { locations, err := client.ListLocations(context.TODO()) @@ -995,3 +1000,66 @@ func checkBootDiagnosticsURI(client API, diag *aztypes.BootDiagnostics, region s } return nil } + +// validateSubnetNatGateway checks whether a NAT Gateway is already attached to a compute subnet. +func validateSubnetNatGateway(client API, fieldPath *field.Path, subnet *aznetwork.Subnet, outboundType aztypes.OutboundType, role capz.SubnetRole, resourceGroup, virtualNetwork string) field.ErrorList { + var allErrs field.ErrorList + if outboundType != aztypes.NATGatewayMultiZoneOutboundType && outboundType != aztypes.NATGatewaySingleZoneOutboundType { + return allErrs + } + if virtualNetwork == "" || resourceGroup == "" { + return allErrs + } + hasNatGateway, err := client.CheckSubnetNatgateway(context.TODO(), resourceGroup, virtualNetwork, *subnet.Name) + if err != nil { + allErrs = append(allErrs, field.Invalid(fieldPath.Child("subnets"), *subnet.Name, fmt.Sprintf("unable to check for existing NAT gateway: %s", err))) + } + if hasNatGateway { + allErrs = append(allErrs, field.Invalid(fieldPath.Child("subnets"), *subnet.Name, "cannot create NAT gateway for byo subnet, another NAT gateway is attached")) + } + return allErrs +} + +func validateCustomSubnets(client API, fldPath *field.Path, ic *types.InstallConfig) field.ErrorList { + allErrs := field.ErrorList{} + subnetSpec := ic.Azure.Subnets + virtualNetwork := ic.Azure.VirtualNetwork + networkResourceGroupName := ic.Azure.NetworkResourceGroupName + + vnetSubnetList := map[string]*aznetwork.Subnet{} + if virtualNetwork != "" { + existingVnet, err := client.GetVirtualNetwork(context.TODO(), networkResourceGroupName, virtualNetwork) + if err != nil || existingVnet == nil { + allErrs = append(allErrs, field.Invalid(fldPath.Child("virtualNetwork"), virtualNetwork, "unable to get virtual network")) + return allErrs + } + if existingVnet.Location != nil && *existingVnet.Location != ic.Azure.Region { + allErrs = append(allErrs, field.Invalid(fldPath.Child("virtualNetwork"), virtualNetwork, + fmt.Sprintf("virtual network in region %s not in the same region as resource group %s mentioned", *existingVnet.Location, ic.Azure.Region))) + return allErrs + } + if existingVnet.VirtualNetworkPropertiesFormat != nil && existingVnet.Subnets != nil { + for _, subnet := range *existingVnet.Subnets { + vnetSubnetList[*subnet.Name] = &subnet + } + } + } + for _, subnet := range subnetSpec { + if value, ok := vnetSubnetList[subnet.Name]; !ok { + allErrs = append(allErrs, field.Invalid(fldPath.Child("subnets"), subnet.Name, "subnet does not exist in the vnet")) + } else { + allErrs = append(allErrs, validateSubnet(client, fldPath.Child("subnets"), value, subnet.Name, ic.MachineNetwork)...) + allErrs = append(allErrs, validateSubnetNatGateway(client, fldPath, value, ic.Azure.OutboundType, subnet.Role, networkResourceGroupName, virtualNetwork)...) + } + } + if ic.Azure.OutboundType == aztypes.NATGatewayMultiZoneOutboundType { + numZones, err := client.GetRegionAvailabilityZones(context.TODO(), ic.Azure.Region) + if err != nil { + allErrs = append(allErrs, field.Invalid(fldPath.Child("subnets"), ic.Azure.Region, fmt.Sprintf("failed to get region availability zones: %s", err.Error()))) + } else if len(numZones) == 0 { + allErrs = append(allErrs, field.Invalid(fldPath.Child("subnets"), ic.Azure.Region, "region does not support multiple availability zones")) + } + } + + return allErrs +} diff --git a/pkg/asset/installconfig/azure/validation_test.go b/pkg/asset/installconfig/azure/validation_test.go index 265f46007a6..2150d31ded5 100644 --- a/pkg/asset/installconfig/azure/validation_test.go +++ b/pkg/asset/installconfig/azure/validation_test.go @@ -14,7 +14,7 @@ import ( "go.uber.org/mock/gomock" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation/field" - "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" + capz "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" "github.com/openshift/installer/pkg/asset/installconfig/azure/mock" "github.com/openshift/installer/pkg/ipnet" @@ -156,13 +156,13 @@ var ( invalidResourceSkuRegion = "centralus" invalidateVirtualNetwork = func(ic *types.InstallConfig) { ic.Azure.VirtualNetwork = "invalid-virtual-network" } - invalidateComputeSubnet = func(ic *types.InstallConfig) { ic.Azure.ComputeSubnet = "invalid-compute-subnet" } - invalidateControlPlaneSubnet = func(ic *types.InstallConfig) { ic.Azure.ControlPlaneSubnet = "invalid-controlplane-subnet" } + invalidateComputeSubnet = func(ic *types.InstallConfig) { ic.Azure.Subnets[0].Name = "invalid-compute-subnet" } + invalidateControlPlaneSubnet = func(ic *types.InstallConfig) { ic.Azure.Subnets[1].Name = "invalid-controlplane-subnet" } invalidateRegion = func(ic *types.InstallConfig) { ic.Azure.Region = "neverland" } invalidateRegionCapabilities = func(ic *types.InstallConfig) { ic.Azure.Region = "australiacentral2" } invalidateRegionLetterCase = func(ic *types.InstallConfig) { ic.Azure.Region = "Central US" } removeVirtualNetwork = func(ic *types.InstallConfig) { ic.Azure.VirtualNetwork = "" } - removeSubnets = func(ic *types.InstallConfig) { ic.Azure.ComputeSubnet, ic.Azure.ControlPlaneSubnet = "", "" } + removeSubnets = func(ic *types.InstallConfig) { ic.Azure.Subnets = nil } premiumDiskCompute = func(ic *types.InstallConfig) { ic.Compute[0].Platform.Azure.OSDisk.DiskType = "Premium_LRS" } nonpremiumInstanceTypeDiskCompute = func(ic *types.InstallConfig) { ic.Compute[0].Platform.Azure.InstanceType = "Standard_D4_v4" } premiumDiskControlPlane = func(ic *types.InstallConfig) { ic.ControlPlane.Platform.Azure.OSDisk.DiskType = "Premium_LRS" } @@ -197,6 +197,19 @@ var ( virtualNetworkAPIResult = &aznetwork.VirtualNetwork{ Name: &validVirtualNetwork, + VirtualNetworkPropertiesFormat: &aznetwork.VirtualNetworkPropertiesFormat{ + Subnets: &[]aznetwork.Subnet{{ + Name: &validComputeSubnet, + SubnetPropertiesFormat: &aznetwork.SubnetPropertiesFormat{ + AddressPrefix: to.StringPtr("10.0.0.0/24"), + }, + }, { + Name: &validControlPlaneSubnet, + SubnetPropertiesFormat: &aznetwork.SubnetPropertiesFormat{ + AddressPrefix: to.StringPtr("10.0.1.0/24"), + }, + }}, + }, } computeSubnetAPIResult = &aznetwork.Subnet{ Name: &validComputeSubnet, @@ -377,7 +390,7 @@ var ( validBootDiagnosticsResourceGroup = "valid-resource-group" validStorageAccountValues = func(ic *types.InstallConfig) { ic.ControlPlane.Platform.Azure.BootDiagnostics = &azure.BootDiagnostics{ - Type: v1beta1.UserManagedDiagnosticsStorage, + Type: capz.UserManagedDiagnosticsStorage, ResourceGroup: validBootDiagnosticsResourceGroup, StorageAccountName: validBootDiagnosticsStorageAccount, } @@ -396,9 +409,14 @@ func validInstallConfig() *types.InstallConfig { Region: validRegion, NetworkResourceGroupName: validNetworkResourceGroup, VirtualNetwork: validVirtualNetwork, - ComputeSubnet: validComputeSubnet, - ControlPlaneSubnet: validControlPlaneSubnet, DefaultMachinePlatform: &azure.MachinePool{}, + Subnets: []azure.SubnetSpec{{ + Name: validControlPlaneSubnet, + Role: capz.SubnetControlPlane, + }, { + Name: validComputeSubnet, + Role: capz.SubnetNode, + }}, }, }, ControlPlane: &types.MachinePool{ @@ -445,17 +463,17 @@ func TestAzureInstallConfigValidation(t *testing.T) { { name: "Invalid compute subnet", edits: editFunctions{invalidateComputeSubnet}, - errorMsg: "failed to retrieve compute subnet", + errorMsg: `platform.azure.subnetSpec.subnets: Invalid value: "invalid-compute-subnet": subnet does not exist in the vnet`, }, { name: "Invalid control plane subnet", edits: editFunctions{invalidateControlPlaneSubnet}, - errorMsg: "failed to retrieve control plane subnet", + errorMsg: `platform.azure.subnetSpec.subnets: Invalid value: "invalid-controlplane-subnet": subnet does not exist in the vnet`, }, { name: "Invalid both subnets", edits: editFunctions{invalidateControlPlaneSubnet, invalidateComputeSubnet}, - errorMsg: "failed to retrieve compute subnet", + errorMsg: `platform.azure.subnetSpec.subnets: Invalid value: "invalid-compute-subnet": subnet does not exist in the vnet, platform.azure.subnetSpec.subnets: Invalid value: "invalid-controlplane-subnet": subnet does not exist in the vnet`, }, { name: "Valid instance types", diff --git a/pkg/asset/installconfig/installconfig.go b/pkg/asset/installconfig/installconfig.go index 69feab4802a..4aac864b127 100644 --- a/pkg/asset/installconfig/installconfig.go +++ b/pkg/asset/installconfig/installconfig.go @@ -164,7 +164,7 @@ func (a *InstallConfig) finish(ctx context.Context, filename string) error { } } if a.Config.Azure != nil { - a.Azure = icazure.NewMetadata(a.Config.Azure.CloudName, a.Config.Azure.ARMEndpoint) + a.Azure = icazure.NewMetadata(a.Config.Azure.CloudName, a.Config.Azure.ARMEndpoint, a.Config.Azure.Region) } if a.Config.GCP != nil { if err := a.finishGCP(); err != nil { diff --git a/pkg/asset/machines/azure/machines.go b/pkg/asset/machines/azure/machines.go index ee4f947c06f..9cd8476b0fa 100644 --- a/pkg/asset/machines/azure/machines.go +++ b/pkg/asset/machines/azure/machines.go @@ -23,6 +23,7 @@ import ( const ( cloudsSecret = "azure-cloud-credentials" cloudsSecretNamespace = "openshift-machine-api" + controlPlaneRoleName = "master" ) // Machines returns a list of machines for a machinepool. @@ -49,12 +50,19 @@ func Machines(clusterID string, config *types.InstallConfig, pool *types.Machine } var machines []machineapi.Machine machineSetProvider := &machineapi.AzureMachineProviderSpec{} + + networkResourceGroup, virtualNetworkName, subnets, err := getNetworkInfo(platform, clusterID, role, nil) + if err != nil { + return nil, nil, fmt.Errorf("failed to get subnets for role %s : %w", role, err) + } + for idx := int64(0); idx < total; idx++ { var azIndex int if len(azs) > 0 { azIndex = int(idx) % len(azs) } - provider, err := provider(platform, mpool, osImage, userDataSecret, clusterID, role, &azIndex, capabilities, useImageGallery, session) + subnetIndex := int(idx) % len(subnets) + provider, err := provider(platform, mpool, osImage, userDataSecret, clusterID, role, &azIndex, capabilities, useImageGallery, session, networkResourceGroup, virtualNetworkName, subnets[subnetIndex]) if err != nil { return nil, nil, errors.Wrap(err, "failed to create provider") } @@ -151,12 +159,11 @@ func Machines(clusterID string, config *types.InstallConfig, pool *types.Machine return machines, controlPlaneMachineSet, nil } -func provider(platform *azure.Platform, mpool *azure.MachinePool, osImage string, userDataSecret string, clusterID string, role string, azIdx *int, capabilities map[string]string, useImageGallery bool, session *icazure.Session) (*machineapi.AzureMachineProviderSpec, error) { +func provider(platform *azure.Platform, mpool *azure.MachinePool, osImage string, userDataSecret string, clusterID string, role string, azIdx *int, capabilities map[string]string, useImageGallery bool, session *icazure.Session, networkResourceGroup, virtualNetwork, subnet string) (*machineapi.AzureMachineProviderSpec, error) { var az string if len(mpool.Zones) > 0 && azIdx != nil { az = mpool.Zones[*azIdx] } - hyperVGen, err := icazure.GetHyperVGenerationVersion(capabilities, "") if err != nil { return nil, err @@ -199,11 +206,6 @@ func provider(platform *azure.Platform, mpool *azure.MachinePool, osImage string image.ResourceID = imageID } - networkResourceGroup, virtualNetwork, subnet, err := getNetworkInfo(platform, clusterID, role) - if err != nil { - return nil, err - } - if mpool.OSDisk.DiskType == "" { mpool.OSDisk.DiskType = "Premium_LRS" } @@ -325,7 +327,7 @@ func provider(platform *azure.Platform, mpool *azure.MachinePool, osImage string func getBootDiagnosticObject(diag *azure.BootDiagnostics, cloudName string, role string) *machineapi.AzureDiagnostics { if diag == nil { - if role == "master" { + if role == controlPlaneRoleName { return &machineapi.AzureDiagnostics{Boot: &machineapi.AzureBootDiagnostics{StorageAccountType: machineapi.AzureManagedAzureDiagnosticsStorage}} } return nil @@ -361,20 +363,46 @@ func ConfigMasters(machines []machineapi.Machine, controlPlane *machinev1.Contro return nil } -func getNetworkInfo(platform *azure.Platform, clusterID, role string) (string, string, string, error) { +func getNetworkInfo(platform *azure.Platform, clusterID, role string, subnetZones []string) (string, string, []string, error) { networkResourceGroupName := platform.NetworkResourceGroupName if platform.VirtualNetwork == "" { networkResourceGroupName = platform.ClusterResourceGroupName(clusterID) } - + virtualNetworkName := platform.VirtualNetworkName(clusterID) + var subnetRole capz.SubnetRole + var defaultSubnet string switch role { case "worker": - return networkResourceGroupName, platform.VirtualNetworkName(clusterID), platform.ComputeSubnetName(clusterID), nil - case "master": - return networkResourceGroupName, platform.VirtualNetworkName(clusterID), platform.ControlPlaneSubnetName(clusterID), nil + subnetRole = capz.SubnetNode + defaultSubnet = platform.ComputeSubnetName(clusterID) + case controlPlaneRoleName: + subnetRole = capz.SubnetControlPlane + defaultSubnet = platform.ControlPlaneSubnetName(clusterID) default: - return "", "", "", fmt.Errorf("unrecognized machine role %s", role) + return "", "", nil, fmt.Errorf("unrecognized machine role %s", role) + } + + subnets := []string{} + for _, subnetSpec := range platform.Subnets { + if subnetSpec.Role == subnetRole { + subnets = append(subnets, subnetSpec.Name) + } + } + + if len(subnets) == 0 { + subnets = append(subnets, defaultSubnet) + if platform.OutboundType == azure.NATGatewayMultiZoneOutboundType && subnetRole == capz.SubnetNode { + // Starting from 2 here since there is one already added. For default installs, there has to + // be one guaranteed and then for multi zone, we need to add extra per availability zone. + // This code will only run if multi zone so the first one is already set and we start from 2. + if subnetZones != nil { + for i := 2; i <= len(subnetZones); i++ { + subnets = append(subnets, fmt.Sprintf("%s-%d", defaultSubnet, i)) + } + } + } } + return networkResourceGroupName, virtualNetworkName, subnets, nil } // getVMNetworkingType should set the correct capability for instance type diff --git a/pkg/asset/machines/azure/machinesets.go b/pkg/asset/machines/azure/machinesets.go index 52fe991a325..90f18cbd7ea 100644 --- a/pkg/asset/machines/azure/machinesets.go +++ b/pkg/asset/machines/azure/machinesets.go @@ -2,19 +2,24 @@ package azure import ( "fmt" + "slices" + "sort" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/util/sets" clusterapi "github.com/openshift/api/machine/v1beta1" + "github.com/openshift/installer/pkg/asset/installconfig" icazure "github.com/openshift/installer/pkg/asset/installconfig/azure" "github.com/openshift/installer/pkg/types" "github.com/openshift/installer/pkg/types/azure" ) // MachineSets returns a list of machinesets for a machinepool. -func MachineSets(clusterID string, config *types.InstallConfig, pool *types.MachinePool, osImage, role, userDataSecret string, capabilities map[string]string, useImageGallery bool, session *icazure.Session) ([]*clusterapi.MachineSet, error) { +func MachineSets(clusterID string, ic *installconfig.InstallConfig, pool *types.MachinePool, osImage, role, userDataSecret string, capabilities map[string]string, useImageGallery bool, subnetZones []string, session *icazure.Session) ([]*clusterapi.MachineSet, error) { + config := ic.Config if configPlatform := config.Platform.Name(); configPlatform != azure.Name { return nil, fmt.Errorf("non-azure configuration: %q", configPlatform) } @@ -36,14 +41,44 @@ func MachineSets(clusterID string, config *types.InstallConfig, pool *types.Mach total = *pool.Replicas } + networkResourceGroup, virtualNetworkName, subnets, err := getNetworkInfo(platform, clusterID, role, subnetZones) + if err != nil { + return nil, fmt.Errorf("failed to get subnets for role %s : %w", role, err) + } + + sort.Strings(subnets) numOfAZs := int64(len(azs)) + sort.Strings(azs) + subnetIndex := -1 var machinesets []*clusterapi.MachineSet + + if config.Azure.OutboundType == azure.NATGatewayMultiZoneOutboundType { + return getMultiZoneMachineSets(multiZoneMachineSetInput{ + networkResourceGroup: networkResourceGroup, + virtualNetworkName: virtualNetworkName, + platform: platform, + mpool: mpool, + osImage: osImage, + userDataSecret: userDataSecret, + clusterID: clusterID, + role: role, + capabilities: capabilities, + useImageGallery: useImageGallery, + session: session, + subnetSpec: config.Azure.Subnets, + replicas: total, + ic: ic, + azs: azs, + pool: pool, + }) + } for idx, az := range azs { replicas := int32(total / numOfAZs) if int64(idx) < total%numOfAZs { replicas++ } - provider, err := provider(platform, mpool, osImage, userDataSecret, clusterID, role, &idx, capabilities, useImageGallery, session) + subnetIndex = (subnetIndex + 1) % len(subnets) + provider, err := provider(platform, mpool, osImage, userDataSecret, clusterID, role, &idx, capabilities, useImageGallery, session, networkResourceGroup, virtualNetworkName, subnets[subnetIndex]) if err != nil { return nil, errors.Wrap(err, "failed to create provider") } @@ -92,3 +127,128 @@ func MachineSets(clusterID string, config *types.InstallConfig, pool *types.Mach } return machinesets, nil } + +type multiZoneMachineSetInput struct { + networkResourceGroup string + platform *azure.Platform + mpool *azure.MachinePool + osImage string + userDataSecret string + clusterID string + role string + capabilities map[string]string + useImageGallery bool + session *icazure.Session + virtualNetworkName string + subnetSpec []azure.SubnetSpec + replicas int64 + ic *installconfig.InstallConfig + azs []string + pool *types.MachinePool +} + +func getMultiZoneMachineSets(in multiZoneMachineSetInput) ([]*clusterapi.MachineSet, error) { + // Deep copy metadata map. + zoneSubnetmap := map[string][]string{} + subnetCount := 0 + // Filter for the zones the user provided for compute nodes. + for key, value := range in.ic.Azure.ZonesSubnetMap { + if slices.Contains(in.azs, key) { + zoneSubnetmap[key] = sets.NewString(value...).List() + subnetCount += len(value) + } + } + machineSets := []*clusterapi.MachineSet{} + replicasToCreate := int32(in.replicas) + // Calculate the replicas per machine set. + // This just first finds the nearest multiple of subnet count + // then distributes the remainder across the machine sets one by one. + // If there are 3 subnets and 8 replicas, first we would + // set 8/3 = 2 replicas for each subnet (2,2,2) and distribute the + // remaining machines (2) evenly to have (3,3,2). + replicaPerSet := max(replicasToCreate/int32(subnetCount), 1) + remainder := replicasToCreate % int32(subnetCount) + if replicasToCreate < int32(subnetCount) { + remainder = 0 + } + numAZUsed := map[string]int{} + for _, az := range in.azs { + numAZUsed[az] = 0 + } + + // Iterate till we used up all the replicas mentioned. + // Iterate through the zones provided and find a subnet to use. + for replicasToCreate != 0 && len(zoneSubnetmap) != 0 { + for idx, az := range in.azs { + if replicaPerSet == 0 || len(zoneSubnetmap) == 0 { + break + } + if _, ok := zoneSubnetmap[az]; !ok { + continue + } + subnet := zoneSubnetmap[az][0] + if len(zoneSubnetmap[az]) == 1 { + delete(zoneSubnetmap, az) + } else { + zoneSubnetmap[az] = zoneSubnetmap[az][1:] + } + currentReplica := replicaPerSet + if remainder != 0 { + currentReplica++ + remainder-- + } + provider, err := provider(in.platform, in.mpool, in.osImage, in.userDataSecret, in.clusterID, in.role, &idx, in.capabilities, in.useImageGallery, in.session, in.networkResourceGroup, in.virtualNetworkName, subnet) + if err != nil { + return nil, errors.Wrap(err, "failed to create provider") + } + name := fmt.Sprintf("%s-%s-%s%s-%d", in.clusterID, in.pool.Name, in.platform.Region, az, numAZUsed[az]) + if numAZUsed[az] == 0 { + name = fmt.Sprintf("%s-%s-%s%s", in.clusterID, in.pool.Name, in.platform.Region, az) + } + numAZUsed[az]++ + mset := &clusterapi.MachineSet{ + TypeMeta: metav1.TypeMeta{ + APIVersion: "machine.openshift.io/v1beta1", + Kind: "MachineSet", + }, + ObjectMeta: metav1.ObjectMeta{ + Namespace: "openshift-machine-api", + Name: name, + Labels: map[string]string{ + "machine.openshift.io/cluster-api-cluster": in.clusterID, + "machine.openshift.io/cluster-api-machine-role": in.role, + "machine.openshift.io/cluster-api-machine-type": in.role, + }, + }, + Spec: clusterapi.MachineSetSpec{ + Replicas: ¤tReplica, + Selector: metav1.LabelSelector{ + MatchLabels: map[string]string{ + "machine.openshift.io/cluster-api-machineset": name, + "machine.openshift.io/cluster-api-cluster": in.clusterID, + }, + }, + Template: clusterapi.MachineTemplateSpec{ + ObjectMeta: clusterapi.ObjectMeta{ + Labels: map[string]string{ + "machine.openshift.io/cluster-api-machineset": name, + "machine.openshift.io/cluster-api-cluster": in.clusterID, + "machine.openshift.io/cluster-api-machine-role": in.role, + "machine.openshift.io/cluster-api-machine-type": in.role, + }, + }, + Spec: clusterapi.MachineSpec{ + ProviderSpec: clusterapi.ProviderSpec{ + Value: &runtime.RawExtension{Object: provider}, + }, + // we don't need to set Versions, because we control those via cluster operators. + }, + }, + }, + } + machineSets = append(machineSets, mset) + replicasToCreate -= currentReplica + } + } + return machineSets, nil +} diff --git a/pkg/asset/machines/clusterapi.go b/pkg/asset/machines/clusterapi.go index 6e8a1f14f7e..0ea49fde970 100644 --- a/pkg/asset/machines/clusterapi.go +++ b/pkg/asset/machines/clusterapi.go @@ -15,6 +15,7 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/utils/ptr" "sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2" + "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/yaml" @@ -236,7 +237,7 @@ func (c *ClusterAPI) Generate(ctx context.Context, dependencies asset.Parents) e } if len(mpool.Zones) == 0 { - azs, err := client.GetAvailabilityZones(ctx, ic.Platform.Azure.Region, mpool.InstanceType) + azs, err := installConfig.Azure.VMAvailabilityZones(ctx, mpool.InstanceType) if err != nil { return fmt.Errorf("failed to fetch availability zones: %w", err) } @@ -273,7 +274,12 @@ func (c *ClusterAPI) Generate(ctx context.Context, dependencies asset.Parents) e } } pool.Platform.Azure = &mpool - subnet := ic.Azure.ControlPlaneSubnet + subnet := installConfig.Config.Azure.ControlPlaneSubnetName(clusterID.InfraID) + for _, sub := range installConfig.Config.Azure.Subnets { + if sub.Role == v1beta1.SubnetControlPlane { + subnet = sub.Name + } + } hyperVGen, err := icazure.GetHyperVGenerationVersion(capabilities, "") if err != nil { diff --git a/pkg/asset/machines/master.go b/pkg/asset/machines/master.go index b83c3749b0b..52fa726a770 100644 --- a/pkg/asset/machines/master.go +++ b/pkg/asset/machines/master.go @@ -371,7 +371,7 @@ func (m *Master) Generate(ctx context.Context, dependencies asset.Parents) error } if len(mpool.Zones) == 0 { - azs, err := client.GetAvailabilityZones(ctx, ic.Platform.Azure.Region, mpool.InstanceType) + azs, err := installConfig.Azure.VMAvailabilityZones(ctx, mpool.InstanceType) if err != nil { return errors.Wrap(err, "failed to fetch availability zones") } diff --git a/pkg/asset/machines/worker.go b/pkg/asset/machines/worker.go index 11515bdf84c..a90dbdc4ee8 100644 --- a/pkg/asset/machines/worker.go +++ b/pkg/asset/machines/worker.go @@ -572,7 +572,7 @@ func (w *Worker) Generate(ctx context.Context, dependencies asset.Parents) error } if len(mpool.Zones) == 0 { - azs, err := client.GetAvailabilityZones(ctx, ic.Platform.Azure.Region, mpool.InstanceType) + azs, err := installConfig.Azure.VMAvailabilityZones(ctx, mpool.InstanceType) if err != nil { return errors.Wrap(err, "failed to fetch availability zones") } @@ -583,6 +583,18 @@ func (w *Worker) Generate(ctx context.Context, dependencies asset.Parents) error mpool.Zones = []string{""} } } + subnetZones := []string{} + if ic.Azure.OutboundType == azuretypes.NATGatewayMultiZoneOutboundType { + subnetZones, err = installConfig.Azure.AvailabilityZones(ctx) + if err != nil { + return errors.Wrap(err, "failed to fetch availability zones") + } + computeSubnet := installConfig.Config.Azure.ComputeSubnetName(clusterID.InfraID) + _, err := installConfig.Azure.GenerateZonesSubnetMap(installConfig.Config.Azure.Subnets, computeSubnet) + if err != nil { + return err + } + } if mpool.OSImage.Publisher != "" { img, ierr := client.GetMarketplaceImage(ctx, ic.Platform.Azure.Region, mpool.OSImage.Publisher, mpool.OSImage.Offer, mpool.OSImage.SKU, mpool.OSImage.Version) @@ -604,7 +616,7 @@ func (w *Worker) Generate(ctx context.Context, dependencies asset.Parents) error } useImageGallery := ic.Platform.Azure.CloudName != azuretypes.StackCloud - sets, err := azure.MachineSets(clusterID.InfraID, ic, &pool, rhcosImage.Compute, "worker", workerUserDataSecretName, capabilities, useImageGallery, session) + sets, err := azure.MachineSets(clusterID.InfraID, installConfig, &pool, rhcosImage.Compute, "worker", workerUserDataSecretName, capabilities, useImageGallery, subnetZones, session) if err != nil { return errors.Wrap(err, "failed to create worker machine objects") } diff --git a/pkg/asset/manifests/azure/cluster.go b/pkg/asset/manifests/azure/cluster.go index a1675328acb..399cc746d9c 100644 --- a/pkg/asset/manifests/azure/cluster.go +++ b/pkg/asset/manifests/azure/cluster.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "net" + "sort" "strings" aznetwork "github.com/Azure/azure-sdk-for-go/profiles/2020-09-01/network/mgmt/network" @@ -32,21 +33,34 @@ import ( func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID *installconfig.ClusterID) (*capiutils.GenerateClusterAssetsOutput, error) { manifests := []*asset.RuntimeFile{} mainCIDR := capiutils.CIDRFromInstallConfig(installConfig).String() + computeSubnet := installConfig.Config.Platform.Azure.ComputeSubnetName(clusterID.InfraID) session, err := installConfig.Azure.Session() if err != nil { return nil, errors.Wrap(err, "failed to create Azure session") } - subnets, err := cidr.SplitIntoSubnetsIPv4(mainCIDR, 2) + splitLength := 2 + zones := []string{} + if installConfig.Config.Azure.OutboundType == azure.NATGatewayMultiZoneOutboundType { + numZones, err := installConfig.Azure.GenerateZonesSubnetMap(installConfig.Config.Azure.Subnets, computeSubnet) + if err != nil { + return nil, fmt.Errorf("failed to get availability zones: %w", err) + } + for key := range numZones { + zones = append(zones, key) + } + sort.Strings(zones) + // Add one for control plane. + splitLength = len(zones) + 1 + } + + subnets, err := cidr.SplitIntoSubnetsIPv4(mainCIDR, splitLength) if err != nil { return nil, errors.Wrap(err, "failed to split CIDR into subnets") } virtualNetworkAddressPrefixes := []string{mainCIDR} - controlPlaneAddressPrefixes := []string{subnets[0].String()} - computeAddressPrefixes := []string{subnets[1].String()} - // CAPZ expects the capz-system to be created. azureNamespace := &corev1.Namespace{ObjectMeta: metav1.ObjectMeta{Name: "capz-system"}} azureNamespace.SetGroupVersionKind(corev1.SchemeGroupVersion.WithKind("Namespace")) @@ -57,7 +71,6 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID resourceGroup := installConfig.Config.Platform.Azure.ClusterResourceGroupName(clusterID.InfraID) controlPlaneSubnet := installConfig.Config.Platform.Azure.ControlPlaneSubnetName(clusterID.InfraID) - computeSubnet := installConfig.Config.Platform.Azure.ComputeSubnetName(clusterID.InfraID) networkSecurityGroup := installConfig.Config.Platform.Azure.NetworkSecurityGroupName(clusterID.InfraID) source := "*" @@ -119,43 +132,20 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID } virtualNetworkID := "" - lbip := capz.DefaultInternalLBIPAddress - lbip = getIPWithinCIDR(subnets, lbip) - - if controlPlaneSubnetName := installConfig.Config.Azure.ControlPlaneSubnet; controlPlaneSubnetName != "" { - controlPlaneSubnet, err := getSubnet(installConfig, clusterID, "controlPlane", controlPlaneSubnetName) - if err != nil { - return nil, fmt.Errorf("failed to get control plane subnet: %w", err) - } - subnetList, err := getSubnetAddressPrefixes(controlPlaneSubnet) - if err != nil { - return nil, fmt.Errorf("failed to get control plane subnet address prefixes: %w", err) - } - controlPlaneAddressPrefixes = stringifyAddressPrefixes(subnetList) - lbip = getIPWithinCIDR(subnetList, lbip) - } - - if computeSubnetName := installConfig.Config.Azure.ComputeSubnet; computeSubnetName != "" { - computeSubnet, err := getSubnet(installConfig, clusterID, "compute", computeSubnetName) - if err != nil { - return nil, fmt.Errorf("failed to get compute subnet: %w", err) - } - subnetList, err := getSubnetAddressPrefixes(computeSubnet) - if err != nil { - return nil, fmt.Errorf("failed to get compute subnet address prefixes: %w", err) - } - computeAddressPrefixes = stringifyAddressPrefixes(subnetList) + lbip, err := getLBIP(subnets, installConfig) + if err != nil { + return nil, err } - apiServerLB.FrontendIPs = []capz.FrontendIP{{ Name: fmt.Sprintf("%s-internal-frontEnd", clusterID.InfraID), FrontendIPClass: capz.FrontendIPClass{ PrivateIPAddress: lbip, }, }} + vnetResourceGroup := installConfig.Config.Azure.ResourceGroupName if installConfig.Config.Azure.VirtualNetwork != "" { virtualNetworkAddressPrefixes = make([]string, 0) - + vnetResourceGroup = installConfig.Config.Azure.NetworkResourceGroupName client, err := installConfig.Azure.Client() if err != nil { return nil, fmt.Errorf("failed to get azure client: %w", err) @@ -181,23 +171,6 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID } azEnv := string(installConfig.Azure.CloudName) - - computeSubnetSpec := capz.SubnetSpec{ - ID: nodeSubnetID, - SubnetClassSpec: capz.SubnetClassSpec{ - Name: computeSubnet, - Role: capz.SubnetNode, - CIDRBlocks: computeAddressPrefixes, - }, - SecurityGroup: securityGroup, - } - - if installConfig.Config.Azure.OutboundType == azure.NATGatewaySingleZoneOutboundType { - computeSubnetSpec.NatGateway = capz.NatGateway{ - NatGatewayClassSpec: capz.NatGatewayClassSpec{Name: fmt.Sprintf("%s-natgw", clusterID.InfraID)}, - } - } - privateDNSZoneMode := capz.PrivateDNSZoneModeSystem // When UserProvisionedDNS is enabled, prevent automatic creation of private DNS zone // because the cloud DNS will not be used. Instead, an in-cluster DNS will be configured @@ -206,6 +179,10 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID privateDNSZoneMode = capz.PrivateDNSZoneModeNone } + subnetSpec, err := getSubnetSpec(installConfig, controlPlaneSubnet, computeSubnet, securityGroup, subnets, nodeSubnetID, clusterID.InfraID, zones) + if err != nil { + return nil, fmt.Errorf("failed to get subnets: %w", err) + } azureCluster := &capz.AzureCluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterID.InfraID, @@ -229,7 +206,7 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID PrivateDNSZoneName: installConfig.Config.ClusterDomain(), }, Vnet: capz.VnetSpec{ - ResourceGroup: installConfig.Config.Azure.NetworkResourceGroupName, + ResourceGroup: vnetResourceGroup, Name: installConfig.Config.Azure.VirtualNetwork, // The ID is set to virtual network here for existing vnets here. This is to force CAPZ to consider this resource as // "not managed" which would prevent the creation of an additional nsg and route table in the network resource group. @@ -243,18 +220,8 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID }, APIServerLB: &apiServerLB, ControlPlaneOutboundLB: controlPlaneOutboundLB, - Subnets: capz.Subnets{ - { - SubnetClassSpec: capz.SubnetClassSpec{ - Name: controlPlaneSubnet, - Role: capz.SubnetControlPlane, - CIDRBlocks: controlPlaneAddressPrefixes, - }, - SecurityGroup: securityGroup, - }, - computeSubnetSpec, - }, - PrivateDNSZone: &privateDNSZoneMode, + Subnets: subnetSpec, + PrivateDNSZone: &privateDNSZoneMode, }, }, } @@ -340,8 +307,186 @@ func GenerateClusterAssets(installConfig *installconfig.InstallConfig, clusterID }, }, nil } +func getSubnetSpec(installConfig *installconfig.InstallConfig, controlPlaneSubnet, computeSubnet string, securityGroup capz.SecurityGroup, subnets []*net.IPNet, nodeSubnetID string, infraID string, zones []string) ([]capz.SubnetSpec, error) { + // Set default control plane subnets for default installs. + defaultControlPlaneSubnet := capz.Subnets{ + { + SubnetClassSpec: capz.SubnetClassSpec{ + Name: controlPlaneSubnet, + Role: capz.SubnetControlPlane, + CIDRBlocks: []string{ + subnets[0].String(), + }, + }, + SecurityGroup: securityGroup, + }, + } + defaultComputeSubnetSpec := capz.SubnetSpec{ + ID: nodeSubnetID, + SubnetClassSpec: capz.SubnetClassSpec{ + Name: computeSubnet, + Role: capz.SubnetNode, + CIDRBlocks: []string{ + subnets[1].String(), + }, + }, + SecurityGroup: securityGroup, + } -func getSubnet(installConfig *installconfig.InstallConfig, clusterID *installconfig.ClusterID, subnetType, subnetName string) (*aznetwork.Subnet, error) { + subnetSpec := []capz.SubnetSpec{} + hasControlPlaneSubnet := false + hasComputePlaneSubnet := false + // Add the user specified subnets to the spec. + // For single zone, alter the compute subnet to have a NATGateway and add default control plane subnet + // configuration. + zoneIndex := 0 + singleZoneNatGateway := false + allSubnets := installConfig.Config.Azure.Subnets + sort.Slice(allSubnets, func(i, j int) bool { + return allSubnets[i].Name < allSubnets[j].Name + }) + for index, spec := range allSubnets { + subnet, err := getSubnet(installConfig, spec.Role, spec.Name) + if err != nil { + return nil, err + } + addresses, err := getSubnetAddressPrefixes(subnet) + if err != nil { + return nil, err + } + stringAddress := stringifyAddressPrefixes(addresses) + specGen := capz.SubnetSpec{ + ID: *subnet.ID, + SubnetClassSpec: capz.SubnetClassSpec{ + Name: spec.Name, + Role: spec.Role, + CIDRBlocks: stringAddress, + }, + SecurityGroup: securityGroup, + } + + if installConfig.Config.Azure.OutboundType == azure.NATGatewayMultiZoneOutboundType && spec.Role == capz.SubnetNode { + specGen.NatGateway = capz.NatGateway{ + NatGatewayIP: capz.PublicIPSpec{ + Name: fmt.Sprintf("%s-publicip-%d", infraID, index), + }, + NatGatewayClassSpec: capz.NatGatewayClassSpec{Name: fmt.Sprintf("%s-natgw-%d", infraID, index)}, + Zones: []string{zones[zoneIndex]}, + } + zoneIndex++ + if zoneIndex == len(zones) { + zoneIndex = 0 + } + } else if installConfig.Config.Azure.OutboundType == azure.NATGatewaySingleZoneOutboundType && spec.Role == capz.SubnetNode && !singleZoneNatGateway { + specGen.NatGateway = capz.NatGateway{ + NatGatewayIP: capz.PublicIPSpec{ + Name: fmt.Sprintf("%s-publicip-%d", infraID, index), + }, + NatGatewayClassSpec: capz.NatGatewayClassSpec{Name: fmt.Sprintf("%s-natgw-%d", infraID, index)}, + } + singleZoneNatGateway = true + } + hasControlPlaneSubnet = hasControlPlaneSubnet || spec.Role == capz.SubnetControlPlane + hasComputePlaneSubnet = hasComputePlaneSubnet || spec.Role == capz.SubnetNode + subnetSpec = append(subnetSpec, specGen) + } + zoneIndex = 0 + // Make sure there's at least one subnet for compute and control plane. + // Ordinary installs will get the default setup. + if !hasComputePlaneSubnet { + // For single zone, add a NAT gateway to the default value. + if installConfig.Config.Azure.OutboundType == azure.NATGatewayMultiZoneOutboundType { + for index, subnet := range subnets { + // The first one in subnets is the control plane subnet so ignoring. + if index == 0 { + continue + } + name := fmt.Sprintf("%s-%d", computeSubnet, index) + if index == 1 { + name = computeSubnet + } + specSubnet := capz.SubnetSpec{ + SubnetClassSpec: capz.SubnetClassSpec{ + Name: name, + Role: capz.SubnetNode, + CIDRBlocks: []string{ + subnet.String(), + }, + }, + NatGateway: capz.NatGateway{ + NatGatewayClassSpec: capz.NatGatewayClassSpec{Name: fmt.Sprintf("%s-natgw-%d", infraID, index)}, + Zones: []string{zones[zoneIndex]}, + }, + SecurityGroup: securityGroup, + } + zoneIndex++ + if zoneIndex == len(zones) { + zoneIndex = 0 + } + subnetSpec = append(subnetSpec, specSubnet) + } + } else { + if installConfig.Config.Azure.OutboundType == azure.NATGatewaySingleZoneOutboundType { + defaultComputeSubnetSpec.NatGateway = capz.NatGateway{ + NatGatewayClassSpec: capz.NatGatewayClassSpec{Name: fmt.Sprintf("%s-natgw", infraID)}, + } + } + subnetSpec = append(subnetSpec, defaultComputeSubnetSpec) + } + } + if !hasControlPlaneSubnet { + subnetSpec = append(subnetSpec, defaultControlPlaneSubnet...) + } + return subnetSpec, nil +} + +func getLBIP(subnets []*net.IPNet, installConfig *installconfig.InstallConfig) (string, error) { + lbip := capz.DefaultInternalLBIPAddress + lbip = getIPWithinCIDR(subnets, lbip) + + var controlPlaneSub string + for _, subnet := range installConfig.Config.Azure.Subnets { + if subnet.Role == capz.SubnetControlPlane { + controlPlaneSub = subnet.Name + } + } + + if controlPlaneSub != "" { + client, err := installConfig.Azure.Client() + if err != nil { + return "", fmt.Errorf("failed to get azure client: %w", err) + } + ctx := context.TODO() + controlPlaneSubnet, err := client.GetControlPlaneSubnet(ctx, installConfig.Config.Azure.NetworkResourceGroupName, installConfig.Config.Azure.VirtualNetwork, controlPlaneSub) + if err != nil || controlPlaneSubnet == nil { + return "", fmt.Errorf("failed to get azure control plane subnet: %w", err) + } else if controlPlaneSubnet.AddressPrefixes == nil && controlPlaneSubnet.AddressPrefix == nil { + return "", fmt.Errorf("failed to get azure control plane subnet addresses: %w", err) + } + subnetList := []*net.IPNet{} + if controlPlaneSubnet.AddressPrefixes != nil { + for _, sub := range *controlPlaneSubnet.AddressPrefixes { + _, ipnet, err := net.ParseCIDR(sub) + if err != nil { + return "", fmt.Errorf("failed to get translate azure control plane subnet addresses: %w", err) + } + subnetList = append(subnetList, ipnet) + } + } + + if controlPlaneSubnet.AddressPrefix != nil { + _, ipnet, err := net.ParseCIDR(*controlPlaneSubnet.AddressPrefix) + if err != nil { + return "", fmt.Errorf("failed to get translate azure control plane subnet address prefix: %w", err) + } + subnetList = append(subnetList, ipnet) + } + lbip = getIPWithinCIDR(subnetList, lbip) + } + return lbip, nil +} + +func getSubnet(installConfig *installconfig.InstallConfig, subnetType capz.SubnetRole, subnetName string) (*aznetwork.Subnet, error) { var subnet *aznetwork.Subnet azClient, err := installConfig.Azure.Client() @@ -350,13 +495,13 @@ func getSubnet(installConfig *installconfig.InstallConfig, clusterID *installcon } ctx := context.TODO() - if subnetType == "controlPlane" { + if subnetType == capz.SubnetControlPlane { subnet, err = azClient.GetControlPlaneSubnet(ctx, installConfig.Config.Azure.NetworkResourceGroupName, installConfig.Config.Azure.VirtualNetwork, subnetName, ) - } else if subnetType == "compute" { + } else if subnetType == capz.SubnetNode { subnet, err = azClient.GetComputeSubnet(ctx, installConfig.Config.Azure.NetworkResourceGroupName, installConfig.Config.Azure.VirtualNetwork, @@ -436,7 +581,13 @@ func getNextAvailableIPForLoadBalancer(ctx context.Context, installConfig *insta networkResourceGroupName := installConfig.Config.Azure.NetworkResourceGroupName virtualNetworkName := installConfig.Config.Azure.VirtualNetwork machineCidr := installConfig.Config.MachineNetwork - if cpSubnet := installConfig.Config.Azure.ControlPlaneSubnet; cpSubnet != "" { + var cpSubnet string + for _, subnetSpec := range installConfig.Config.Azure.Subnets { + if subnetSpec.Role == capz.SubnetControlPlane { + cpSubnet = subnetSpec.Name + } + } + if cpSubnet != "" { controlPlane, err := client.GetControlPlaneSubnet(ctx, networkResourceGroupName, virtualNetworkName, cpSubnet) if err != nil { return "", fmt.Errorf("failed to get control plane subnet: %w", err) diff --git a/pkg/asset/manifests/cloudproviderconfig.go b/pkg/asset/manifests/cloudproviderconfig.go index 06dece67430..9263ae44c4b 100644 --- a/pkg/asset/manifests/cloudproviderconfig.go +++ b/pkg/asset/manifests/cloudproviderconfig.go @@ -10,6 +10,7 @@ import ( "github.com/pkg/errors" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + capz "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" "sigs.k8s.io/yaml" "github.com/openshift/installer/pkg/asset" @@ -144,8 +145,11 @@ func (cpc *CloudProviderConfig) Generate(ctx context.Context, dependencies asset vnet = installConfig.Config.Azure.VirtualNetwork } subnet := fmt.Sprintf("%s-worker-subnet", clusterID.InfraID) - if installConfig.Config.Azure.ComputeSubnet != "" { - subnet = installConfig.Config.Azure.ComputeSubnet + for _, subnetSpec := range installConfig.Config.Azure.Subnets { + if subnetSpec.Role == capz.SubnetNode { + subnet = subnetSpec.Name + break + } } azureConfig, err := azure.CloudProviderConfig{ CloudName: installConfig.Config.Azure.CloudName, diff --git a/pkg/destroy/azure/azure.go b/pkg/destroy/azure/azure.go index fcb410d82b6..6f5c73c12ea 100644 --- a/pkg/destroy/azure/azure.go +++ b/pkg/destroy/azure/azure.go @@ -14,6 +14,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" azcoreto "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" + "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resourcegraph/armresourcegraph" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" "github.com/Azure/azure-sdk-for-go/services/preview/dns/mgmt/2018-03-01-preview/dns" @@ -58,6 +59,8 @@ type ClusterUninstaller struct { msgraphClient *msgraphsdk.GraphServiceClient resourceGraphClient *armresourcegraph.Client tagsClient *armresources.TagsClient + vnetClient *armnetwork.VirtualNetworksClient + subnetClient *armnetwork.SubnetsClient } func (o *ClusterUninstaller) configureClients() error { @@ -113,6 +116,17 @@ func (o *ClusterUninstaller) configureClients() error { } o.tagsClient = tagsClient + vnetClient, err := armnetwork.NewVirtualNetworksClient(subscriptionID, o.Session.TokenCreds, clientOpts) + if err != nil { + return err + } + o.vnetClient = vnetClient + + subnetClient, err := armnetwork.NewSubnetsClient(subscriptionID, o.Session.TokenCreds, clientOpts) + if err != nil { + return err + } + o.subnetClient = subnetClient return nil } @@ -211,6 +225,31 @@ func (o *ClusterUninstaller) Run() (*types.ClusterQuota, error) { o.Logger.Debug(err) } + err = wait.PollUntilContextCancel( + waitCtx, + 1*time.Second, + false, + func(ctx context.Context) (bool, error) { + o.Logger.Debugf("disassociating NAT gateway from subnets") + if o.CloudName != azure.StackCloud { + err = disassociateNATGateways(ctx, o.vnetClient, o.subnetClient, o.Logger, o.ResourceGroupName, o.InfraID) + } + if err != nil { + o.Logger.Debug(err) + if isAuthError(err) { + errs = append(errs, fmt.Errorf("unable to authenticate when disassociating NAT gateways: %w", err)) + return true, err + } + return false, nil + } + return true, nil + }, + ) + if err != nil { + errs = append(errs, fmt.Errorf("failed to delete public DNS records: %w", err)) + o.Logger.Debug(err) + } + err = wait.PollUntilContextCancel( waitCtx, 1*time.Second, @@ -783,3 +822,72 @@ func getServicePrincipalsByTag(ctx context.Context, graphClient *msgraphsdk.Grap } return resp.GetValue(), nil } + +func disassociateNATGateways(ctx context.Context, vnetClient *armnetwork.VirtualNetworksClient, subnetsClient *armnetwork.SubnetsClient, logger logrus.FieldLogger, resourceGroupName, infraID string) error { + vnets := vnetClient.NewListAllPager(nil) + for vnets.More() { + vnetPage, err := vnets.NextPage(ctx) + if err != nil { + return fmt.Errorf("failed to list virtual networks: %w", err) + } + for _, vnet := range vnetPage.Value { + if vnet.Name == nil || vnet.Properties == nil || vnet.Properties.Subnets == nil { + continue + } + vnetName := *vnet.Name + logger.Debugf("checking vnet: %s", vnetName) + value, ok := vnet.Tags[fmt.Sprintf("sigs.k8s.io_cluster-api-provider-azure_cluster_%s", infraID)] + if !ok { + value, ok = vnet.Tags[fmt.Sprintf("kubernetes.io_cluster.%s", infraID)] + if !ok { + continue + } + } + if *value != "owned" && *value != "shared" { + continue + } + vnetInfo, err := arm.ParseResourceID(*vnet.ID) + if err != nil { + logger.Warnf("error parsing vnet ID %s: %v", vnet.Name, err) + } + for _, subnet := range vnet.Properties.Subnets { + if subnet.Name == nil || subnet.Properties == nil { + continue + } + subnetName := *subnet.Name + if subnet.Properties.NatGateway != nil && subnet.Properties.NatGateway.ID != nil { + natGateway, err := arm.ParseResourceID(*subnet.Properties.NatGateway.ID) + if err != nil { + logger.Warnf("error parsing nat gateway in subnet %s: %v", subnetName, err) + } + if !strings.HasPrefix(natGateway.Name, infraID) { + continue + } + if !strings.HasPrefix(natGateway.ResourceGroupName, infraID) { + continue + } + logger.Debugf("found NAT Gateway association in Subnet: %s", subnetName) + err = removeSubnetFromNATGateway(ctx, subnetsClient, vnetInfo.ResourceGroupName, vnetName, subnetName, subnet) + if err != nil { + logger.Warnf("error disassociating NAT Gateway from subnet '%s': %v", subnetName, err) + } + logger.Debug("subnet disassociated") + } + } + } + } + return nil +} + +func removeSubnetFromNATGateway(ctx context.Context, subnetsClient *armnetwork.SubnetsClient, resourceGroupName, vnetName, subnetName string, subnet *armnetwork.Subnet) error { + subnet.Properties.NatGateway = nil + poller, err := subnetsClient.BeginCreateOrUpdate(ctx, resourceGroupName, vnetName, subnetName, *subnet, nil) + if err != nil { + return fmt.Errorf("failed to begin update for subnet '%s': %w", subnetName, err) + } + _, err = poller.PollUntilDone(ctx, nil) + if err != nil { + return fmt.Errorf("subnet update operation failed for '%s': %w", subnetName, err) + } + return nil +} diff --git a/pkg/explain/printer_test.go b/pkg/explain/printer_test.go index cde7b08ba48..9ff0744de99 100644 --- a/pkg/explain/printer_test.go +++ b/pkg/explain/printer_test.go @@ -317,9 +317,13 @@ If empty, the value is equal to "AzurePublicCloud". computeSubnet ComputeSubnet specifies an existing subnet for use by compute nodes +Deprecated: use platform.Azure.Subnets section + controlPlaneSubnet ControlPlaneSubnet specifies an existing subnet for use by the control plane nodes +Deprecated: use platform.Azure.Subnets section + customerManagedKey CustomerManagedKey has the keys needed to encrypt the storage account. @@ -333,7 +337,7 @@ platform configuration. outboundType Default: "Loadbalancer" - Valid Values: "","Loadbalancer","NATGatewaySingleZone","UserDefinedRouting" + Valid Values: "","Loadbalancer","NATGatewaySingleZone","NATGatewayMultiZone","UserDefinedRouting" OutboundType is a strategy for how egress from cluster is achieved. When not specified default is "Loadbalancer". region -required- @@ -347,6 +351,10 @@ resource group. This resource group must be empty with no other resources when trying to use it for creating a cluster. If empty, a new resource group will created for the cluster. + subnets <[]object> + Subnets is the list of subnets the user can bring into the cluster to be used. + SubnetSpec specifies the properties the subnet needs to be used in the cluster. + userProvisionedDNS Default: "Disabled" Valid Values: "Enabled","Disabled" diff --git a/pkg/infrastructure/azure/azure.go b/pkg/infrastructure/azure/azure.go index c427bf87783..32b6fbaaacd 100644 --- a/pkg/infrastructure/azure/azure.go +++ b/pkg/infrastructure/azure/azure.go @@ -474,6 +474,22 @@ func (p *Provider) InfraReady(ctx context.Context, in clusterapi.InfraReadyInput p.publicLBIP = *publicIP.Properties.IPAddress } + if (in.InstallConfig.Config.Azure.OutboundType == aztypes.NATGatewayMultiZoneOutboundType || + in.InstallConfig.Config.Azure.OutboundType == aztypes.NATGatewaySingleZoneOutboundType) && + len(in.InstallConfig.Config.Azure.Subnets) > 0 { + in := natGatewayInput{ + infraID: in.InfraID, + cl: in.Client, + subscriptionID: session.Credentials.SubscriptionID, + creds: session.TokenCreds, + cloudConfig: session.CloudConfig, + } + if err := associateNatGatewayToSubnet(ctx, in); err != nil { + return fmt.Errorf("error associating NAT gateways to BYO subnets: %w", err) + } + logrus.Info("done associating NAT gateways to BYO subnets") + } + // Save context for other hooks p.ResourceGroupName = resourceGroupName p.StorageAccountName = storageAccountName diff --git a/pkg/infrastructure/azure/network.go b/pkg/infrastructure/azure/network.go index c7ab4c86cb4..6036a87c76b 100644 --- a/pkg/infrastructure/azure/network.go +++ b/pkg/infrastructure/azure/network.go @@ -5,10 +5,17 @@ import ( "fmt" "path" + "github.com/Azure/azure-sdk-for-go/sdk/azcore" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/arm" + "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v4" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" "k8s.io/utils/ptr" + capz "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" + "sigs.k8s.io/controller-runtime/pkg/client" + + "github.com/openshift/installer/pkg/asset/manifests/capiutils" ) type lbInput struct { @@ -502,3 +509,77 @@ func associateInboundNatRuleToInterface(ctx context.Context, in *inboundNatRuleI } return &interfacesResp.Interface, nil } + +type natGatewayInput struct { + infraID string + cl client.Client + subscriptionID string + creds azcore.TokenCredential + cloudConfig cloud.Configuration +} + +func associateNatGatewayToSubnet(ctx context.Context, in natGatewayInput) error { + clientOpts := &arm.ClientOptions{ + ClientOptions: azcore.ClientOptions{ + Cloud: in.cloudConfig, + }, + } + subnetsClient, err := armnetwork.NewSubnetsClient(in.subscriptionID, in.creds, clientOpts) + if err != nil { + return fmt.Errorf("failed to get subnet client: %w", err) + } + + azureCluster := &capz.AzureCluster{} + key := client.ObjectKey{ + Name: in.infraID, + Namespace: capiutils.Namespace, + } + if err := in.cl.Get(context.Background(), key, azureCluster); err != nil { + return fmt.Errorf("failed to get AzureCluster: %w", err) + } + + subnets := azureCluster.Spec.NetworkSpec.Subnets + for _, existingSubnet := range subnets { + if existingSubnet.Role == capz.SubnetControlPlane { + continue + } + if existingSubnet.NatGateway.Name == "" { + continue + } + natGatewayID := fmt.Sprintf( + "/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/natGateways/%s", + in.subscriptionID, + azureCluster.Spec.ResourceGroup, + existingSubnet.NatGateway.Name, + ) + + subnet, err := subnetsClient.Get(ctx, + azureCluster.Spec.NetworkSpec.Vnet.ResourceGroup, + azureCluster.Spec.NetworkSpec.Vnet.Name, + existingSubnet.Name, + nil) + if err != nil { + return fmt.Errorf("failed to get subnet: %w", err) + } + + subnet.Properties.NatGateway = &armnetwork.SubResource{ + ID: &natGatewayID, + } + + poller, err := subnetsClient.BeginCreateOrUpdate(ctx, + azureCluster.Spec.NetworkSpec.Vnet.ResourceGroup, + azureCluster.Spec.NetworkSpec.Vnet.Name, + *subnet.Name, + subnet.Subnet, + nil) + if err != nil { + return fmt.Errorf("failed to begin subnet update: %w", err) + } + + _, err = poller.PollUntilDone(ctx, nil) + if err != nil { + return fmt.Errorf("failed to update subnet: %w", err) + } + } + return nil +} diff --git a/pkg/types/azure/platform.go b/pkg/types/azure/platform.go index d1ab5665ef5..d1184210318 100644 --- a/pkg/types/azure/platform.go +++ b/pkg/types/azure/platform.go @@ -4,6 +4,8 @@ import ( "fmt" "strings" + capz "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" + "github.com/openshift/installer/pkg/types/dns" ) @@ -11,7 +13,7 @@ import ( var aro bool // OutboundType is a strategy for how egress from cluster is achieved. -// +kubebuilder:validation:Enum="";Loadbalancer;NATGatewaySingleZone;UserDefinedRouting +// +kubebuilder:validation:Enum="";Loadbalancer;NATGatewaySingleZone;NATGatewayMultiZone;UserDefinedRouting type OutboundType string const ( @@ -23,6 +25,9 @@ const ( // see https://learn.microsoft.com/en-us/azure/virtual-network/nat-gateway/nat-gateway-resource NATGatewaySingleZoneOutboundType OutboundType = "NATGatewaySingleZone" + // NATGatewayMultiZoneOutboundType uses NAT gateways in multiple zones in the compute node subnets for outbound access. + NATGatewayMultiZoneOutboundType OutboundType = "NATGatewayMultiZone" + // UserDefinedRoutingOutboundType uses user defined routing for egress from the cluster. // see https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview UserDefinedRoutingOutboundType OutboundType = "UserDefinedRouting" @@ -63,13 +68,15 @@ type Platform struct { // ControlPlaneSubnet specifies an existing subnet for use by the control plane nodes // + // Deprecated: use platform.Azure.Subnets section // +optional - ControlPlaneSubnet string `json:"controlPlaneSubnet,omitempty"` + DeprecatedControlPlaneSubnet string `json:"controlPlaneSubnet,omitempty"` // ComputeSubnet specifies an existing subnet for use by compute nodes // + // Deprecated: use platform.Azure.Subnets section // +optional - ComputeSubnet string `json:"computeSubnet,omitempty"` + DeprecatedComputeSubnet string `json:"computeSubnet,omitempty"` // cloudName is the name of the Azure cloud environment which can be used to configure the Azure SDK // with the appropriate Azure API endpoints. @@ -83,6 +90,11 @@ type Platform struct { // +optional OutboundType OutboundType `json:"outboundType"` + // Subnets is the list of subnets the user can bring into the cluster to be used. + // + // +optional + Subnets []SubnetSpec `json:"subnets,omitempty"` + // ResourceGroupName is the name of an already existing resource group where the cluster should be installed. // This resource group should only be used for this specific cluster and the cluster components will assume // ownership of all resources in the resource group. Destroying the cluster using installer will delete this @@ -110,6 +122,15 @@ type Platform struct { UserProvisionedDNS dns.UserProvisionedDNS `json:"userProvisionedDNS,omitempty"` } +// SubnetSpec specifies the properties the subnet needs to be used in the cluster. +type SubnetSpec struct { + // Name of the subnet. + Name string `json:"name"` + // Role specifies the actual role which the subnet should be used in. + // +kubebuilder:validation:Enum=node;control-plane + Role capz.SubnetRole `json:"role"` +} + // KeyVault defines an Azure Key Vault. type KeyVault struct { // ResourceGroup defines the Azure resource group used by the key @@ -182,17 +203,11 @@ func (p *Platform) VirtualNetworkName(infraID string) string { // ControlPlaneSubnetName returns the name of the control plane subnet for the // cluster. func (p *Platform) ControlPlaneSubnetName(infraID string) string { - if len(p.ControlPlaneSubnet) > 0 { - return p.ControlPlaneSubnet - } return fmt.Sprintf("%s-master-subnet", infraID) } // ComputeSubnetName returns the name of the compute subnet for the cluster. func (p *Platform) ComputeSubnetName(infraID string) string { - if len(p.ComputeSubnet) > 0 { - return p.ComputeSubnet - } return fmt.Sprintf("%s-worker-subnet", infraID) } diff --git a/pkg/types/azure/validation/platform.go b/pkg/types/azure/validation/platform.go index f9d2297abd5..384c50f8038 100644 --- a/pkg/types/azure/validation/platform.go +++ b/pkg/types/azure/validation/platform.go @@ -7,6 +7,7 @@ import ( "strings" "k8s.io/apimachinery/pkg/util/validation/field" + capz "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" "github.com/openshift/installer/pkg/types" "github.com/openshift/installer/pkg/types/azure" @@ -68,18 +69,38 @@ func ValidatePlatform(p *azure.Platform, publish types.PublishingStrategy, fldPa if p.DefaultMachinePlatform != nil { allErrs = append(allErrs, ValidateMachinePool(p.DefaultMachinePlatform, "", p, nil, fldPath.Child("defaultMachinePlatform"))...) } - if p.VirtualNetwork != "" { - if p.ComputeSubnet == "" { - allErrs = append(allErrs, field.Required(fldPath.Child("computeSubnet"), "must provide a compute subnet when a virtual network is specified")) + hasControlPlane := false + numCompute := 0 + subnetSpecList := map[string]bool{} + for _, subnets := range p.Subnets { + if _, ok := subnetSpecList[subnets.Name]; ok { + allErrs = append(allErrs, field.Invalid(fldPath.Child("subnets"), subnets.Name, "duplicate value for subnet name")) } - if p.ControlPlaneSubnet == "" { - allErrs = append(allErrs, field.Required(fldPath.Child("controlPlaneSubnet"), "must provide a control plane subnet when a virtual network is specified")) + subnetSpecList[subnets.Name] = true + switch subnets.Role { + case capz.SubnetControlPlane: + if hasControlPlane { + allErrs = append(allErrs, field.Invalid(fldPath.Child("subnets"), subnets.Name, "CAPZ currently does not support multiple control plane subnets")) + } + hasControlPlane = true + case capz.SubnetNode: + numCompute++ + default: + allErrs = append(allErrs, field.Invalid(fldPath.Child("subnets"), subnets.Name, fmt.Sprintf("role %s not supported", subnets.Role))) } + } + if p.VirtualNetwork != "" { if p.NetworkResourceGroupName == "" { allErrs = append(allErrs, field.Required(fldPath.Child("networkResourceGroupName"), "must provide a network resource group when a virtual network is specified")) } + if numCompute == 0 { + allErrs = append(allErrs, field.Required(fldPath.Child("computeSubnet"), "must provide a compute subnet when a virtual network is specified")) + } + if !hasControlPlane { + allErrs = append(allErrs, field.Required(fldPath.Child("controlPlaneSubnet"), "must provide a control plane subnet when a virtual network is specified")) + } } - if (p.ComputeSubnet != "" || p.ControlPlaneSubnet != "") && (p.VirtualNetwork == "" || p.NetworkResourceGroupName == "") { + if (numCompute > 0 || hasControlPlane) && (p.VirtualNetwork == "" || p.NetworkResourceGroupName == "") { if p.VirtualNetwork == "" { allErrs = append(allErrs, field.Required(fldPath.Child("virtualNetwork"), "must provide a virtual network when supplying subnets")) } @@ -97,10 +118,15 @@ func ValidatePlatform(p *azure.Platform, publish types.PublishingStrategy, fldPa if p.OutboundType == azure.UserDefinedRoutingOutboundType && p.VirtualNetwork == "" { allErrs = append(allErrs, field.Invalid(fldPath.Child("outboundType"), p.OutboundType, fmt.Sprintf("%s is only allowed when installing to pre-existing network", azure.UserDefinedRoutingOutboundType))) } - if p.OutboundType == azure.NATGatewaySingleZoneOutboundType { - if p.VirtualNetwork != "" { - // For now, BYO network and NAT gateways are not compatible - allErrs = append(allErrs, field.Invalid(fldPath.Child("outboundType"), p.OutboundType, fmt.Sprintf("%s is not allowed when installing to pre-existing network", p.OutboundType))) + + if p.OutboundType == azure.NATGatewayMultiZoneOutboundType || p.OutboundType == azure.NATGatewaySingleZoneOutboundType { + if publish == types.InternalPublishingStrategy || (publish == types.MixedPublishingStrategy && ic.OperatorPublishingStrategy.Ingress == "Internal") { + allErrs = append(allErrs, field.Invalid(fldPath.Child("outboundType"), p.OutboundType, "outbound type invalid for internal publish strategy or internal ingress strategy")) + } + if numCompute > 1 && p.OutboundType == azure.NATGatewaySingleZoneOutboundType { + allErrs = append(allErrs, field.Invalid(fldPath.Child("outboundType"), p.OutboundType, "cannot have multiple compute subnets and outbound type single zone")) + } else if numCompute == 1 && p.OutboundType == azure.NATGatewayMultiZoneOutboundType { + allErrs = append(allErrs, field.Invalid(fldPath.Child("outboundType"), p.OutboundType, "cannot have one compute subnet and outbound type multi zone")) } } @@ -239,6 +265,7 @@ func findDuplicateTagKeys(tagSet map[string]string) error { var ( validOutboundTypes = map[azure.OutboundType]struct{}{ azure.LoadbalancerOutboundType: {}, + azure.NATGatewayMultiZoneOutboundType: {}, azure.NATGatewaySingleZoneOutboundType: {}, azure.UserDefinedRoutingOutboundType: {}, } diff --git a/pkg/types/azure/validation/platform_test.go b/pkg/types/azure/validation/platform_test.go index f7ce7945ba1..14ba4b48775 100644 --- a/pkg/types/azure/validation/platform_test.go +++ b/pkg/types/azure/validation/platform_test.go @@ -5,6 +5,7 @@ import ( "github.com/stretchr/testify/assert" "k8s.io/apimachinery/pkg/util/validation/field" + "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" "github.com/openshift/installer/pkg/types" "github.com/openshift/installer/pkg/types/azure" @@ -23,8 +24,17 @@ func validNetworkPlatform() *azure.Platform { p := validPlatform() p.NetworkResourceGroupName = "networkresourcegroup" p.VirtualNetwork = "virtualnetwork" - p.ComputeSubnet = "computesubnet" - p.ControlPlaneSubnet = "controlplanesubnet" + p.Subnets = []azure.SubnetSpec{ + { + Name: "controlplanesubnet", + Role: v1beta1.SubnetControlPlane, + }, + { + Name: "computesubnet", + Role: v1beta1.SubnetNode, + }, + } + return p } @@ -85,7 +95,7 @@ func TestValidatePlatform(t *testing.T) { name: "missing subnets", platform: func() *azure.Platform { p := validNetworkPlatform() - p.ControlPlaneSubnet = "" + p.Subnets = p.Subnets[1:] return p }(), expected: `^test-path\.controlPlaneSubnet: Required value: must provide a control plane subnet when a virtual network is specified$`, @@ -94,7 +104,7 @@ func TestValidatePlatform(t *testing.T) { name: "subnets missing virtual network", platform: func() *azure.Platform { p := validNetworkPlatform() - p.ControlPlaneSubnet = "" + p.Subnets = p.Subnets[0:1] p.VirtualNetwork = "" return p }(), @@ -134,7 +144,7 @@ func TestValidatePlatform(t *testing.T) { p.OutboundType = "random-egress" return p }(), - expected: `^test-path\.outboundType: Unsupported value: "random-egress": supported values: "Loadbalancer", "NATGatewaySingleZone", "UserDefinedRouting"$`, + expected: `^test-path\.outboundType: Unsupported value: "random-egress": supported values: "Loadbalancer", "NATGatewayMultiZone", "NATGatewaySingleZone", "UserDefinedRouting"$`, }, { name: "invalid user defined type", diff --git a/pkg/types/azure/zz_generated.deepcopy.go b/pkg/types/azure/zz_generated.deepcopy.go index 87ebb31ce60..cfa61e91fe6 100644 --- a/pkg/types/azure/zz_generated.deepcopy.go +++ b/pkg/types/azure/zz_generated.deepcopy.go @@ -206,6 +206,11 @@ func (in *Platform) DeepCopyInto(out *Platform) { *out = new(MachinePool) (*in).DeepCopyInto(*out) } + if in.Subnets != nil { + in, out := &in.Subnets, &out.Subnets + *out = make([]SubnetSpec, len(*in)) + copy(*out, *in) + } if in.UserTags != nil { in, out := &in.UserTags, &out.UserTags *out = make(map[string]string, len(*in)) @@ -257,6 +262,22 @@ func (in *SecuritySettings) DeepCopy() *SecuritySettings { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec. +func (in *SubnetSpec) DeepCopy() *SubnetSpec { + if in == nil { + return nil + } + out := new(SubnetSpec) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TrustedLaunch) DeepCopyInto(out *TrustedLaunch) { *out = *in diff --git a/pkg/types/conversion/installconfig.go b/pkg/types/conversion/installconfig.go index e48aab61d56..dbf3c32fa5a 100644 --- a/pkg/types/conversion/installconfig.go +++ b/pkg/types/conversion/installconfig.go @@ -7,11 +7,13 @@ import ( "github.com/sirupsen/logrus" "k8s.io/apimachinery/pkg/util/validation/field" utilsslice "k8s.io/utils/strings/slices" + "sigs.k8s.io/cluster-api-provider-azure/api/v1beta1" operv1 "github.com/openshift/api/operator/v1" "github.com/openshift/installer/pkg/ipnet" "github.com/openshift/installer/pkg/types" "github.com/openshift/installer/pkg/types/aws" + "github.com/openshift/installer/pkg/types/azure" "github.com/openshift/installer/pkg/types/baremetal" powervcconversion "github.com/openshift/installer/pkg/types/conversion/powervc" "github.com/openshift/installer/pkg/types/nutanix" @@ -63,6 +65,10 @@ func ConvertInstallConfig(config *types.InstallConfig) error { if err := convertAWS(config); err != nil { return err } + case azure.Name: + if err := convertAzure(config); err != nil { + return err + } case vsphere.Name: if err := vsphereconversion.ConvertInstallConfig(config); err != nil { return err @@ -327,3 +333,24 @@ func convertAWS(config *types.InstallConfig) error { return nil } + +func convertAzure(config *types.InstallConfig) error { + subnets := config.Azure.Subnets + if len(subnets) == 0 { + subnets = []azure.SubnetSpec{} + } + if config.Azure.DeprecatedControlPlaneSubnet != "" { // nolint: staticcheck + subnets = append(subnets, azure.SubnetSpec{ + Name: config.Azure.DeprecatedControlPlaneSubnet, // nolint: staticcheck + Role: v1beta1.SubnetControlPlane, + }) + } + if config.Azure.DeprecatedComputeSubnet != "" { // nolint: staticcheck + subnets = append(subnets, azure.SubnetSpec{ + Name: config.Azure.DeprecatedComputeSubnet, // nolint: staticcheck + Role: v1beta1.SubnetNode, + }) + } + config.Azure.Subnets = subnets + return nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 7e1cbdd58ee..2cd1eded100 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -2830,7 +2830,7 @@ sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta1 sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2 sigs.k8s.io/cluster-api-provider-aws/v2/feature sigs.k8s.io/cluster-api-provider-aws/v2/iam/api/v1beta1 -# sigs.k8s.io/cluster-api-provider-azure v1.21.1 => github.com/mboersma/cluster-api-provider-azure v0.3.1-0.20251030205607-3161b9cc8d3e +# sigs.k8s.io/cluster-api-provider-azure v1.21.1-0.20250929163617-2c4eaa611a39 => github.com/mboersma/cluster-api-provider-azure v0.3.1-0.20251030205607-3161b9cc8d3e ## explicit; go 1.24.0 sigs.k8s.io/cluster-api-provider-azure/api/v1beta1 sigs.k8s.io/cluster-api-provider-azure/feature